Konfigurasi RAID untuk NAS besar

13

Saya sedang berpikir untuk membangun kotak NAS disk 24 1TB, tapi saya tidak yakin apa konfigurasi drive terbaik. Saya melihat menggunakan areca ARC-1280ML-2G controller, dan menggantung semua 24 drive darinya.

Saya ingin semuanya dipasang sebagai satu volume, karena jenis data yang kami simpan di dalamnya. Satu ide gila yang kami miliki adalah mengkonfigurasi 6 4-disk RAID 5 volume, kemudian melakukan perangkat lunak RAID 5 lebih dari 6 volume. Itu berarti ada satu volume yang bisa mati pada kita dan kita masih tidak akan kehilangan data.

Saya harus mencatat bahwa ini adalah proyek R&D, kami punya aplikasi mendatang di mana kami akan membutuhkan puluhan terabyte penyimpanan agar cepat dan sangat tersedia. Tetapi untuk tahap R&D awal kami dapat menerima beberapa risiko.

Apa solusi terbaik untuk jenis konfigurasi ini? Dengan 24 1 TB disk, kemungkinan lebih dari satu akan gagal pada saat yang sama (atau dalam waktu yang dibutuhkan untuk membangun kembali volume setelah kegagalan pertama), jadi saya mengalami kesulitan menemukan solusi yang baik.

kevin42
sumber

Jawaban:

10

Sudah ada tingkat RAID untuk apa yang Anda inginkan; itu disebut RAID 10.

MTBF untuk drive tingkat profesional dan konsumen telah meningkat dengan urutan besarnya dalam beberapa tahun terakhir, tingkat kesalahan yang tidak dapat diperbaiki tetap relatif konstan. Tingkat ini diperkirakan 10 ^ 14 bit, jadi satu bit per 12 terabyte dibaca, untuk drive SATA konsumen, sumber .

Jadi, untuk setiap pemindaian pass Anda dari drive 24Tb Anda, secara statistik Anda akan menemukan setidaknya 2 kesalahan bit tunggal. Masing-masing kesalahan akan memicu membangun kembali RAID5, dan lebih buruk lagi, selama membangun kembali kesalahan kedua akan menyebabkan kesalahan ganda.

Dave Cheney
sumber
Poin luar biasa pada tingkat kesalahan yang tidak dapat diperbaiki, tetapi dalam paragraf ke-3, Anda harus menambahkan bahwa "secara statistik, Anda akan menemukan ...", karena kita semua tahu bahwa kesalahan baca (atau kekurangannya) tidak pasti
Matt Simmons
Tidakkah ia mencoba membaca lagi sebelum membangun kembali?
Antoine Benkemoun
Antoine: Tentu, tetapi jika itu benar-benar tidak dapat dibaca, itu harus dibangun kembali untuk mendapatkan data dari paritas, IIRC.
Matt Simmons
@Antonie, ini adalah kesalahan pembacaan yang tidak dapat diperbaiki, yaitu kesalahan yang tidak dapat diperbaiki oleh drive logika ECC (yang memperbaiki kesalahan pada tingkat yang secara signifikan lebih tinggi dari 1: 10 ^ 14)
Dave Cheney
Jadi ini adalah kesalahan yang disebabkan oleh kesalahan tulis? apa yang membuat pembacaan kedua agar tidak berhasil?
Antoine Benkemoun
11

Inilah pekerjaan saya sehari-hari ... membangun server penyimpanan Linux.

  • Kartu Areca tidak masalah. Anda dapat menggunakannya di RAID-6, itu akan memberikan keamanan yang wajar. Beli unit cadangan Baterai opsional juga.
  • Gunakan disk tingkat perusahaan , bukan drive desktop. Anda akan menghabiskan 400 dolar lagi di server Anda, tetapi itu sangat berharga. Beli dua drive cadangan. Jangan main-main dengan itu, gunakan disk dari model yang sama
  • Untuk sistem file, gunakan XFS . Tidak main-main, ext3 dan teman-teman tidak akan cocok dengan pekerjaan untuk sistem file 16TB +. Bahkan dalam kasus crash serius, xfs_repair akan cukup cepat pada volume 20TB (15 menit, tidak lebih).
  • Lebih disukai, gunakan LVM2 , itu akan memudahkan manajemen penyimpanan, bahkan jika Anda tidak berencana untuk mengubahnya banyak.
  • instal alat manajemen pineca dan tulis tugas cron untuk mengirimi Anda email harian dengan cek kesehatan.
  • Jangan lupa cadangan . RAID bukan cadangan; jika seseorang hanya menghapus file penting, Anda tidak akan dapat memulihkan tanpa cadangan yang tepat. Saya pribadi menggunakan rdiff-backup untuk menyimpan semua data penting pada server khusus dengan sejarah satu bulan; Anda juga dapat membuat dua volume RAID di server file Anda dan membuat cadangan satu sama lain.
