Hai Habr! Pada artikel ini kami akan memberi tahu Anda apakah ada baiknya mengatur array RAID berdasarkan solusi solid-state SATA SSD dan NVMe SSD, dan apakah akan ada untung serius dari ini? Kami memutuskan untuk memahami masalah ini dengan mempertimbangkan jenis dan jenis pengontrol yang memungkinkan ini, serta ruang lingkup penerapan konfigurasi tersebut.

Dengan satu atau lain cara, kita masing-masing setidaknya sekali dalam hidup saya mendengar definisi seperti "RAID", "RAID-array", "RAID-controller", tetapi tidak mungkin untuk mementingkan hal ini, karena bagi PC-boyar biasa semua ini tidak mungkin menarik Tetapi setiap orang ingin semua orang menikmati kecepatan tinggi dari drive internal dan keandalan pekerjaan mereka. Lagi pula, tidak peduli seberapa kuat pengisian komputer, kecepatan drive menjadi hambatan, jika kita berbicara tentang kecepatan gabungan dari PC dan server.
Itu persis sampai saat ketika NVMe SSD tradisional dengan kapasitas yang sebanding 1 TB atau lebih menggantikan HDD tradisional. Dan jika sebelumnya di PC bundel SSD SATA + beberapa HDD yang luas lebih umum, maka hari ini mereka mulai digantikan oleh solusi lain - NVMe SSD + beberapa SSD SATA yang luas. Jika kita berbicara tentang server korporat dan "cloud", banyak yang sudah berhasil pindah ke SATA SSD, hanya karena mereka lebih cepat daripada "kaleng" biasa dan mampu memproses lebih banyak operasi I / O pada saat yang sama.

Namun, toleransi kesalahan sistem masih pada tingkat yang cukup rendah: kita tidak dapat, seperti dalam Battle of Psychics, memprediksi dengan akurasi bahkan hingga seminggu ketika satu atau lain solid-state drive memerintahkan untuk hidup lama. Dan jika HDD "mati" secara bertahap, memungkinkan Anda untuk menangkap gejala dan mengambil tindakan, maka SSD "mati" segera dan tanpa peringatan. Dan sekarang saatnya mencari tahu mengapa semua ini diperlukan? Apakah layak mengatur RAID array berdasarkan solusi solid-state SATA SSD dan NVMe SSD, dan akankah ada untung serius dari ini?
Mengapa saya membutuhkan array RAID?
Kata "array" itu sendiri sudah menyiratkan bahwa beberapa drive (HDD dan SSD) digunakan untuk membuatnya, yang digabungkan menggunakan pengontrol RAID dan diakui oleh OS sebagai penyimpanan data tunggal. Tugas global yang dapat diselesaikan oleh array RAID adalah untuk meminimalkan waktu akses data, meningkatkan kecepatan baca / tulis dan keandalan, yang dicapai berkat kemampuan untuk dengan cepat pulih jika terjadi kegagalan. Omong-omong, tidak perlu menggunakan RAID untuk cadangan rumah. Tetapi jika Anda memiliki server rumah Anda sendiri, yang membutuhkan akses konstan 24/7 - maka ini adalah masalah lain.
Ada lebih dari selusin level array RAID, yang masing-masing berbeda dalam jumlah drive yang digunakan di dalamnya dan memiliki pro dan kontra sendiri: misalnya, RAID 0 memungkinkan Anda untuk mendapatkan kinerja tinggi tanpa toleransi kesalahan, RAID 1 memungkinkan Anda untuk secara otomatis mirror data tanpa meningkatkan kecepatan, dan RAID 10 menggabungkan dengan sendirinya kemungkinan di atas. RAID 0 dan 1 adalah yang paling sederhana (karena mereka tidak memerlukan perhitungan perangkat lunak) dan, sebagai hasilnya, adalah yang paling populer. Pada akhirnya, pilihan yang mendukung level RAID tertentu tergantung pada tugas yang diberikan pada array disk dan kemampuan pengontrol RAID.
RAID Rumah dan Perusahaan: Apa Perbedaannya?
Landasan bisnis modern adalah sejumlah besar data yang harus disimpan dengan aman di server perusahaan. Dan juga, seperti yang kami sebutkan di atas, mereka harus diberikan akses konstan 24/7. Jelas bahwa setara dengan perangkat keras, bagian perangkat lunak juga penting, tetapi dalam hal ini kita masih berbicara tentang peralatan yang menyediakan penyimpanan dan pemrosesan informasi yang andal. Tidak ada perangkat lunak yang akan menyelamatkan perusahaan dari kehancuran jika perangkat keras "perangkat keras" tidak memenuhi tugas yang diberikan padanya.

