Avamar: Linux-virtuaalikoneiden varmuuskopioissa voi olla LVM-metatietojen epäjohdonmukaisuutta, jos ne otetaan käyttöön mallista
Summary: Ongelma: Avamar – Linux-virtuaalikoneiden varmuuskopioissa voi olla LVM-metatietojen epäjohdonmukaisuuksia, jos ne on otettu käyttöön mallista.
Symptoms
Palautuksen aikana ilmenee seuraavia oireita:
-
FLR:n toiminnan epäonnistuminen LVM-ongelman vuoksi:

TAI 2 VM

-
Näköistiedoston palautustyöt onnistuivat Avamar-käyttöliittymässä, virtuaalikone (VM) saattaa käynnistyä LVM-ongelman vuoksi.
Esimerkki käynnistysongelmasta 1:
Tässä alla olevassa Red Hat -esimerkissä käyttöjärjestelmä käynnistyy dracut-hätäkomentotulkkiin:

(Tässä esimerkissä) dracut-liittymän seuraava LVM-komento korjaa LVM:n tilan. Tulos osoittaa, että ongelma oli, että yksi lvm-levyistä (sdb) poistettiin virheellisesti LVM: stä.
dracut:/# lvm pvscan --config 'global{locking_type=1}'
Nyt palautettu virtuaalikone voi käynnistyä.Esimerkki käynnistysongelmasta 2:
Debian-esimerkissä käyttöjärjestelmä käynnistyy hätälaatikkokuoresta:

