国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Thin LUN磁盤空間回收問(wèn)題

2019-08-28 06:52:30四川賴文書
網(wǎng)絡(luò)安全和信息化 2019年8期
關(guān)鍵詞:磁盤腳本使用率

■ 四川 賴文書

編者按:筆者單位在啟動(dòng)業(yè)務(wù)上云后,對(duì)原有提系統(tǒng)及設(shè)備進(jìn)行了更新部署,其中采用的H3C ONEStor存儲(chǔ)系統(tǒng)出現(xiàn)磁盤空間報(bào)警問(wèn)題,筆者聯(lián)合廠商工程師專家進(jìn)行了排查。

圖1 OSD磁盤使用率

筆者單位在IDC機(jī)房的服務(wù)器實(shí)施了虛擬化與云計(jì)算。整個(gè)云平臺(tái)由6臺(tái)惠普ProLiant DL580 Gen9高配服務(wù)器,單臺(tái)配置為512G內(nèi)存、4棵12核心CPU、2塊600G的 SAS盤、3塊 2T的SATA盤、2塊 480G的 固 態(tài)盤,安裝部署了新華三公司的云計(jì)算管理平臺(tái)和分布式存儲(chǔ)系統(tǒng),由CAS(Cloud Automation System)和ONEStor構(gòu)成。

ONEStor存儲(chǔ)系統(tǒng)基于Ceph,可運(yùn)行在多臺(tái)通用的x86服務(wù)器。ONEStor通過(guò)把多臺(tái)不同服務(wù)器的本地硬盤組織成一個(gè)統(tǒng)一的存儲(chǔ)資源池,對(duì)上層應(yīng)用提供存儲(chǔ)服務(wù)。

分布式存儲(chǔ)磁盤空間報(bào)警

每臺(tái)服務(wù)器2塊600GB的SAS盤安裝CVK和ONEStor軟 件,3塊2TB的SATA盤提供分布式存儲(chǔ)服務(wù),組成存儲(chǔ)資源池WAIC_POOL1可用空間32.7TB,劃分為兩個(gè)3TB和一個(gè)4.8TB的塊設(shè)備,兩塊共7.8TB以iscsi掛載到宿主機(jī)作為共享存儲(chǔ),格式化為ocfs2集群文件系統(tǒng)用于存放虛擬機(jī)的磁盤文件,3TB掛載到1臺(tái)虛機(jī)提供NFS服務(wù)用于存放應(yīng)用系統(tǒng)的非結(jié)構(gòu)化數(shù)據(jù)。

經(jīng)過(guò)一年多的運(yùn)行,期間的虛擬機(jī)不斷調(diào)整,涉及到塊設(shè)備上虛擬機(jī)磁盤文件新建和刪除,ONEStor磁盤空間不斷增長(zhǎng)使用率達(dá)到了71%,管理頁(yè)面出現(xiàn)了報(bào)警提示存儲(chǔ)擴(kuò)容。

與廠商工程師溝通中知道,ONEStor配置了當(dāng)單磁盤使用率占到70%時(shí),開始報(bào)警以提醒及時(shí)擴(kuò)容;在使用率達(dá)到95%時(shí)無(wú)法讀寫操作必須擴(kuò)容才能繼續(xù)使用。運(yùn)維中發(fā)現(xiàn)單盤使用率在64%至79%如圖1,經(jīng)廠商確認(rèn)ONEStor數(shù)據(jù)在不同磁盤分布15%浮動(dòng)屬正常情況。

圖2 ceph尋址示意圖

我們使用的ONEStor R0317P05的Ceph版 本0.94.5,是2015年4月發(fā)布的hammer長(zhǎng)期穩(wěn)定版本。Ceph把客戶端數(shù)據(jù)FILE保存為存儲(chǔ)池內(nèi)的對(duì)象(FILE->OBJECT映射),通過(guò)CRUSH(Controlled Replication Under Scalable Hashing)算法計(jì)算數(shù)據(jù)存儲(chǔ)位置來(lái)確定如何存儲(chǔ)和檢索, 即計(jì)算出哪個(gè)歸置組PG(Placement Group)應(yīng)該持有指定的對(duì)象 (Object->PG映 射 ),然后進(jìn)一步計(jì)算出哪個(gè) OSD(Object Storage Device)守護(hù)進(jìn)程持有該歸置組(PG->OSD映射),具體的尋址示意圖如圖2所示。

