Apakah perlu membuat array RAID dari SSD dan pengontrol apa yang diperlukan untuk ini?

Halo Habr! Pada artikel ini kami akan memberi tahu Anda apakah layak mengatur array RAID berdasarkan solusi solid-state SATA SSD dan NVMe SSD, dan apakah akan ada keuntungan besar dari ini? Kami memutuskan untuk mengatasi masalah ini dengan mempertimbangkan jenis dan tipe pengontrol yang memungkinkan hal ini dilakukan, serta cakupan penerapan konfigurasi tersebut.

Apakah perlu membuat array RAID dari SSD dan pengontrol apa yang diperlukan untuk ini?

Dengan satu atau lain cara, kita masing-masing setidaknya sekali dalam hidup kita mendengar definisi seperti "RAID", "RAID-array", "RAID-controller", tetapi kecil kemungkinan kita menganggap hal ini sangat penting, karena semua ini adalah tidak mungkin untuk PC boyar biasa. Menarik. Namun semua orang menginginkan kecepatan tinggi dari drive internal dan pengoperasian bebas masalah. Lagi pula, sekuat apa pun perangkat keras komputer, kecepatan drive menjadi hambatan dalam hal kinerja gabungan PC dan server.

Hal inilah yang terjadi hingga HDD tradisional digantikan oleh SSD NVMe modern dengan kapasitas sebanding yaitu 1 TB atau lebih. Dan jika sebelumnya di PC sering terdapat kombinasi SATA SSD + beberapa HDD yang besar, kini mereka mulai digantikan oleh solusi lain - NVMe SSD + beberapa SSD SATA yang besar. Jika kita berbicara tentang server perusahaan dan “cloud”, banyak yang telah berhasil berpindah ke SSD SATA, hanya karena mereka lebih cepat daripada “kaleng” konvensional dan mampu memproses lebih banyak operasi I/O secara bersamaan.

Apakah perlu membuat array RAID dari SSD dan pengontrol apa yang diperlukan untuk ini?

Namun, toleransi kesalahan sistem masih pada tingkat yang cukup rendah: kita tidak dapat, seperti dalam “Battle of Psychics,” memprediksi dengan akurat bahkan hingga satu minggu kapan solid-state drive tertentu akan mati. Dan jika HDD “mati” secara bertahap, sehingga Anda dapat mengetahui gejalanya dan mengambil tindakan, maka SSD akan “mati” dengan segera dan tanpa peringatan. Dan sekaranglah waktunya untuk mencari tahu mengapa semua ini diperlukan? Apakah layak mengatur susunan RAID berdasarkan solusi solid-state SATA SSD dan NVMe SSD, dan apakah akan ada keuntungan besar dari ini?

Mengapa Anda memerlukan array RAID?

Kata "array" sudah menyiratkan bahwa beberapa drive (HDD dan SSD) digunakan untuk membuatnya, yang digabungkan menggunakan pengontrol RAID dan dikenali oleh OS sebagai penyimpanan data tunggal. Tugas global yang dapat diselesaikan oleh array RAID adalah meminimalkan waktu akses data, meningkatkan kecepatan baca/tulis dan keandalan, yang dicapai berkat kemampuan untuk memulihkan dengan cepat jika terjadi kegagalan. Omong-omong, sama sekali tidak perlu menggunakan RAID untuk pencadangan rumah. Namun jika Anda memiliki server rumah sendiri, yang memerlukan akses konstan 24/7, itu masalah lain.

Ada lebih dari selusin level array RAID, yang masing-masing berbeda dalam jumlah drive yang digunakan di dalamnya dan memiliki kelebihan dan kekurangannya sendiri: misalnya, RAID 0 memungkinkan Anda mendapatkan kinerja tinggi tanpa toleransi kesalahan, RAID 1 memungkinkan Anda mendapatkan kinerja tinggi tanpa toleransi kesalahan secara otomatis mencerminkan data tanpa meningkatkan kecepatan, dan gabungan RAID 10 berisi kemungkinan-kemungkinan di atas. RAID 0 dan 1 adalah yang paling sederhana (karena tidak memerlukan perhitungan perangkat lunak) dan, sebagai hasilnya, yang paling populer. Pada akhirnya, pilihan yang mendukung satu atau beberapa tingkat RAID bergantung pada tugas yang diberikan ke susunan disk dan kemampuan pengontrol RAID.

RAID rumah dan perusahaan: apa bedanya?

