Il problema
I comandi LVM riportano nomi VG duplicati. Quando vgdisplay viene eseguito per controllare lo spazio disponibile, viene ricevuto il seguente messaggio:
# vgdisplay WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D66F-6LEB-BKqC-A5B1-exlfZ5 (created here) takes precedence over q7jsuu-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU
La causa principale
Di seguito sono elencate alcune delle modifiche che possono causare questo problema:
1. Sono state apportate alcune modifiche alla configurazione LVM, come l'aggiunta di una nuova LUN da SAN che in precedenza era utilizzata come LVM su un altro sistema disattivato ed è stata aggiunta al nuovo sistema senza un'adeguata pulizia dal lato SAN e dispone di metadati precedenti.
2. È stato creato un nuovo VG utilizzando lo stesso nome già esistente nel sistema.
I messaggi "AVVERTENZA:nome VG duplicato" dei comandi LVM indicano che durante la scansione sono stati rilevati più gruppi di volumi indipendenti con lo stesso nome. Questo problema non è un'indicazione di un filtro non corretto e non è il risultato dell'utilizzo di multipath. Il messaggio di avviso qui indica specificamente che esistono due gruppi di volumi con UUID diversi ma con lo stesso nome. Poiché LVM non è in grado di attivare due gruppi di volumi con lo stesso nome, ne sceglie uno (a partire da quello che ha creazione_host corrispondente al nome host locale) e lo attiva.
Nota :per informazioni su un problema simile in cui un dispositivo di archiviazione clonato risulta in un VG duplicato con lo stesso UUID, è necessario seguire i passaggi seguenti ed è una procedura diversa.
vgimportclone [-n|--basevgname VolumeGroupName] [-i|--import] PhysicalVolume [PhysicalVolume...]
Ad esempio:
# vgimportclone --basevgname test_vg_snap /dev/loop2 /dev/loop3
Questo post è specifico solo per le situazioni in cui il VG duplicato contiene un UUID diverso (cioè non è un clone).
Passaggi diagnostici
In queste situazioni, di solito, sarà necessario determinare quale dispositivo e/o UUID corrisponde al gruppo di volumi "originale" e quale corrisponde al gruppo di volumi "duplicato". Non puoi semplicemente usare vgdisplay o lvs per ottenere informazioni su ciascun gruppo di volumi, perché non saranno in grado di determinare quale gruppo di volumi stai richiedendo e sceglieranno semplicemente uno di essi su cui operare. Ad esempio, per vedere i volumi logici in entrambi i gruppi di volumi di test, non è possibile utilizzare solo lvs:
# lvs testvg2 WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D66F-6LEB-BKqC-A5B1-exlfZ5 (created here) takes precedence over q7jsuu-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU LV VG Attr LSize Origin Snap% Move Log Copy% Convert test_lv testvg2 -wi--- 2.00G
Visualizza solo i LV nel VG che sceglie.
Per visualizzare le informazioni su ogni singolo gruppo di volumi, possiamo utilizzare un filtro sulla riga di comando. Innanzitutto, dobbiamo determinare quali dispositivi sono presenti in ciascun gruppo di volumi:
# pvs WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D66F-6LEB-BKqC-A5B1-exlfZ5 (created here) takes precedence over q7jsuu-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D66F-6LEB-BKqC-A5B1-exlfZ5 (created here) takes precedence over q7jsuu-f3f8-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
Ora sappiamo che xvdd e xvde ospitano i due diversi VG testvg2. Diamo un'occhiata a ciascun volume logico per aiutarci a determinare:
# lvs testvg2 --config 'devices { filter = [ "a|/dev/xvdd|", "r|.*|" ]}' LV VG Attr LSize Origin Snap% Move Log Copy% Convert test_lv testvg2 -wi--- 2.00G
# lvs testvg2 --config 'devices { filter = [ "a|/dev/xvde|", "r|.*|" ]}' LV VG Attr LSize Origin Snap% Move Log Copy% Convert test_lv testvg2 -wi-a- 2.00G
Una volta che sappiamo su quale dei VG duplicati vorremmo concentrarci, possiamo trovare l'UUID per quel VG:
# 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-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU
Ora possiamo utilizzare questo UUID nei passaggi nella sezione Soluzione di seguito.
La soluzione
NOTA :Si consiglia sempre di eseguire un backup completo dei filesystem per tutti i PV, VG e LV prima di implementare questo processo.La soluzione adeguata a questo problema dipende dal motivo della presentazione del duplicato. Per ulteriori informazioni, leggere le sezioni Causa principale e passaggi diagnostici sopra.
Se il dispositivo contenente il nome VG duplicato è stato presentato accidentalmente a questo host (ad esempio, una suddivisione in zone non corretta), è sufficiente rimuoverlo dall'host. Una volta terminato, il problema relativo al gruppo di volumi duplicato non verrà più visualizzato.
Se un dispositivo è stato presentato all'host che aveva un nome VG duplicato in un volume già su questo host, sarà necessario rinominare quello duplicato per evitare conflitti. La ridenominazione può essere eseguita utilizzando l'UUID:
1. Determina l'UUID per il gruppo di volumi che desideri rinominare:
# vgs -o +vg_uuid WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D66F-6LEB-BKqC-A5B1-exlfZ5 (created here) takes precedence over q7jsuu-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D66F-6LEB-BKqC-A5B1-exlfZ5 (created here) takes precedence over q7jsuu-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU WARNING: Duplicate VG name testvg2: Existing q7jsuu-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU (created here) takes precedence over OEsLyZ-ueap-D66F-6LEB-BKqC-A5B1-exlfZ5 WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D66F-6LEB-BKqC-A5B1-exlfZ5 (created here) takes precedence over q7jsuu-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU WARNING: Duplicate VG name testvg2: Existing q7jsuu-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU (created here) takes precedence over OEsLyZ-ueap-D66F-6LEB-BKqC-A5B1-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-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU testvg2 1 1 0 wz--n- 5.00G 3.00G OEsLyZ-ueap-D66F-6LEB-BKqC-A5B1-exlfZ5Nota :per ulteriori passaggi che aiutano a determinare su quale UUID operare, vedere i passaggi diagnostici sopra riportati di seguito.
2. Una volta ottenuto l'UUID, puoi rinominare il gruppo di volumi usando vgrename:
# vgrename q7jsuu-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU testvg WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D66F-6LEB-BKqC-A5B1-exlfZ5 (created here) takes precedence over q7jsuu-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU WARNING: Duplicate VG name testvg2: Existing OEsLyZ-ueap-D66F-6LEB-BKqC-A5B1-exlfZ5 (created here) takes precedence over q7jsuu-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU WARNING: Duplicate VG name testvg2: Existing q7jsuu-f3f8-mVVu-HpMm-FXdK-Xe3Y-d2nVfU (created here) takes precedence over OEsLyZ-ueap-D66F-6LEB-BKqC-A5B1-exlfZ5 Volume group "testvg2" successfully renamed to "testvg"
3. Attiva il nuovo gruppo di volumi.
# vgchange -ay testvg 1 logical volume(s) in volume group "testvg" now active
4. Verifica il gruppo di volumi.
# 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-f3f8-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-D66F-6LEB-BKqC-A5B1-exlfZ5