Ceph提供的塊設(shè)備RBD(RADOS Block Device)是精簡(jiǎn) 置 備(Thin Provision)、大小可調(diào)且將數(shù)據(jù)條帶化存儲(chǔ)到集群內(nèi)的多個(gè)OSD,并 利 用 RADOS(Reliable Autonomic Distributed Object Store)的多種能力,如快照、復(fù)制和一致性。塊設(shè)備使用內(nèi)核模塊或librbd庫(kù)與OSD交互。當(dāng)在塊設(shè)備的文件系統(tǒng)中刪除一個(gè)文件,并不會(huì)在塊設(shè)備上的對(duì)應(yīng)磁盤塊置0,而僅在磁盤的元數(shù)據(jù)結(jié)構(gòu)中將這些磁盤塊標(biāo)記為未使用。

因此,雖然文件系統(tǒng)知道這些磁盤塊是未使用或者說(shuō)可用的,但是底層的存儲(chǔ)系統(tǒng)并不知道文件系統(tǒng)所做的操作,會(huì)認(rèn)為這些磁盤塊仍在使用。也就是說(shuō),它所占用objects會(huì)隨著用戶寫入數(shù)據(jù)的增加而增加。當(dāng)用戶刪除數(shù)據(jù)以后,這些obejct不再使用但并沒有被釋放,因?yàn)閺腃eph的角度講,它并不知道文件系統(tǒng)中發(fā)生的事情。這也正是我們經(jīng)歷多次磁盤文件清理,ONEStor磁盤使用率仍然是只增不降的原因。

針對(duì)我們ONEStor報(bào)警的情況,無(wú)法進(jìn)行存儲(chǔ)的優(yōu)化改造,我們目前也沒有擴(kuò)容的預(yù)算,可考慮對(duì)于刪除空間進(jìn)行釋放(文件系統(tǒng)),將存儲(chǔ)側(cè)的LUN占用空間收縮降低,以保障系統(tǒng)和業(yè)務(wù)運(yùn)行的穩(wěn)定性。

采用的方法是用fstrim命令對(duì)使用的存儲(chǔ)進(jìn)行空間釋放,向存儲(chǔ)側(cè)發(fā)送SCSI指令。由于該操作對(duì)存儲(chǔ)有一定的IO性能影響,應(yīng)考慮實(shí)際業(yè)務(wù)繁忙情況謹(jǐn)慎操作。對(duì)于空間的釋放,一般采用fstrim直接對(duì)于mount point進(jìn)行操作即可達(dá)到空間釋放的目的,某些情況下,由于之前劃分的LUN空間大,需要釋放的空間大的原因,分段進(jìn)行fstrim對(duì)于集群文件系統(tǒng)帶來(lái)更好的優(yōu)勢(shì),能降低持有集群鎖的時(shí)間,從而提高系統(tǒng)管理效率和降低業(yè)務(wù)的影響。默認(rèn)的fstrm指令,如果沒有指定參數(shù),則不分段進(jìn)行;其實(shí)fstrim是支持分段操作的,并可以指定相關(guān)的參數(shù)。

方案

按照公司信息系統(tǒng)變更流程,需要對(duì)ONEStor分布式存儲(chǔ)空間釋放的方案進(jìn)行評(píng)估,于是要求廠商給出實(shí)施方案。由于此操作屬于Ceph分布式存儲(chǔ)和具有精簡(jiǎn)置備特性存儲(chǔ)的常規(guī)操作,沒有任何風(fēng)險(xiǎn)只能提供操作手冊(cè)。

