共享集群共享分区是用来存放集群的状态信息,存放内容如下:
集群锁定状态
服务状态
设置信息
每一个成员将会定期的写入它的服务状态到共享的储存空间,共需要建立两个集群共享分区:primary 及shadow。假如primary 的共享分区毁损了,集群成员还可以从shadow 或备用共享分区读取信息,并且在同时修复primary 分区,资料的一致性是透过检查码(checksums) 来维护,而且任何在两个分区间的不一致资料将会自动地修正。
假如一个成员在开机时无法写入两个共享的分区,它将不被允许加入集群。集群共享分区的需求如下:
两个分区至少需要 10MB 的空间
共享的分区必须是 raw 装置,它们不能含有文件系统。
共享分区只能由集群的状态与设置信息所使用
[root@node1 root]# fdisk -l /dev/sdb
Disk /dev/sdb: 80.0 GB, 80018931712 bytes
255 heads, 63 sectors/track, 9728 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Command (m for help): p <- 印出现有partition table
Disk /dev/sdb: 80.0 GB, 80018931712 bytes
255 heads, 63 sectors/track, 9728 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
Command (m for help): n <- 新增第一个共享分区
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-9728, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-9728, default 9728): +20M
Command (m for help): <- 新增第二个共享分区
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (4-9728, default 4):
Using default value 4
Last cylinder or +size or +sizeM or +sizeK (4-9728, default 9728): +20M
Command (m for help): p
Disk /dev/sdb: 80.0 GB, 80018931712 bytes
255 heads, 63 sectors/track, 9728 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 3 24066 83 Linux
/dev/sdb2 4 6 24097+ 83 Linux
Command (m for help): w <- 写入partition table
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或系统资源忙碌中.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@node1 root]# reboot <- 重新启动
6.建立raw 装置
在设置集群共享分区后,请在分区上建立raw 装置,共享的分区上不能含有文件系统。要建立一个 raw 装置,必需编辑 /etc/sysconfig/rawdevices 文件案来系结一个 raw 字符装置到适当的区块装置以使得该raw 装置可以被开启、读取与写入。
[root@node1 root]# cat /etc/sysconfig/rawdevices
# raw device bindings
# format: <rawdev> <major> <minor>
# <rawdev> <blockdev>
# example: /dev/raw/raw1 /dev/sda1
# /dev/raw/raw2 8 5
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
[root@node2 root]# cat /etc/sysconfig/rawdevices
# raw device bindings
# format: <rawdev> <major> <minor>
# <rawdev> <blockdev>
# example: /dev/raw/raw1 /dev/sda1
# /dev/raw/raw2 8 5
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
编辑完/etc/sysconfig/rawdevices 文件后,可以重新开机 或者是执行下列指令来使其生效。
#service rawdevices restart
#使用 raw -aq 指令可查询所有的raw 装置
[root@node1 root]# raw -aq
/dev/raw/raw1: bound to major 8, minor 17
/dev/raw/raw2: bound to major 8, minor 18
7.设置集群名称
选择『主选单』=>『系统设置』=>『服务器设置』=>『集群』。
或在shell 提示符号下输入redhat-config-cluster 指令。
![]() |
图6:设置集群名称
8.设置Share Raw Device
选择redhat-config-cluster 上的「Cluster」=>「Shared State」便可看到图7 的画面,填入正确的Raw Device。
![]() |
图7:Share Raw Device