Dasar dari setiap bisnis modern adalah data dalam jumlah besar 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, selain perangkat keras, bagian perangkat lunak juga penting, tetapi dalam hal ini kita masih berbicara tentang peralatan yang menjamin penyimpanan dan pemrosesan informasi yang andal. Tidak ada perangkat lunak yang dapat menyelamatkan perusahaan dari kehancuran jika perangkat kerasnya tidak memenuhi tugas yang diberikan padanya.

Apakah perlu membuat array RAID dari SSD dan pengontrol apa yang diperlukan untuk ini?

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 Kingston 450R (DC450R) и Seri DC500, serta model NVMe DC1000M U.2 NVMe, DCU1000 U.2 NVMe, dan DCP-1000 PCI-e, ditujukan untuk digunakan di pusat data dan superkomputer. Array drive tersebut biasanya digunakan bersama dengan pengontrol perangkat keras.

Apakah perlu membuat array RAID dari SSD dan pengontrol apa yang diperlukan untuk ini?

Untuk pasar konsumen (yaitu, untuk PC rumahan dan server NAS), drive seperti Kingston KC2000 NVMe PCIe, tetapi dalam hal ini tidak perlu membeli pengontrol perangkat keras. Anda dapat membatasi diri Anda pada PC atau server NAS yang terpasang pada motherboard, kecuali tentu saja Anda berencana untuk merakit sendiri server rumah untuk tugas-tugas yang tidak biasa (misalnya, memulai hosting rumah kecil untuk teman). Selain itu, susunan RAID rumah, biasanya, tidak memerlukan ratusan atau ribuan drive, hanya terbatas pada dua, empat, dan delapan perangkat (biasanya SATA).

Jenis dan tipe pengontrol RAID

Ada tiga jenis pengontrol RAID berdasarkan prinsip penerapan array RAID:

1. Perangkat lunak, di mana manajemen array berada pada CPU dan DRAM (yaitu, kode program dijalankan pada prosesor).

2. Terintegrasi, yaitu terpasang pada motherboard PC atau server NAS.

3. Perangkat keras (modular), yaitu kartu ekspansi diskrit untuk konektor PCI/PCIe pada motherboard.

Apa perbedaan mendasar mereka satu sama lain? Pengontrol RAID perangkat lunak lebih rendah daripada pengontrol RAID terintegrasi dan perangkat keras dalam hal kinerja dan toleransi kesalahan, tetapi tidak memerlukan peralatan khusus untuk beroperasi. Namun, penting untuk memastikan bahwa prosesor sistem host cukup kuat untuk menjalankan perangkat lunak RAID tanpa berdampak negatif pada kinerja aplikasi yang juga berjalan pada host. Pengontrol terintegrasi biasanya dilengkapi dengan memori cache sendiri dan menggunakan sejumlah sumber daya CPU.

Namun perangkat keras memiliki memori cache sendiri dan prosesor internal untuk menjalankan algoritme perangkat lunak. Biasanya, mereka memungkinkan Anda mengimplementasikan semua jenis level RAID dan mendukung beberapa jenis drive sekaligus. Misalnya, pengontrol perangkat keras modern dari Broadcom dapat menghubungkan perangkat SATA, SAS, dan NVMe secara bersamaan, sehingga Anda tidak perlu mengganti pengontrol saat memutakhirkan server: khususnya, saat berpindah dari SATA SSD ke NVMe SSD, pengontrol tidak perlu diubah.

Apakah perlu membuat array RAID dari SSD dan pengontrol apa yang diperlukan untuk ini?

Sebenarnya, pada catatan ini kita sampai pada tipologi dari pengontrol itu sendiri. Jika ada tiga mode, apakah harus ada mode lainnya? Dalam hal ini, jawaban atas pertanyaan ini adalah ya. Tergantung pada fungsi dan kemampuannya, pengontrol RAID dapat dibagi menjadi beberapa jenis:

1. Pengontrol biasa dengan fungsi RAID
Di seluruh hierarki, ini adalah pengontrol paling sederhana yang memungkinkan Anda menggabungkan HDD dan SSD ke dalam array RAID level “0”, “1” atau “0+1”. Ini diimplementasikan secara terprogram pada tingkat firmware. Namun, perangkat tersebut hampir tidak direkomendasikan untuk digunakan di segmen korporat, karena tidak memiliki cache dan tidak mendukung array level "5", "3", dll. Tapi untuk server rumah entry-level mereka cukup cocok.

2. Pengontrol yang bekerja bersama-sama dengan pengontrol RAID lainnya
Pengontrol jenis ini dapat dipasangkan dengan pengontrol motherboard terintegrasi. Hal ini diimplementasikan sesuai dengan prinsip berikut: pengontrol RAID diskrit menangani pemecahan masalah "logis", dan pengontrol bawaan mengambil alih fungsi pertukaran data antar drive. Namun ada nuansanya: pengoperasian paralel pengontrol semacam itu hanya dimungkinkan pada motherboard yang kompatibel, yang berarti cakupan penerapannya sangat terbatas.