我們也在華為官方查詢到存儲(chǔ)也有類似操作手冊(cè),詳見網(wǎng)址https://support.huawei.com/enterprise/zh/knowledge/EKB1000091882,該文還提供了其他處理方法,但由于軟件部門的領(lǐng)導(dǎo)不了解這些情況,十分擔(dān)心該操作影響應(yīng)用系統(tǒng)的穩(wěn)定運(yùn)行,對(duì)此項(xiàng)配置要求嚴(yán)格按操作手冊(cè)執(zhí)行,防止出現(xiàn)誤操作。

對(duì)于ONEStor磁盤空間釋放的操作,新華三CAS提供了對(duì)于Linux系統(tǒng)自帶fstrim命令行進(jìn)行了封裝的腳本,采用參數(shù)對(duì)于fstrim的操作進(jìn)行配置如自動(dòng)分段和偏移等;并結(jié)合CAS的使用可指定具體的存儲(chǔ)池,指定blocklimit、存儲(chǔ)的廠商等,從而適應(yīng)于集群文件系統(tǒng)下的釋放和優(yōu)化處理,規(guī)避由于空間釋放對(duì)于集群和業(yè)務(wù)的影響。

1.存儲(chǔ)空間釋放腳本的使用范圍

存儲(chǔ)側(cè)需要Thin(精簡(jiǎn)置備)模式分配的LUN(Logical Unit Number),如果Full模式分配,則無(wú)法進(jìn)行空間釋放和回收;同時(shí)需要存儲(chǔ)側(cè)支持釋放的特性。ONEStor R0118版本以前(不含R0118)默認(rèn)配置下存儲(chǔ)卷默認(rèn)是full模式,不支持fstrim釋放。CAS需要版本在E0306之后的版本上執(zhí)行,不推薦在此版本之前的版本上執(zhí)行。

2.手工執(zhí)行步驟和說(shuō)明

考慮到fstrim對(duì)于io有一定的性能影響,在可釋放空間少和執(zhí)行頻率少的情況下,可考慮手工執(zhí)行腳本,如下是手工操作和配置的處理方法和步驟;

(1)在CVM管理界面上確認(rèn)釋放空間的存儲(chǔ)池找到存儲(chǔ)池 WAIC-POOL1。

(2) 在“云 資 源→Cluster集群→存儲(chǔ)管理”部分,找到使用存儲(chǔ)池的主機(jī)列表。

(3)通過(guò)SSH連到一臺(tái)CVK上,執(zhí)行命令:

o2cb_ctl -Iot node

#name:cluster:number:ip_address:ip_port:status

WAIC-CVK05:WAIC-POOL1:1:192.50.2.5:7100:confi gured

WAIC-CVK01:WAIC-POOL1:2:192.50.2.1:7100:confi gured

WAIC-CVK03:WAIC-POOL1:3:192.50.2.3:7100:confi gured

WAIC-CVK04:WAIC-POOL1:4:192.50.2.4:7100:confi gured

WAIC-CVK02:WAIC-POOL1:5:192.50.2.2:7100:confi gured

WAIC-CVK06:WAIC-POOL1:6:192.50.2.6:7100:confi gured

找到存儲(chǔ)池WAIC-POOL1是活動(dòng)、且number數(shù)字最小的那臺(tái)主機(jī)。WAIC-POOL1在 number :1、2、3、4、5、6、7、8的主機(jī)上是激活狀態(tài),對(duì)應(yīng)的主機(jī)名稱是:WAIC-CVK05、WAIC-CVK01、WAIC-CVK03、WAIC-CVK04、WAIC-CVK02、WAIC-CVK06;則找到的主機(jī)WAIC-CVK05。

(4)將腳本壓縮包文件pool_fstrim.tar.gz傳 到WAIC-CVK05主機(jī)上。

如果后面腳本中指定參數(shù)-c,表示在集群中任何一臺(tái)激活的存儲(chǔ)池的主機(jī)上都可以執(zhí)行,這樣就省去了步驟3和4,直接選擇一臺(tái)存儲(chǔ)池是活動(dòng)的主機(jī)上執(zhí)行腳本即可。

(5)對(duì)系統(tǒng)原有/opt/bin目錄進(jìn)行備份:

圖3 觀察日志輸出