wazoox
sumber
6

wow, RAID5 lebih dari RAID5? Ingin membahas masalah kinerja? Anda akan punya banyak . Tuan rumah tempat Anda menggantung mereka akan memiliki paritas komputasi anak kucing, menulis paritas itu menjadi 3 drive dan kemudian menghitung paritas paritas ITU dan menuliskannya pada drive ke-4 dari set itu. WOW!

Mari kita bicara tentang RAID10. Ini pada dasarnya RAID 1, tetapi Anda membagi drive Anda menjadi dua dan mencerminkan itu. Ini toleran karena Anda dapat kehilangan 2 drive dan masih baik-baik saja, plus kinerjanya luar biasa.

Jika Anda tidak membutuhkan jumlah ruang yang gila, tetapi Anda memiliki array 24TB duduk-duduk dengan tidak ada yang lebih baik untuk dilakukan, tetapi harus benar-benar positif, maka Anda mungkin mempertimbangkan RAID60. Ini pada dasarnya RAID6 menggunakan set mirror drive. Anda akan kehilangan sekitar setengah dari drive Anda, dan kinerja akan buruk, tetapi Anda akan hampir dijamin bahwa data akan ada di sana.

Sungguh, saya akan pergi dengan RAID10. Berkinerja baik dan bekerja dengan baik. Saya berpendapat Evan kedua bahwa Anda mungkin tidak perlu membuat RAID raksasa dari banyak disk, karena seperti yang dia katakan, hal-hal seperti fsck dan chkdsk akan memakan waktu selamanya, dan tetapi yang lebih penting dalam pikiran saya, karena kemungkinan statistik kesalahan baca naik seperti ukuran disk individual. Saya akan merekomendasikan 7-10 disk per set. Anda dapat membuat 3 volume RAID dengan ukuran sangat layak dengan jumlah spindel tersebut.

Apa pun yang Anda pilih, ingatlah untuk meninggalkan beberapa disk di suku cadang panas, sehingga Anda dapat segera mulai membangun kembali, daripada meminta array menunggu Anda untuk menggantinya. Segera setelah disk mati, jam mulai berdetak untuk satu lagi.

Matt Simmons
sumber
@ Matt: Saya tidak berbicara tentang ukuran set RAID - Saya berbicara tentang ukuran sistem file. Menggunakan filesystem tunggal yang besar, terlepas dari jenis filesystem, meminta untuk downtime yang besar ketika Anda harus menjalankan pemeriksaan filesystem karena host OS "rusak" filesystem, dll
Evan Anderson
@ Evan - Maaf, salahku. Tapi itu juga argumen lain yang menentangnya.
Matt Simmons
@ Matt: Argumen menentang apa? Tata letak wadah RAID dan jumlah sistem file pada wadah RAID tersebut merupakan masalah ortagonal. Anda tidak harus memiliki sistem file tunggal dalam wadah RAID tunggal, dan sistem file dapat menjangkau beberapa wadah RAID di sebagian besar sistem operasi.
Evan Anderson
Anda benar pada keduanya. Kami setuju. Anda seharusnya tidak membuat sistem file yang sangat besar karena waktu pemeriksaan buruk. Anda juga tidak boleh membuat volume serangan yang sangat besar karena kemungkinan statistik kesalahan baca bertambah.
Matt Simmons
2

Mengapa tidak RAID 1 + 0? Semuanya ditangani pada tingkat pengontrol ...

Matt Rogish
sumber
1

Saya tahu Anda mengatakan "R&D", tetapi Anda juga mengatakan "sangat tersedia". Saya akan mempertanyakan "penghematan" dari solusi DIY versus pembelian perlengkapan SAN yang siap pakai untuk melakukan ini. Ketika ada masalah dengan solusi DIY Anda, Anda akan berada dalam posisi yang tidak menyenangkan karena tidak ada orang yang bisa dihubungi untuk meminta bantuan. Berapa biaya downtime Anda per jam? Anda dapat menghabiskan biaya beberapa perlengkapan SAN tingkat menengah dengan cepat dalam biaya downtime, mengabaikan biaya yang terkait dengan kehilangan data yang tidak tepat.

