诊断步骤
在这些情况下,通常需要确定哪个设备和/或者 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。
根本原因
以下是一些可能导致此问题的更改:
对 LVM 配置进行了一些更改,例如从 SAN 添加一个新的 LUN,该 LUN 以前在另一个退役系统上用作 LVM,并且在没有从 SAN 端进行适当清理的情况下添加到新系统并且具有以前的元数据。
使用系统上已存在的相同名称创建了一个新的 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 进行重命名:
- 确定要重命名的卷组的 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
- 获得 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"
- 激活新的卷组。
# vgchange -ay testvg 1 logical volume(s) in volume group "testvg" now active
- 验证卷组。
# 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