参考
GFS 软件包含部分
创建和挂载 gfs
使用 GNBD
使用本地文件系统
挂载
配置 iSCSI 磁盘
Target 机器配置(提供 iSCSI 服务)
Initiator 机器配置(连接 Target 机器)
使用 GNBD
创建 GFS 文件系统
命令使用示例
mkfs.gfs2

以 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
要格式化的分区