Haruskah saya men-defrag hard drive yang berjalan di Mesin Virtual?

18

Saya tahu bahwa tidak ada gunanya (sebenarnya itu adalah ide yang buruk) untuk menjalankan Defrag pada SSD. Bagaimana dengan mesin virtual yang berjalan pada SSD, haruskah saya mendefrag hard drive itu karena pada dasarnya mengakses Hard Drive dengan cara yang sama?

Kris Erickson
sumber
Tidak tahu mengapa ini menggunakan SO, tetapi mungkin relevan: stackoverflow.com/questions/281527/…
Der Hochstapler
VSS dapat menyebabkan penyimpanan bertambah jika Anda tidak menggunakan defragmenter VSS aware.
Hanya jika opsi defrag adalah bagian dari perangkat lunak virtualisasi Anda.
qasdfdsaq

Jawaban:

14

Saya melakukan defrag VHD saya tetapi karena alasan ruang, bukan waktu:

Saya menggunakan opsi yang dialokasikan secara dinamis untuk VHD, sehingga mereka mulai kecil dan berkembang sesuai kebutuhan. Tetapi karena VHD (tidak harus file) menjadi terfragmentasi, itu memperluas untuk memasukkan semua blok yang dialokasikan. Defragging VHD adalah langkah pertama untuk memadatkannya lagi.

JRobert
sumber
Faktor ruang mungkin relevan karena VM berada pada SSD, meskipun secara umum, mendefrag apa pun pada SSD tidak diperlukan karena alasan kinerja dan tidak disarankan.
Bigbio2002
3

Tidak perlu mendefrag SSD. Hard drive biasa harus berputar untuk menemukan (bagian-bagian) file. SSD sebanding dengan RAM, semua file dapat dijangkau dengan penundaan yang sama.

Wikipedia menyatakan bahwa "Kinerja membaca tidak berubah berdasarkan tempat data disimpan pada SSD"

Simon Verbeke
sumber
Harap berikan tautan ke artikel Wikipedia .
wizlog
1
@wizlog Voila;)
Simon Verbeke
2

Ini hanya pendapat saya, saya tidak memiliki hasil tes untuk mendukungnya. Berikut ini perkiraan kasar tentang bagaimana sesuatu mungkin terjadi:

OS nyata:

  1. Aplikasi meminta data X (cepat)
  2. OS meminta driver disk untuk data X (cepat)
  3. Disk fisik mengambil data X dan mengembalikannya ke OS ( lambat jika terfragmentasi )

Berikut ini akan menjadi rantai komando yang setara dalam VM:

  1. Aplikasi VM meminta data X (cepat)
  2. VM OS meminta data X (cepat)
  3. VM host meminta OS nyata untuk mendapatkan data X disimpan dalam file disk virtual (cepat)
  4. Real OS meminta driver disk untuk mendapatkan data X (cepat)
  5. Disk fisik mengambil data X dan mengembalikannya ke OS ( lambat jika terfragmentasi ).

Seperti yang Anda lihat, dalam kedua kasus fragmentasi hanya benar-benar menjadi masalah pada tahap operasi di mana hard drive fisik mencoba membaca data, dan itu terjadi dalam OS nyata, di luar konteks VM. Sebelum itu, segala sesuatu kemungkinan terjadi dalam memori.

Kesimpulannya, karena kita tahu bahwa SSD tidak mengalami fragmentasi di OS nyata, dan bahwa masalah fragmentasi dalam VM mungkin hanya terjadi pada langkah fisik terakhir dari operasi, saya akan menebak bahwa defragmentasi baik OS virtual Anda atau file disk virtual di OS utama Anda tidak akan meningkatkan kinerja pada SSD, sementara itu sama merugikan / tidak berguna seperti defragging OS asli Anda.

Sunting: Dan jika itu benar, itu alasan yang sangat bagus untuk meletakkan VM pada SSD! Pada HDD, fragmentasi pada tahap apa pun (OS tamu, file disk virtual, OS nyata) akan merusak linieritas dan menyebabkan fragmentasi pada langkah disk fisik.

mtone
sumber
2

