Saya menggunakan windows server 2008r2 dengan peran Hyper-V. Sistem tamu adalah Ubuntu 12,04 LTC. Itu terletak di hard disk virtual dinamis.
Saya ingin memadatkan VHD ini (Ukuran sebenarnya adalah 50 GB, 360 GB pada disk). Tapi saya tidak bisa melakukan ini, karena sistem file Ubuntu bukan NTFS. Apa yang saya butuhkan (gparted, sdelete, ...) untuk menyelesaikan masalah ini?
Masalah utama adalah bahwa sistem file bukan NTFS, tetapi ext4.
Jawabannya:
1) Unduh systemrescuecd
2) Tambahkan .iso ini ke OS pencarian Ubuntu
3) Mulai mesin virtual ini
4) Gunakan zerofree
zerofree /dev/sda1
5) Matikan mesin virtual ini
6) Gunakan manajer Hyper-V (Edit -> defragmentation)
VHD ini adalah 360 Gb. Sekarang 70 GB.
fstrim
pada tahun 2019, terutama untuk ext4 di bawah LVM superuser.com/questions/1491437/...Jawaban:
Matikan VM Anda, buat cadangan VHD, dan jalankan mesin virtual lain (saya menggunakan SystemRescueCD karena kecil dan cepat) yang memiliki partisi ext4 tersedia untuknya, yaitu, HD untuk SysRescue (tapi jangan pasang itu!). Dari SysRescue VM, jalankan ' zerofree ' pada partisi ext4, matikan VM itu, dan kemudian gunakan Situs Web Administrasi Anda untuk memadatkan VHD.
sumber
Saya dapat mengonfirmasi: zerofree berfungsi untuk memadatkan file disk virtual
TETAPI: Anda tidak perlu menggunakan CD cadangan atau memasang VHDX di mesin virtual lain:
Boot dalam safe mode, lalu jalankan:
Setelah itu, kita harus memulai optimasi untuk file disk virtual. Di server yang menampung file VHDX, buat file berikut ShrinkVhdx.ps1:
Dan sekarang jalankan file dan nikmati ruang disk yang dirilis :-)
sumber
Prosesnya tampaknya
yaitu
Ini menciptakan file yang disebut
oooooooo.ooo
diisi dengan0
s. Anda harus mengulangi perintah sfill pada semua partisi yang saya kira.Perhatikan ini juga tidak cepat, akan butuh berjam-jam jika tidak beberapa hari untuk menyelesaikannya.
sumber
1) Unduh systemrescuecd
http://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/3.8.1/systemrescuecd-x86-3.8.1.iso/download
2) Tambahkan .iso ini ke OS pencarian Ubuntu
3) Mulai mesin virtual ini
4) Gunakan zerofree
zerofree / dev / sda1
5) Matikan mesin virtual ini
6) Gunakan manajer Hyper-V (Edit -> defragmentation)
sumber
Saya memang mencoba memulai Systemrescuecd di mesin gen ke-2. Tapi itu tidak berhasil, jadi saya membuat mesin gen 1 baru dan menambahkan VHDX ke dalamnya. systemrescuecd dimulai. Saya tidak melakukan operasi apa pun. Menghapus mesin gen pertama dan mengembalikan VHDX ke mesin aslinya. Maka Ubuntu tidak memulai sama sekali. Hanya menu-Grub.
Lihat posting saya di sini: Hyper-V Ubuntu vhdx scsi ide
Jadi waspadai ini, dan lakukan backup (saya tidak melakukannya kali ini) ...
sumber
Anda dapat melakukan ini dengan memeriksa beberapa parameter dalam file berikut: / sys / block // queue / discard_granularity / sys / block // queue / discard_max_bytes jika salah satu memiliki 0 mungkin tidak didukung oleh konfigurasi perangkat keras + perangkat lunak Anda.
Berikut tutorial lengkap untuk melakukan ini di: http://www.1337admin.org/uncategorized/compacting-virtual-disks-on-generation-2-linux-hyper-v-2012-r2-vms/
sumber