Sul mio server Intranet, ho una partizione / dev / sda5 da 100,00 GiB, che uso come volume fisico per lvm2.
- È l'unico volume fisico nel mio gruppo di volumi vg01.
- vg01 attualmente contiene un volume logico lv01, usando l'intero 100,00 GiB - beh, in realtà 99,99 GiB a causa di alcuni arrotondamenti (è qui che inizia il problema).
- lv01 contiene un file system ext3, usando l'intero spazio.
Voglio ridurre lv01 a circa 97 GiB, quindi posso creare lv02 con ca. 3 GiB (ne ho bisogno per scattare istantanee lvm).
Quello che ho fatto finora:
e2fsck -f /dev/mapper/vg01-lv01
resize2fs /dev/mapper/vg01-lv01 97G
Questo ha funzionato bene. Ma ora dovrò correre
lvreduce --size ? /dev/mapper/vg01-lv01
E non sono sicuro di quale valore esatto dovrò specificare. La lvreduce
pagina man avverte esplicitamente che la dimensione risultante non deve essere inferiore al file system. Inoltre, non voglio renderlo più grande di quanto deve essere. Ma ora ho numeri diversi:
- Ho specificato
97G
in resize2fs. df -h
dice 96 G.df
dice, sono 100115936 blocchi da 1K.- lvdisplay (ovviamente) riporta ancora 99,99 GiB per il volume logico.
Cosa dovrò specificare lvreduce
?
Modificare:
La risposta attualmente accettata fornisce una bella soluzione. Tuttavia, al fine di integrare tali cose in script solidi, ecc., Preferirei generalmente utilizzare misure precise. O forse c'è già uno script o uno strumento affidabile (!) Che esegue l'intera procedura di ridimensionamento in un solo passaggio?
resize2fs
per ridurre il filesystem fino a 90GiB o giù di lì, e poi andare in giro con argomenti alvreduce
(seguiti daresize2fs
) per vedere cosa funziona meglio.