Apakah Mesin Virtual Anda mengakses data yang disimpan pada HDD magnetik tradisional atau SSD elektronik, file Windows NTFS & fragmentasi ruang kosong memperlambat kecepatan akses aplikasi yang meminta data. File NTFS dan fragmentasi ruang bebas terjadi jauh lebih sering daripada yang Anda duga. Ini berpotensi terjadi segera setelah Anda menginstal sistem operasi. Itu bisa terjadi ketika Anda menginstal aplikasi atau pembaruan sistem, mengakses internet, mengunduh dan menyimpan foto, membuat email, dokumen kantor, dll ... Ini adalah kejadian dan perilaku normal sistem komputer, tetapi memang memiliki efek negatif pada lebih dari semua aplikasi dan kinerja sistem. Ketika fragmentasi terjadi, sistem komputer dan penyimpanan yang mendasarinya bekerja lebih dari yang diperlukan. Setiap permintaan I / O membutuhkan jumlah waktu yang terukur. Bahkan dalam lingkungan SSD tidak ada permintaan I / O "instan". Setiap kali aplikasi meminta untuk membaca atau menulis data dan permintaan itu dibagi menjadi permintaan I / O tambahan, itu menyebabkan lebih banyak pekerjaan yang harus dilakukan. Pekerjaan ekstra ini menyebabkan penundaan tepat pada saat itu juga.

Disk drive telah menjadi lebih cepat selama bertahun-tahun, tetapi begitu juga CPU. Bahkan, kesenjangan antara perbedaan kecepatan antara hard disk dan CPU sebenarnya telah melebar. Ini berarti bahwa aplikasi bisa mendapatkan banyak siklus CPU, tetapi mereka masih kelaparan untuk mendapatkan data dari penyimpanan. Terlebih lagi, jumlah data yang disimpan telah meningkat secara dramatis. Pikirkan semua foto digital yang diambil dan dibagikan selama liburan. Setiap foto menggunakan ukuran sekitar 1MB, sekarang mereka melebihi 15MB per foto dan beberapa melampaui itu. Pengeditan video dan rendering serta penyimpanan film digital juga menjadi sangat populer dan sebagai hasilnya aplikasi memanipulasi ratusan Gigabytes data. Dengan ukuran disk cluster khas 4k, file ukuran 15MB berpotensi terfragmentasi menjadi hampir 4.000. Ini berarti tambahan 4, 000 permintaan I / O disk diperlukan untuk membaca atau menulis file. Apa pun jenis penyimpanannya, hanya perlu waktu lebih lama untuk menyelesaikan operasi.

Penempatan data secara fisik pada SSD tidak terlalu penting seperti pada HDD magnetik biasa. Dengan SSD tidak ada latensi rotasi atau mencari waktu untuk bersaing. Banyak ahli menganggap bahwa fragmentasi tidak lagi menjadi masalah, tetapi kecepatan akses data aplikasi tidak hanya didefinisikan dalam istilah-istilah tersebut. Setiap dan setiap permintaan I / O dilakukan membutuhkan jumlah waktu yang terukur. SSD cepat, tetapi tidak instan. Sistem file Windows NTFS tidak berperilaku berbeda karena penyimpanan yang mendasarinya adalah SSD vs. HDD dan karenanya fragmentasi masih terjadi. Mengurangi I / O yang tidak perlu dengan mencegah dan menghapus fragmentasi mengurangi jumlah permintaan I / O dan sebagai hasilnya mempercepat waktu respons data aplikasi dan meningkatkan umur keseluruhan SSD. Intinya,

Selain itu, SSD mengharuskan data lama dihapus sebelum data baru ditulis, bukan hanya menuliskan informasi lama seperti pada HDD. Ini menggandakan keausan dan dapat menyebabkan masalah besar dengan kinerja kecepatan dan umur SSD. Sebagian besar pabrikan SSD memiliki teknologi level-wear yang sangat canggih untuk membantu hal ini. Masalah utamanya adalah degradasi kecepatan tulis karena fragmentasi ruang bebas. Ruang bebas kecil yang tersebar di SSD menyebabkan sistem file NTFS menulis file dalam potongan terfragmentasi ke ruang kosong kecil yang tersedia. Ini memiliki efek menyebabkan lebih banyak lalu lintas I / O acak yang lebih lambat daripada operasi berurutan.

Saya memiliki hasil patokan untuk mendukung ini. Jika Anda mau, kirimkan komentar, minta hasil ini, dan saya akan senang membagikannya dengan Anda.

