Il problema qui è che sebbene siano stati cancellati i file nell'immagine VM CentOS, VMware non tenta di recuperare quello spazio finché non lo si chiede esplicitamente. Anche in questo caso, se i blocchi del disco utilizzati dai file non sono stati azzerati, continueranno a occupare spazio nei file vmdk. Se sei abituato a ridurre le macchine virtuali Windows, questo potrebbe non esserti familiare.
La procedura specifica che ho usato per ridurre la mia immagine CentOS è stato quello di effettuare le seguenti operazioni:
Dopo il restringimento, il vmdk per il file system di root aveva circa le stesse dimensioni del file system di root in uso e il vmdk ha iniziato ad espandersi di nuovo, se necessario, da qui.
Nota che la mia VM aveva solo una singola partizione di root, se avessi avuto altre partizioni o dischi, avrei sostituito la parte cd /
del riempire linea con il punto delle altre partizioni monte e quindi eseguire l'utilità di restringimento su ciascun disco virtuale.
Per ulteriori opzioni, vedere Shrinking VM Disk Images.
Se avete bisogno di istruzioni per fare lo stesso con un Linux basato su Debian, o volete usare l'utilità da riga di comando vmware-vdiskmanager
piuttosto che la GUI di VMware per ridurre i dischi, date un'occhiata all'articolo How To Shrink VMware Virtual Disk Files (.vmdk).
Se si utilizza la macchina virtuale per un po 'di tempo, è possibile trarre vantaggio dall'azzeramento del file di scambio. Sul mio sistema CentOS, ho fatto la seguente:
$ su
Password:
# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda3 partition 2064376 0 -1
# swapoff -a
# cat /proc/swaps
Filename Type Size Used Priority
# dd if=/dev/zero of=/dev/sda3 bs=1M
dd: writing `/dev/sda3': No space left on device
2017+0 records in
2016+0 records out
2113929216 bytes (2.1 GB) copied, 24.6894 s, 85.6 MB/s
- Nota: Dal momento che stiamo pulendo una partizione tutta qui, assicuratevi che il dispositivo specificato per il comando
dd
è lo stesso mostrato dal comando cat /proc/swaps
. Per sicurezza, esegui il backup della tua VM prima di provare a farlo.
Dopo aver ridotto il disco virtuale, sarà necessario riattivare il file di scambio. Per esempio:
$ su
Password:
# free -o
total used free shared buffers cached
Mem: 1030684 344552 686132 0 20956 175912
Swap: 0 0 0
# mkswap /dev/sda3
Setting up swapspace version 1, size = 2064380 KiB
no label, UUID=80276a48-3581-4f7a-8b05-1f2a97169e22
# gedit /etc/fstab
# swapon -a
# free -o
total used free shared buffers cached
Mem: 1030684 346132 684552 0 20968 175912
Swap: 2064376 0 2064376
La gedit/etc/fstab
è stato quello di sostituire il vecchio UUID di swap con quello nuovo creato da mkswap
.
Si noti che questa domanda sarebbe davvero più appropriata su Superuser o Serverfault rispetto a qui su Stack Overflow, che è destinato ad essere per domande di programmazione.
Grazie per l'aiuto. Daremo anche un'occhiata alla casella virtuale – Thomas