(Tässä esimerkissä) Varattu-laatikon liittymästä seuraava
lvmKomento palauttaa LVM-taltioryhmän tilan aiemmasta määrityksestä:(initramfs) lvm vgcfgrestore vm1-vg --config 'global{locking_type=1}'Huomautus:vm1-vgon taltioryhmän nimi tässä esimerkissä
Nyt palautettu virtuaalikone voi käynnistyä.
Muut oireet:
Tuotannon virtuaalikoneet (VM) voivat käynnistyä uudelleen. Ongelma koskee vain sellaisten Linux-virtuaalikoneiden varmuuskopioita, jotka käyttävät LVM:ää ja jotka on otettu käyttöön samasta mallista.
Windows- ja Linux-virtuaalikoneissa, jotka EIVÄT käytä LVM-kokoonpanoja, EI ole FLR- tai käynnistysongelmia varmuuskopioiden kanssa.
Cause
LVM-metatietojen tausta:
- LVM:llä määritetyt Linux-virtuaalikoneet kloonataan tai otetaan käyttöön samasta mallista. Tuloksena olevilla uusilla virtuaalikoneilla on identtiset LVM-yksilölliset tunnisteet (UUID).
- Kaikki LVM-levyihin tehdyt muutokset (esimerkiksi virtuaalilevyn lisääminen LVM:ään) edellyttävät LVM-metatietojen päivittämistä. LVM seuraa näitä päivityksiä käyttämällä kenttää nimeltä version järjestysnumerot (vg_seqno). Tämä luku kasvaa aina, kun muutos tehdään.
Varmuuskopioinnin ongelma:
Jos seuraavat ehdot täyttyvät Avamar-varmuuskopioinnin aikana:
- Sekä lähdevirtuaalikone että kloonatut virtuaalikoneet varmuuskopioidaan samanaikaisesti hot addilla (oletussiirtotapa).
- Molemmat virtuaalikoneet lisätään käytön aikana samalla Avamar-välityspalvelimella.
- LVM-versiot vaihtelevat kuumalisättävien virtuaalikoneiden mukaan.
Avamar-välityspalvelimen Linux-ydin olettaa virheellisesti, että kahden virtuaalikoneen levyt ovat samassa LVM-taltioryhmässä, mikä päivittää LVM-metatiedot automaattisesti. Jos tämä LVM-päivitys tapahtuu, LVM-metatiedot ovat epäyhdenmukaiset varmuuskopiossa.
Palautusongelma:
Levykuvan aikana virtuaalikoneessa saattaa näkyä teksti "Puuttuvat LVM:n fyysiset laajuudet" tai "Tapahtumatunnukset eivät täsmää", koska käytönaikaisen varmuuskopioinnin aikana päivitetyt virheelliset LVM-metatiedot ovat päivitettyjä. Tämä ristiriita johtuu edellä mainitusta päivityksestä.
Palautuksen LVM-työkalut, kuten vgcfgrestore, vgextend –restoremissingja vgchange -ay –activationmodepartial saattaa olla tarpeen täydellisen käynnistyksen sallimiseksi tai varmuuskopion korjaamiseksi LVM:n tilan korjaamiseksi.
Resolution
Ongelma on korjattu Avamar-välityspalvelimen hotfix-korjauksissa:
Avamar 19.4 333146.
Avamar 19,3 333148.
Avamar 19.2 333149.
Vanhempi Avamar-versio: Katso alla olevat huomautukset.
Nämä hotfix-korjaukset määrittävät Avamar-välityspalvelimen LVM-asetuksen uudelleen estämään LVM-metatietojen päivitykset käytönaikaisten lisäysten aikana.
ENNEN hotfix-korjausta
194proxy:~ # lvm config | grep filter
filter="a/.*/"
Hotfix-korjauksen JÄLKEEN
194proxy:~ # lvm config | grep filter
filter=["r|/dev/s.*|","r|/dev/disk.*|","a/.*/"]
Kaikille asiakkaille, joita asia koskee, on pakotettava Change Block Tracking (CBT) L0 -varmuuskopio. Näin varmistetaan, että oikeat LVM-metatiedot tallennetaan uusiin varmuuskopioihin.
Asiakkaiden tunnistamisen helpottamiseksi Avamarin tekninen osasto kehitti uuden komentosarjan. Tämä komentosarja skannaa Linux-varmuuskopiot LVM-epäjohdonmukaisuuksien varalta ja nollaa cbt: n automaattisesti seuraavaa työtä varten, jos sellaisia löytyy.
vmlvmcheck.pl
- Tämä komentosarja on asennettava Avamar-palvelimeen.
- Komentosarja on suoritettava root-käyttäjänä.
- Tämä komentosarja tarkistaa kaikkien Linux-virtuaalikoneasiakkaiden viimeisimmän varmuuskopion ja LVM-yhdenmukaisuuden.
- Komentosarja saattaa kestää pitkään (tunteja), jos tarkistettavia virtuaalikoneita on useita. Jos tarkistettujen virtuaalikoneiden määrä ylittää 50, komentosarja suoritetaan oletusarvoisesti tausta-/daemon-tilassa.
Komentosarjan logiikka:
Komentosarja etsii LVM:n loogiset asemat .vmdk-varmuuskopioista ja tarkistaa seuraavat ehdot:
- Varmistaa, että varmuuskopiossa on kaikki fyysiset taltiot
- Vahvistaa, että kaikki fyysiset asemat on liitetty LVM-volyymiryhmään
- Kaikilla saman volyymiryhmän fyysisillä taltioilla on samat järjestysnumerot.
Väärät positiiviset:
- Jos jotkin löydetyn levyaseman ryhmän virtuaalilevyt EIVÄT olleet mukana, varmuuskopioi tämä työkalumerkintä varmuuskopiosta. Pääsyy ei liity edellä kuvattuun hot add -ongelmaan. Varmista tässä tapauksessa, että Avamar varmuuskopioi kaikki virtuaalilevyt.
- Jos jossakin virtuaalilevyssä on LVM-osio, jota EI ole alustettu kokonaan, työkalu tunnistaa varmuuskopioinnin huonoksi. Tässä tilanteessa käyttöjärjestelmässä EI kuitenkaan olisi käynnistysongelmaa.
Lataa ohjeet:
-
Lataa vmlvmcheck.pl central.dell.com verkkosivustolta. Lisätietoja keskitetystä on tietämyskannan artikkelissa Avamar: Avamar-komentosarjojen ja -työkalujen etsiminen ja lataaminen Dell Central Avamar -sivulta.

