馬麗麗
[摘 ? ?要] 隨著地震處理“大數(shù)據(jù)時(shí)代”的來臨,并行文件系統(tǒng)對(duì)于高性能計(jì)算集群的重要性日益突出,如何提高這些IT基礎(chǔ)設(shè)施的利用率,成為IT運(yùn)維管理人員面臨的新挑戰(zhàn)。由于存儲(chǔ)空間的緊張,影響地震處理任務(wù)的進(jìn)度。通過對(duì)磁盤文件系統(tǒng)的深入了解和研究,更改磁盤本地文件系統(tǒng)格式化方式,將原有被占用的存儲(chǔ)空間挖掘出來,提升并行文件系統(tǒng)的整體空間利用率。利用shell腳本開發(fā)出并行文件系統(tǒng)資源管理模塊,動(dòng)態(tài)劃分不同應(yīng)用以及用戶使用目錄的可用空間,提高整體空間的利用率。并行文件系統(tǒng)還可以實(shí)現(xiàn)用戶存儲(chǔ)空間使用的限額控制,極大地提高了數(shù)據(jù)存儲(chǔ)的安全性。
[關(guān)鍵詞] 大數(shù)據(jù);ext3;并行文件系統(tǒng)
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2019. 23. 060
[中圖分類號(hào)] TP311 ? ?[文獻(xiàn)標(biāo)識(shí)碼] ?A ? ? ?[文章編號(hào)] ?1673 - 0194(2019)23- 0141- 02
1 ? ? ?問題的提出
隨著地震處理“大數(shù)據(jù)時(shí)代”的來臨,并行文件系統(tǒng)對(duì)于高性能計(jì)算集群的重要性日益突出,如何提高這些IT基礎(chǔ)設(shè)施的利用率,成為IT運(yùn)維管理人員面臨的新挑戰(zhàn)。
某油田公司由于存儲(chǔ)空間的緊張,影響地震處理任務(wù)的進(jìn)度。除此之外,在實(shí)際生產(chǎn)中還發(fā)現(xiàn)如下問題:
(1)現(xiàn)今使用的2套并行存儲(chǔ)系統(tǒng),存儲(chǔ)服務(wù)器的基本單元分別由2 T和3 T磁盤組成,將存儲(chǔ)系統(tǒng)磁盤格式化后發(fā)現(xiàn),硬盤的存儲(chǔ)掛載空間只有1.8 TB和2.7 TB左右。
(2)并行文件系統(tǒng)對(duì)數(shù)據(jù)實(shí)行分散化存儲(chǔ),這樣一方面可以讓海量的存儲(chǔ)刀片同時(shí)對(duì)文件進(jìn)行處理,提高數(shù)據(jù)讀寫效率,另一方面可以動(dòng)態(tài)劃分不同應(yīng)用以及用戶使用目錄的可用空間,提高整體空間的利用率,而且并行文件系統(tǒng)還可以實(shí)現(xiàn)用戶存儲(chǔ)空間使用的限額控制,極大地提高了數(shù)據(jù)存儲(chǔ)的安全性。但是并行文件系統(tǒng)自身卻缺乏用戶對(duì)其分散化的數(shù)據(jù)及使用配額的查詢統(tǒng)計(jì)工具,使得用戶難于對(duì)其自身的數(shù)據(jù)及存儲(chǔ)空間使用進(jìn)行有效的規(guī)劃。
2 ? ? ?研究主要內(nèi)容
2.1 ? 磁盤空間挖掘
通過對(duì)磁盤文件系統(tǒng)的深入了解和研究,更改磁盤本地文件系統(tǒng)格式化方式,將原有被占用的存儲(chǔ)空間挖掘出來,提升并行文件系統(tǒng)的整體空間利用率。利用shell腳本開發(fā)出并行文件系統(tǒng)資源管理模塊。
研究并行集群存儲(chǔ)系統(tǒng)的整體實(shí)現(xiàn)特點(diǎn)以及本地文件系統(tǒng)的實(shí)現(xiàn)機(jī)制。通過研究發(fā)現(xiàn),并行集群存儲(chǔ)系統(tǒng)是通過虛擬化、分布式存儲(chǔ)、集群等技術(shù)將海量的存儲(chǔ)服務(wù)器整合成一個(gè)容量超大、性能超強(qiáng)的存儲(chǔ)磁盤,為前端應(yīng)用提供高效的數(shù)據(jù)讀寫訪問,其本身最小單元是基于存儲(chǔ)服務(wù)器中磁盤設(shè)計(jì)的,服務(wù)器中所有磁盤都是采用的ext3文件系統(tǒng),其強(qiáng)大的日志功能是其他文件系統(tǒng)所無法比擬的,數(shù)據(jù)的安全性自然就得到了進(jìn)一步的提高。
通過管理員對(duì)ext3文件系統(tǒng)不斷的深入了解發(fā)現(xiàn),這些消失的空間并不是全部都由ext3文件系統(tǒng)占用,而是出于系統(tǒng)安全保護(hù)機(jī)制,在格式化的時(shí)候系統(tǒng)都會(huì)自動(dòng)的采用默認(rèn)參數(shù),為每個(gè)分區(qū)保留了5%的空間給系統(tǒng)root用戶,還有其他的一些信息,比如日志設(shè)置完畢、分區(qū)未設(shè)置卷標(biāo)等等,另外還提示以后可以使用tune2fs來修改已經(jīng)格式化的分區(qū)參數(shù),這樣能保證有些關(guān)鍵應(yīng)用(比如數(shù)據(jù)庫)在硬盤滿的時(shí)候留有余地,不至于馬上就 crash(崩潰),以便在分區(qū)被占滿之后root用戶還可以有足夠的空間進(jìn)行一些相關(guān)的操作。
但是作為存儲(chǔ)系統(tǒng)的底層基礎(chǔ)而言,其操作全部由存儲(chǔ)控制來操作,并不存在root操作的概念,所以對(duì)于存儲(chǔ)系統(tǒng)的底層文件系統(tǒng)并不需要預(yù)留此空間,即可通過下面的命令來完全釋放每個(gè)磁盤默認(rèn)保留的5%空間。
mkfs.ext3 –m 0 ?/dev/sda1
這條命令可以安全的在系統(tǒng)分區(qū)里,釋放出額外保留的5%磁盤空間,而不影響系統(tǒng)的正常運(yùn)行。而且在比較老的ext2文件系統(tǒng)及最新的ext4文件系統(tǒng)中,仍然可以用這條命令。
如下內(nèi)容所示(通過不同的格式化方式,可以提升磁盤5%的整體空間利用率):
非預(yù)留方式:
[root@pnode205 ~]# mkfs.ext3 -m 0 /dev/cciss/c0d0p5
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
124108800 inodes, 248194201 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
7575 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000,7962624,11239424,20480000,23887872,
71663616, 78675968,
102400000, 214990848
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. ?Use tune2fs -c or -i to override.
正常格式化情況下932 GB的硬盤可用空間為885 GB,通過更改的格式化后空用空間為932 GB。
2.2 ? 目錄空間利用率查詢工具的研發(fā)
針對(duì)并行集群存儲(chǔ)系統(tǒng)的目錄容量限制以及用戶存放數(shù)據(jù)的特點(diǎn),進(jìn)行腳本研發(fā),開發(fā)出可供用戶及時(shí)查詢且立即輸出私有目錄空間使用情況的空間管理查詢工具。
由于并行文件系統(tǒng)是基于共享存儲(chǔ)系統(tǒng)設(shè)計(jì)的,所以所有客戶端看到的都是統(tǒng)一的文件視圖,即所有客戶端看到的都是相同的共享存儲(chǔ)池。在這樣的情況下用戶在使用Linux自帶df命令查詢存儲(chǔ)系統(tǒng)空間時(shí),就只能查看到整個(gè)存儲(chǔ)系統(tǒng)的空間利用率,而無法查看每個(gè)用戶目錄自己的空間利用率,如果要查詢用戶目錄的空間使用情況,就只能通過Linux命令的方式來進(jìn)行查詢,即du命令進(jìn)行查詢,此命令查詢不僅緩慢,且無法查看用戶目錄的可用空間上限,對(duì)用戶查詢使用容量這方面造成了較大困擾?;诖嗽?,我們利用shell工具進(jìn)行了腳本的編寫,即通過一臺(tái)單獨(dú)查詢機(jī)器實(shí)時(shí)地對(duì)設(shè)置目錄進(jìn)行du查詢,查詢所有的目錄現(xiàn)今的使用情況,并將這些目錄的已用情況和系統(tǒng)管理員設(shè)置的上限空間,輸出成一個(gè)基于目錄的配置文件的形式,存放在固定的機(jī)器上。然后通過shell腳本編寫調(diào)取數(shù)據(jù)工具,實(shí)現(xiàn)任何計(jì)算刀片都可以通過研發(fā)出的調(diào)取工具隨時(shí)調(diào)取自己所使用目錄的容量信息。腳本運(yùn)行情況如圖1所示,并通過以上的實(shí)現(xiàn)機(jī)制,利用Java圖形化研發(fā)工具,將此功能嵌入到原有的龍存管理軟件中,實(shí)現(xiàn)圖形界面化目錄空間利用率查詢,如圖2所示。
3 ? ? ?結(jié) ? ?論
調(diào)整后的并行存儲(chǔ)可用存儲(chǔ)空間達(dá)到776 TB,并行集群存儲(chǔ)系統(tǒng)的整體存儲(chǔ)空間利用率提升5%,并實(shí)現(xiàn)用戶存儲(chǔ)空間限額及使用量自我管理。這種方法基于Linux系統(tǒng),而Linux系統(tǒng)可安裝在各種計(jì)算機(jī)硬件設(shè)備中,是一個(gè)領(lǐng)先的操作系統(tǒng),世界上運(yùn)算最快的10臺(tái)超級(jí)計(jì)算機(jī)運(yùn)行的都是Linux操作系統(tǒng)。而ext3文件系統(tǒng)又是Linux默認(rèn)的文件系統(tǒng)類型。所以此研究內(nèi)容不但在地質(zhì)勘探等數(shù)據(jù)密集型行業(yè),也在廣大的其他計(jì)算機(jī)領(lǐng)域具有良好的應(yīng)用前景。
主要參考文獻(xiàn)
[1][美]布魯姆,布雷斯納漢.Linux命令行與shell腳本編程大全[M].第3版.門佳,譯.北京:人民郵電出版社,2016.
[2][德]Michael Kerrisk.Linux/UNIX系統(tǒng)編程手冊(cè)[M].孫劍,譯.北京:人民郵電出版社,2014.
[3][美]米歇爾·杜波依斯.并行計(jì)算機(jī)組成與設(shè)計(jì)[M].范東睿,譯.北京:機(jī)械工業(yè)出版社,2017.