Cómo reducir el tamaño del disco VMware

15

Mi disco Ubuntu VMware de imagen ha crecido a 5 GB de tamaño de archivo físico. Es un disco de crecimiento dinámico con una capacidad máxima de 8 GB. Limpié algunas cosas dentro de la distribución de Linux y ahora dentro de ella ocupa 3 GB. Obviamente, el tamaño del archivo físico no se redujo automáticamente. ¿Hay alguna forma (si es posible de forma gratuita) de reducir este disco a ~ 3GB?

Necesito esto para ajustar la imagen en el DVD.

Marcin Rybacki
fuente

Respuestas:

21

Hay tres pasos:

  1. Desfragmentar (no es necesario desmontar / volver a montar nada)

    sudo e4defrag /

    Ignorar cualquier error. Algunos archivos como enlaces simbólicos y archivos de dispositivos no se pueden desfragmentar.

  2. Rellene con cero todo el espacio no utilizado para que VMware sepa que realmente no se utiliza:

    dd if=/dev/zero of=wipefile bs=1M; sync; rm wipefile

  3. Ejecute la operación de reducción:

    sudo vmware-toolbox-cmd disk shrinkonly

Tom Hale
fuente
Esta es la respuesta correcta para VMWare Workstation. Gracias hombre, me ayudó mucho!
Clonkex
Correcto. Funciona bien en VMWare Workstation 14, invitado de Centos 7
odiszapc
1
tener cuidado si se ejecuta este con cualquier montado volúmenes externos tales como S3 - el comando relleno de ceros a tratar de crear un wipefile 256 TB en su depósito de S3 ...
PAJ
Me funcionó para Windows 10 host y Ubuntu 16 invitado. Al principio pensé que el paso 3 debería ejecutarse en el host, pero me equivoqué. Después de todos los pasos, también ejecuto la comprobación del sistema de archivos como se describe aquí: askubuntu.com/a/953750/590877
Alex Che
1
+1, sin embargo, creo que usar zerofree para el paso 2 sería mucho más rápido y mucho más limpio: manpages.ubuntu.com/manpages/xenial/man8/zerofree.8.html
Étienne
15

He encontrado la solución: debe compactar su disco duro:

Máquina virtual - Configuración - General - Limpiar máquina virtual

Marcin Rybacki
fuente
Guau. Finalmente encontré esta respuesta. Pero ... ¿por qué compactar el disco virtual no reclama realmente el espacio libre?
Wizard79
8
Debe hacer esto desde el sistema operativo invitado de Ubuntu (suponiendo que tenga VMware Tools instalado): "vmware-toolbox-cmd disk shrink /", que debería hacer el trabajo.
DH4
Esto no se aplica a ESXi. Para eso, mira mi respuesta a continuación.
Collin Chaffin
3

Abra VMware Toolbox en el invitado (como root) y reduzca el disco. (Documentación)


Si no tiene VMware Tools, puede reducir el disco manualmente en dos pasos. Primero, limpie el espacio libre en el disco virtual utilizando una herramienta como zerofree . Zerofree está disponible en Ubuntu , pero dado que requiere que el sistema de archivos del sistema operativo invitado esté montado como de solo lectura, es posible que desee ejecutarlo en un CD en vivo. Se dice que Parted Magic incluye zerofree.

Después de poner a cero el espacio libre, abra la Configuración de la máquina virtual y compacte el disco virtual.

nandhp
fuente
3
La interfaz de usuario de vmware toolbox ya no existe, pero aún puede usar: "vmware-toolbox-cmd disk shrink /", que debería hacer el trabajo.
DH4
3

Utilizar

sudo vmware-toolbox-cmd disk shrinkonly

desde el símbolo del sistema en su invitado Ubuntu.

(Probado en Ubuntu 14.04 LTS invitado + Windows 10 Host + VMWare Workstation 12.1.1)

YasharF
fuente
1

Cambio de tamaño del disco duro VMWare :

Expandir el disco duro virtual dinámico en VMWare es fácil y ya no requiere la herramienta de línea de comandos vmware-vdiskmanager.exeubicada de forma predeterminada en C:\Program Files\VMware\VMware Workstation\.

Para cambiar el tamaño, use el siguiente comando (abra un símbolo del sistema presionando WIN + R e ingrese cmd): " C:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager.exe" -x NEWSIZE "diskname.vmdk"

Procedimiento :

Los siguientes pasos son:

  • Descargar aquí
  • Instalar en pc
  • Abierto
  • Elija la partición, haga clic en Cambiar tamaño / Mover, arrastre el controlador a su ancho
  • Haga clic en Aplicar
  • Acepta reiniciar
  • Durante el inicio, no presione ninguna tecla
  • Deje que el módulo de arranque realice su tarea
  • Compruebe que el tamaño de la partición de su sistema Windows aumentó.

Para ver un resumen visual de los pasos e información adicional, consulte aquí .

Lorenz Lo Sauer
fuente
0

Estos pasos funcionaron perfectamente para mí:

1) Espacio sin usar de relleno cero

cat /dev/zero > zero.fill;sync;sleep 1;sync;rm -f zero.fill

2) Reducir disco con caja de herramientas vmware

sudo vmware-toolbox-cmd disk shrink /

Probado en Ubuntu 16.04, VMware Workstation 12.1.0 Player, Windows 7 Host

dontbyteme
fuente
0