Untuk tugas-tugas ini, setiap produsen perangkat keras menawarkan apa yang disebut perangkat perusahaan. Kingston memiliki solusi solid-state yang kuat dalam bentuk model SATA
450R (DC450R) Kingston dan
seri DC500 , serta model DC1000M U.2 NVMe NVMe, model DCU1000 U.2 NVMe dan DCP-1000 PCI-e yang dimaksudkan untuk digunakan di pusat data (pusat data) dan superkomputer. Array dari drive tersebut biasanya digunakan bersama dengan pengontrol perangkat keras.

Untuk pasar konsumen (yaitu untuk PC rumahan dan server NAS), drive seperti
Kingston KC2000 NVMe PCIe tersedia, tetapi dalam hal ini tidak perlu membeli pengontrol perangkat keras. Anda dapat membatasi diri pada server PC atau NAS yang terpasang di motherboard, kecuali tentu saja Anda berencana untuk membangun server rumah Anda sendiri untuk tugas-tugas yang tidak biasa (misalnya, membuat hosting rumah kecil untuk teman, misalnya). Selain itu, susunan RAID rumah, sebagai suatu peraturan, tidak menyiratkan keberadaan ratusan atau ribuan drive, membatasi diri mereka menjadi dua, empat, dan delapan perangkat (biasanya SATA).
Jenis dan jenis pengontrol RAID
Ada tiga jenis pengontrol RAID berdasarkan pada prinsip-prinsip implementasi RAID:
1. Perangkat lunak, di mana kontrol array jatuh pada CPU dan DRAM (yaitu, eksekusi kode program terjadi pada prosesor).
2. Terintegrasi, yaitu, dibangun ke motherboard PC atau server NAS.
3. Hardware (modular), yang merupakan kartu ekspansi diskrit untuk konektor motherboard PCI / PCIe.
Apa perbedaan mendasar mereka satu sama lain? Pengontrol RAID perangkat lunak lebih rendah daripada terintegrasi dan perangkat keras dalam kinerja dan toleransi kesalahan, tetapi tidak memerlukan peralatan khusus untuk operasi. Namun, penting untuk memastikan bahwa prosesor host cukup kuat untuk menjalankan perangkat lunak RAID tanpa mempengaruhi kinerja aplikasi yang juga berjalan pada host. Pengontrol terintegrasi, sebagai suatu peraturan, dilengkapi dengan memori cache mereka sendiri dan menggunakan sejumlah sumber daya CPU.
Tetapi perangkat keras memiliki memori cache sendiri, dan prosesor terintegrasi untuk mengeksekusi algoritma perangkat lunak. Biasanya mereka memungkinkan Anda untuk menerapkan semua jenis level RAID dan mendukung beberapa jenis drive sekaligus. Misalnya, Anda dapat secara bersamaan menyambungkan perangkat SATA, SAS, dan NVMe ke pengontrol perangkat keras Broadcom modern, yang memungkinkan Anda untuk tidak mengubah pengontrol saat memutakhirkan server: khususnya, ketika berpindah dari SSD SATA ke SSD NVMe, Anda tidak perlu mengubah pengontrol.

