提高集群并行文件系统空间及利用率

2019-01-13 09:48马丽丽
中国管理信息化 2019年23期
关键词:大数据

马丽丽

[摘    要] 隨着地震处理“大数据时代”的来临,并行文件系统对于高性能计算集群的重要性日益突出,如何提高这些IT基础设施的利用率,成为IT运维管理人员面临的新挑战。由于存储空间的紧张,影响地震处理任务的进度。通过对磁盘文件系统的深入了解和研究,更改磁盘本地文件系统格式化方式,将原有被占用的存储空间挖掘出来,提升并行文件系统的整体空间利用率。利用shell脚本开发出并行文件系统资源管理模块,动态划分不同应用以及用户使用目录的可用空间,提高整体空间的利用率。并行文件系统还可以实现用户存储空间使用的限额控制,极大地提高了数据存储的安全性。

[关键词] 大数据;ext3;并行文件系统

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2019. 23. 060

[中图分类号] TP311    [文献标识码]  A      [文章编号]  1673 - 0194(2019)23- 0141- 02

1      问题的提出

随着地震处理“大数据时代”的来临,并行文件系统对于高性能计算集群的重要性日益突出,如何提高这些IT基础设施的利用率,成为IT运维管理人员面临的新挑战。

某油田公司由于存储空间的紧张,影响地震处理任务的进度。除此之外,在实际生产中还发现如下问题:

(1)现今使用的2套并行存储系统,存储服务器的基本单元分别由2 T和3 T磁盘组成,将存储系统磁盘格式化后发现,硬盘的存储挂载空间只有1.8 TB和2.7 TB左右。

(2)并行文件系统对数据实行分散化存储,这样一方面可以让海量的存储刀片同时对文件进行处理,提高数据读写效率,另一方面可以动态划分不同应用以及用户使用目录的可用空间,提高整体空间的利用率,而且并行文件系统还可以实现用户存储空间使用的限额控制,极大地提高了数据存储的安全性。但是并行文件系统自身却缺乏用户对其分散化的数据及使用配额的查询统计工具,使得用户难于对其自身的数据及存储空间使用进行有效的规划。

2      研究主要内容

2.1   磁盘空间挖掘

通过对磁盘文件系统的深入了解和研究,更改磁盘本地文件系统格式化方式,将原有被占用的存储空间挖掘出来,提升并行文件系统的整体空间利用率。利用shell脚本开发出并行文件系统资源管理模块。

研究并行集群存储系统的整体实现特点以及本地文件系统的实现机制。通过研究发现,并行集群存储系统是通过虚拟化、分布式存储、集群等技术将海量的存储服务器整合成一个容量超大、性能超强的存储磁盘,为前端应用提供高效的数据读写访问,其本身最小单元是基于存储服务器中磁盘设计的,服务器中所有磁盘都是采用的ext3文件系统,其强大的日志功能是其他文件系统所无法比拟的,数据的安全性自然就得到了进一步的提高。

通过管理员对ext3文件系统不断的深入了解发现,这些消失的空间并不是全部都由ext3文件系统占用,而是出于系统安全保护机制,在格式化的时候系统都会自动的采用默认参数,为每个分区保留了5%的空间给系统root用户,还有其他的一些信息,比如日志设置完毕、分区未设置卷标等等,另外还提示以后可以使用tune2fs来修改已经格式化的分区参数,这样能保证有些关键应用(比如数据库)在硬盘满的时候留有余地,不至于马上就 crash(崩溃),以便在分区被占满之后root用户还可以有足够的空间进行一些相关的操作。

但是作为存储系统的底层基础而言,其操作全部由存储控制来操作,并不存在root操作的概念,所以对于存储系统的底层文件系统并不需要预留此空间,即可通过下面的命令来完全释放每个磁盘默认保留的5%空间。

mkfs.ext3 –m 0  /dev/sda1

这条命令可以安全的在系统分区里,释放出额外保留的5%磁盘空间,而不影响系统的正常运行。而且在比较老的ext2文件系统及最新的ext4文件系统中,仍然可以用这条命令。

如下内容所示(通过不同的格式化方式,可以提升磁盘5%的整体空间利用率):

非预留方式:

[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   目录空间利用率查询工具的研发

针对并行集群存储系统的目录容量限制以及用户存放数据的特点,进行脚本研发,开发出可供用户及时查询且立即输出私有目录空间使用情况的空间管理查询工具。

由于并行文件系统是基于共享存储系统设计的,所以所有客户端看到的都是统一的文件视图,即所有客户端看到的都是相同的共享存储池。在这样的情况下用户在使用Linux自带df命令查询存储系统空间时,就只能查看到整个存储系统的空间利用率,而无法查看每个用户目录自己的空间利用率,如果要查询用户目录的空间使用情况,就只能通过Linux命令的方式来进行查询,即du命令进行查询,此命令查询不仅缓慢,且无法查看用户目录的可用空间上限,对用户查询使用容量这方面造成了较大困扰。基于此原因,我们利用shell工具进行了脚本的编写,即通过一台单独查询机器实时地对设置目录进行du查询,查询所有的目录现今的使用情况,并将这些目录的已用情况和系统管理员设置的上限空间,输出成一个基于目录的配置文件的形式,存放在固定的机器上。然后通过shell脚本编写调取数据工具,实现任何计算刀片都可以通过研发出的调取工具随时调取自己所使用目录的容量信息。脚本运行情况如图1所示,并通过以上的实现机制,利用Java图形化研发工具,将此功能嵌入到原有的龙存管理软件中,实现图形界面化目录空间利用率查询,如图2所示。

3      结    论

调整后的并行存储可用存储空间达到776 TB,并行集群存储系统的整体存储空间利用率提升5%,并实现用户存储空间限额及使用量自我管理。这种方法基于Linux系统,而Linux系统可安装在各种计算机硬件设备中,是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。而ext3文件系统又是Linux默认的文件系統类型。所以此研究内容不但在地质勘探等数据密集型行业,也在广大的其他计算机领域具有良好的应用前景。

主要参考文献

[1][美]布鲁姆,布雷斯纳汉.Linux命令行与shell脚本编程大全[M].第3版.门佳,译.北京:人民邮电出版社,2016.

[2][德]Michael Kerrisk.Linux/UNIX系统编程手册[M].孙剑,译.北京:人民邮电出版社,2014.

[3][美]米歇尔·杜波依斯.并行计算机组成与设计[M].范东睿,译.北京:机械工业出版社,2017.

猜你喜欢
大数据
基于在线教育的大数据研究
“互联网+”农产品物流业的大数据策略研究
基于大数据的小微电商授信评估研究
大数据时代新闻的新变化探究
浅谈大数据在出版业的应用
“互联网+”对传统图书出版的影响和推动作用
大数据环境下基于移动客户端的传统媒体转型思路
基于大数据背景下的智慧城市建设研究