3. Pengontrol RAID mandiri
Solusi terpisah ini berisi semua chip yang diperlukan untuk bekerja dengan server kelas perusahaan, memiliki BIOS, memori cache, dan prosesor sendiri untuk koreksi kesalahan yang cepat dan penghitungan checksum. Selain itu, mereka memenuhi standar keandalan yang tinggi dalam hal manufaktur dan memiliki modul memori berkualitas tinggi.

4. Pengontrol RAID eksternal
Tidak sulit untuk menebak bahwa semua pengontrol yang tercantum di atas bersifat internal dan menerima daya melalui konektor PCIe pada motherboard. Apa artinya ini? Dan kegagalan motherboard tersebut dapat menyebabkan kesalahan dalam pengoperasian susunan RAID dan kehilangan data. Pengendali eksternal terbebas dari kesalahpahaman ini, karena mereka ditempatkan dalam wadah terpisah dengan catu daya independen. Dalam hal keandalan, pengontrol tersebut menyediakan tingkat penyimpanan data tertinggi.

Broadcom, Microsemi Adaptec, Intel, IBM, Dell dan Cisco hanyalah beberapa perusahaan yang saat ini menawarkan pengontrol RAID perangkat keras.

Mode pengoperasian pengontrol RAID SAS/SATA/NVMe

Tujuan utama pengontrol HBA dan RAID tri-mode (atau pengontrol dengan fungsionalitas Tri-Mode) adalah untuk membuat RAID perangkat keras berbasis NVMe. Pengontrol seri 9400 Broadcom dapat melakukan ini: misalnya, MegaRAID 9460-16i. Ini termasuk dalam jenis pengontrol RAID independen, dilengkapi dengan empat konektor SFF-8643 dan, berkat dukungan Tri-Mode, memungkinkan Anda menghubungkan drive SATA/SAS dan NVMe secara bersamaan. Selain itu, pengontrol ini juga merupakan salah satu pengontrol paling hemat energi di pasaran (hanya mengonsumsi energi 17 Watt, dengan daya kurang dari 1,1 Watt untuk masing-masing 16 port).

Apakah perlu membuat array RAID dari SSD dan pengontrol apa yang diperlukan untuk ini?

Antarmuka koneksinya adalah PCI Express x8 versi 3.1, yang memungkinkan throughput 64 Gbit/s (pengontrol untuk PCI Express 2020 diharapkan muncul pada tahun 4.0). Pengontrol 16-port didasarkan pada chip 2-inti SAS3516 dan SDRAM DDR72-4 2133-bit (4 GB), serta kemampuan untuk menghubungkan hingga 240 drive SATA/SAS, atau hingga 24 perangkat NVMe. Dalam hal pengorganisasian array RAID, level “0”, “1”, “5” dan “6”, serta “10”, “50” dan “60” didukung. Omong-omong, memori cache MegaRAID 9460-16i dan pengontrol lain di seri 9400 dilindungi dari kegagalan tegangan dengan modul opsional CacheVault CVPM05.

Teknologi tiga mode ini didasarkan pada fungsi konversi data SerDes: mengubah representasi data serial di antarmuka SAS/SATA menjadi bentuk paralel di PCIe NVMe dan sebaliknya. Artinya, pengontrol menegosiasikan kecepatan dan protokol agar dapat bekerja secara lancar dengan salah satu dari tiga jenis perangkat penyimpanan. Hal ini memberikan cara yang mulus untuk menskalakan infrastruktur pusat data: pengguna dapat menggunakan NVMe tanpa melakukan perubahan signifikan pada konfigurasi sistem lainnya.

Apakah perlu membuat array RAID dari SSD dan pengontrol apa yang diperlukan untuk ini?

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

Apakah perlu membuat array RAID dari SSD dan pengontrol apa yang diperlukan untuk ini?

Gambar menunjukkan penggunaan konektor “0” (C0/Konektor 0) dan konektor “1” untuk koneksi NVMe, serta konektor “2” dan “3” untuk koneksi SAS. Susunan ini dapat dibalik, namun setiap drive x4 NVMe harus dihubungkan menggunakan jalur yang berdekatan. Mode pengoperasian pengontrol diatur melalui utilitas konfigurasi StorCLI atau Human Interface Infrastructure (HII), yang beroperasi di lingkungan UEFI.

