我有两台 RHEL 6.5 服务器。每个都可以访问同一个带有多路径和 LVM 的 FibreChannel LUN – 比方说/dev/mapper/vg0-lv_shared
。
lv_shared
可以安装在 server1 或 server2 上,但不能同时安装在两者上。我无法使用集群服务,因此我正在编写一个简单的脚本。
lv_shared
如果服务器之间没有 SSH 连接,是否可以从 server1 检查 server2 是否已安装?
换句话说 – 我如何检查 server1 可用的磁盘是否安装在其他地方?
答案1
这通常是通过 LVM 标签(自 LVM2 起可用)完成的。这是一个简短的示例来演示它们:
假设您有一个名为“vg01”的 VG,具有 2 个 LV“lvtest”和“lvother”:
[root@centos ~]# lvs vg01
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lvother vg01 -wi------- 12.00m
lvtest vg01 -wi------- 12.00m
现在启用 LVM 主机标签:
[root@centos ~]# grep ^tags /etc/lvm/lvm.conf
tags { hosttags = 1 }
并根据您的主机名设置激活过滤器:
[root@centos ~]# cat /etc/lvm/lvm_centos.conf (centos.conf == hostname.conf)
activation { volume_list=["@centos"] }
现在让我们检查/设置/删除一些标签:
[root@centos ~]# lvs vg01 -o +tags
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert LV Tags
lvother vg01 -wi------- 12.00m
lvtest vg01 -wi------- 12.00m
目前没有设置标签(最后一列)
激活音量将不起作用:
[root@centos ~]# vgchange -ay /dev/vg01
Not activating vg01/lvtest since it does not pass activation filter.
Not activating vg01/lvother since it does not pass activation filter.
0 logical volume(s) in volume group "vg01" now active
让我们添加一些标签并重试
[root@centos ~]# lvchange --addtag @centos /dev/vg01/lvtest
Logical volume "lvtest" changed.
[root@centos ~]# lvchange --addtag @centos /dev/vg01/lvother
Logical volume "lvother" changed.
[root@centos ~]# lvs vg01 -o +tags
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert LV Tags
lvother vg01 -wi------- 12.00m centos
lvtest vg01 -wi------- 12.00m centos
[root@centos ~]# vgchange -ay /dev/vg01
2 logical volume(s) in volume group "vg01" now active
更好的。 ;-)
lv_shared
因此,在您的情况下,您应该只在应该挂载 LV 的服务器的主机名上设置一个标签。