我正在尝试实现 2 节点 REDHAT HA 集群。以下是我的环境。
VMWare WorkStation 10.01
- 节点 1 >> CentOS-6.3 x86_64
- Node-2 >> CentOS-6.3 x86_64
- Node-3 >> CentOS-6.3 x86_64 [ Luci ]
- Openfileresa-2.99.1-x86_64
我已经成功设置了集群,并且所有服务在 Luci 服务器和节点上都运行良好。iSCSI 目标和启动器也运行良好。问题是驱动器名称在任何特定节点重新启动后都不会保留。这给集群中的故障转移带来了问题。经过两天的深入在线研究,我已经从以下链接做了我能做的一切。但我仍然被这个磁盘命名问题困扰。
pubs.vmware.com/workstation-10/index.jsp?topic=%2Fcom.vmware.ws.using.doc%2FGUID-E601BE81-59B5-4B6C-BD96-2E1F41CBBDB2.html
http://jablonskis.org/2011/persistent-iscsi-lun-device-name/index.html
PS:我正在使用没有隔离机制的单路径设置,因为 VMWare 不支持该设置。
我已经使用了 udev 规则并分配了 UUID。我添加了以下规则;
内核=="sd[az]", 子系统=="block", 程序="/sbin/scsi_id -g -u -d /dev/$name", 结果=="14f504e46494c45526f416b7a4b4e2d4176584a2d45763153", 名称="webcl"
现在,当我列出“fdisk”时。即使设备名称“webcl”出现在 /dev 下,LUN 的磁盘甚至没有显示在列表中
[root@node1 dev]# ls -l webcl
brw-rw---- 1 根磁盘 8, 32 9月 30 22:25 webcl
答案1
除了使用 udev 规则来维护名称之外,您还有以下几个选择:
使用 iscsi 目标,您应该能够使用WWID
地址来代替/dev/disk/by-id/scsi-....
。
如果您列出该目录的内容,则应该存在指向相关 iscsi 磁盘的符号链接 ( /dev/sda2
)。即使设备名称发生变化,此目标也不会改变。
或者,您可以使用集群逻辑卷管理器clvmd
来管理磁盘,因为 UUID 用于 clvm 配置中。
要启用此功能 - 在两个节点上安装并启用,clvmd
然后执行以下操作以控制磁盘clvmd
。
初始化磁盘:
pvcreate /dev/sda2
pvscan
在其他节点上 运行。
创建封装磁盘的卷组(更改名称):
vgcreate iscsi_cvg /dev/sda2
使用整个卷组创建逻辑卷:
lvcreate -l 100%FREE -n iscsishareddisk iscsi_cvg
lvscan
在其他节点上 运行
创建文件系统:
mkfs.ext4 /dev/iscsi_cvg/iscsishareddisk
在两个节点上创建挂载目录,测试卷是否可以分别挂载和卸载。
确保使用以下命令在卷组中设置了集群标志vgs
(最后一个属性为 c)
如果缺少,请启用它:
vgchange -cy iscsi_cvg --config 'global {locking_type = 3}'
确保locking_type
设置3
为/etc/lvm/lvm/conf
。
然后可以在您的 中引用此集群卷cluster.conf
。
在将其添加到集群配置之前,请确保逻辑卷不再处于活动状态:
lvchange -an iscsi_cvg
关于集群环境中的 iscsi 目标的一篇非常有用的文章是这里
。如果您想坚持单路径解决方案,请忽略多路径。