Howard Butler
sumber
Howard Butler, Anda baru di situs ini, selamat datang. Secara umum, sangat tidak disarankan untuk mempublikasikan informasi pribadi di internet.
wizlog
@wizlog Tidak ada yang salah dengan memposting informasi pribadi di Internet jika informasinya adalah milik Anda. Namun, untuk keperluan di StackExchange, memposting informasi kontak Anda atau 'tanda tangan' dalam sebuah jawaban tidak ada artinya. Pengguna dapat mengklik ke profil Anda untuk informasi lebih lanjut jika mereka mau.
iglvzx
@iglvzx Saya baru saja menulis komentar yang pada dasarnya menyarankan hal yang sama ... Seperti yang direkomendasikan oleh jawaban ini .
wizlog
2

Berkenaan dengan pertanyaan asli defrag SSD tradisional, saya setuju itu adalah ide yang buruk, tetapi ada solusi spesifik yang tersedia yang mengatasi masalah perpindahan file dan umur SSD.

Sebuah mesin virtual yang menjalankan Windows sebagai sistem operasinya, fragmentasi masih akan terjadi dan efek gabungan dari lalu lintas I / O tambahan akan mengurangi kecepatan dan efisiensi tidak hanya sistem tamu, tetapi juga pada host. Baik Microsoft dan VMware merekomendasikan perlunya mengatasi fragmentasi di tingkat tamu.

Inilah sebabnya ...

  1. Aplikasi meminta data X

  2. Permintaan diproses oleh NTFS.sys

  3. Atribut file diperiksa ($ MFT) dan jika data tidak terkandung dalam satu tingkat (fragmen) maka permintaan I / O tambahan dibuat untuk setiap tingkat / fragmen untuk memenuhi permintaan data asli.

  4. Masing-masing permintaan ini kemudian dikirim ke driver penyimpanan disk.

  5. Setelah data diambil, data akan dikirimkan kembali ke pengguna / aplikasi.

Setiap mesin virtual Windows mengirimkan jenis lalu lintas I / O ini ke sistem Host. Jika struktur sistem file terfragmentasi pada level Guest / Virtual machine maka ini berarti lalu lintas I / O tambahan dan tidak perlu harus ditangani oleh Host dan mengosongkan penyimpanan backend. Ini semakin diperparah saat Anda menambahkan semakin banyak mesin virtual. Bahkan, Anda dapat memiliki fragmentasi dalam fragmentasi di tingkat sistem file host.

Apakah data disimpan pada SSD atau HDD tradisional, jika Anda menjalankan Windows, sistem file NTFS akan menjadi terfragmentasi dan sebagai hasilnya Anda tidak akan pernah mencapai kecepatan dan throughput pengenal pabrik karena file NTFS dan fragmentasi ruang bebas. Efeknya dapat diukur melalui PerfMon dengan melihat rata-rata Panjang Disk Baca Antrian, Panjang Tulis Antrian Rata-rata, dan yang paling penting Split IO / Sec.

Howard Butler
sumber
1

Dimulai dengan Windows Server 2008 dan Windows Vista, berhati-hatilah dengan tugas defrag terjadwal default Windows.

Itu dapat dinonaktifkan dengan: schtasks /change / tn “microsoft\windows\defrag\ScheduledDefrag” /disable

atau menggunakan PowerShell:

Get-ScheduledTask ScheduledDefrag | Disable-ScheduledTask

Diambil dari: http://www.sysadmit.com/2015/10/vmware-y-gpo-defrag-windows.html

Jonathan
sumber
0

Saya baru saja men-defrag VPMite XPMode VM menggunakan defrag windows yang di-host pada 240Gb INTEL SSDSC2CW240A3.

Ukuran Pre Defrag VM pada host - 7.83Gb (Ruang yang digunakan pada C: pada VM, 5.81Gb dari 121Gb)

Post defrag - 9.86Gb (Ruang yang digunakan pada C: pada VM, 5.80Gb dari 121Gb)

Bukan hasil yang saya harapkan dan saya telah mengembalikan versi pra defrag.

Essendee
sumber
-1

Tidak terlalu. Ada hal-hal seperti "Hyperfast" oleh Diskeeper, tapi saya tidak tahu seberapa efisien teknologi ini. (Ini mungkin hanya tipuan sehingga mereka tidak akan jatuh pasar setelah SSD akan menjadi arus utama.)

Apache
sumber
Hyperfast, terdengar seperti saus ajaib.
Jafin