La reducción de discos es posible en ESXi.

  1. Encuentra el archivo grande y bórralos.

    encontrar / -tipo f -size + 50M

  2. Desfragmentar (no es necesario desmontar / volver a montar nada). Ignorar cualquier error. Algunos archivos como enlaces simbólicos y archivos de dispositivos no se pueden desfragmentar.

    sudo e4defrag /

  3. Rellene con cero todo el espacio no utilizado para que VMware sepa que realmente no se utiliza:

    dd if = / dev / zero of = wipefile bs = 1M; sincronización rm wipefile

  4. Ejecute la operación de reducción: si 4 falla, continúe con 5.

    el disco sudo vmware-toolbox-cmd se reduce

  5. Reinicie el sistema Linux con la opción de prueba y edite la tabla de particiones con gparted. Reduzca el sistema de archivos raíz y elimine y mueva la partición de intercambio cerca de la partición raíz.

  6. SSH a ESXi y emita este comando:

    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

  7. Necesitamos editar el archivo * .vmdk. Después de las letras RW, define el tamaño del disco virtual VMware (VMDK)

    * 40 GB = 40 * 1024 * 1024 * 1024/512 = 83886080 *

  8. Migrarlo a otro almacén de datos para reflejar el nuevo tamaño.

Kondapaneni
fuente
(1) La pregunta no es acerca de cómo reducir el uso del sistema de archivos; dice que el OP ya lo hizo. Entonces su findcomando no es realmente relevante. (2) ¿Qué hace vmkfstools -K? (3) ¿Editar manualmente un archivo? De Verdad? (4) No entiendo sus instrucciones sobre qué cambio debe hacer el usuario en el archivo. (5) ¿Qué estás diciendo sobre migrar a otro almacén de datos? (0) La mayor parte de lo que dices ya ha sido cubierto. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... por favor no responda en los comentarios; edite  su respuesta para que sea más clara y completa.
Scott
Bueno, soy un chico de VMware (creo que cualquiera que intente algo de esto también debería serlo), así que esta respuesta no solo es la ÚNICA que incluso se aplica a ESXi (ya que ESXi NO admite huéspedes de encogimiento de Linux a través de vmtools), sino que finalmente es perfecto sentido para mí Dicho esto, el paso 7 no solo es innecesario, sino que es incorrecto. Dado que la reducción no cambia el tamaño de VOLUMEN real, simplemente se detiene después del paso 6. El paso 8 (migración de almacenamiento) solo se usa cuando desea reducir el tamaño de un disco SIN ejecutar vmkfstools, que se encarga de ello a la fuerza, por eso esa solución también requiere el paso 5a-SHUT DOWN invitado.
Collin Chaffin
Vea mi respuesta arriba. El cmd basado en vmtools que se enumera en el paso 5 también es incorrecto, ya que nunca ha sido compatible (o incluso funciona) en CUALQUIER escenario basado en host ESXi.
Collin Chaffin
0

Disminución (reducción) de discos VMDK en invitados ESXi / vSphere Linux

Nota: "Reducción" a menudo se usa indistintamente para referirse al proceso de reducción del tamaño de un archivo de disco de tipo delgado. VMware utiliza el término "reducir" para referirse a la reducción del tamaño subyacente del disco disponible para el invitado y "adelgazar" como el proceso más utilizado para recuperar el espacio no utilizado sin alterar el tamaño disponible subyacente.

Dado que ESXi no admite la reducción basada en vmtools en invitados Linux, se deben seguir los siguientes pasos. Consulte el enlace de referencia a continuación para obtener más información.

  1. (si es posible) Detenga todas las aplicaciones y servicios de escritura intensiva en disco, ya que los siguientes pasos llenarán momentáneamente el volumen de destino

  2. Desfragmente los volúmenes en VMDK de destino e ignore cualquier error como enlaces simbólicos / archivos de dispositivo / etc. No puede ser desfragmentado.

    # USE sudo IF NECESSARY IN YOUR CONFIG!
    e4defrag /
    # or e4defrag /mnt/MOUNTVOLUME
  1. Rellene con cero todo el espacio no utilizado:
    dd if=/dev/zero of=/mnt/MOUNTVOLUME/zeroes bs=1M; sync; rm /mnt/MOUNTVOLUME/zeroes
  1. Apagar y apagar invitado

  2. SSH al host ESXi y emita estos comandos:

    # Check current vmdk allocation
    du -h /vmfs/volumes/volumename/vmname/vmname.vmdk

    # Shrink it
    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

    # Check again to verify shrinkage
    du -h /vmfs/volumes/volumename/vmname/vmname.vmdk
  1. Encender al invitado

Fuente

https://kb.vmware.com/s/article/1002019

La eliminación de archivos en la mayoría de los sistemas de archivos no los eliminará por completo; simplemente se alterarán las tablas de archivos. El uso de utilidades de eliminación de archivos seguros de freeware es útil, como Eraser o SDelete para poner a cero el espacio para 'poner a cero' el espacio libre en el volumen, limpiando efectivamente el espacio libre de datos. Es entonces cuando el disco puede adelgazarse adecuadamente. Luego puede usar el comando vmkfstools -K (ESXi / ESX 4.1 y posterior) para completar la recuperación del bloque o usar Storage vMotion para migrar la máquina virtual a un almacén de datos con un tamaño de bloque VMFS diferente.

Collin Chaffin
fuente