运行 LVM 命令时报错:WARNING: Duplicate VG name
www. On IT Road .com

诊断步骤

在这些情况下,通常需要确定哪个设备和/或者 UUID 对应于“原始”卷组,哪个对应于“重复”卷组。
我们不能简单地使用 vgdisplay 或者 lvs 来获取有关每个卷组的信息,因为它们将无法确定我们请求的是哪个卷组,而只会选择其中之一进行操作。
例如,要查看两个测试卷组中的逻辑卷,不能只使用 lvs:

# lvs testvg2
WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5 (created here) takes precedence over q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU
LV VG Attr LSize Oroirn Snap% Move Log Copy% Convert
test_lv testvg2 -wi--- 2.00G

它只显示它选择的 VG 中的 LV。

为了显示有关每个单独卷组的信息,我们可以在命令行上使用过滤器。
首先,我们必须确定每个卷组中有哪些设备:

# pvs
WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5 (created here) takes precedence over q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU
WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5 (created here) takes precedence over q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU
PV VG Fmt Attr PSize PFree 
/dev/xvda2 VolGroup00 lvm2 a- 14.88G 0 
/dev/xvdb VolGroup00 lvm2 a- 9.97G 4.97G
/dev/xvdc testvg1 lvm2 a- 5.00G 1020.00M
/dev/xvdd testvg2 lvm2 a- 5.00G 3.00G
/dev/xvde testvg2 lvm2 a- 5.00G 3.00G

我们现在知道 xvdd 和 xvde 托管两个不同的 testvg2 VG。
让我们看看每个逻辑卷来帮助我们确定:

# lvs testvg2 --config 'devices { filter = [ "a|/dev/xvdd|", "r|.*|" ]}'
LV VG Attr LSize Oroirn Snap% Move Log Copy% Convert
test_lv testvg2 -wi--- 2.00G
# lvs testvg2 --config 'devices { filter = [ "a|/dev/xvde|", "r|.*|" ]}'
LV VG Attr LSize Oroirn Snap% Move Log Copy% Convert
test_lv testvg2 -wi-a- 2.00G

一旦我们知道我们想要关注哪些重复的 VG,我们就可以找到该 VG 的 UUID:

# vgs -o +vg_uuid --config 'devices { filter = [ "a|/dev/xvde|", "r|.*|" ]}'
VG #PV #LV #SN Attr VSize VFree VG UUID 
testvg2 1 1 0 wz--n- 5.00G 3.00G q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU

现在我们可以在下面解决方案部分的步骤中使用这个 UUID。

根本原因

以下是一些可能导致此问题的更改:

  1. 对 LVM 配置进行了一些更改,例如从 SAN 添加一个新的 LUN,该 LUN 以前在另一个退役系统上用作 LVM,并且在没有从 SAN 端进行适当清理的情况下添加到新系统并且具有以前的元数据。

  2. 使用系统上已存在的相同名称创建了一个新的 VG。

来自 LVM 命令的“警告:重复的 VG 名称”消息表明在扫描过程中发现了多个具有相同名称的独立卷组。
此问题并不表示过滤器不正确,也不是使用多路径的结果。
此处的警告消息明确指出存在两个具有不同 UUID 但名称相同的卷组。
由于 LVM 无法激活两个同名的卷组,它会选择一个(从具有与本地主机名匹配的 creation_host 开始)并激活它。

注意:有关克隆存储设备导致具有相同 UUID 的重复 VG 的类似问题的信息,我们需要按照以下步骤操作,这是不同的过程。

vgimportclone [-n|--basevgname VolumeGroupName] [-i|--import] PhysicalVolume [PhysicalVolume...]

例如:

# vgimportclone --basevgname test_vg_snap /dev/loop2 /dev/loop3

这篇文章仅针对重复 VG 包含不同 UUID(即不是克隆)的情况。

解决方案

这个问题的正确解决方案取决于出现重复的原因。
阅读上面的根本原因和诊断步骤部分了解更多信息。

如果包含重复 VG 名称的设备意外地呈现给该主机(即,不正确的分区),则只需从主机中取消呈现它。
一旦它消失了,将不再出现重复的卷组问题。

如果向主机提供的设备与该主机上已有的卷具有重复的 VG 名称,则需要重命名重复的设备以免发生冲突。
可以使用 UUID 进行重命名:

  1. 确定要重命名的卷组的 UUID:
# vgs -o +vg_uuid
WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5 (created here) takes precedence over q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU
WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5 (created here) takes precedence over q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU
WARNING: Duplicate VG name testvg2: Existing q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU (created here) takes precedence over OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5
WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5 (created here) takes precedence over q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU
WARNING: Duplicate VG name testvg2: Existing q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU (created here) takes precedence over OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5
VG #PV #LV #SN Attr VSize VFree VG UUID 
VolGroup00 2 2 0 wz--n- 24.84G 4.97G KtK3ij-lkQH-tbB3-s74h-FYBl-73cu-jg86EX
testvg1 1 1 0 wz--n- 5.00G 1020.00M oME1Wk-ftRi-qhQq-wQ6Z-eUo3-SNZw-chUfAx
testvg2 1 1 0 wz--n- 5.00G 3.00G q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU
testvg2 1 1 0 wz--n- 5.00G 3.00G OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5
  1. 获得 UUID 后,我们可以使用 vgrename 重命名卷组:
# vgrename q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU testvg
WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5 (created here) takes precedence over q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU
WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5 (created here) takes precedence over q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU
WARNING: Duplicate VG name testvg2: Existing q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU (created here) takes precedence over OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5
Volume group "testvg2" successfully renamed to "testvg"
  1. 激活新的卷组。
# vgchange -ay testvg
1 logical volume(s) in volume group "testvg" now active
  1. 验证卷组。
# vgs -o +vg_uuid
VG #PV #LV #SN Attr VSize VFree VG UUID 
VolGroup00 2 2 0 wz--n- 24.84G 4.97G KtK3ij-lkQH-tbB3-s74h-FYBl-73cu-jg86EX
testvg 1 1 0 wz--n- 5.00G 3.00G q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU
testvg1 1 1 0 wz--n- 5.00G 1020.00M oME1Wk-ftRi-qhQq-wQ6Z-eUo3-SNZw-chUfAx
testvg2 1 1 0 wz--n- 5.00G 3.00G OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5

问题

LVM 命令报告重复的 VG 名称。
当运行 vgdisplay 以检查可用空间时,会收到以下消息:

# vgdisplay 
WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5 (created here) takes precedence over q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU

警告:重复的VG名称testvg2:存在 OEsLyZ-ueap-D34F-6LEB-BKqC-A5B2-exlfZ5 (在此处创建)优先于 q7jsuu-f4f7-mVVu-HpMm-FXdK-Xe3Y-d2nVfU
日期:2020-09-17 00:14:03 来源:oir作者:oir