服务器识别不到lsdb盘中的vm,如下所示
[root@test ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 2G 0 part /boot
└─sda2 8:2 0 48G 0 part
├─root-lv_root 253:0 0 28G 0 lvm /
├─root-lv_var 253:1 0 10G 0 lvm /var
└─root-lv_home 253:3 0 10G 0 lvm /home
sdb 8:32 0 50G 0 disk
├─sdb1 8:33 0 2G 0 part
└─sdb2 8:34 0 48G 0 part
[root@test ~]# vgscan
Found volume group "root" using metadata type lvm2
[root@test ~]# pvscan
PV /dev/sda2 VG root lvm2 [<48.00 GiB / 0 free]
Total: 2 [247.99 GiB] / in use: 2 [247.99 GiB] / in no VG: 0 [0 ]
[root@test ~]# lvscan
ACTIVE '/dev/root/lv_root' [<28.00 GiB] inherit
ACTIVE '/dev/root/lv_var' [10.00 GiB] inherit
ACTIVE '/dev/root/lv_home' [10.00 GiB] inherit
[root@test ~]# pvscan /dev/sdb2
Command does not accept argument: /dev/sdb2.
[root@test ~]# pvdisplay /dev/sdb2
Cannot use /dev/sdb2: device is not in devices file
[root@test ~]# blkid /dev/sdb2
/dev/sdb2: UUID="dsTV64-4cRZ-jUwa-ZFJ0-WG31-mA9M-u89fM8" TYPE="LVM2_member" PARTUUID="30b50cd8-02"
[root@test ~]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1
│ xfs 736b9db9-52f8-4f7c-9374-59703d405fee 1.7G 12% /boot
└─sda2
LVM2_m LVM2 2fVNqH-1XY0-350v-H60A-2K0G-Fn8k-xziN6q
├─root-lv_root
│ xfs 5889fc94-df87-4e94-8ed4-dc6fab43237c 26.6G 5% /
├─root-lv_var
│ xfs 84631649-207c-42dc-b44a-f2df0aae4ecc 7.7G 22% /var
└─root-lv_home
xfs 750a68b0-0bf6-49f8-8f1e-6edbe039480f 9.8G 1% /home
sdb
├─sdb1
│ xfs 2b92945d-ff8d-4534-b25e-781055f96008
└─sdb2
LVM2_m LVM2 O1QGU1-Hs4c-fw2M-jk7S-tsE2-mW2q-EX2Won
原因这是一块新接入的,含有lvm的硬盘,如上报错Cannot use /dev/sda2: device is not in devices file
这说明 LVM2 启用了新的 device filtering 机制 (lvmdevices)
当前系统 只允许 devices 文件里的设备被 LVM 使用,而 /dev/sda2 不在里面,所以:
pvscan看不到vgscan看不到pvdisplay直接拒绝
但是用 blkid 和 lsblk -f已经看到 sda2的设备类型为 LVM,说明LVM是正常的
[root@test ~]# lsblk -f /dev/sdb2
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sdcb LVM2_m LVM2 O1QGU1-Hs4c-fw2M-jk7S-tsE2-mW2q-EX2Won
[root@test ~]# blkid /dev/sdb2
/dev/sdb2: UUID="O1QGU1-Hs4c-fw2M-jk7S-tsE2-mW2q-EX2Won" TYPE="LVM2_member" PARTUUID="16e762ce-02"
根据前面的报错 Cannot use /dev/sdb2: device is not in devices file得出解决方法:
将 /dev/sdb2加入 LVM devices 列表
执行如下命令:
[root@pxe ~]# lvmdevices --adddev /dev/sdb2
然后重新扫描:
[root@test ~]# pvscan
PV /dev/sdc2 VG rescue lvm2 [<98.00 GiB / 0 free]
PV /dev/sda2 VG root lvm2 [<48.00 GiB / 0 free]
Total: 3 [<345.99 GiB] / in use: 3 [<345.99 GiB] / in no VG: 0 [0 ]
[root@test ~]# vgscan
Found volume group "rescue" using metadata type lvm2
Found volume group "root" using metadata type lvm2
[root@test ~]# vgchange /dev/sdc2
No command with matching syntax recognised. Run 'vgchange --help' for more information.
[root@test ~]# vgchange -ay
3 logical volume(s) in volume group "rescue" now active
3 logical volume(s) in volume group "root" now active
此时,就可以正常查看并使用sdb的lvm了
[root@test ~]# lsblk /dev/sdb2
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sdb2 8:34 0 48G 0 part
├─rescue-lv_root 253:4 0 28G 0 lvm
├─rescue-lv_var 253:5 0 10G 0 lvm
└─rescue-lv_home 253:6 0 10G 0 lvm