Ke RAID atau tidak ke RAID: SSD dan virtualisasi

8

Saya mendekati waktu itu di mana PC utama saya telah cukup lambat karena Windows membusuk sehingga saya mungkin harus menginstal ulang. Alih-alih menghabiskan satu minggu pergulatan tangan, menginstal ulang dan mengkonfigurasi hanya untuk menemukan bahwa saya lupa untuk mencadangkan pengaturan Visual Studio saya lagi , saya akan memutakhirkan. Saya sudah membeli semua bagian dan sedang dalam proses benchmarking untuk menemukan konfigurasi terbaik.

Saya membeli dua SSD M4 120GB Krusial (diperbarui ke firmware terbaru pada April '12:) 00Fdan telah menjalankan beberapa tolok ukur cepat menggunakan CrystalDiskMark . Berikut ini beberapa hasilnya:

Drive tunggal:

Kinerja drive tunggal

RAID 0melalui pengontrol chipset Intel Z77 :

RAID 0

Benchmark ini jelas tidak lengkap, tapi saya pikir mereka memberi saya ide bagus tentang apa yang diharapkan antara berbagai konfigurasi.

Pemahaman saya adalah bahwa untuk sebagian besar pola penggunaan umum, yaitu pengembangan dengan Visual Studio (penggunaan utama saya), 4Kmembaca dan menulis jauh lebih umum, bahkan selama pembuatan. Antara RAID 0dan tidak, ada sedikit perbedaan. Tetapi dengan 512Kdan SequentialR / W, perbedaannya cukup untuk diperhatikan.

Masalahnya adalah, untuk menghindari masalah busuk di masa depan - dan, terus terang, karena saya bisa - saya akan lebih mengandalkan virtualisasi. Rencana saya adalah untuk membagi berbagai bagian lingkungan pengembangan saya ke dalam mesin virtual menggunakan VMware Workstation : Visual Studio dan alat yang menyertainya pada satu, SQL Server pada yang lain, Adobe Design Suite pada yang lain, dll. Dengan mengambil keuntungan dari snapshot VM dan mudah dengan untuk membuat atau mengkloning yang baru, saya percaya saya akan melihat peningkatan dalam keandalan jangka panjang (dan hanya pernah melihat Adobe memperbarui pop-up ketika saya mau).

Jadi, pertanyaan saya adalah, apakah virtualisasi pantas digunakan RAID 0konfigurasi SSD daripada pengaturan tradisional (dalam kasus saya, OS dan aplikasi bare-metal pada satu SSD, VM di yang lain)? Akan virtualisasi mengambil keuntungan dari 512Kdan SequentialR / W kekuatan RAID 0?


Pengamatan:

Saya telah membaca bahwa beberapa SSD modern mampu mengelola pengumpulan sampah sendiri, sehingga tidak memiliki masalah TRIMyang lebih sedikit. Saya tidak tahu cara mengaktifkan ini pada SSD saya atau bahkan melihat apakah mereka mendukungnya.


Edit:

Mengenai pemulihan bencana, sistem ini juga memiliki drive platter standar besar untuk penyimpanan file dan pengontrol RAID sekunder yang pada akhirnya akan saya gunakan dalam larik cermin. Dikombinasikan dengan cadangan lokal setiap malam, pencadangan di luar lokasi yang konstan melalui Carbonite dan check-in kontrol sumber luar yang konsisten, saya punya cara yang cukup untuk mencegah kehilangan data.

Chad Levy
sumber
1
Saya akan menghindari RAID 0 tanpa rencana pemulihan bencana yang lengkap, tetapi virtualisasi pasti akan mengambil keuntungan dari peningkatan kecepatan dari SSD dalam konfigurasi itu.
Poin bagus. Saya lupa menyebutkan bahwa saya juga punya beberapa drive standar di papan dan saya punya cadangan multi-kepala di-situs dan di luar situs. Jadi saya tidak benar-benar kacau jika drive mati, tapi itu poin yang bagus karena saya lupa jika satu drive dalam array RAID 0 berjalan, semua data hilang.
Chad Levy
1
Masalah lain yang mungkin perlu mendapat perhatian: Menjalankan RAID mungkin mengharuskan semua I / O berada dalam satuan ukuran garis tertentu. VM mungkin tidak akan melakukan I / O yang selaras dengan ukuran garis-garis ini, dan Anda akan menyebabkan amplifikasi penulisan besar-besaran yang dapat secara signifikan mengurangi masa pakai drive Anda.
afrazier

Jawaban:

5

Pertama, mengkompilasi kode diketahui sebagian besar terikat pada CPU, jadi jangan berharap ada perbaikan pada SSD tunggal di sana.

Di benchmark Anda, meskipun kinerja kedalaman 4k 0-antrian tidak meningkat, kedalaman 4k 32-antrian (QD32) memang meningkat cukup linear. IMO, hasil ini harus mengarahkan keputusan Anda.

Meskipun workstation bukan server basis data dengan kedalaman antrian yang terus-menerus besar, kedalaman antrian 2-20 adalah umum setidaknya dalam burst selama penggunaan workstation semi-intensif - dalam hal ini IO acak memang akan membaik dengan RAID 0. Mengingat bahwa VM menambahkan lapisan selanjutnya dari aktivitas OS simultan (dan Anda mungkin akhirnya menggunakan 2+ VM simultan akhirnya), saya akan berpikir bahwa metrik ini harus meningkatkan hal-hal dalam skenario Anda.

Anda dapat memantau penggunaan kedalaman antrian saat ini di Monitor Kinerja windows (Tambah penghitung ... Disk Fisik ... Rata-rata Baca / Tulis Kedalaman Antrian) untuk mendapatkan ide.

RAID memang menambah lapisan kompleksitas (dan masalah cadangan / pemulihan), tetapi memiliki partisi 240GB yang lebih besar jelas merupakan IMO plus. Lakukan verifikasi tentang masalah TRIM sebelum menggunakan RAID dengan drive Anda - bisa menjadi penghenti acara.

mtone
sumber
Info bagus, terima kasih. Mengenai dukungan TRIM - Saya pikir TRIM berfungsi, atau setidaknya itu diaktifkan menurut fsutil. Apakah Windows akan mengaktifkan TRIM jika perintah tidak dilewatkan melalui antarmuka RAID?
Chad Levy
1
Saya tidak terlalu terbiasa (hanya memiliki 1 SSD di sini ..), tapi saya percaya karena pengontrol RAID tidak mendukung TRIM, Anda tidak akan pernah melihat referensi ke mana pun. Dengan kata lain, TRIM akan dinonaktifkan secara teknis sehingga Anda harus memiliki keyakinan bahwa firmware SSD Anda melakukan pengelolaan sampah yang layak secara internal (jangan mengutip saya tentang hal itu). Perhatikan bahwa driver Intel RST diharapkan untuk mendukung RAID TRIM kadang-kadang di 2012, jika itu yang Anda gunakan. Kontroler lain kemungkinan akan mengikuti.
mtone
3

Kecepatan hard drive penting untuk kinerja Visual Studio secara keseluruhan. Scott Guthrie menyentuhnya dengan baik di pos ini :

CPU multi-core pada mesin sudah cukup cepat selama beberapa tahun terakhir sehingga dalam skenario aplikasi yang paling umum Anda biasanya tidak berakhir memblokir kapasitas prosesor yang tersedia di mesin Anda.

Ketika Anda melakukan pengembangan dengan Visual Studio Anda akhirnya membaca / menulis banyak file, dan menghabiskan banyak waktu melakukan aktivitas I / O disk. Proyek dan solusi besar mungkin memiliki ratusan (atau ribuan) file sumber (termasuk gambar, css, halaman, kontrol pengguna, dll). Ketika Anda membuka proyek, Visual Studio perlu membaca dan mem-parsing semua file sumber di dalamnya untuk memberikan intellisense. Ketika Anda terdaftar di kontrol sumber dan memeriksa file Anda memperbarui file dan cap waktu pada disk. Ketika Anda melakukan kompilasi solusi, Visual Studio akan memeriksa rakitan yang diperbarui dari beberapa lokasi jalur disk, menulis beberapa rakitan baru ke disk saat kompilasi dilakukan, serta tetap ada file simbol .pdb debugger pada disk dengan mereka (semua sebagai operasi penyimpanan file terpisah).

Dalam pengalaman pribadi saya menggunakan SSD telah banyak membantu tetapi mengingat bahwa sejumlah besar disk I / O mungkin kecil acak membaca RAID 0 mungkin bukan perbaikan besar. Hal lain yang mungkin Anda temukan adalah bahwa disk virtual I / O memakan sebagian dari keuntungan Anda.

Brad Patton
sumber
3

Intel Z77 mendukung Trim with RAID, dan merupakan salah satu chipset rendah anggaran pertama yang melakukannya. Tetapi Anda perlu menentukan dalam pengaturan penyimpanan bahwa Anda menggunakan SSD.

Daniel
sumber