cd /opt; cp -r bin bin.bak.A

(6)解壓腳本壓縮包文件并將腳本復(fù)制到/opt/bin目錄:

tar zxvf pool_fstrim.tar.gz

cp ocfs2_pool_fstrim.pyc /opt/bin

(7)使用腳本ocfs2_pool_fstrim.pyc釋放Thin塊存儲(chǔ)空間。

對(duì)于onestor存儲(chǔ)進(jìn)行操作:采用腳本對(duì)于存儲(chǔ)池進(jìn)行釋放,下面命令中參數(shù)-o表示從20G開始,參數(shù)-l表示每次20G掃描,參數(shù)-b表示處理磁盤塊限制為32768:

python /opt/bin/ocfs2_pool_fstrim.pyc -s onestor -p WAIC-POOL1 -l 20480 -o 20480 -b 32768;echo $?

該腳本同時(shí)支持對(duì)3par存儲(chǔ)的thin LUN進(jìn)行空間回收,類型為 3PARdata,-s參數(shù)需要指定3PARdata:

python /opt/bin/ocfs2_pool_fstrim.pyc -s 3PARdata -p WAIC-POOL1 -l 20480 -o 20480 -b 32768;echo $?

腳本增加參數(shù)-c,以便在任何一臺(tái)激活的存儲(chǔ)池的主機(jī)上都可以執(zhí)行該操作:

python /opt/bin/ocfs2_pool_fstrim.pyc -s onestor -p APool -l 20480-o 20480 -b 32768 -c;echo $?

默認(rèn)長(zhǎng)度10G,10T的執(zhí)行1000次可以滿足需求;如果現(xiàn)場(chǎng)磁盤比較大,執(zhí)行長(zhǎng)度可放大到20G,或50G。

3.手工執(zhí)行異常判斷和應(yīng)急處理

腳 本ocfs2_pool_fstrim.pyc在實(shí)驗(yàn)室和其他地方執(zhí)行,都沒有發(fā)現(xiàn)異常的情況;為了預(yù)防執(zhí)行過(guò)程中的異常情況,廠商提供了手工執(zhí)行的異常判斷和應(yīng)急處理方法。

在腳本運(yùn)行過(guò)程中,需另外開啟兩個(gè)SSH后臺(tái)窗口,第一個(gè)SSH后臺(tái)執(zhí)行 命 令:tailf /var/log/syslog |grep maximum,實(shí)時(shí)監(jiān)控syslog日志信息,正常釋放過(guò)程中,每次分段都會(huì)打印釋放動(dòng)作的日志,如圖3屬于正?,F(xiàn)象,一直在刷類似日志kernel.: [10907115.xxxxxx] (fstrim,381xxxx.xx) :ocfs2_get_maximum_unrnap_count :7360 content of block_lirnits.conf is: 32768,就不存在阻塞;如果不刷此類日志需要及時(shí)關(guān)注,此時(shí)可能已經(jīng)阻塞需要立刻暫停,暫停操作在執(zhí)行腳本的SSH窗口Ctrl+C暫停命令執(zhí)行。

第二個(gè)SSH終端執(zhí)行命令:tailf /var/log/syslog| grep _ocfs2_cluster_lock.isra,正常情況該窗口不會(huì)有任何輸出。若有輸出則表示集群文件系統(tǒng)ocfs2的磁盤集群被鎖,則立即Ctrl+C停止命令行的執(zhí)行,并且縮小每次分段執(zhí)行的長(zhǎng)度,直到不再出現(xiàn)為止。

4.配置定時(shí)執(zhí)行

圖4 ONEStor最終使用率

若在Ceph塊設(shè)備上有比較頻繁的創(chuàng)建和刪除文件,造成分布存儲(chǔ)系統(tǒng)磁盤使用率持續(xù)增高,可配置ocfs2_pool_fstrim.pyc腳本的定時(shí)自動(dòng)運(yùn)行,以及時(shí)釋放已刪除文件所占用的磁盤空間。第一步在每個(gè)CVK上執(zhí)行“ocfs2_fstrim_crontab.sh on”命令;第二步在每臺(tái)cvk上配置crtontab定時(shí)執(zhí)行任務(wù)。配置每周五22點(diǎn)開始執(zhí)行具體命令如下,默認(rèn)對(duì)所有ONEStor存儲(chǔ)池,每次執(zhí)行長(zhǎng)度默認(rèn)區(qū)間是10G:

