第28卷第5期 计算机技术与发展 COMPUTER I CHNOLOGY AND DEVELOPMENT 2018年5月 Vo1.28 No.5 Mav 20l8 GPFS文件系统的安装配置与维护 张新诺,王彬 (国家气象信息中心,北京100081) 摘要:GPFs是一款成熟的并行文件系统,该系统具有稳定性好、扩展性高、数据读写速度快等特点,广泛应用于AIX和 Linux操作系统的服务器集群中。虽然GPFS文件系统稳定性高,但GPFS文件系统是依托在操作系统和存储介质中的软 件,当操作系统或存储介质发生故障时,也会造成GPFS文件系统无法正常使用。在处理GPFS文件系统故障时,需要使用 相关命令并配合不同的参数对文件系统的相关内容进行配置和创建。文中的主要目的是为了说明GPFS文件系统相关命 令及命令中各项参数的作用和使用方式,能够使维护人员更好地了解和维护GPFS文件系统。同时,也对文件系统在 Linux平台中出现问题时如何有效使用GPFS命令解决故障,如何有效保护数据安全和数据完整性,及如何恢复文件系统 的正常运行等方面进行探讨。 关键词:并行文件系统;GPFS;NSD;重建文件系统 中图分类号:TP302.1 文献标识码:A 文章编号:1673-629X(2018)05-0174-05 doi:10.3969/j.issn.1673—629X.2018.05.039 Installation Configuration and Maintenance of GPFS ZHANG Xin-nuo,WANG Bin (Naitonal Meteorological Information Center,Beijing 100081,China) Abstract:GPFS(general parallel file system)is a mature parallel file system with the characteristics ofhigh stability and expansibility, fast data eadirng and writing and many more,which is widely used in the server cluster of AIX and Linux operating system.Alhough tthe GPFS has high stability,it is a software which is run in he toperating system and storage media,and when the operating system or storage media fails,it is not used properly.Dealing wih tthe failures of GPFS,we need tO configure nd acreate relatd conteent ofthe file system wihtthe relevant commandsand different parameters.Themain purposeinthis paperisto exOainthefunction and usageofthe parame- tersintheGPFS,tomakethemaintenance staffunderstandand UsetheGPFS better.Atthe sametime,wealso discuss howto UseGPFS commandto solvethe problem,howto effectively protect data securiyatnd dataintegrity,and howtOreStOrethe normal operation offile system,whenthefiel systemisintheLinux#afform. Key words:paralll feile system;GPFS;NSD;rebuild file system O 引 言 随着信息化进程的推动,各行各业所需的相关信 息量越来越多,需要更高效更安全的数据存储环境。 在并行存储迅速发展的情况下,由于性能优势而备受 的数据存储空间,并允许集群中任何一个节点同时访 问相同的数据。简单来说,GPFS是一个高性能、可共 享磁盘的并行文件系统 。 国内各企事业单位信赖的GPFS系统得到了广泛 应用。 1 GPFS文件系统的特性 GPFS文件系统为服务器集群提供高性能的数据 访问,该文件系统允许数据被集群中多个节点同时、高 IBM公司的GPFS文件系统全称为generM paral— lel file system(通用并行文件系统),是IBM公司开发 效的访问。大多数现有的文件系统是专为单一服务器 环境提供服务的,添加更多文件服务器并不会提高文 件系统的性能。GPFS文件系统将的数据分块, 网络出版时间:2018—02—08 彬,正研级高级工程师,博士,研究方向为高性能计算应用及技术开 并生产的一种并行文件系统,普遍应用于服务器集群 系统中…。GPFS文件系统为集群中的节点提供统一 收稿日期:2017—05—31 修回日期:2017—09—13 基金项目:科技部公益性行业专项(气象)科研专项(GYHY201106022,GYHY201306062) 作者简介:张新诺(1984一),男,工程师,硕士,研究方向为并行计算;王发、气象信息化设计等。 网络出版地址:http://kns.cnki.net/kcms/detail/61.1450.tp.20180207.1906.058.html 第5期 张新诺等:GPFS文件系统的安装配置与维护 一·l75· 并存放在多块硬盘中,以并行的方式进行数据的输入 和输出,能够为服务器提供高性能的数据服务 。 GPFS提供的其他功能包括高可用性、支持异构集群、 灾难恢复、安全性、数据管理接口(DMAPI)、分级存储 管理(HSM)和信息生命周期管理(ILM) 。 P hs21—1.site指定主NSD:服务器为hs21—1.site S x3650—02.site指定备NSD:服务器为x3650—02.site —命令执行完成后,执行mmlscluster命令检查集群 建立情况,结果见图1。 toO+tll ̄l2卜l L 。ot 1 t疆 萄躏IS瓠 删cluStm:h《q #== ===: ;;==:i= i% = 2 GPFS文件系统的配置 GPFS文件系统的安装较为简便,对应不同的操 作系统安装其相应的安装包即可。安装完成后,不同 == 艄cl ̄tezⅢ:ha,21.mtats 卿黠 破啦’ id: 硼B25住船粥甜嘲o6O 钎s m danin:hi21.m‘pf# 轴-ot· ̄aell eI ●∞d:L ̄/hia/ug 的操作系统其对应的配置方式略有不同。文中以 SUSE 10为例,简述文件系统的配置方式。 2.1配置节点文件 配置节点文件主要是确定该GPFS文件系统可用 于集群的范围,并确定文件系统的管理节点和仲裁节 点的位置,配置如下: root@hs21一I[/root] #vim/usr/Ipp/mmfs/nodef hs21一I.site:quorum hs2l一2.site hs21-3.site x3650—01.site:quorum—manager x3650—02.site:quorum—manager -lI..o ·毒il· ̄oDy ̄Otm ̄"尥蕊 ,l啦 (gCFS cltmte ̄c ̄dig……。…atim目∞ w0: 一 嘲舸 龋懈 鼍|溶l咄鲁i 。 | 蛹 富,_荫械t 髓蟹晕鐾.略 儿I“ - : | 柚Ii曩姊抽翻蚺1w21.-I.如t.¨ 巍鲥- 蔓羞稳睡舶d.蛳1 h 1.L畦 叠“&.I霉Io. 羲事伽·i曲I重i峨 粕哪 · #、宰轴瞬 iti,t' ̄ 囊10.壤jii橐 啪 越≮- · 簪I 镀’ § 曩蕊垂 a.= I 蹴 汹 。 毒t 甍镛 譬 t · _t蕾蟹咖;l翊lt. 。l0 l氟蛾擎 离9 ol。割 t· 一如咩嘲 柚|iI群· 譬鼙 t酾脚_啕 臻蜘 搬毒‘辫 哦 t. 。嘲。蓦. ’—I‘.蕾· 图l GPFS文件系统建立情况 2.3配置并创建GPFS共享磁盘 2.3.1 建立NSD(network shared disk)配置文件 该文件系统是创建在由36块硬盘组成的存储介 质中,其中每3块硬盘组建RAID 5磁盘阵列 。。。可 用fdisk—l查看各硬盘信息,显示结果如下: root@hs21一I[/root] #fdisk—l 在GPFS文件系统中,至少需要一个仲裁节点 (quorum),用于集群间的通信及数据完整性检查。由 于该集群中节点较多,故设置三个仲裁节点,当任何一 个仲裁节点出现问题时,集群节点仍能和其他的仲裁 节点保持通信,保证GPFS文件系统仍能正常运 行 ]。若多个仲裁节点发生故障,则集群节点无法 正常通信,此时GPFS文件系统将不可用。在hs命名 为刀片服务器,x3650服务器为普通X86机架服务器, Disk/dev/sdal:1998.9 GB,1998985 153536 bytes 255 heads,63 sectors/track,243029 cylinders Units=cylinders of 16065}512--8225280 bytes 根据硬盘信息建立NSD配置文件,配置文件的文 件名可根据个人习惯命名,文中将其命名为DescFile, 用于NSD的划分。NSD配置文件内容格式为:磁盘 名:主节点名:备节点名:磁盘类型:失效组别:NSD 名:存储池:(“:”为必须内容)。 为了保证文件系统的安全性,将两台x3650机架服务 器定义为仲裁节点(quorum)和管理节点(manager), 即quorum—manager类型节点。该种类型节点用于管 理集群的配置及文件系统监控等方面 。 2.2建立GPFS集群 根据命令格式编辑DescFile文件: root@hs21—1[/root] #viDescFile 将hs21一1.site作为GPFS集群的主管理者,在该 节点上进行GPFS集群建立的操作。操作命令为: mmcrcluster—C集群名一u域名一N各节点名一p 主NSD服务器一S备NSD服务器 具体命令如下: root@hs21一I[/root] #mmcrcluser—C hst21.cma.GPFS—U hs21.cma.GPFS—N/ usr/Ipp/mmf nodef—p hs21一I.site—S x3650—02.site /dev/sdal:hs21—1.site:x3650—02.site:dataAndMetadata: 4001:ft01nsdl:: 一/dev/sdam:hs21一I.site:x3650—02.site:dataAndMetadata: d2:: 4001:ft01ns一……(省略其他NSD硬盘) /dev/sdbu:hs21—1.site:x3650—02.site:dataAndMetadata: 4001:ftOlnsd36:: _该命令中各参数含义如下: 一C hs21.oma.GPFS:设定集群名称为hs21.cma.GPFS —该文件中各字段具体解释如下: U hs21.cma.GPFS:设定域名为hs21.ema.GPFS N/tmp/GPFS/nodef:指定各节点的文件名 (1)/dev/sdbu:代表硬盘名称,通过fdisk-1命令 获得,不同系统对应的硬盘名称略有不同。 —·176· 计算机技术与发展 第28卷 (2)hs21-1.site:代表NSD的主I/O节点,该节点 名称根据文件系统的实际情况配置。 (3)X3650-02.site:代表NSD的备I/O节点。无 该节点可以不填。 (4)dataAndMetadata:代表磁盘类型。NSD磁盘 根据数据类型可以分为四种,分别为dataAndMetada- ta、dataOnly、memdamOnly和descOnly。 GPFS需要保存两种类型的数据,即data和meta· data。metadata(元数据)是用于GPFS自身索引数据 以及内部配置信息。这部分元数据只能保存在data- AndMetadata或者metadataOnly类型的磁盘中。data— AndMemdam说明该磁盘既可以存放元数据,也可以存 放其他数据。在一些对元数据访问要求非常高的系统 中,推荐使用Flash单独存放GPFS的元数据。在这种 情况下,Hash里的磁盘就设置为metadataOnly,其他的 磁盘就设置为dataOnly。descOnly类型的磁盘仅用于 存放文件系统副本,并且在发生故障时可根据第三失 效组恢复相关配置。一般来说,dataAndMetadata为 NSD磁盘的默认类型¨卜”]。 (5)4001:代表失效组(FailureGroup),可以不填, 默认为4001。失效组主要用于定义一组来自于同一 存储系统或者有一定隔离效果(如同一存储中的同一 个RAID)的磁盘¨ 。如果启用GPFS的Replica(复 制)功能,GPFS会把同一个数据块的2个或者3个 replica放置在不同的FailureGroup里。这样的话,同 一个FailureGroup里不管坏多少个磁盘,都不会影响 数据访问。FailureGroup的数值本身没有具体含义,主 要为了区分不同失效组,数值相同的磁盘属于同一个 失效组。如果启用GPFS的replica功能,每个数据块 会多占用一倍(replica=2)甚至两倍(replica=3)的磁 盘空间。一般而言,如果存储系统在硬件上已经保证 了冗余,比如RAID以及多路径到SAN交换机,磁盘 失效的概率已经很低,一般情况没必要启用Replica 功能。 (6)ftOl_nsd¥:代表NSD盘的名称,可根据需要 自行命名。 (7)命令最后一位代表存储池,如不填代表系统 默认的存储池。 2.3.2创建GPFS所需的NSD盘 编辑DescFile完成后,执行mmcmsd—F命令,即 可生成NSD盘。命令格式为:mmcmsd—F NSD配置 文件。 命令执行如下: root@hs21—1[/root] #mmcmsd—F DcscFile mmcrnsd:Processing disk sdal rmncrnsd:nDpagadng the cluster configuration data to all affected nodes.This is an asynchronous process. 命令执行完成后,可执行命令mmlsnsd—L检查 NSD盘的创建情况。 2.4创建文件系统 NSD盘创建完成后,需执行mmstartup—a启动 GPFS。只有启动GPFS后,才能继续进行文件系统的 创建。创建文件系统的命令为: mmcrfs文件系统设备名“NSD盘名”一T文件系 统挂载点一A yes/no—B数据块大小 具体命令如下:mmcrfs/dev/fsl”ft01一nsdl;ftO1一 nsd2;…(中间略)…;ft01_nsd36”一T/GPFS/fsl 命令中各字段具体解释如下: /dcv/fsl为文件系统设备名,创建文件系统时,系 统会在集群所有节点自动创建。在4.2.1版本及更新 的版本中,GFPS在Linux中将不会在/dev目录下生成 文件系统设备名,因此在Linux版本的mount命令中 也不会出 ̄/dev的前缀。 “ftO1nsdl;……ft01一一nsd36”为前文创建的NSD 盘。也可使用创建NSD盘的DescHle文件,命令为: mmcrfs/dev/fsl—F/root/DeseFile-T/GPFS/fsl。 一A表示开机是否自动加载挂载点,默认是no,命 令中可以不使用。 一B表示数据块大小,默认是256K,如果不加一B 则表示使用默认数据块大小,文件系统创建后不可更 改。数据块的大小选择与应用程序下发的I/O的大小 接近时,GPFS的性能较好。GPFS本身有很多机制来 适应不同的I/O大小。当应用程序下发的I/O大小不 是很清楚,或者很复杂时,可以选择1 MB来折中。 2.5挂载文件系统 执行挂载文件系统命令挂载文件系统,命令为: mmmount文件系统名。文件系统挂载完成后,可执行 df命令查看文件系统情况。如能够显示所建文件系 统的路径和名称,说明文件系统已经建设完成。具体 执行命令为:mmmount fsl。 3 GPFS的管理与维护 3.1 G脚S启动与关闭 (1)mmstartup:为启动文件系统的命令,根据添加 不同参数可以启动单节点的文件系统,也可启动所有 集群文件系统。 单节点文件系统启动方式:执行mmstartup命令。 集群文件系统启动方式:执行mmstartup—a命令。 (2)mmshutdown:为关闭文件系统命令,同样根据 添加不同参数可以关闭单节点文件系统,也可关闭所 第5期 张新诺等:GPFS文件系统的安装配置与维护 ·177· 有集群文件系统。 单节点文件系统关闭方式:执行mmshutdown。 集群文件系统关闭方式:执行mmshutdown—a,其 执行结果显示的时间会比关闭单节点时间略长。 通常在重启节点时,要先关闭GPFS文件系统等 常用软件,避免节点重启完成后GPFS软件出现故障。 3.2 GPFS文件系统故障检查处理 通过长时间使用和维护GPFS文件系统,发现 GPFS文件系统出现的故障多为硬件故障,因此文中 主要从硬件角度处理GPFS故障。当GPFS文件系统 状态,若GPFS state显示其他状态,如GPFS satt显示 down时,登录到相关节点查看GPFS是否被关闭。检 查/var/adm/ras目录下的mmfs.1og.1atest文件内容, 查看是否有GPFS关闭的信息,如执行如下命令: root@mdss—zc2[/var/adm/ras] #tail-500mmfs.1og.1atest Wed May 17 00:40:42 GMT 2017:mmremote:Completing GPFs shutdown... 如结果所示,可知该节点GPFS被执行shutdown 出现建故障时,需要通过查看集群GPFS状态、磁盘状 态、文件系统故障范围等多方面来确定故障原因。 3.2.1 查看集群节点状态 操作,可用mmstartup命令尝试能否重启GPFS文件系 统。若mmfs.1og.1atest文件中没有GPFS文件系统的 shutdown信息,则GPFS文件系统进程被关闭或由于 其他原因造成文件系统无法正常工作,可先执行 mmshutdown,再执行mmstartup尝试重启文件系统。 通过命令mmgetstate—a可查看集群各节点 GPFS状态,执行结果如下: root@hs21—1[/root]  ̄'ngetstate—a 如果无法正常启动,可用其他命令检查物理硬盘等其 他故障原因。 GPFS state Node number Node nan.1e 3.2.2查看NSD状态检查物理硬盘 在使用GPFS文件系统过程中,有时会发生文件 l 3 hs2l—l hs2l-3 active active 系统出现挂起状态,从而导致文件系统不可用,如在执 行df命令时,显示“df:Ydev/fsl:Stale NFS file han- die”,说明fsl文件系统被挂起。此时可检查文件系统 对应NSD是否出现故障。 查询文件系统NSD命令:mmlsdisk文件系统名。 执行命令见图2。 mmgetstate:The following nodes could not be reached: hs2l-2.sie t从执行结果可以看到,节点hs21—2.site出现故障 无法加入到集群中。其他节点GPFS都是健康的active ro t眈l2l-l L oot】 ●蕾 i馥fl1 戴豳 到嘲l| 玉im meet t,,● 量i - statxtz tvtiltbili t ’ooltJ ■- £皂璺1.璐鳃 萋耋g1.n基蠡触1.艇最删 垂I 嘲 512 s挖512 4001 y.s 4a0l r.暑 伽I yet 蹦 rt.ay rtadbe rQ ̄d ̄ ao lI ao ndm sys ̄em 譬ylt蛳 t_ 图2查看文件系统NSD状态 通过查看可以看出,该文件系统中有三个NSD出 mmchdisk文件系统名start—d“故障NSD1;故障 NSD2;……;故障NSDn” 现故障,显示出down的状态。当NSD出现down的 状态时,说明系统中与down状态NSD相对应的物理 具体操作命令为:mmchdisk fsl start—d“ftO1一 nsd4;ftO1nsd5;ft01nsd6”。 一_硬盘出现故障。根据硬盘状态检查该硬盘所在RAID 状态。如果RAID完好,只需更换故障硬盘,重新挂载 文件系统即可;如果RAID出现故障,则可能需要重建 文件系统。 执行完成后,检查NSD状态。如果NSD状态都 是UP状态,则可执行mmumount fsl和mmmount fsl 来恢复文件系统的正常运行。 当存储系统中的RAID出现故障,首先要查看3 块物理硬盘出现故障的原因,尝试能够将故障NSD的 状态改为up。如果NSD状态能够恢复,则说明不是 所有的硬盘都存在物理故障,文件系统中的数据也不 会出现丢失的现象,此时,文件系统也可以被恢复并被 挂载。恢复NSD状态可使用如下命令: 若NSD状态仍是down或者unreacoverd,则表示 文件系统仍存在问题,文件系统中的数据可能已经无 法恢复。 在故障状态下,故障NSD已经无法与正常NSD 同步数据,此时文件系统可以挂载,但无法对文件系统 中的内容进行操作。为了恢复文件系统的正常运行, ·178· 计算机技术与发展 第28卷 需要重建文件系统。重建文件系统会造成文件系统中 的数据丢失,因此需要尽量备份文件系统数据。 为了尽可能备份文件系统中的数据,可以先屏蔽 故障NSD,再尝试以只读模式挂载文件系统。由于文 件系统缺少3个NSD,文件系统中的数据已经不完 整,在备份数据过程中会出现数据不完整情况 。 屏蔽故障NSD和以只读模式挂载文件系统命令如下: 屏蔽故障NSD:mmfsctl文件系统名exclude-d “故障NSD1;故障NSD2;故障NSD3”。 以只读模式挂载文件系统:mmmount文件系统 名一O rs。 3.2.3重建GPFS文件系统 数据备份完成后,需要重建文件系统才能使文件 系统恢复正常工作。重建文件系统时,文件系统中所 有数据都将丢失。重建文件系统的步骤:删除故障文 件系统,删除故障文件系统NSD,重建NSD,重建文件 系统。具体命令如下: (1)删除故障文件系统。 mmdelfs—P故障文件系统名:删除故障文件系 统,为重建系统做准备。 (2)删除故障文件系统NSD。 mmdelnsd“NSD1;NSD2;……NSDn”:更换故障 硬盘后,为了重建故障文件系统,需要将该文件系统所 有NSD硬盘初始化,因此需要先删除现有NSD,再进 行NSD和文件系统的重建。 (3)重建NSD和重建文件系统。 具体操作可参考前文创建NSD和创建文件系统 时的步骤,完成相关的操作后,即可重新使用该文件 系统。 4结束语 目前,GPFS并行文件系统广泛应用于各企事业 单位。随着信息化的发展,各企事业单位需要结合自 身情况来配置使用GPFS并行文件系统,保证数据能 够被高效、安全地使用。因此,为了更加高效、稳定地 使用各种数据,应该继续深人探讨GPFS并行文件系 统相关内容,为更好地使用GPFS文件系统打下基础。 参考文献: [1]王鸥,赵永彬.GPFS共享文件系统在企业门户系统中应 用的研究[J].电脑知识与技术,2015,11(10):15—17. [2]张志坚,伍光胜,孙伟忠,等.IBMFIexP460高性能计算机 系统及气象应用[J].现代计算机,2016(9):51-55. [3] 庞丽萍,何飞跃,岳建辉,等.并行文件系统集中式元数据 管理高可用系统设计[J].计算机工程与科学,2004,26 (11):87-88. [4] 肖 伟,赵以爽.并行文件系统简介及主流产品对比[J]. 邮电设计技术,2012(7):31-36. [5]杨听.GPFS文件系统原理和模式10优化方法[J].气象 科技,2006,34:27—30. [6] 张玺.并行文件系统下数据迁移功能的实现[J].北京信 息科技大学学报:自然科学版,2012,27(5):77-80. [7] 解宝琦,王金国.构建CentOS+GPFS集群[J].网络安全和 信息化,2017(2):85-88. [8]叶雅泉.GPFS在省级通信系统中的应用[J].移动信息, 2016(6):113. [9]SCHMUCK F,HASKIN R L.GPFS:a shared-disk ifle sys— tem for large computing clusters[C]//Proceedings of the conference on file and storage technologies.Berkeley,CA, USA:USENIX Association,2002:231—244. [1O]PLANK J S.The Raid一6 Liber8Tion code[J].International Journal of H iJgh Performance Computing Applications,2009, 23(3):242—251. [11]CAULFIELD A M,SWANSON S.QuickSAN:a storage area network for fast,distributed,solid state disks[J].ACM SI— GARCH Computer Architecture News,2013,41(3):464— 474. [12]沈瑜,孙婧,李娟.中国气象局高性能计算机系统高 可靠性设计[J].信息安全与技术,2013,4(6):42—45. [131 JONES T,KONIGES A E,YATES R K.Performance of the mM general parallel file sysetm[C]//Proceedings of the 14th international symposium on parallel and distributed pro— cessing.Cancan,Mexico:1EEE,2000:673-681. [14]LIU Gia—Shie.Three m-fialure group maintenance models ofr M/M/N unreliable queuing service systems[J].Comput— ers&Industrial Engineering,2012,62(4):1011—1024. [15]VIJZELAAR S,BOSH,FOKKINKW.Briefannouncement: a shared disk on distributed storage[C]//Proceedings of hte 29tll ACM SIGACT—SIGOPS symposium on principles of distributed computing.Zitrich,Switzerlnad:ACM,2010:79一, 8O. [19]SZELIGA B,NGUYEN T,SHI Weisong.DiSK:a idstributde shared disk cache for HPC enviornments f C 1//International conference on collaborative computing:networking,applica— tions and worksharing.Washington D.C,USA:IEEE,2009: 1—8.