以 RHEL 5 或 CentOS 5 为例
参考
GFS 软件包含部分
| gfs.ko | Kernel module that implements the GFS file system and is loaded on GFS cluster nodes. |
| lock_dlm.ko | A lock module that implements DLM locking for GFS. It plugs into the lock harness, lock_harness.ko and communicates with the DLM lock manager in Red Hat Cluster Suite. |
| lock_nolock.ko | A lock module for use when GFS is used as a local file system only. It plugs into the lock harness, lock_harness.ko and provides local locking. |
创建和挂载 gfs
这里的 /dev/sda1 是使用 iscsitarget 也是的软件 iSCSI 磁盘 (参考本手册 iscsitarget 部分)
使用 GNBD
gfs_mkfs -p lock_dlm -t ClusterName:FSName -j NumberJournals BlockDevice mkfs -t gfs -p lock_dlm -t LockTableName -j NumberJournals BlockDevice
示例:
# mkfs.gfs2 -p lock_dlm -t turboha:gfs1 -j 3 /dev/sda1
使用本地文件系统
gfs_mkfs -p lock_nolock -j NumberJournals BlockDevice mkfs -t gfs -p lock_nolock -j NumberJournals BlockDevice
示例:
# mkfs.gfs2 -p lock_nolock -j 3 /dev/sda1
挂载
mount BlockDevice MountPoint mount -o acl BlockDevice MountPoint
配置 iSCSI 磁盘
iSCSI 软件可以模拟 iSCSI 磁盘
Target 机器配置(提供 iSCSI 服务)
此机器 IP 为 : 172.16.70.28
/etc/ietd.conf
安装 iscsitarget 软件就有这个文件:
# rpm -qf /etc/ietd.conf iscsitarget-0.4.17-20090213
只要下面两行配置:
Target iqn.2009-09.turbolinux.com.cn:storage.disk1.sys1.xyz
Lun 0 Path=/dist/kvm/iscsi-disk,Type=fileio
iscsi-disk 使用 dd 创建:
# dd if=/dev/zero of=/dist/kvm/iscsi-disk count=10000000 10000000+0 records in 10000000+0 records out 5120000000 bytes (5.1 GB) copied, 132.699 seconds, 38.6 MB/s
启动 iscsi-target
# rpm -qf /etc/init.d/iscsi-target iscsitarget-0.4.17-20090213
# /etc/init.d/iscsi-target start
Initiator 机器配置(连接 Target 机器)
下面测试机器 IP 为 172.16.70.31
# /etc/init.d/iscsi start # iscsiadm --mode discovery --type sendtargets -p 172.16.70.28 <== 查看 # iscsiadm -m node -l -p 172.16.70.28 <== 连接上 , 注意node不要写成mode # iscsiadm -m node -u -p 172.16.70.28 <== 断开连接
重复上面步骤在 172.16.70.99 机器上连接 iscsi 磁盘.
使用 GNBD
参考 : http://sourceware.org/cluster/gnbd/gnbd_usage.txt
创建 GFS 文件系统
使用上面连接的 /dev/sda1 分区,
# mkfs.gfs2 -p lock_dlm -t turboha:gfs1 -j 3 /dev/sda1 This will destroy any data on /dev/sda1. Are you sure you want to proceed? [y/n] y Device: /dev/sda1 Blocksize: 4096 Device Size 4.76 GB (1248982 blocks) Filesystem Size: 4.76 GB (1248982 blocks) Journals: 3 Resource Groups: 20 Locking Protocol: "lock_dlm" Lock Table: "turboha:gfs1" UUID: 1AFD9E4C-9C1C-EA18-5F3D-1E5A9CF526F0
命令使用示例
mkfs.gfs2
# mkfs.gfs2 -p lock_dlm -t turboha:gfs1 -j 3 /dev/hdb1 This will destroy any data on /dev/hdb1. It appears to contain a ext3 filesystem. Are you sure you want to proceed? [y/n] y Device: /dev/hdb1 Blocksize: 4096 Device Size 39.99 GB (10484412 blocks) Filesystem Size: 39.99 GB (10484410 blocks) Journals: 3 Resource Groups: 160 Locking Protocol: "lock_dlm" Lock Table: "turboha:gfs1" UUID: 67DBF266-C4EC-8778-3785-AC5116342D3E
- -p lock_dlm
- 定义为DLM锁方式,如果不加此参数,当在两个系统中同时挂 载此分区时就会像EXT3格式一样,两个系统的信息不能同步
- -t turboha:gfs1
- DLM 锁所在的表名字,turboha 应与 cluster.conf 中 Cluster的name相同
- -j 3
- GFS分区中最多支持多少个节点同时挂载,这个可以在使用中动态调整
- /dev/hdb1
- 要格式化的分区