Sebenarnya, pada catatan ini kami sampai pada tipologi pengendali sendiri. Jika ada tiga mode, haruskah ada lagi? Dalam hal ini, jawaban untuk pertanyaan ini adalah di afirmatif. Bergantung pada fungsi dan kemampuan, pengontrol RAID dapat dibagi menjadi beberapa jenis:
1. Pengontrol RAID biasaDalam keseluruhan hierarki, ini adalah pengontrol paling sederhana yang memungkinkan Anda untuk menggabungkan HDD dan SSD ke dalam susunan RAID level "0", "1" atau "0 + 1". Perangkat lunak ini diimplementasikan pada tingkat firmware. Namun, perangkat semacam itu hampir tidak dapat direkomendasikan untuk digunakan di segmen korporat, karena mereka tidak memiliki cache dan tidak mendukung array level "5", "3", dll. Tetapi untuk server rumah entry-level, mereka cukup cocok.
2. Pengontrol yang dipasangkan dengan pengontrol RAID lainnyaJenis pengontrol ini dapat dipasangkan dengan pengontrol motherboard terintegrasi. Ini diimplementasikan sesuai dengan prinsip berikut: pengontrol RAID yang terpisah menangani solusi dari masalah "logis", dan pertukaran data internal antar drive. Tetapi ada nuansa: operasi paralel dari pengontrol tersebut hanya dimungkinkan pada motherboard yang kompatibel, yang berarti bahwa ruang lingkup mereka sangat menyempit.
3. Pengontrol RAID mandiriSolusi diskrit ini mengandung semua chip yang diperlukan untuk bekerja dengan server kelas enterprise, memiliki BIOS sendiri, memori cache, dan prosesor untuk koreksi kesalahan cepat dan perhitungan checksum. Selain itu, mereka memenuhi standar keandalan yang tinggi dalam hal pembuatan dan memiliki modul memori berkualitas tinggi.
4. Pengontrol RAID eksternalMudah ditebak bahwa semua pengontrol di atas adalah internal dan menerima daya melalui konektor PCIe pada motherboard. Apa yang sedang dibicarakan ini? Dan fakta bahwa kegagalan motherboard dapat menyebabkan kesalahan dalam pengoperasian array RAID dan kehilangan data. Pengendali eksternal bebas dari kesalahpahaman ini, karena mereka ditempatkan di perumahan terpisah dengan catu daya independen. Dalam hal keandalan, pengendali tersebut memberikan tingkat penyimpanan data tertinggi.
Broadcom , Microsemi Adaptec, Intel, IBM, Dell, dan Cisco hanyalah beberapa perusahaan yang saat ini menawarkan pengontrol RAID perangkat keras.
Mode Pengontrol RAID SAS / SATA / NVMe
Tugas utama tri-mode HBA dan pengontrol RAID (atau pengontrol dengan fungsi Tri-Mode) adalah membuat RAID perangkat keras berbasis NVMe. Di Broadcom, pengontrol seri 9400 dapat melakukan ini: misalnya,
MegaRAID 9460-16i . Itu milik jenis independen RAID-controller, dilengkapi dengan empat konektor SFF-8643 dan, berkat dukungan Tri-Mode, memungkinkan Anda untuk menghubungkan drive SATA / SAS dan NVMe secara bersamaan. Selain itu, ini juga salah satu pengontrol paling hemat energi di pasaran (hanya mengkonsumsi 17 watt energi, sementara kurang dari 1,1 watt untuk masing-masing dari 16 port).

Antarmuka koneksi adalah PCI Express x8 versi 3.1, yang memungkinkan Anda untuk mengimplementasikan bandwidth 64 Gb / s (pada tahun 2020, pengontrol untuk PCI Express 4.0 akan muncul). Pengontrol 16-port didasarkan pada chip
SAS3516 2-core dan 72-bit DDR4-2133 SDRAM (4 GB), serta kemampuan untuk menghubungkan hingga 240 SATA / SAS-drive, atau hingga 24 perangkat NVMe. Mengenai organisasi array RAID, level "0", "1", "5" dan "6", serta "10", "50" dan "60" didukung. Omong-omong, memori cache
MegaRAID 9460-16i dan pengontrol lain dalam seri 9400 dilindungi dari kegagalan tegangan oleh modul CacheVault CVPM05 opsional.
Teknologi tiga mode didasarkan pada fungsi konversi data SerDes: mengubah representasi data serial dalam antarmuka SAS / SATA menjadi bentuk paralel dalam PCIe NVMe dan sebaliknya. Artinya, pengontrol menegosiasikan kecepatan dan protokol untuk bekerja secara mulus dengan salah satu dari tiga jenis perangkat penyimpanan. Ini memberikan cara yang tidak terputus untuk skala infrastruktur pusat data: pengguna dapat menggunakan NVMe tanpa perubahan signifikan pada konfigurasi sistem lainnya.

Namun, ketika merencanakan konfigurasi dengan drive NVMe, ada baiknya mempertimbangkan bahwa solusi NVMe menggunakan 4 jalur PCIe untuk terhubung, yang berarti bahwa setiap drive menggunakan semua jalur port SFF-8643. Ternyata hanya empat drive NVMe yang dapat dihubungkan langsung ke pengontrol MegaRAID 9460-16i. Atau batasi diri Anda dengan dua solusi NVMe sambil menghubungkan delapan drive SAS secara bersamaan (lihat diagram koneksi di bawah).

Angka ini menunjukkan penggunaan konektor "0" (C0 / Konektor 0) dan konektor "1" untuk koneksi NVMe, serta konektor "2" dan "3" untuk koneksi SAS. Pengaturan ini dapat dibalik, tetapi setiap drive NVMe x4 harus terhubung menggunakan garis yang berdekatan. Mode operasi pengontrol diatur melalui alat konfigurasi StorCLI atau Human Interface Infrastructure (HII), yang berjalan di lingkungan UEFI.