-
Siirrä vmlvmchck.pl Avamar-palvelimen /root-hakemistoon esimerkiksi WinSCP-työkalulla.
Esimerkki 1 (vain luku -muotoinen toiminto): Tarkistaa kaikkien Linux-virtuaalikoneasiakkaiden uusimman varmuuskopion.
root@ave194:~/vmlvmcheck/#: perl vmlvmcheck.pl 11:37:13 2021-10-06 : vmlvmcheck.pl version 19.04 @ave194 11:37:14 14 VMs populated. Processing backups for these... <list of vms> “===== 3 Vm(s) with potential LVM inconsistency in backup === vm1,vm2,vm3 11:40:08 COMPLETED. Statistics on ave194 (vmvlmcheck ver 19.04) --- (after 2 minutes, 55 seconds) 11 Activities examined 11 Backups to DD 30 Files Examined 12.500 Run Sec per VM 2.917 Run Time Minutes 14 VMs Enabled 14 VMs Total 3 VMs With Inconsistent backups 21.43 % VMs With Inconsistent backups %
TAI, kun tarkistettujen virtuaalikoneiden kokonaismäärä ylittää 50, komentosarja suoritetaan automaattisesti taustalla:
root@ave194:/home/admin/#: perl vmlvmcheck.pl 10:55:34 2021-11-17 : vmlvmcheck.pl version 19.15 @ave194 10:55:35 55 VMs populated. Processing backups for these... Output is now going to /usr/local/avamar/var/log/vmvlmcheck.log . PID# 3563 is now running vmlvmcheck as a background process. To terminate daemon process, enter: kill 3563 Please run: tail -f /usr/local/avamar/var/log/vmvlmcheck.logEsimerkki 2 (vain luku -muoto): Skannaa yksittäisen asiakkaan viimeisin varmuuskopio käyttämällä
--vm <vm name>Lippuroot@ave194:/home/admin/#: perl vmlvmcheck.pl --vm cloud2116-clone1 18:13:57 2021-10-05 : vmlvmcheck.pl version 19.04 @ave194 18:13:57 1 VMs populated. Processing backups for these... INFO:============ cloud2116-clone1 /vc6-avamar.gslabs.lab.emc.com/ContainerClients: 1 Backups WARNING: pvs Did not see a LVM on /dev/loop1 ERROR: Expected LVM member appears damaged:VMFiles/2/virtdisk-flat.vmdk. INFO: No partitions found in VMFiles/2/virtdisk-flat.vmdk. VM cskpcloud2116-clone1 has 1 LVMs inside 2 vmdks. ERROR: Bad backup: labelnum=2 2 Snapshots to be deleted ...Option DELETE_SNAPSHOTS=0. 18:14:09 COMPLETED. Statistics on ave194 (vmvlmcheck ver 19.04) --- 1 Activities examined 1 Backups to DD 2 Files Examined 12.000 Run Sec per VM 0.200 Run Time Minutes 1 VMs Enabled 1 VMs TotalEsimerkki 3 (kirjoitettava funktio) Sama kuin esimerkeissä 1 ja 2, mutta tällä kertaa
--DELETE_SNAPSHOTS-vaihtoehto on lisättyroot@ave194:~/vmlvmcheck/#: perl vmlvmcheck.pl --vm cloud2116-clone1 --DELETE_SNAPSHOTS 14:13:35 2021-10-06 : vmlvmcheck.pl version 19.04 @ave194 14:13:36 1 VMs populated. Processing backups for these... INFO:============ cloud2116-clone1 /vc6-avamar.gslabs.lab.emc.com/ContainerClients: 1 Backups WARNING: pvs Did not see a LVM on /dev/loop1 ERROR: Expected LVM member appears damaged:VMFiles/2/virtdisk-flat.vmdk. INFO: No partitions found in VMFiles/2/virtdisk-flat.vmdk. VM cskpcloud2116-clone1 has 1 LVMs inside 2 vmdks. ERROR: Bad backup: labelnum=2 2 Snapshots to be deleted ...Option DELETE_SNAPSHOTS=1. 14:13:49 COMPLETED. Statistics on ave194 (vmvlmcheck ver 19.04) --- 1 Activities examined 1 Backups to DD 2 Files Examined 14.000 Run Sec per VM 0.233 Run Time Minutes 1 VMs Enabled 1 VMs Total
- Tämä vaihtoehto päivittää vain Avamar-tietokannan tilannevedostaulukon. Päivityksen myötä seuraava varmuuskopio siirtyy automaattisesti CBT-tasolle 0.
- Tunnistettuja varmuuskopioita EI poisteta, eikä tämä toiminto estä palautusta.
Additional Information
Manuaalinen LVM-asetus vanhemmille tai korjaamattomille Avamar-välityspalvelimille
-
Välityspalvelimen päävarmuuskopiona lvm.conf-tiedosto
194proxyga:~ # cp /etc/lvm/lvm.conf /etc/lvm/lvm.conf-`date +%s
-
Muokkaa tiedostoa /etc/lvm/lvm.conf, etsi nykyinen suodatinrivi ja vaihda seuraavaan.
ENNEN
filter = [ "a/.*/" ]
JÄLKEEN
filter = ["r|/dev/s.*|","r|/dev/disk.*|","a/.*/"]
-
Varmista seuraavalla komennolla, että uusi suodatinasetus on määritetty.
194proxy:~ # lvm config | grep filter filter=["r|/dev/s.*|","r|/dev/disk.*|","a/.*/"]