Terlepas dari apa yang Anda lakukan tentang disk yang mendasarinya, saya tidak akan membuat sistem file tunggal yang besar.

Korupsi sistem file adalah kemungkinan nyata (masalah pengontrol RAID, bug OS, dll). Dalam volume yang besar, pemeriksaan sistem file akan berlangsung selamanya. Saya sangat merekomendasikan menggunakan beberapa volume yang dapat digabungkan secara logis untuk muncul sebagai file filesem tunggal (melalui berbagai cara - Anda tidak menyebutkan OS, jadi saya tidak bisa memberikan Anda ide-ide spesifik). Jika Anda memiliki beberapa kerusakan sistem file, Anda akan kehilangan sebagian dari volume logis, tetapi Anda masih akan "naik".

Sebagai contoh: Di dunia Windows, menjalankan CHKDSK pada volume 20TB NTFS yang diisi dengan file akan menjadi PERLAHAN . Dalam lingkungan seperti itu, saya akan membuat beberapa volume NTFS yang lebih kecil dan secara logis menggabungkannya ke dalam namespace tunggal dengan DFS.

Evan Anderson
sumber
1

wazoox, jawabannya bagus Saya tidak punya perwakilan untuk memberinya lebih banyak poin plus, tapi saya akan menambahkan yang berikut ini.

RAID 6 atau setidaknya 2 cakram paritas langsung per 10 cakram, paling banyak 16 cakram jika Anda dapat menghabiskan waktu sehari ketika kinerja akan dipengaruhi oleh serangan ulang Anda. Jika Anda tidak bisa hidup dengan degradasi maka itu harus menjadi garis cermin.

Jika Anda menggunakan rute linux, saya akan menggunakan kartu raid perangkat keras (dengan cadangan baterai) atau memiliki pengontrol raid di kandang disk. Saya setuju bahwa xfs adalah filesystem pilihan di Linux, namun perlu diketahui bahwa filesystem sekitar 50TB pada xfs membutuhkan lebih dari 16GB RAM jika Anda perlu menjalankan xfs_check.

Saya serius akan mempertimbangkan kotak NAS yang baik seperti NetApp karena mereka jauh lebih sedikit bekerja jangka panjang, itu tergantung berapa banyak Anda / waktu penyimpanan admin bernilai bagi perusahaan.

Mendapatkan nfs / samba untuk berkinerja baik adalah sedikit seni yang gelap, Apakah Anda akan menggunakan 10GB ether atau hanya agregasi 1GB / detik? (Jangan dapatkan kartu Broadcomm terutama kartu 10GB).

LVM2 adalah tidak punya otak tetapi tidak menggunakan snap shotting karena tidak cepat.

Ingat cadangan ini akan memakan waktu.

Uji bagaimana sistem dapat gagal sebelum mulai diproduksi dan minta dituliskan di mana Anda dan kolega Anda dapat menemukan dokumen ketika semuanya salah.

James
sumber
1

Itu tergantung pada rasio baca / tulis Anda. Kami menggunakan banyak selubung drive SAS 25-disk HP MSA70 eksternal dan selalu membuatnya sebagai array RAID6 tunggal karena rasio baca-tulis kami adalah 99%: 1% jadi kami tidak peduli bahwa R6 adalah yang paling lambat dalam penulisan ( masih cukup cepat, hanya saja tidak sebagus itu dibandingkan yang lain). Dengan cara ini kami memiliki 23 disk senilai data yang tersedia bagi kami, memiliki sangat bagus, seperti dalam SANGAT bagus, pembacaan acak dan manfaat bandwidth yang dibaca secara keseluruhan dan dapat bertahan dari dua kegagalan disk.

Sebagai panduan kasar array RAID5 seharusnya tidak memiliki lebih dari sekitar 14 disk dalam satu array, sementara RAID6 harus baik-baik saja hingga 54 disk atau lebih - jelas semakin besar array semakin besar jurang antara kinerja baca dan tulis dan pembangunan kembali yang lebih lambat akan memakan waktu tetapi BISA merupakan trade-off yang baik.

Chopper3
sumber
0

Saya akan menambahkan dua disk standby sebagai permulaan.

RAID 5 atau 6 OK untuk membaca acak atau membaca dan menulis berurutan besar. Jika Anda akan mendapatkan banyak tulisan kecil, pergilah dengan RAID 10 karena RAID 5+ membutuhkan 4 x hit pada penulisan kecil.

Jika Anda akan mengaktifkan cache tulis, ingatlah untuk mendukungnya dengan baterai.

Hans Malherbe
sumber