0 22 * * 5 root python /opt/bin/ocfs2_pool_fstrim.pyc -s onestor -b 131072

對(duì)于配置了腳本定時(shí)執(zhí)行,需要定期在使用共享存儲(chǔ)的節(jié)點(diǎn)號(hào)最小的那臺(tái)cvk服務(wù)器上檢查相關(guān)日志,以了解自動(dòng)任務(wù)的執(zhí)行情況,搜索查找結(jié)點(diǎn)好最小的方法,詳細(xì)參照手工執(zhí)行步驟的第3步。

實(shí)施

根據(jù)操作手冊(cè)的要求為避免資源釋放操作對(duì)業(yè)務(wù)性能的影響,計(jì)劃將此項(xiàng)工作放在周六晚上進(jìn)行,通知相關(guān)軟硬件運(yùn)維同事和廠商工程師。由于實(shí)施的工程師對(duì)筆者單位云平臺(tái)結(jié)構(gòu)不熟悉,實(shí)施前遠(yuǎn)程對(duì)該套服務(wù)器進(jìn)行相關(guān)數(shù)據(jù)采集,并且將要運(yùn)行的腳本在廠商的測(cè)試環(huán)境驗(yàn)證,以保障磁盤空間釋放的有效推進(jìn)。

周六晚上7點(diǎn)通過(guò)Teamvear遠(yuǎn)程準(zhǔn)時(shí)進(jìn)行,由于前期的精心準(zhǔn)備和領(lǐng)導(dǎo)的高度重視,實(shí)際操作就按步就班,對(duì)操作命令進(jìn)行復(fù)制粘貼,密切觀察日志輸出一切正常,ONEStor管理頁(yè)面中的運(yùn)行狀態(tài)如期調(diào)整中,經(jīng)過(guò)近2小時(shí)的工作順利完成任務(wù)。最終分布式存儲(chǔ)的利率為61.87%如圖4,釋放了總?cè)萘?0%接近3.2TB磁盤空間,按照三副本計(jì)算又可以提供1TB的塊存儲(chǔ)了。

總結(jié)

為了更好的運(yùn)維公司私有云平臺(tái),我們需要更深入的學(xué)習(xí)KVM虛擬化及OpenStack云計(jì)算、Ceph分布式存儲(chǔ)等開源軟件,才能非常清楚廠商工程師所做的操作,也才能對(duì)于常見問(wèn)題自己動(dòng)手處理,同時(shí)不斷提高自我的技術(shù)水平。

猜你喜歡
磁盤腳本使用率
酒駕
安奇奇與小cool 龍(第二回)
解決Windows磁盤簽名沖突
電腦愛好者(2019年2期)2019-10-30 03:45:31
修改磁盤屬性
數(shù)據(jù)庫(kù)系統(tǒng)shell腳本應(yīng)用
快樂(lè)假期
磁盤組群組及iSCSI Target設(shè)置
創(chuàng)建VSAN群集
胃腸外科圍手術(shù)期合理使用抗菌藥物的探討
初中生學(xué)習(xí)·低(2012年4期)2012-04-29 04:29:50
营山县| 隆林| 仙游县| 榆树市| 绥化市| 永城市| 肥乡县| 三河市| 黄平县| 西平县| 定兴县| 徐闻县| 山东| 泗水县| 高雄市| 德安县| 甘孜县| 鄯善县| 于都县| 凤台县| 蒲城县| 三都| 六盘水市| 乐至县| 金沙县| 大邑县| 涟源市| 夏津县| 宁化县| 微博| 荆门市| 巴林右旗| 花莲市| 贵定县| SHOW| 云和县| 都安| 伽师县| 原平市| 榆树市| 游戏|