这里设置:
iscsiadm ,跨两个netowrkpath共10条path。 dm-multipath将这些iSCSIpath聚合成单个设备,即/dev/mapper/mpath* 。 dm-mutipath设备上使用pvcreate构build物理卷。 mkfs.xfs逻辑卷格式化为XFS。 现在,存在一个需要维护(升级控制器固件)的SAN问题,因此我重新启动了文件服务器,以确保SAN恢复联机时没有任何问题。
重新启动后,我可以重新连接到SAN并挂载文件系统。 他们正常运作。
但是,在重新启动文件服务器之后,我注意到这些文件系统的LVM信息没有出现,即pvdisplay , vgdisplay和lvdisplay仅报告文件服务器上的本地磁盘。
这些VG和LV确实出现在/dev :
/dev/vg_${VG} /dev/vg_${VG}/${LV1}_lv /dev/vg_${VG}/${LV2}_lv /dev/disk/by-id/dm-name-${VG}-${LV1}_lv /dev/disk/by-id/dm-name-${VG}-${LV2}_lv /dev/mapper/vg_${VG}-${LV1}_lv /dev/mapper/vg_${VG}-${LV1}_lv
而且他们确实使用pvs -a但是没有扩展:
[root@file-server /]# pvs -a PV VG Fmt Attr PSize PFree /dev/centos/home --- 0 0 /dev/centos/root --- 0 0 /dev/centos/swap --- 0 0 /dev/mapper/mpatha --- 0 0 /dev/mapper/mpathb --- 0 0 /dev/mapper/mpathc --- 0 0 ... /dev/sda --- 0 0 /dev/sda1 --- 0 0 /dev/sda2 centos lvm2 a-- 273.80g 4.00m /dev/sdb --- 0 0 /dev/sdc --- 0 0 /dev/sdd --- 0 0 /dev/sde --- 0 0 ... /dev/vg_${VG1}/${LV1}_lv --- 0 0 /dev/vg_${VG1}/${LV2}_lv --- 0 0
他们也出现与dmsetup info -c :
[root@file-server /]# dmsetup info -c Name Maj Min Stat Open Targ Event UUID mpathe 253 6 L--w 1 1 1 mpath-27f3164e4727f3bc5 mpathd 253 5 L--w 1 1 1 mpath-2b3c12e7d9acc5f25 mpathc 253 4 L--w 1 1 1 mpath-232eb560378e8ec53 mpathb 253 7 L--w 1 1 1 mpath-218029135ad1e514a mpatha 253 3 L--w 1 1 1 mpath-20123b6d74acce549 vg_${VG}-${LV1}_lv 253 16 L--w 1 1 0 LVM-6DoB20ypbwcGOoRHiX0t8wKAY3oC9BXtSGzQ1wy8fGa9okuQm1NxtPCHnmt0dtO6 vg_${VG}-${LV2}_lv 253 17 L--w 1 3 0 LVM-6DoB20ypbwcGOoRHiX0t8wKAY3oC9BXtmgFlfK9Bilo3IAWxjqwR7dUA8Oq0Fu70 mpathj 253 15 L--w 1 1 1 mpath-266772bd8af26c781 centos-home 253 2 L--w 1 1 0 LVM-GAWmujV5zkPn9byt74PY7byRJUWi8UmYSqsQjkt2uTDQ1q5Do38GXYynZhTiLhYw mpathi 253 14 L--w 1 1 1 mpath-254a27729bfbfc8c6 mpathh 253 13 L--w 1 1 1 mpath-2a0ff1a2db7f22f00 mpathg 253 12 L--w 1 1 1 mpath-27a5ce08413f48f13 mpathf 253 11 L--w 1 1 1 mpath-2d19e7002c7a41667 centos-swap 253 1 L--w 2 1 0 LVM-GAWmujV5zkPn9byt74PY7byRJUWi8UmYtA03QjyV1IlWWk9Nz9cHJFKN16SJZ0T5 centos-root 253 0 L--w 1 1 0 LVM-GAWmujV5zkPn9byt74PY7byRJUWi8UmYCMmaP0envGMf3gk8JhcyoQIQPGmjrL6w
如何重新设置LVM元数据? 这只是vgcfgrestore的问题,如下所述:
https://www.centos.org/docs/5/html/5.2/Cluster_Logical_Volume_Manager/mdatarecover.html
我似乎在/etc/lvm/backup有一个/etc/lvm/backup 。
如果我在文件系统上丢失任何数据,我毫不犹豫地摆弄这个。 恢复是可能的,但不是没有系统停机和延迟。
编辑:从pvs , lvs和vgs输出如下:
[root@dfile-server ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- 273.80g 4.00m [root@file-server ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home centos -wi-ao---- 46.57g root centos -wi-ao---- 221.64g swap centos -wi-ao---- 5.59g [root@file-server ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 3 0 wz--n- 273.80g 4.00m
正如在评论中诊断的那样,问题与SAN升级无关,而是lvmetad守护进程返回陈旧/错误的信息。
这通过停止lvmetad ( systemctl stop lvmetad.service; systemctl stop lvmetad.socket )并通过发布pvs来确认,该pvs直接分析块设备,返回正确的信息。
永久性的修复是通过通知它改变了一些东西来更新lvmetadcaching。 这是运行pvscan --cache ,重新启用lvmetad ( systemctl start lvmetad.service; systemctl start lvmetad.socket ),最后运行另一个pvs --cache 。
之后,正常的pvs (带有lvmetad激活)返回正确的数据。