如何在RHEL/CentOS 7/8中修复" Pvs显示未知设备"

时间:2020-01-09 10:38:25  来源:igfitidea点击:

删除列出为未知设备的物理卷。
pvs在redhat中显示未知设备。
pvs找不到带有uuid的设备。
未知的linux设备映射器。
筛选器未找到或者拒绝用于PV的设备。
过滤器redhat找不到或者拒绝用于PV的设备。
linux pvremove未知。
找不到带有uuid的设备。
无法找到用于物理卷的设备。
vgreduce-选择vgreduce未知。
pvscan-缓存。
如何在Linux中恢复损坏的LVM

在本文中,我将分享从物理卷之一变为未知设备的情况中恢复的步骤。
在设置加密的LUKS分区并扩展逻辑卷时,我发现了此错误。

实验室环境(CentOS/RHEL 7/8):

我正在使用RHEL 8,但相同的步骤将在类似的OS变体上起作用,例如centOS 8,RHEL/CentOS 7,SuSE等。

错误:" pvs显示未知设备"和" pvs无法找到具有uuid的设备"

下面是错误情况。
pvs显示未知设备,而pvs无法找到具有uuid的物理卷之一。

[root@centos-8 ~]# pvs
  Couldn't find device with uuid Lu7cAF-CUBP-eQ2q-ZR2T-TfJ6-FnzT-EIhheJ.
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda2  rhel lvm2 a--  <14.50g     0
  [unknown]  rhel lvm2 a-m   <8.00g <8.00g

我将/dev/sdb1作为物理卷,但是由于某些原因,现在pvs显示/dev/sdb1的未知设备。
它还会引发错误,因为" pvs无法使用uuid查找设备"

pvscan记录了系统上可用的PV,并激活了完整的VG中的LV,但无法激活未知设备。

[root@centos-8 ~]# pvscan --cache
  Couldn't find device with uuid Lu7cAF-CUBP-eQ2q-ZR2T-TfJ6-FnzT-EIhheJ.
  pvscan[1733] PV /dev/sda2 online.

" vgreduce"命令也无法删除"/dev/sdb1"(现在显示为未知设备),因为它也与" pvs无法使用uuid查找设备"相同。

[root@centos-8 ~]# vgreduce rhel /dev/sdb1
  Couldn't find device with uuid pWc1vE-NQS7-4UbM-2n0D-gVvH-uNc2-dlZftM.
  Cannot change VG rhel while PVs are missing.
  Consider vgreduce --removemissing.
  Cannot process volume group rhel
  Failed to find physical volume "/dev/sdb1".

类似地,pvremove命令失败,因为它抱怨pvs无法找到带有uuid的设备

[root@centos-8 ~]# pvremove /dev/sdb1
  Couldn't find device with uuid Lu7cAF-CUBP-eQ2q-ZR2T-TfJ6-FnzT-EIhheJ.
  No PV found on device /dev/sdb1.

解决方法

要修复该错误,pvs显示未知设备,而pvs无法使用uuid查找设备,请使用--removemissing指令执行vgreduce。

从手册页:

如果未在其上分配LV,则从VG中删除所有丢失的PV。
这将恢复VG的正常运行(可能会再次创建,更改新的LV等)。
如果由于LV正在引用缺少的PV而无法执行此操作,则可以将此选项与--force结合使用,以使该命令删除所有部分LV。

[root@centos-8 ~]# vgreduce rhel --removemissing
  Couldn't find device with uuid pWc1vE-NQS7-4UbM-2n0D-gVvH-uNc2-dlZftM.
  Wrote out consistent volume group rhel.

现在,我们看不到缺少物理卷UUID的任何错误

[root@centos-8 ~]# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  rhel   1   2   0 wz--n- <14.50g    0

pvs命令不再显示任何未知设备。

[root@centos-8 ~]# pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda2  rhel lvm2 a--  <14.50g    0

恢复丢失的物理卷

如果物理卷基础磁盘未损坏,则仍有可能恢复PV。
我们可以使用" pvcreate"命令重新创建物理卷。

[root@centos-8 ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.

接下来,使用vgextend扩展卷组,或者我们可以根据需要使用新的物理卷使用vgcreate来创建新的卷组。

[root@centos-8 ~]# vgextend rhel /dev/sdb1
  Volume group "rhel" successfully extended

验证vgs输出

[root@centos-8 ~]# vgs
  VG   #PV #LV #SN Attr   VSize  VFree
  rhel   2   2   0 wz--n- 22.49g <8.00g