Voglio ridurre la partizione montata su /tmp
a 10 GB e aggiungi tutto lo spazio inutilizzato a /
partizione.
Se umount -l /tmp
ed esegui fsck.ext3 -f /dev/privg/lv_tmp
, ho questo:
fsck.ext3: Device or resource busy while trying to open /dev/privg/lv_tmp
Filesystem mounted or opened exclusively by another program?
Quali sono i passaggi corretti per eseguire il ripartizionamento LVM?
$ df -hl
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/privg-lv_root 12G 4.2G 6.9G 38% /
/dev/mapper/privg-lv_tmp 29G 3.2G 24G 12% /tmp
/dev/mapper/privg-lv_var 3.9G 1.5G 2.3G 40% /var
/dev/sda1 494M 40M 429M 9% /boot
tmpfs 16G 0 16G 0% /dev/shm
Risposta accettata:
Devi smontare il filesystem ext3 per ridurlo. umount -l
significa che il filesystem verrà smontato quando non ci sono più file aperti su di esso.
Esegui lsof /tmp
per vedere quali file sono aperti su /tmp
. Se stai utilizzando un server X, vedrai il suo socket /tmp/.X11-unix/X0
. Non puoi rimuovere quel socket¹ ed essere comunque in grado di connetterti al server X. A parte questo, la maggior parte dei file tende ad essere di breve durata o ad appartenere a programmi che possono essere riavviati.
Se vuoi davvero eseguire l'operazione su un sistema live, dovrai migrare a un altro /tmp
filesystem, almeno per la durata dell'operazione. Puoi passare a tmpfs, in cui /tmp
è memorizzato nella RAM o scambia; guarda questa guida. In effetti, tmpfs per /tmp
è una configurazione comune; potresti voler attenerti a questo e rimuovere il /tmp
partizione del tutto (e forse allargare un po' lo scambio invece).
Una volta che sei stato in grado di chiudere tutto da /tmp
, sarai in grado di smontarlo. Non utilizzare umount -l
, è inutile qui poiché libera il punto di montaggio ma non il dispositivo, mentre quello che vuoi è liberare il dispositivo. Una volta /tmp
è smontato, esegui fsck
, esegui resize2fs
per ridurlo e ridurre di conseguenza il volume logico LVM. Oppure potresti risparmiare tempo riducendo direttamente il volume LVM e creando un nuovo filesystem per /tmp
. (Se hai dei dati che vuoi conservare in /tmp
, lo stai facendo male. /tmp
è per i dati che non devono essere salvati tra i riavvii e i file chiusi in /tmp
sono un gioco leale per l'eliminazione.)
Se tutto ciò sembra scoraggiante, riavvia su un sistema di ripristino (CD live o USB) e opera da lì.
¹ Né puoi spostarlo su un altro filesystem:ciò significherebbe rimuovere l'originale e creare un nuovo socket.