我的系统(内部电缆故障)出了问题。当我备份和运行系统、重新构建数组等时,我似乎遇到了这样一种情况:pvs
命令(以及vgs
和lvs
)报告No device found for PV <UUID>
,但是在假定丢失的物理卷上的逻辑卷可以成功地挂载,因为它们的DM设备存在并映射在/dev/mapper
中。
PV设备是一个md RAID10阵列,这似乎很好,除了它没有出现在pvs
输出中的混乱之外。
我认为这是一些内部表不同步的问题。如何正确地映射事物(通过重新启动,我认为这将修复它)?
更新:
重新启动并没有解决问题。我认为这个问题是因为“缺失”PV (/dev/md99)配置为从750 B磁盘(/dev/sdk)和从250 of磁盘(/dev/sdh)构建的RAID0数组(/dev/sdh)和从500 of磁盘(/dev/sdl)构建的RAID0远程2数组。从pvscan -vvv
的输出来看,lvm2签名是在/dev/sdh上找到的,而不是在/dev/md99 99上找到的。
Asking lvmetad for VG f1bpcw-oavs-1SlJ-0Gxf-4YZI-AiMD-WGAErL (name unknown)
Setting response to OK
Setting response to OK
Setting name to b
Setting metadata/format to lvm2
Metadata cache has no info for vgname: "b"
Setting id to AzKyTe-5Ut4-dxgq-txEc-7V9v-Bkm5-mOeMBN
Setting format to lvm2
Setting device to 2160
Setting dev_size to 1464383488
Setting label_sector to 1
Opened /dev/sdh RO O_DIRECT
/dev/sdh: size is 488397168 sectors
/dev/sdh: block size is 4096 bytes
/dev/sdh: physical block size is 512 bytes
Closed /dev/sdh
/dev/sdh: size is 488397168 sectors
Opened /dev/sdh RO O_DIRECT
/dev/sdh: block size is 4096 bytes
/dev/sdh: physical block size is 512 bytes
Closed /dev/sdh
/dev/sdh: Skipping md component device
No device found for PV AzKyTe-5Ut4-dxgq-txEc-7V9v-Bkm5-mOeMBN.
Allocated VG b at 0x7fdeb00419f0.
Couldn't find device with uuid AzKyTe-5Ut4-dxgq-txEc-7V9v-Bkm5-mOeMBN.
Freeing VG b at 0x7fdeb00419f0.
对/dev/it 99的唯一引用应该是PV,当它被添加到设备缓存时。
更新2:
停止lvm2-lvmetad
并重复pvscan
确认的问题是,系统对使用同一个UUID查找2时使用哪个PV感到困惑
Using /dev/sdh
Opened /dev/sdh RO O_DIRECT
/dev/sdh: block size is 4096 bytes
/dev/sdh: physical block size is 512 bytes
/dev/sdh: lvm2 label detected at sector 1
Found duplicate PV AzKyTe5Ut4dxgqtxEc7V9vBkm5mOeMBN: using /dev/sdh not /dev/md99
/dev/sdh: PV header extension version 1 found
Incorrect metadata area header checksum on /dev/sdh at offset 4096
Closed /dev/sdh
Opened /dev/sdh RO O_DIRECT
/dev/sdh: block size is 4096 bytes
/dev/sdh: physical block size is 512 bytes
Incorrect metadata area header checksum on /dev/sdh at offset 4096
Closed /dev/sdh
Opened /dev/sdh RO O_DIRECT
/dev/sdh: block size is 4096 bytes
/dev/sdh: physical block size is 512 bytes
Closed /dev/sdh
Incorrect metadata area header checksum on /dev/sdh at offset 4096
Telling lvmetad to store PV /dev/sdh (AzKyTe-5Ut4-dxgq-txEc-7V9v-Bkm5-mOeMBN)
Setting response to OK
由于这种配置只是暂时的,所以我认为最好重新安排磁盘的使用。
除非有人能告诉我如何显式地覆盖pvscan
视图设备的顺序?
发布于 2015-05-19 22:38:23
问题似乎是pvscan
在RAID阵列的组件设备和RAID数组本身上看到相同的UUID而感到困惑。我认为,通常情况下,通过认识到该设备是一个直接组件,这是避免的。在我的例子中,我创建了这样一种情况,即设备不是RAID设备的直接组件,而应该是PV。
我的解决方案是备份LV,强制数组降级,然后重新配置磁盘,以避免使用多级RAID。注意,在另一次重新启动之后,设备的字体已经改变了。500 sdj= /dev/sdi,250 sdj= /dev/sdj,750 sdj= /dev/sdk
# mdadm /dev/md99 --fail --force /dev/md90
# mdadm /dev/md99 --remove failed
# mdadm --stop /dev/md90
# wipefs -a /dev/sdi /dev/sdj # wipe components
# systemctl stop lvm2-lvmetad
# pvscan -vvv
# pvs
..... /dev/md99 is now correctly reported as the PV for VG b
# fdisk /dev/sdi
...... Create 2 partitions of equal size, i.e. 250Gb
# fdisk /dev/sdj
...... Create a single 250Gb patitiion
# mdadm /dev/md91 --create -lraid5 -n3 /dev/sdi1 /dev/sdj1 missing
# mdadm /dev/md92 --create -lraid1 -n2 /dev/sdi2 missing
# pvcreate /dev/md91 /dev/md92
# vgextend b /dev/md91 /dev/md92
# pvmove /dev/md99
# vgreduce b /dev/md99
# pvremove /dev/md99
# mdadm --stop /dev/md99
# wipefs -a /dev/sdk
# fdisk /dev/sdk
..... Create 3 250Gb partitions
# mdadm /dev/md91 --add /dev/sdk1
# mdadm /dev/md92 --add /dev/sdk2
故事的寓意:
不要在文件系统中引入太多的间接级别!
发布于 2015-05-17 15:30:03
首先要检查的是filter
和global_filter
选项在/etc/lvm/lvm.conf
中。确保您没有过滤出您的PVs驻留的设备。
缓存是在同一个文件中使用cache_dir
选项设置的;在我的Debian框中,它默认为/run/lvm
。缓存(如果有的话)应该在该目录中。如果设置了obtain_device_list_from_udev
,我相信没有使用缓存。
最后,检查是否设置了use_lvmetad
。如果是这样,您可能需要重新启动LVM元数据守护进程。
发布于 2018-10-10 23:50:37
作为根用户,这些命令将修复它:
pvscan --cache
pvscan
https://unix.stackexchange.com/questions/203925
复制相似问题