陈佳浩
陈佳浩
Published on 2026-03-10 / 3 Visits
0
0

lvm不识别

服务器识别不到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 直接拒绝

但是用 blkidlsblk -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 

Comment