Puncte:0

Recuperarea unui PV imbricat

drapel us

Pe gazda mea Proxmox 6.4, aveam un pool LVM Thin de 250 GB mare. Am creat o mașină virtuală Ubuntu (care a folosit LVM și pentru partiția rădăcină) pe el, dar l-am supraabonat accidental, astfel încât PV din interiorul mașinii virtuale a fost setat la 500 GB.

Totul a mers grozav o vreme până când am depășit limita ascunsă de 250 GB și VM-ul s-a prăbușit cu o eroare I/O și a refuzat să pornească. Deci acum încerc să recuperez discul. Tabelul de partiții al discului pare a fi intact:

$ fdisk -l /dev/vm-disks/vm-101-disk-0
Disc /dev/vm-disks/vm-101-disk-0: 500 GiB, 536870912000 octeți, 1048576000 sectoare
Unități: sectoare de 1 * 512 = 512 octeți
Dimensiunea sectorului (logic/fizic): 512 octeți / 512 octeți
Dimensiunea I/O (minimă/optimă): 65536 octeți / 65536 octeți
Tip etichetă de disc: gpt
Identificator disc: 30874BBC-0B29-4083-B5BF-E973C665D87F

Dispozitiv Start End Sectors Size Type
/dev/vm-disks/vm-101-disk-0p1 2048 4095 2048 Boot BIOS 1M
/dev/vm-disks/vm-101-disk-0p2 4096 2101247 2097152 Sistem de fișiere Linux 1G
/dev/vm-disks/vm-101-disk-0p3 2101248 1048573951 1046472704 499G Sistem de fișiere Linux

Am fugit

$ kpartx -a /dev/vm-disks/vm-101-disk-0

a crea /dev/mapper intrări pentru cele 3 partiții din interior vm-101-disk-0, și asta funcționează. Daca alerg:

$ fișier -sL /dev/mapper/vm--disks-vm--101--disk--0p3
/dev/mapper/vm--disks-vm--101--disk--0p3: LVM2 PV (Linux Logical Volume Manager), UUID: fdOzWR-sPcy-hyYo-Lj2H-YEnZ-wK3c-J6biES, dimensiune: 535794024448

Apoi pot vedea acel PV în a treia partiție a discului. Dar cum pot monta asta undeva în gazdă pentru a începe recuperarea datelor? Evident pvscan din sistemul gazdă nu îl vede deoarece este în interiorul altui LV. Am vreo opțiune aici pentru recuperare sau faptul că VM-ul a crezut că are 500 GB, când de fapt nu a însemnat că am deteriorat acest lucru fără a fi reparat?

drapel in
Porniți VM-ul de pe o imagine CD de recuperare.
Nikita Kipriyanov avatar
drapel za
Mai întâi trebuie să restabiliți funcționarea Thin LVM pe gazdă, adică să măriți pool-ul subțire, cu simplu `lvextend`. Numai când acest pas este finalizat și aveți puțin spațiu liber în pool-ul subțire, puteți continua cu restaurarea VM-ului, ceea ce nu ar trebui să fie foarte dificil, pur și simplu porniți VM-ul în recuperare și rulați fsck corespunzător. Repet din nou, nu încercați să continuați până când lvm-ul dvs. subțire de pe gazdă nu este remediat!
drapel eg
Doar rulați `vgchange -ay` pentru a activa volumele... gazda ar trebui să le vadă bine.
drapel us
Mulțumesc frumos, @NikitaKipriyanov! Chiar mi-ai salvat ziua :) Ai vrut să-ți transformi comentariul într-un răspuns, astfel încât să îl pot accepta și să poți obține niște repetari? Dacă nu, voi scrie doar pașii pe care i-am făcut ca răspuns personal.
Puncte:2
drapel za

VM tocmai a primit erori de scriere I/O când spațiul din pool-ul subțire a fost epuizat. Pentru o mașină virtuală, acest lucru arată ca un hard disk refuzat în mod neașteptat toate scrierile. Deci, dacă VM-ul era hardware complet, prima acțiune a fost să găsești noul hard disk și să-l clonezi pe acesta prost în el. După ce HW-ul este reparat, puteți repara structuri logice.

În cazul mașinilor virtuale, nu aveți niciun hardware stricat, puteți „repara” „hard diskul” restabilind funcționarea volumului subțire. Doar mărește piscina subțire, folosește lveextend pe piscina subțire LV pentru a adăuga puțin spațiu.

Și, când este gata, porniți VM-ul de pe un mediu de recuperare (virtual) și faceți recuperarea standard a sistemului de fișiere.Amintiți-vă, nu ar putea fi prea multe dificultăți; sisteme de fișiere moderne concepute în general pentru a rezista la acest tip de eșec.


Monitorizați LVM subțire. În timp ce epuizarea spațiului de date nu este o problemă atât de mare, metadate epuizarea ar putea avea un impact mult mai mare. Nu permiteți acest lucru să se întâmple.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.