Mode standar adalah profil "PD64" (hanya mendukung SAS / SATA). Seperti yang kami katakan di atas, ada tiga profil secara total: mode SAS / SATA saja (PD240 / PD64 / PD 16), mode hanya NVMe (PCIe4), dan mode campuran, di mana semua jenis drive dapat bekerja: PD64 -PCIe4 "(mendukung 64 disk fisik dan virtual dengan 4 NVMe-drive). Dalam mode campuran, nilai profil yang ditentukan harus seperti ini - βProfileID = 13β. Omong-omong, profil yang dipilih disimpan sebagai master dan tidak diatur ulang bahkan ketika Anda kembali ke pengaturan pabrik melalui perintah Set Factory Defaults. Anda hanya dapat mengubahnya secara manual.
Haruskah saya membuat array RAID pada SSD?
Jadi, kami sudah menyadari bahwa array RAID adalah kunci untuk kinerja tinggi. Tetapi apakah perlu membangun RAID dari solid state drive untuk penggunaan di rumah dan perusahaan? Banyak skeptis mengatakan bahwa peningkatan kecepatan tidak begitu signifikan sehingga bangkrut pada NVMe-drive. Tapi benarkah begitu? Hampir tidak. Keterbatasan terbesar untuk menggunakan SSD di RAID (baik di rumah dan di tingkat perusahaan) hanya bisa harga. Apa pun yang dikatakan orang, biaya satu gigabyte ruang pada HDD jauh lebih murah.
Menghubungkan beberapa "drive" solid-state ke pengontrol RAID untuk membuat array SSD dalam konfigurasi tertentu dapat berdampak besar pada kinerja. Namun, jangan lupa bahwa kinerja maksimum dibatasi oleh bandwidth pengontrol RAID itu sendiri. Level RAID yang menawarkan kinerja terbaik adalah RAID 0.

Organisasi RAID 0 reguler dengan dua drive SSD, yang menggunakan metode pemisahan data menjadi blok-blok tetap dan pergantiannya antara penyimpanan solid-state, akan menghasilkan kinerja dua kali lipat (bila dibandingkan dengan kecepatan yang dihasilkan oleh satu SSD). Dalam hal ini, array RAID 0 dengan empat solid state drive akan empat kali lebih cepat dari SSD paling lambat dalam array (tergantung pada batas bandwidth pada level pengontrol RAID SSD).
Berdasarkan aritmatika sederhana, SSD SATA sekitar 3 kali lebih cepat dari HDD SATA tradisional. Solusi NVMe bahkan lebih efektif - 10 kali atau lebih. Asalkan dua hard drive pada level RAID nol menunjukkan kinerja berlipat ganda, meningkatkannya sebesar 50%, dua SSD SATA akan menjadi 6 kali lebih cepat, dan dua SSD NVMe akan menjadi 20 kali lebih cepat. Secara khusus, satu drive Kingston KC2000 NVMe PCIe dapat mencapai kecepatan baca dan tulis berurutan hingga 3200 MB / s, yang dalam format RAID 0 akan mencapai 6 GB / s yang mengesankan. Dan kecepatan baca / tulis blok acak 4 KB akan berubah dari 350.000 IOPS menjadi 700.000 IOPS. Tetapi ... pada saat yang sama, RAID "nol" tidak memberikan redundansi kepada kami.
Kita dapat mengatakan bahwa di rumah, redundansi penyimpanan biasanya tidak diperlukan, jadi RAID 0 benar-benar konfigurasi RAID yang paling cocok untuk RAID 0. Ini adalah cara yang andal untuk mendapatkan peningkatan kinerja yang signifikan sebagai alternatif untuk menggunakan teknologi seperti Intel Optane SSD. Tetapi bagaimana solusi SSD akan berperilaku dalam jenis RAID paling populer ("1", "5", "10", "50") - kita akan berbicara di artikel berikutnya.
Artikel ini disiapkan dengan dukungan rekan Broadcom kami, yang menyediakan pengontrol mereka untuk teknisi Kingston untuk pengujian dengan drive SATA / SAS / NVMe kelas perusahaan. Berkat simbiosis ramah ini, pelanggan tidak perlu meragukan keandalan dan stabilitas drive Kingston dengan HBA dan pengontrol RAID Broadcom.
Informasi tambahan tentang produk Kingston dapat ditemukan
di situs web resmi perusahaan.