Tamu Debian pada host Windows menggunakan discard / TRIM.
Ini bukan jawaban langsung, karena saya sedang mengatasi masalah, bukan pertanyaan. Alih-alih memadatkan gambar secara berkala, solusi ini menggunakan discard untuk secara otomatis menghapus blok yang tidak digunakan dalam image disk VM host.
Solusi ini memerlukan sistem file tamu yang mendukung TRIM berkelanjutan. Wiki Arch Linux memiliki daftar sistem file yang mendukung operasi TRIM .
FDE dan cryptoroot tidak dicakup secara khusus, karena ada masalah keamanan dan tidak ada solusi lain untuk pertanyaan ini yang akan memungkinkan pemadatan juga. Wiki Arch Linux memiliki informasi tentang TRIM dan perangkat dm-crypt .
Secara teori, ini akan bekerja untuk semua tamu Linux di host VBox menggunakan penyimpanan VDI.
Konfigurasi host
Dengan keluarnya VBox dan tidak ada VM yang berjalan, tambahkan dukungan discard ke disk Anda dengan mengatur keduanya discard
dan nonrotational
untuk setiap disk dalam file konfigurasi untuk VM. Saat ini discard
tidak ada dalam GUI, tetapi nonrotational
diekspos sebagai kotak centang "Solid-state Drive". (ref: forum vbox, buang dukungan )
<AttachedDevice discard="true" nonrotational="true" type="HardDisk" [..other options..] >
Boot VM ke atas, dan verifikasi bahwa dukungan TRIM diaktifkan:
sudo hdparm -I /dev/sda | grep TRIM
Konfigurasi Tamu
Jika LVM sedang digunakan, ubah pengaturan buang di /etc/lvm/lvm.conf
. (ref: wiki debian, contoh lvm.conf )
devices {
...
issue_discards = 1
}
Di fstab, tambahkan discard
opsi ke sistem file yang ingin Anda buang otomatis (ref: debian wiki, contoh fstab )
UUID=8db6787f-1e82-42d8-b39f-8b7491a0523c / ext4 discard,errors=remount-ro 0 1
UUID=70bfca92-8454-4777-9d87-a7face32b7e7 /build ext4 discard,errors=remount-ro,noatime 0 1
Remount filesystem agar mereka mengambil opsi baru.
sudo mount -o remount /
sudo mount -o remount /build
Potong blok gratis secara manual sekarang dengan fstrim
. fstrim
menggunakan sistem file yang dipasang, bukan perangkat blok yang mendukungnya. Alih-alih mengatur buang berkelanjutan fstab
, ini bisa dilakukan pada cron mingguan. (Cron mingguan direkomendasikan untuk SSD fisik yang mungkin memiliki dukungan yang dipertanyakan untuk TRIM, tetapi ini tidak relevan di sini karena SSD yang mendasarinya ditangani oleh OS host. Lihat: peringatan trim ssd ).
fstrim /
fstrim /build
Pada titik ini, ukuran filesystem di dalam VM dan ukuran gambar VM harus cukup dekat nilainya.
Diuji dengan:
- Guest1: Debian 8.7, kernel: linux 4.8 grsec dari backports, filesystem: ext4
- Guest2: Debian 9 RC2, kernel: linux 4.9, filesystem: ext4
- Host1: VBox 5.1.14, Win7, image fmt: VDI
- Host2: VBox 5.1.14, Win8.1, image fmt: VDI