Apakah perlu membuat array RAID dari SSD dan pengontrol apa yang diperlukan untuk ini?

Mode defaultnya adalah profil “PD64” (hanya mendukung SAS/SATA). Seperti yang kami katakan di atas, ada tiga profil secara total: mode “Mode SAS/SATA saja” (PD240 / PD64 / PD 16), mode “Mode NVMe saja” (PCIe4) dan mode campuran di mana semua jenis drive dapat beroperasi: “PD64 -PCIe4" (mendukung 64 disk fisik dan virtual dengan 4 drive NVMe). Dalam mode campuran, nilai profil yang ditentukan harus “ProfileID=13”. Omong-omong, profil yang dipilih disimpan sebagai profil master dan tidak diatur ulang bahkan ketika kembali ke pengaturan pabrik melalui perintah Set Factory Defaults. Itu hanya dapat diubah secara manual.

Apakah layak membuat array RAID pada SSD?

Jadi, kita telah memahami bahwa array RAID adalah kunci kinerja tinggi. Namun apakah layak membangun RAID dari SSD untuk penggunaan di rumah dan perusahaan? Banyak orang yang skeptis mengatakan bahwa peningkatan kecepatan tidak terlalu signifikan dibandingkan dengan menghabiskan uang secara royal pada drive NVMe. Tapi benarkah demikian? Hampir tidak. Keterbatasan terbesar dalam menggunakan SSD di RAID (baik di tingkat rumah maupun perusahaan) mungkin hanya pada harganya. Suka atau tidak, biaya satu gigabyte ruang pada HDD jauh lebih murah.

Menghubungkan beberapa “drive” solid state ke pengontrol RAID untuk membuat susunan SSD dapat berdampak besar pada kinerja dalam konfigurasi tertentu. Namun, jangan lupa bahwa performa maksimal dibatasi oleh throughput pengontrol RAID itu sendiri. Level RAID yang menawarkan performa terbaik adalah RAID 0.

Apakah perlu membuat array RAID dari SSD dan pengontrol apa yang diperlukan untuk ini?

RAID 0 konvensional dengan dua SSD, yang menggunakan metode membagi data menjadi blok-blok tetap dan membaginya ke seluruh penyimpanan solid state, akan menghasilkan kinerja dua kali lipat dibandingkan dengan satu SSD. Namun, array RAID 0 dengan empat SSD sudah empat kali lebih cepat dibandingkan SSD paling lambat dalam array tersebut (tergantung pada batasan bandwidth pada tingkat pengontrol RAID SSD).

Berdasarkan aritmatika sederhana, SSD SATA sekitar 3 kali lebih cepat dibandingkan HDD SATA tradisional. Solusi NVMe bahkan lebih efisien – 10 kali lipat atau lebih. Asalkan dua hard drive dalam RAID tingkat nol menunjukkan kinerja dua kali lipat, meningkatkannya sebesar 50%, dua SSD SATA akan 6 kali lebih cepat, dan dua SSD NVMe akan 20 kali lebih cepat. Secara khusus, satu drive Kingston KC2000 NVMe PCIe dapat mencapai kecepatan baca dan tulis sekuensial hingga 3200 MB/s, yang dalam format RAID 0 akan mencapai kecepatan 6 GB/s yang mengesankan. Dan kecepatan baca/tulis blok acak berukuran 4 KB akan berubah dari 350 IOPS menjadi 000 IOPS. Namun... pada saat yang sama, RAID “nol” tidak memberikan kita redundansi.

Dapat dikatakan bahwa di lingkungan rumah, redundansi penyimpanan biasanya tidak diperlukan, sehingga konfigurasi RAID yang paling sesuai untuk SSD adalah RAID 0. Ini adalah cara yang dapat diandalkan untuk mendapatkan peningkatan kinerja yang signifikan sebagai alternatif untuk menggunakan teknologi seperti berbasis Intel Optane. SSD. Namun kita akan membahas tentang bagaimana solusi SSD berperilaku pada tipe RAID paling populer (“1”, “5”, “10”, “50”) di artikel berikutnya.

Artikel ini disiapkan dengan dukungan dari kolega kami di Broadcom, yang memberikan pengontrol mereka kepada para insinyur Kingston untuk pengujian dengan drive SATA/SAS/NVMe kelas perusahaan. Berkat simbiosis ramah ini, pelanggan tidak perlu meragukan keandalan dan stabilitas hard disk Kingston dengan pengontrol HBA dan RAID dari produksi. Broadcom.

Untuk informasi lebih lanjut mengenai produk Kingston, silakan kunjungi di situs web resmi perusahaan.

Sumber: www.habr.com

Tambah komentar