Soy consciente de la gran cantidad de publicaciones en Internet que dicen que esto no funcionaría y por qué, y realmente pasé días buscando las soluciones hace meses, pero ayer encontré algunos consejos sobre cómo "habilitar el soporte de comandos TRIM" para máquinas invitadas . Lo he probado y "parece" que funciona. Lo que me gustaría saber es dónde está la trampa o si esto realmente funciona como debería.
Fuentes:
https://forums.virtualbox.org/viewtopic.php?f=7&t=51768
http://jaysonrowe.blogspot.com/2013/08/compacting-virtualbox-vdi.html
Mi comando exacto adjuntando el archivo de disco:
Almacenamiento de VBoxManage adjuntar "GuestOsMachineName" --storagectl "SATA" --port 1 --dispositivo 0 --no rotacional en --discard on --medium "C: \ path \ to \ file.vdi" --type hdd
Lo que generó esta entrada en el archivo * .vbox de la máquina:
<AttachedDevice nonrotational="true" discard="true" type="HardDisk" port="1" device="0">
<Image uuid="{3836a042-a83e-4000-9a59-e95ad65162ce}"/>
</AttachedDevice>
Para asegurarme de que no perdería ningún dato, esta unidad fue la segunda conectada a la máquina. He realizado pruebas simples como copiar un archivo a la unidad, dejarlo, reiniciar la máquina, apagar la máquina, verificar si está allí después de reiniciar, mirar el uso del archivo de disco en el sistema operativo host. Los resultados son:
- archivo de disco adjunto sin opciones --nonrotational y --discard mantiene su tamaño (dinámico) incluso después de eliminar archivos en el SO huésped
- el archivo de disco adjunto con las dos opciones mencionadas anteriormente libera el espacio después de que se eliminaron los datos
Ahora aquí están mis preguntas:
- ¿Qué hace exactamente - opción de descarte? no se describe en el manual de VirtualBox ( http://www.virtualbox.org/manual/ch08.html#vboxmanage-storageattach )
: ¿realmente está transmitiendo TRIM al sistema operativo host o simplemente parece?