Puncte:1

Reducerea unui grup lvm - nu se poate redimensiona la dimensiuni xxxx deoarece sunt alocate cele ulterioare

drapel cn

Am trecut prin procesul de reducere a dimensiunii unei imagini Centos 6.10 prin reducerea unui grup lvm. Sunt în punctul în care am reușit să rulez această comandă:

pvresize -tv --setphysicalvolumesize 1600G /dev/md125p2

Și îmi dă următorul mesaj de eroare:

 /dev/md125p2: nu se poate redimensiona la 409599 extent, deoarece sunt alocate ulterioare.

Încerc să înțeleg cum să construiesc comanda pvmove pentru a scăpa de eroare, dar nu prea înțeleg conceptul.

Iată rezultatul acestei comenzi pvs -v --segments /dev/md125p

  PV VG Fmt Attr PS Size PFree Start SSize LV Start Tip PE Domenii                 
  /dev/md125p2 vg_centos6svr lvm2 a--u 1.86t 320.11g 0 384000 lv_mysql 0 linear /dev/md125p2:0-383999     
  /dev/md125p2 vg_centos6svr lvm2 a--u 1.86t 320.11g 384000 81947 0 gratuit                             
  /dev/md125p2 vg_centos6svr lvm2 a--u 1.86t 320.11g 465947 12800 lv_root 0 linear /dev/md125p2:465947-478746
  /dev/md125p2 vg_centos6svr lvm2 a--u 1.86t 320.11g 478747 1998 lv_swap 0 linear /dev/md125p2:478747-480744
  /dev/md125p2 vg_centos6svr lvm2 a--u 1.86t 320.11g 480745 7500 lv_home 0 linear /dev/md125p2:480745-488244

Știu că comanda de mutare trebuie să arate cam așa:

pvmove --alloc oriunde /dev/md125p2 vg_centos6svr:yyyy-end

Pur și simplu nu sunt clar cum să calculez partea yyyy-end. Cred că înseamnă mutați acel 81947 (blocuri?) care încep de la 384000, dar ce este „aaaa” și „sfârșit”?

John Mahowald avatar
drapel cn
În comentarii spui că dimensiunea nu este mai mică după ce faci pvmoves. Vă rugăm să vă editați întrebarea pentru a adăuga un alt `pvs -v --segments` plus dimensiunea matricei, poate din `mdadm --detail`
Puncte:1
drapel cn

Reducerea unui PV necesită întinderi în mișcare pentru a elibera spațiu înainte de dimensiunea dorită. În cazul dvs. se extinde sub 409599.

Mai întâi, testați o restaurare de rezervă pentru a vă asigura că datele pot fi recuperate dacă este necesar.

lvremutare volume de care nu aveți nevoie.

pvmove permite specificarea extinderilor după numele LV și a destinației prin decalaje cu notația +. Când furnizați destinația, aceasta trebuie să fie un PV, nu un VG.

Mutați un LV în prima măsură în spațiul liber. Decalajul este dimensiunea segmentului care este mutat.

pvmove --alloc oriunde -n lv_swap /dev/md125p2 /dev/md125p2:384000+1998

Obțineți noul aspect al segmentului cu pvs -v --segmente din nou. Repetați pvmove cu un LV diferit și noul spațiu liber de pornire.

Personal, prefer VG-urile de date separate de VG-urile sistemului de operare. Dar acesta este depozitul tău, așezați-l așa cum doriți.

Puncte:1
drapel cn
dsz

Deci, ceea ce pot vedea este că totul este pornit /dev/md125p2 și dorim să reducem dimensiunea acestui PV.

Rezultatul dvs. de la pvs -v --segments /dev/md125p arătați că aveți un spațiu liber foarte mare (SSize==81947) după dvs lv_mysql si inaintea ta lv_root. Acesta este suficient de mare pentru a adăposti lv_root și toate a LV-urilor care vin după el în aspectul fizic.

Deci, primul set de numere pe care l-aș sugera este:

***# pvmove --alloc oriunde /dev/md125p2:480745-488244 /dev/md125p2:384000+7499

adică mutați întregul lv_acasă la spaţiul liber începând imediat după lv_mysql.

Apoi reluați pvs -v --segments /dev/md125p pentru a vedea numerele revizuite și mutați următorul bloc în orice spațiu liber rămas.

Acest lucru vă va defragmenta efectiv PV.

Acum, pvmove ar putea avea cale mai multe opțiuni decât ceea ce folosesc (poate specificând PV în loc de extinderi?), dar ceea ce m-am simțit confortabil este să fiu explicit cu blocurile, așa că toate sursele și țintele mele sunt sub formă de /dev/<dev>:<Start>-<End> sau /dev/<dev>:<Start>+<SSize-1>.

Bănuiesc că problema dvs. lipsea în principal de limitele din specificația dvs. „sursă”.

Am văzut câteva exemple despre utilizarea lor -Sfârşit - Nu știu dacă asta e ceva presupus să lucreze, dar ar ridica întrebarea „sfârșitul lui ce?". Așa că o evit și folosesc numere bloc explicite. Trebuie doar să fii atent că + sintaxa este a plus, și trebuie să fie cu unul mai puțin decât SSize.

Suplimentar

OK, din partea sursei se pare că poți face -name lv_home /dev/md125p2 ca prescurtare pentru /dev/md125p2:480745-488244 - dar rețineți că acest lucru va deveni mai complex dacă lh_acasă a fost fragmentat în mai multe dimensiuni (ar însemna „toate fragmentele?”) - cred că încă prefer abordarea numerelor. Rețineți că exemplul dvs. din întrebare nu a făcut-o includeți numele LV, așa că nu sunt sigur ce pvmove ai fi inteles din ce i-ai dat...

drapel cn
A lucrat! Din păcate, dimensiunea reală a discului rămâne aceeași (încerc să reduc dimensiunea fizică a imaginii pentru Clonezilla). Daca ai idee despre asta, anunta-ma. Configurație raid 0.
drapel cn
dsz
@JackBeNimble Mai aveți nevoie de un „pvresize” la sfârșitul tuturor defragării! De asemenea, clonezilla recente va pătrunde în întregul proces LVM și va înregistra imaginea LV-urilor - dacă luați o abordare de partiție pentru salvarea imaginii. Cred că este mult mai sigur decât imaginea PV-urilor subiacente. De asemenea, pare să fie conștient de sistemul de fișiere și, prin urmare, salvează doar blocurile utilizate. Aș recomanda compresia `pigz` deasupra. Poate o nouă întrebare pentru asta? De fapt, bănuiesc că nu ai avut nevoie de nicio defragmentare pentru clonezilla!
drapel cn
dsz - problema este că avem o imagine clonezilla veche care nu se mai potrivește pe SSD-uri, deoarece sunt cu 50 GB mai mici fiecare. Am rezolvat-o prin micșorarea imaginii cu exercițiul de mai sus, apoi restabilirea cu o opțiune de a ignora dimensiunea discului sursă. Apoi a funcționat. Mulțumesc că m-ai pus pe drumul cel bun cu pvmove.
drapel cn
poti verifica aceasta intrebare? https://serverfault.com/questions/1074461/centos-6-10-how-to-increase-allocat-pe-size-to-take-up-free-p-e-size

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.