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...