您查看的文章来源于http://www.oklinux.cn
unmountOnDiskFail
选项。这可以防止 SAN 配置中的虚假磁盘错误被误报给文件系统管理器。
定义网络共享磁盘
下一个步骤是使用 mmcrnsd –F disc#.desc
命令创建 GPFS 所使用的磁盘。运行这个命令为每个磁盘创建一个全局名,这是一个必要的步骤,因为磁盘在 GPFS 集群中的每个节点上可能有不同的 /dev 名。对 GPFS 文件系统要使用的所有磁盘运行该命令。现在,为每个磁盘定义主 NSD 服务器和次 NSD 服务器;它们用于代表 NSD 客户机的 I/O 操作,NSD 客户机不能够本地访问 SAN 存储。
定义为 NSD 的磁盘的磁盘描述符包含在一个文件里,-F
标志就用来指向这个文件。为了保证示例集群的可管理能力,请在每个 DS4500 的 LUN 上执行一次该过程,并在 tiebreaker 磁盘上执行一次该过程。每个磁盘阵列或 DS4500 上的每个 LUN 在所使用的文件中都有一个描述符。下面是从 disk1.desc
中摘录出来的一行:
sdc:stor001_s:stor002_s:dataAndMetadata:1:disk01_array01S
|
下面是该行中的几个字段,按顺序依次显示:
- 主 NSD 服务器上的本地磁盘名
- 主 NSD 服务器
- 次 NSD 服务器
- 数据类型
- 故障组
- 所生成的 NSD 的名称
通过使用上面的描述符文件,可以在这个配置中定义下面的 3 个故障组:
- 第一个 DS4500 中的磁盘,即
disk01
。
- 第二个 DS4500 中的磁盘,即
disk02
。
- quorum 节点上的 tiebreaker 磁盘。
启动 GPFS
下一个步骤是使用下面的命令在集群范围内启动 GPFS:
- 在所有 NSD 服务器上启动 GPFS,同时防止 NSD 被标记为 down 状态。请使用下面的命令:
mmstartup -w stor001_s,stor002_s,stor003_s,stor004_s
。
- 在所有不是 NSD 服务器的其他节点(包括 tiebreaker 节点)上启动 GPFS。请使用下面的命令:
mmstartup -w quor001_s,mgmt001_s,...
- 从管理节点上在所有计算节点上启动 GPFS。请使用下面的命令:
dsh -N ComputeNodes /usr/lpp/mmfs/bin/mmstartup
。
- 检查所有节点的状态,方法为:监视当前文件系统管理器上的
/var/adm/log/mmfs.log.latest
文件(使用 mmlsmgr <filesystem>
命令时可以找到),并监视下面这个命令的输出结果: mmgetstate -w <nodenames> dsh -N ComputeNodes /usr/lpp/mmfs/bin/mmgetstate
。
这个方法看起来可能过分谨慎了,但是它已经被作为一种可扩充的方法,可在规模巨大的集群中使用。上面这些步骤另外一种方法是使用命令 mmstartup –a
。这对于小型集群来说可以正常工作,但是对于大型集群来说,可能会需要花费很长一段时间来返回,在大型集群中,可能有些节点会由于各种原因而变得不可访问,例如网络问题。
创建 GPFS 文件系统
对于本例来说,使用所有定义为 GPFS 的 NSD 创建了一个大型的 GPFS 文件系统。注意所使用的命令使用上面的 mmcrnsd
命令中的不同磁盘描述符文件作为参数。这需要将创建 NSD 的每个步骤中的输出结果连接到一个文件中。
示例集群使用了以下设置:
- 所有 NSD(使用
-F
设置)
- Mountpoint:
/gpfs
- Automount:是(使用
-A
设置)
- Blocksize:256KB(使用
-B
设置)
- 复制:数据和元数据都有两个拷贝(使用
-m, -M, -r, -R
设置)
- 挂载文件系统的节点估计数:1200(使用
-n
设置)
- 启用配额(使用
-Q
设置)
下面是完整的命令:
mmcrfs /gpfs /dev/gpfs -F disk_all.desc -A yes -B 256K -m 2 -M 2
-r 2 -R 2 -n
1200 -Q yes
|
在创建 /gpfs
之后,要手工进行第一次挂载。然后,如果启用了 automount,就可以在节点启动 GPFS 时自动挂载。