Serbuan 5 apa itu. Jenis RAID dan ciri-cirinya

Dan barangan, barangan, barangan, barangan. Jadi, hari ini kita akan bercakap tentang SERBUAN tatasusunan berdasarkan mereka.

Seperti yang anda tahu, ini cakera keras juga mempunyai margin keselamatan tertentu selepas itu gagal, serta ciri-ciri yang mempengaruhi prestasi.

Akibatnya, pastinya, ramai di antara anda, satu cara atau yang lain, pernah mendengar tentang beberapa tatasusunan serbuan yang boleh dibuat daripada biasa. cakera keras untuk menambah baik operasi cakera ini dan komputer secara keseluruhan, atau untuk memastikan peningkatan kebolehpercayaan storan data.

Anda mungkin juga tahu (dan jika anda tidak tahu, tidak mengapa) bahawa tatasusunan ini berbeza nombor urutan (0, 1, 2, 3, 4 dll.), dan juga berfungsi dengan baik pelbagai fungsi. Fenomena ini benar-benar berlaku di alam semula jadi dan, seperti yang anda duga, hampir semua ini SERBUAN array, saya ingin memberitahu anda dalam artikel ini. Saya sudah bercakap mengenainya ;)

Pergi.

Apakah RAID dan mengapa ia diperlukan?

SERBUAN- ini ialah tatasusunan cakera (iaitu kompleks atau, jika anda suka, satu berkas) beberapa peranti, - cakera keras. Seperti yang saya katakan di atas, tatasusunan ini berfungsi untuk meningkatkan kebolehpercayaan penyimpanan data dan / atau untuk meningkatkan kelajuan membaca / menulis maklumat (atau kedua-duanya).

Sebenarnya, apa sebenarnya yang dilakukan oleh kumpulan cakera ini, iaitu mempercepatkan kerja atau meningkatkan keselamatan data, bergantung kepada anda, atau sebaliknya, pada pilihan konfigurasi semasa serbuan. jenis yang berbeza konfigurasi ini hanya ditanda nombor yang berbeza: 1, 2, 3, 4 dan oleh itu melaksanakan fungsi yang berbeza.

Secara ringkas, sebagai contoh, dalam hal membina 0 versi -voi (penerangan variasi 0, 1, 2, 3 dsb. - baca di bawah) Anda akan mendapat peningkatan prestasi yang ketara. Dan secara umum HDD hari ini sama sahaja saluran sempit dalam kelajuan sistem.

Mengapa ia berlaku secara umum

Pemacu keras, sebaliknya, berkembang hanya dalam jumlah kerana kelajuan putaran kepalanya (dengan pengecualian model yang jarang berlaku seperti Raptor"ov) telah membeku untuk masa yang agak lama pada tanda masuk 7200 , cache juga tidak berkembang, seni bina kekal hampir sama.

Secara umum, dari segi prestasi, cakera tidak bergerak (hanya yang sedang berkembang boleh menyelamatkan keadaan), tetapi ia memainkan peranan penting dalam pengendalian sistem dan, di beberapa tempat, aplikasi lengkap.

Dalam hal membina unit (dalam erti kata nombor 1 ) daripada serbuan itu, anda akan kehilangan sedikit prestasi, tetapi anda akan mendapat beberapa jaminan ketara keselamatan data anda, kerana ia akan diduplikasi sepenuhnya dan, sebenarnya, walaupun satu cakera gagal, semuanya akan terletak sepenuhnya pada yang kedua tanpa sebarang kerugian.

Secara umum, saya ulangi, serbuan akan berguna kepada semua orang. Saya juga akan mengatakan bahawa mereka diperlukan :)

Apakah RAID dalam erti kata fizikal

secara fizikal SERBUAN-tatasusunan mewakili daripada dua sebelum ini n-bilangan cakera keras yang disambungkan yang menyokong keupayaan untuk mencipta SERBUAN(atau kepada pengawal yang sepadan, yang kurang biasa kerana ini mahal untuk pengguna biasa (pengawal biasanya digunakan pada pelayan disebabkan peningkatan kebolehpercayaan dan prestasi)), i.e. tiada apa-apa perubahan di dalam unit sistem mengikut mata, hanya tiada sambungan tambahan atau sambungan antara cakera atau dengan sesuatu yang lain.

Secara umum, dalam bahagian perkakasan, semuanya hampir sama seperti biasa, dan hanya pendekatan perisian berubah, yang, sebenarnya, menetapkan, dengan memilih jenis serbuan, dengan tepat bagaimana pemacu yang disambungkan harus berfungsi.

Secara pemrograman, dalam sistem, selepas penciptaan serbuan, tidak ada ciri khas sama ada. Sebenarnya, keseluruhan perbezaan dalam bekerja dengan serbuan hanyalah tetapan kecil, yang sebenarnya menganjurkan serbuan (lihat di bawah) dan dalam penggunaan pemandu. Jika tidak, SEMUANYA adalah sama - dalam "Komputer Saya" sama C, D dan cakera lain, semua folder yang sama, fail .. Secara umum, dan secara pemrograman, dengan mata, identiti lengkap.

Memasang tatasusunan bukanlah sesuatu yang rumit: cuma ambil papan induk yang menyokong teknologi SERBUAN, kami mengambil dua yang sama sepenuhnya, - ia penting!, - baik dari segi ciri (saiz, cache, antara muka, dsb.) dan pengeluar serta model cakera dan sambungkannya ke papan induk ini. Seterusnya, hanya hidupkan komputer, pergi ke BIOS dan tetapkan parameter Konfigurasi SATA: SERBUAN.

Selepas itu, semasa proses boot komputer (biasanya sebelum boot Windows) panel muncul yang memaparkan maklumat tentang cakera dalam serbuan dan di luarnya, di mana, sebenarnya, anda perlu mengklik CTR-I untuk menyediakan serbuan (menambah cakera padanya, mengeluarkannya, dsb.). Sebenarnya, itu sahaja. Kemudian ada kegembiraan lain dalam hidup, iaitu, sekali lagi, semuanya seperti biasa.

Nota penting untuk diingati

Apabila membuat atau memadam serbuan ( 1 -serangan ke-kelihatan tidak terpakai, tetapi bukan fakta) semua maklumat tidak dapat dielakkan dipadamkan dari cakera, dan oleh itu jelas tidak berbaloi hanya menjalankan eksperimen dengan mencipta dan memadam pelbagai konfigurasi. Oleh itu, sebelum membuat serbuan, simpan dahulu semua maklumat yang diperlukan(jika ada), dan kemudian bereksperimen.

Bagi konfigurasi.. Seperti yang saya katakan, SERBUAN Terdapat beberapa jenis tatasusunan (sekurang-kurangnya dari asas utama, ini adalah RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6). Sebagai permulaan, saya akan bercakap tentang dua, yang paling mudah difahami dan popular di kalangan pengguna biasa:

  • RAID 0- tatasusunan cakera untuk meningkatkan kelajuan\rekod.
  • SERBU 1- susunan cakera cermin.

Dan pada penghujung artikel saya akan segera membincangkan yang lain.

RAID 0 - apakah itu dan dengan apa ia dimakan?

Jadi.. RAID 0(aka, stripe ("Striping") - digunakan daripada dua hingga empat (lebih - kurang kerap) cakera keras yang memproses maklumat secara bersama, yang meningkatkan prestasi. Untuk menjelaskannya, lebih lama dan lebih sukar untuk seorang membawa beg daripada empat (walaupun beg itu tetap sama dalam sifat fizikalnya, hanya kuasa yang berinteraksi dengannya berubah). Secara pemrograman, maklumat mengenai jenis serbuan ini dibahagikan kepada blok data dan ditulis kepada kedua-dua / beberapa cakera secara bergilir-gilir.

Satu blok data pada satu cakera, satu blok data pada satu lagi, dan seterusnya. Oleh itu, prestasi meningkat dengan ketara (kepelbagaian peningkatan prestasi bergantung pada bilangan cakera, iaitu cakera ke-4 akan berjalan lebih cepat daripada dua), tetapi keselamatan data pada keseluruhan tatasusunan terjejas. Sekiranya berlaku kegagalan mana-mana yang termasuk dalam itu SERBUAN cakera keras (iaitu cakera keras) hampir sepenuhnya dan tidak dapat dipulihkan kehilangan semua maklumat.

kenapa? Hakikatnya setiap fail terdiri daripada bilangan bait tertentu.. setiap satunya membawa maklumat. Tetapi dalam RAID 0 tatasusunan bait satu fail boleh didapati pada beberapa cakera. Sehubungan itu, jika salah satu cakera "mati", bilangan bait sewenang-wenangnya fail akan hilang dan mustahil untuk memulihkannya. Tetapi fail itu bukan sahaja.

Secara umum, apabila menggunakan tatasusunan serbuan sedemikian, adalah sangat disyorkan untuk membuat maklumat berharga kekal pada media luaran. Serbuan benar-benar memberikan kelajuan yang ketara - saya memberitahu anda perkara ini pengalaman sendiri, kerana kebahagiaan itu telah bertapak di rumah saya selama bertahun-tahun.

RAID 1 - apakah itu dan dengan apa ia dimakan?

Bagaimana pula dengan RAID 1(Mirroring - "cermin").. Sebenarnya, saya akan mulakan dengan kelemahan. Tidak seperti RAID 0 nampaknya anda "kehilangan" kelantangan kedua keras cakera (ia digunakan untuk menulis kepadanya salinan penuh (bait untuk bait) yang pertama cakera keras manakala RAID 0 boleh diakses sepenuhnya).

Kelebihannya, seperti yang telah anda fahami, ialah ia mempunyai kebolehpercayaan yang tinggi, iaitu semuanya berfungsi (dan semua data wujud secara semula jadi, dan tidak hilang dengan kegagalan salah satu peranti) selagi sekurang-kurangnya satu cakera berfungsi , i.e. walaupun satu cakera dilumpuhkan secara kasar, anda tidak akan kehilangan satu bait maklumat, kerana yang kedua ialah salinan bersih yang pertama dan menggantikannya apabila ia gagal. Serbuan sedemikian sering digunakan dalam pelayan kerana daya hidup yang tidak waras data, yang penting.

Dengan pendekatan ini, prestasi dikorbankan dan, mengikut perasaan peribadi, ia lebih rendah daripada apabila menggunakan satu cakera tanpa sebarang serbuan di sana. Walau bagaimanapun, bagi sesetengah orang, kebolehpercayaan adalah lebih penting daripada prestasi.

RAID 2, 3, 4, 5, 6 - apakah itu dan dengan apa mereka makan?

Penerangan tatasusunan ini ada di sini sama seperti, i.e. semata-mata untuk rujukan, dan walaupun dalam bentuk mampat (sebenarnya, hanya yang kedua diterangkan). Kenapa begitu? Sekurang-kurangnya disebabkan oleh populariti rendah tatasusunan ini di kalangan pengguna purata (dan, secara amnya, mana-mana yang lain) dan, akibatnya, sedikit pengalaman menggunakannya oleh saya.

SERBU 2 dikhaskan untuk tatasusunan yang menggunakan kod Hamming tertentu (saya tidak berminat dengan apa itu, oleh itu saya tidak akan memberitahu). Prinsip operasi adalah seperti ini: data ditulis ke peranti yang sepadan dengan cara yang sama seperti dalam RAID 0, iaitu ia dibahagikan kepada blok kecil merentasi semua cakera yang terlibat dalam menyimpan maklumat.

Baki cakera (yang diperuntukkan khas untuknya) menyimpan kod pembetulan ralat, mengikut mana, sekiranya berlaku kegagalan cakera keras, maklumat boleh dipulihkan. Tobish dalam tatasusunan jenis ini, cakera dibahagikan kepada dua kumpulan - untuk data dan untuk kod pembetulan ralat

Sebagai contoh, anda mempunyai dua cakera yang menjadi tempat untuk sistem dan fail, dan dua lagi akan dikhaskan sepenuhnya untuk data pembetulan sekiranya dua cakera pertama gagal. Sebenarnya, ini adalah seperti serbuan sifar, hanya dengan keupayaan untuk menyimpan maklumat entah bagaimana sekiranya berlaku kegagalan salah satu cakera keras. Jarang mahal - empat cakera bukannya dua dengan peningkatan yang sangat kontroversial dalam keselamatan.

SERBUAN 3, 4, 5, 6.. Tentang mereka, tidak kira betapa peliknya kedengaran di halaman laman web ini, cuba baca di Wikipedia. Hakikatnya ialah dalam hidup saya, saya jarang menjumpai tatasusunan ini (kecuali tatasusunan yang kelima datang lebih kerap daripada yang lain) dan saya tidak dapat menerangkan prinsip kerja mereka dalam perkataan yang boleh diakses, tetapi saya sangat tidak mahu untuk mencetak semula artikel dari sumber yang dicadangkan di atas, sekurang-kurangnya dalam kekuatan kehadiran dalam rumusan marah ini, yang walaupun saya faham dengan berderit.

RAID mana yang patut anda pilih?

Jika anda bermain permainan, sering menyalin muzik, filem, memasang program yang banyak menggunakan sumber, maka anda pasti akan berguna RAID 0. Tetapi berhati-hati apabila bersungguh-sungguh memilih cakera - dalam kes ini, kualitinya amat penting - atau pastikan anda membuat sandaran ke media luaran.

Jika anda bekerja dengan maklumat yang berharga, yang kehilangan adalah sama dengan kematian, maka anda pasti memerlukan SERBU 1- amat sukar untuk kehilangan maklumat dengannya.

Saya ulangi itu sangat adalah wajar bahawa cakera dipasang SERBUAN tatasusunan adalah sama jantina. Saiz, syarikat, siri, saiz cache - semuanya sebaiknya sama.

Akhir kata

Berikut adalah perkara-perkaranya.

Dengan cara ini, saya menulis dalam artikel bagaimana untuk memasang keajaiban ini: " Bagaimana untuk mencipta tatasusunan RAID kaedah biasa ", tetapi kira-kira beberapa parameter dalam bahan " RAID 0 daripada dua SSD - ujian praktikal dengan Baca Di Hadapan dan Cache Baca". Gunakan carian.

Saya sangat berharap bahawa artikel ini akan berguna kepada anda dan anda pasti akan menjadikan diri anda serbuan dari satu jenis atau yang lain. Percayalah, ia berbaloi.

Untuk soalan tentang membuat dan mengkonfigurasinya, secara umum, anda boleh menghubungi saya dalam ulasan - Saya akan cuba membantu (jika terdapat arahan untuk papan induk anda pada rangkaian). Saya juga akan gembira dengan sebarang penambahan, kehendak, pemikiran dan segala-galanya.

Beberapa tahun yang lalu saya memberi amaran bahawa RAID 5 akan berhenti berfungsi pada tahun 2009. Sudah tentu penyedia storan rangkaian tidak mengesyorkan RAID 5. Mereka kini mengesyorkan RAID 6 yang melindungi daripada dua kegagalan pemacu dalam tatasusunan. Tetapi pada tahun 2019, walaupun RAID 6 tidak akan melindungi data anda. sebab tu.

SERBUAN 6 = (SERBUHAN 5) 2

Saya menulis bahawa RAID 6 juga akan mempunyai seumur hidup yang terhad:

…RAID 6 tidak akan memberi anda perlindungan lagi dalam beberapa tahun berbanding RAID 5 hari ini. Ini bukan kesalahan RAID 6. Sebaliknya, ia disebabkan oleh peningkatan kapasiti cakera dan bilangan ralat bacaan maut yang berterusan.

Kembali pada Disember 2009, jurutera SUN, arkitek kilat dan pembangun ZFS Adam Leventhal membuat analisis jangka hayat RAID 6 sebagai strategi perlindungan data yang berdaya maju. Dia menerbitkannya dalam majalah ACM dalam artikel "RAID Triple Parity and Beyond," petikan yang saya gunakan dalam artikel ini.

Berita baik: Leventhal mendapati bahawa tahap perlindungan RAID 6 akan sama baik sepanjang 2019 seperti RAID 5 dahulu.

Berita buruk: Loewenthal menganggap cakera itu lebih dipercayai daripada yang sebenarnya. Jadi masa mungkin lebih singkat jika pengeluar cakera tidak melompat masuk. Dan satu lagi berita baik: salah satu syarikat sudah mempunyai cakera sedemikian - dan saya akan memberitahu anda siapa itu.

Intipati masalah

Tatasusunan RAID ialah pengawal (atau program) yang menggabungkan sekumpulan cakera menjadi satu cakera besar dengan menggunakan formula matematik. Pengawal menambah pada pemacu blok tambahan jumlah semak, supaya kehilangan satu atau dua cakera tidak membawa kepada kehilangan maklumat (selepas ini kita bercakap tentang tatasusunan RAID 5 dan 6, bukan RAID 0, 1 atau 10). Checksum membolehkan anda memulihkan data daripada cakera yang telah terkeluar daripada tatasusunan, dan apabila menggantikan cakera, bina semula kandungannya.

Masalah dengan RAID 5 ialah cakera keras mempunyai ralat membaca. DALAM pemacu SATA spesifikasi membenarkan kadar ralat baca (URE) yang tidak boleh dibetulkan sebanyak 10 14 . Ini bermakna bahawa sekali setiap 10 14 bit pemacu tidak akan dapat membaca data.

10 14 bit = 100000000000000/8/512 sektor = 24414062500 sektor

saiz sebenar cakera 2TB = 3,907,029,168 sektor

Apabila dalam array RAID 5 daripada 7 pemacu SATA 2TB satu cakera keras gagal, meninggalkan anda dengan 6 pemacu 2TB. Dan semasa pengawal RAID sedang melakukan pembinaan semula, kemungkinan besar ralat baca (URE) akan berlaku. Selepas ralat ini, pembinaan semula tatasusunan RAID menjadi mustahil.

Kebarangkalian pembinaan semula akan berjaya ditamatkan: (1 - 1 / (24,414,062,500)) ^ (6 * 3,907,029,168) ≈ 0.38

Secara keseluruhan, terdapat 62% kemungkinan kehilangan data disebabkan ralat bacaan maut dalam tatasusunan RAID5 tujuh pemacu SATA dengan satu pemacu gagal.

SERBU 6

RAID 6 menyelesaikan masalah ini dengan mencipta jumlah semak kedua. Anda boleh kehilangan satu pemacu, menangkap ralat baca URE, dan masih berjaya membina semula.

Kebarangkalian bahawa RAID6 membina semula pada 7 pemacu SATA akan berjaya diselesaikan: ((1 – 1 /(24 414 062 500)) ^ (6*3 907 029 168))+(1-(1 – 1 /(24 414 062 500) )) ^ (6*3 907 029 168))*((1 – 1 /(24 414 062 500)) ^ (5*3 907 029 168)) ≈ 0.66

Apa masalahnya?

Terdapat beberapa masalah:

  • Masa membina semula tatasusunan yang panjang. Apabila kapasiti cakera keras bertambah, begitu juga masa membina semula. Purata pemacu data 7200 RPM sekitar 115MB/saat - dan kelajuan menulis berkurangan apabila pemacu penuh - mengambil masa sekurang-kurangnya 5 jam untuk pulih pemanduan teruk. Tetapi kebanyakan tatasusunan tidak mampu membina semula pada kadar binaan semula sepantas mungkin, jadi biasanya ia mengambil masa 2-5 kali lebih lama untuk membina semula.
  • Lebih banyak pepijat tersembunyi. Tatasusunan perusahaan menggunakan penyentalan cakera latar belakang untuk mencari dan membetulkannya kesilapan yang mungkin cakera sebelum mereka berasa sendiri. Tetapi apabila ruang cakera meningkat, menyental cakera mengambil masa yang lebih lama. DALAM tatasusunan yang besar cakera mungkin tidak diperiksa selama berbulan-bulan, yang bermaksud lebih banyak pepijat apabila membina semula tatasusunan.
  • Hubungan antara kegagalan cakera. Penyokong RAID menganggap bahawa kegagalan pemacu adalah peristiwa bebas. Tetapi pengalaman bertahun-tahun telah menunjukkan bahawa ini tidak berlaku: kegagalan satu pemacu dalam tatasusunan menjadikan pemacu lain lebih berkemungkinan gagal.

Memudahkan: pemacu besar= membina semula lebih lama + lebih banyak pepijat tersembunyi -> lebih banyak peluang kegagalan RAID 6.

Ramalan Leventhal tentang kebolehpercayaan relatif RAID dengan pariti tunggal dan berganda

Menjelang 2019, RAID 6 tidak akan lebih dipercayai daripada RAID 5 hari ini.

kesimpulan

Bagi pengguna korporat, output ini akan menjadi informasi berguna. Walaupun pariti tiga kali ganda dalam tatasusunan akan menyelesaikan masalah keselamatan data, terdapat pertukaran penting yang perlu dibuat.

Pertimbangkan tatasusunan 21 cakera. Ia mengambil masa seminggu hanya untuk membina semula tatasusunan, jadi secara purata tatasusunan sentiasa berfungsi mod terhad pemulihan (mod bina semula terdegradasi). Peralihan penuh pada rim 2.5″? Keusangan fungsi tatasusunan semasa bernilai berjuta-juta dolar?

Pengguna biasa boleh berehat. Home RAID adalah idea yang tidak baik di tempat pertama, lakukan lebih kerap sandaran dari cakera ke cakera dan gunakan perkhidmatan sandaran dalam talian untuk data berharga.

Dan titik terakhir, Leventhal dalam pengiraannya menggunakan kadar ralat cakera 10 ^ 16. Ini benar untuk pemacu keras perusahaan yang kecil, pantas dan mahal, tetapi kebanyakan pemacu SATA2 biasa mempunyai URE yang susunan magnitudnya lebih rendah pada 10^14. Dengan satu pengecualian: model roda WD20EADS Caviar Green daripada syarikat itu digital barat mengikut spesifikasi ia mempunyai pekali URE 10^15.

Tahap 5 ialah susunan cakera bebas dengan storan checksum teragih.

Blok data dan jumlah semak ditulis dalam bulatan kepada semua cakera tatasusunan, jadi tiada asimetri dalam konfigurasi cakera. Skim sedemikian tidak memerlukan cakera khusus untuk menyimpan maklumat checksum.

Kelantangan susunan cakera RAID5 dikira menggunakan formula (n-1)*V.hdd , dengan n ialah bilangan pemacu dalam tatasusunan dan V.hdd ialah saiz pemacu terkecil. Oleh itu, dalam kes membina RAID 5, semua cakera dalam tatasusunan mesti mempunyai saiz yang sama. Di mana kapasitansi terhasil subsistem cakera boleh tulis dikurangkan dengan tepat satu cakera. Contohnya, jika lima cakera ialah 10 GB, maka saiz sebenar tatasusunan ialah 40 GB, kerana 10 GB diperuntukkan untuk maklumat pariti.

RAID 5, seperti RAID 4, mempunyai seni bina akses bebas. Berbanding dengan RAID 3, ia menyediakan saiz besar blok logik untuk menyimpan maklumat. Oleh itu, seperti dalam kes RAID 4, tatasusunan sedemikian memberikan faedah utama apabila memproses berbilang permintaan secara serentak. Merumuskan kelebihan, kita boleh mengatakan perkara berikut - dalam RAID 5, sumber pengkomputeran tambahan dibelanjakan untuk merakam maklumat dan, akibatnya, prestasi menurun. Tetapi apabila membaca (berbanding dengan yang berasingan pemacu HDD) terdapat faedah prestasi, kerana aliran data daripada pelbagai cakera tatasusunan diproses secara selari.

Daripada kekurangan perlu diingatkan bahawa Prestasi RAID tahap ini dikurangkan sebanyak 10-25% berbanding dengan RAID 1 pada operasi Random Write (menulis dalam susunan rawak), kerana ia memerlukan lebih banyak operasi cakera kerana setiap operasi tulis pelayan digantikan pada pengawal RAID dengan tiga - satu operasi baca dan dua operasi tulis.

Jika salah satu cakera gagal, kebolehpercayaan tatasusunan menurun secara besar-besaran ke tahap RAID 0 (apabila data ditulis secara berurutan ke beberapa cakera dengan sifar redundansi). Pada masa yang sama, semakin besar bilangan cakera dalam tatasusunan, semakin rendah kebolehpercayaan, ia berkurangan dalam gandaan bilangan cakera. Pada masa ini sistem berada dalam mod kritikal. semua operasi baca dan tulis disertakan dengan manipulasi tambahan. Jika cakera ke-2 gagal atau kesilapan mudah membaca - tatasusunan akan dimusnahkan dan data tidak boleh dipulihkan dengan kaedah tradisional.

Ia juga harus diambil kira bahawa proses memulihkan data selepas kegagalan mana-mana cakera dalam tatasusunan menyebabkan beban baca intensif dari cakera untuk masa yang lama. Ini boleh menyebabkan salah satu pemacu gagal semasa tempoh operasi RAID yang paling terdedah ini, serta mendedahkan kegagalan bacaan yang tidak dapat dikesan sebelum ini dalam tatasusunan data yang lembap, yang meningkatkan risiko kegagalan semasa pemulihan integriti data.

Bilangan minimum cakera untuk mengatur RAID5 ialah 3


Kami telah menghadapi masalah sedemikian sehingga kebanyakan pelayan yang dibeli oleh pengguna program kami datang dengan tatasusunan cakera yang dikonfigurasikan dalam RAID 5. Selepas itu pentadbir sistem tidak mahu membuang masa untuk mengkonfigurasi semula, atau hanya takut untuk menukar sesuatu dalam komputer yang telah dikonfigurasikan dan berfungsi. Akibatnya, prestasi bekerja dengan pangkalan data yang dipasang pada pelayan sedemikian ternyata kurang daripada yang lama, yang bekerja di perusahaan selama 3-4 tahun. Mungkin, keinginan vendor untuk mengkonfigurasi tatasusunan cakera dalam RAID tahap kelima boleh dijelaskan oleh keinginan untuk mengejutkan pelanggan dengan saiz yang besar. ruang cakera. Pentadbir sistem, sebaliknya, selalunya tidak mempunyai pengetahuan yang mencukupi tentang cara tatasusunan RAID satu tahap atau yang lain berfungsi. Tujuan artikel ini adalah untuk menjawab dua soalan:

Mengapa RAID 5 tidak boleh digunakan untuk pelayan pangkalan data?

Apakah cara terbaik untuk mengkonfigurasi pengawal RAID untuk menjadi hos pangkalan data pelayan Firebird?

Mari buat tempahan dengan segera bahawa kesimpulan yang dibuat dalam artikel ini tidak terpakai pada kes yang jarang berlaku apabila pangkalan data digunakan secara eksklusif (atau terutamanya) untuk membaca.

Bagaimanakah RAID 5 berfungsi?

Mari kita pertimbangkan gambarajah ringkas pengendalian tatasusunan empat cakera. Salah satu cakera diperuntukkan untuk menyimpan checksum. Tiga tersedia untuk penempatan data. Dalam rajah di bawah, pemacu muatan dinamakan A, B dan C. Pemacu D menyimpan jumlah semak.

Jumlah minimum maklumat yang pengawal membaca atau menulis daripada satu cakera dipanggil jalur(jalur). Parameter kebanyakan pengawal yang kami temui tidak menunjukkan saiz jalur, tetapi saiznya jalur(jalur) - blok maklumat yang diedarkan kepada semua cakera tatasusunan. Dalam rajah di bawah, satu jalur diserlahkan dalam warna yang lebih gelap:


Saiz jalur adalah sama dengan saiz jalur didarab dengan bilangan cakera dalam tatasusunan. Itu. dalam kes empat cakera dan saiz jalur 64K, jumlah minimum maklumat yang pengawal boleh tulis atau baca daripada cakera ialah 64 / 4 = 16K.

Jumlah semak yang pergi ke pemacu D dikira menggunakan formula berikut:

D = Axor Bxor C

Terima kasih kepada transitivity operasi xor dalam kes kegagalan salah satu cakera dengan maklumat berguna, ia boleh dipulihkan dengan xoring data cakera yang tinggal, termasuk cakera dengan checksum. Sebagai contoh, cakera B gagal.


Apabila meminta blok maklumat daripada cakera B, pengawal akan memulihkannya mengikut formula:

B = Axor Cxor D

Pelayan Firebird berkomunikasi dengan subsistem cakera halaman data. Saiz optimum Saiz halaman ialah 8K dalam kebanyakan kes, yang jauh lebih kecil daripada saiz jalur dan dalam kebanyakan kes lebih kecil daripada saiz jalur. Situasi apabila halaman berturut-turut ditulis ke cakera juga agak jarang berlaku. Oleh itu, jika dalam contoh maklumat kami ditulis pada cakera A, maka pengawal perlu melakukan operasi berikut:

  1. Baca data jalur dari pemacu B dan C. Dua operasi baca.
  2. Kirakan jumlah semak baharu. Dua operasi xor.
  3. Tulis maklumat untuk memandu A dan checksum untuk memandu D. Dua operasi tulis.

Jumlah, dua bacaan, dua tulis dan dua operasi xor. Adalah mengejutkan jika, memandangkan jumlah kerja ini, pencapaian keseluruhan tidak jatuh. Kini menjadi jelas mengapa RAID 5 tidak sesuai untuk mengehos fail pangkalan data.

penting ciri RAID 5 ialah penurunan prestasi yang ketara apabila salah satu cakera dalam tatasusunan gagal. Lagipun, sekarang, untuk memulihkan maklumat dari cakera ini, adalah perlu untuk membaca dan rexor data dari semua cakera lain.

Walau bagaimanapun, seperti mana-mana peraturan, peraturan kami juga mempunyai pengecualiannya. Prestasi tatasusunan cakera RAID 5 tidak akan direndahkan jika saiz cache tidak meruap pengawal setanding dengan saiz fail pangkalan data. Sebagai contoh, dengan saiz memori cache 512 MB, adalah mungkin untuk menggunakan tatasusunan RAID peringkat kelima untuk pangkalan sehingga 1-1.5 GB. Dengan syarat pelayan didedikasikan hanya untuk bekerja dengan pangkalan data dan tidak melaksanakan tugas lain.

Perlu diingat bahawa skim operasi RAID 5 di atas atas sebab metodologi serius dipermudahkan. Pada hakikatnya, pengawal mengedarkan jalur secara kitaran merentasi semua cakera dalam tatasusunan, jadi tiada cakera khusus untuk menyimpan checksum. Semua cakera menyimpan kedua-dua data dan jumlah semak jalur yang berbeza, yang membolehkan anda meratakan beban padanya.

Tahap RAID yang manakah untuk dipilih?

Jika RAID 5 tidak sesuai, maka tahap apakah yang harus saya pilih untuk mengehoskan fail pangkalan data? Jika bilangan cakera kurang daripada empat, satu-satunya pilihan ialah cermin (cermin) - RAID 1. Jika tatasusunan mempunyai empat atau lebih cakera, maka RAID 10 adalah optimum dari segi prestasi dan kebolehpercayaan - menggabungkan (RAID 0) beberapa cermin (RAID 1). Kadangkala anda boleh melihat ejaan sebagai RAID 1 + 0. Rajah di bawah menunjukkan Tatasusunan RAID 10 daripada empat cakera. Data satu jalur diserlahkan dalam nada gelap. Penetasan menunjukkan pendua jalur ini.

Kami juga ambil perhatian bahawa jika tatasusunan RAID 5 boleh bertahan kehilangan hanya satu cakera, maka RAID 10 m cermin dua cakera akan bertahan kehilangan satu kepada m cakera, dengan syarat tidak lebih daripada satu cakera dalam setiap cermin gagal.

Mari cuba bandingkan secara kuantitatif tatasusunan RAID 5 dan RAID 10, setiap satunya mempunyai n cakera. n ialah gandaan dua. Mari kita ambil saiz blok data baca/tulis sama dengan saiz jalur. Jadual di bawah menunjukkan bilangan operasi baca/tulis dan xoring data yang diperlukan.


Ia jelas dilihat bahawa array RAID 10 bukan sahaja mempunyai lebih prestasi tinggi semasa menulis, tetapi juga tidak membenarkan penurunan umum dalam prestasi apabila satu cakera gagal.

Bagaimana untuk menyediakan pengawal RAID?

Saiz cache

Lebih besar lebih bagus. Perkara utama ialah pengawal mempunyai bateri (akumulator) untuk menyimpan kandungan memori semasa kegagalan kuasa kecemasan. Dalam kebanyakan pengawal, bateri tidak disertakan sebagai standard dan mesti dipesan secara berasingan. Tanpa bateri, cache tulis akan dilumpuhkan.

Tahap RAID

RAID 10. Jika bilangan cakera kurang daripada empat, maka RAID 1 (cermin). kenapa? Baca artikel dari awal.

Saiz jalur

Saiz halaman pangkalan data didarab dengan bilangan cermin dalam tatasusunan. Sebagai contoh, jika terdapat 8 cakera dalam tatasusunan, digabungkan menjadi empat cermin dua cakera setiap satu, dan saiz halaman pangkalan data ialah 8K, maka saiz jalur hendaklah ditetapkan kepada 8 * 4 = 32K.

Pra-bacaan

Memandangkan akses berurutan ke halaman pangkalan data sangat jarang berlaku, dan mereka sendiri, akibat pemecahan, boleh berada dalam tempat berbeza cakera, baca ke hadapan harus dilumpuhkan, atau mod penyesuaian harus digunakan (baca ke hadapan sekiranya akses berurutan kepada dua halaman berturut-turut).

Tulis dasar cache

Pilih mod tulis balik. Data akan dicache dan kemudian ditulis ke cakera. Operasi tulis akan dianggap selesai serta-merta selepas data diletakkan dalam cache.

Cakera ganti

Jika keupayaan pengawal membenarkan, maka disyorkan untuk dimasukkan ke dalam tatasusunan cakera sandaran. cakera sedemikian mod biasa kerja adalah dalam stand by state. Dalam kes kegagalan salah satu pemacu keras yang berfungsi, cakera sandaran ditambah secara automatik pada tatasusunan.

© Andrey Egorov, 2005, 2006. Kumpulan syarikat TIM.

Pelawat forum bertanya kepada kami soalan: "Apakah tahap RAID yang paling boleh dipercayai?" Semua orang tahu bahawa RAID5 adalah tahap yang paling biasa, tetapi ia sama sekali tidak mempunyai kelemahan serius yang tidak jelas kepada bukan pakar.

RAID 0, RAID 1, RAID 5, RAID6, RAID 10 atau apakah tahap RAID?

Dalam artikel saya, saya akan cuba mencirikan tahap RAID yang paling popular, dan kemudian merumuskan cadangan untuk menggunakan tahap ini. Untuk menggambarkan artikel ini, saya telah membina carta yang meletakkan tahap ini dalam ruang tiga dimensi kebolehpercayaan, prestasi dan keberkesanan kos.

JBOD(Hanya Sekumpulan Cakera) ialah jarak pemacu keras yang ringkas, yang bukan tahap RAID secara rasmi. Kelantangan JBOD boleh menjadi tatasusunan cakera tunggal atau gabungan berbilang cakera. Pengawal RAID tiada pengiraan diperlukan untuk berfungsi dengan volum sedemikian. Dalam rajah kami, JBOD berfungsi sebagai "biasa" atau titik permulaan - kebolehpercayaan, prestasi dan nilai kosnya adalah sama dengan pemacu keras tunggal.

RAID 0(“Striping”) tidak mempunyai redundansi, dan mengedarkan maklumat sekaligus merentas semua cakera yang disertakan dalam tatasusunan dalam bentuk blok kecil (“jalur”). Ini sangat meningkatkan prestasi, tetapi mengalami kebolehpercayaan. Seperti dalam kes JBOD, untuk wang kita, kita mendapat 100% daripada kapasiti cakera.

Biar saya terangkan mengapa kebolehpercayaan storan data pada mana-mana volum komposit berkurangan - kerana jika mana-mana cakera keras yang disertakan di dalamnya gagal, semua maklumat akan hilang sepenuhnya dan tidak dapat dipulihkan. Selaras dengan teori kebarangkalian, secara matematik, kebolehpercayaan volum RAID0 adalah sama dengan hasil darab kebolehpercayaan cakera konstituennya, setiap satunya kurang daripada satu, jadi jumlah kebolehpercayaan jelas lebih rendah daripada kebolehpercayaan mana-mana cakera. .

Tahap yang baik - SERBU 1("Cermin", "cermin"). Ia mempunyai perlindungan terhadap kegagalan separuh daripada perkakasan yang tersedia (dalam kes umum, salah satu daripada dua pemacu keras), memberikan kelajuan tulis yang boleh diterima dan keuntungan dalam kelajuan baca disebabkan oleh selari pertanyaan. Kelemahannya ialah anda perlu membayar kos dua cakera keras, mendapatkan kapasiti boleh guna satu cakera keras.

Pada mulanya, diandaikan bahawa cakera keras adalah perkara yang boleh dipercayai. Sehubungan itu, kebarangkalian kegagalan dua cakera sekali gus adalah sama (mengikut formula) dengan hasil darab kebarangkalian, i.e. perintah magnitud lebih rendah! Malangnya, kehidupan sebenar- bukan teori! Dua cakera keras diambil dari kumpulan yang sama dan berfungsi di bawah keadaan yang sama, dan jika salah satu cakera gagal, beban pada baki satu meningkat, oleh itu, dalam amalan, jika salah satu cakera gagal, langkah segera harus diambil - untuk memulihkan redundansi semula. Untuk melakukan ini, dengan mana-mana tahap RAID (kecuali sifar), adalah disyorkan untuk menggunakan cakera ganti panas tempat simpanan panas. Kelebihan pendekatan ini adalah untuk mengekalkan kebolehpercayaan kekal. Kelemahannya ialah kos yang lebih besar (iaitu kos 3 cakera keras untuk menyimpan volum satu cakera).

Cermin pada banyak pemacu adalah satu tahap SERBU 10. Apabila menggunakan tahap ini, pasangan cakera yang dicerminkan berbaris dalam "rantai", jadi volum volum yang terhasil boleh melebihi kapasiti cakera keras tunggal. Kelebihan dan kekurangan adalah sama seperti tahap RAID1. Seperti dalam kes lain, adalah disyorkan untuk memasukkan alat ganti panas HotSpare dalam tatasusunan pada kadar satu ganti untuk lima pekerja.

SERBUAN 5, sememangnya, peringkat yang paling popular - terutamanya disebabkan oleh ekonominya. Berkorban demi kelebihan kapasiti hanya satu cakera daripada tatasusunan, kami mendapat perlindungan daripada kegagalan mana-mana cakera keras volum. Kos menulis maklumat ke jilid RAID5 ialah sumber tambahan, kerana pengiraan tambahan diperlukan, tetapi apabila membaca (berbanding dengan pemacu keras yang berasingan), terdapat keuntungan, kerana aliran data dari beberapa pemacu tatasusunan adalah selari.

Kelemahan RAID5 muncul apabila salah satu cakera gagal - keseluruhan volum masuk ke mod kritikal, semua operasi tulis dan baca disertai dengan manipulasi tambahan, prestasi menurun secara mendadak, cakera mula panas. Jika tindakan segera tidak diambil, anda boleh kehilangan keseluruhan volum. Oleh itu, (lihat di atas) pemacu Hot Spare mesti digunakan dengan volum RAID5.

Selain asas Tahap RAID 0 - RAID5, diterangkan dalam standard, terdapat gabungan tahap RAID10, RAID30, RAID50, RAID15, yang pelbagai pengeluar mentafsir setiap satu dengan cara mereka sendiri.

Intipati gabungan tersebut secara ringkas adalah seperti berikut. RAID10 ialah gabungan satu dan sifar (lihat di atas). RAID50 ialah kumpulan jilid "0" peringkat ke-5. RAID15 ialah "cermin" bagi "lima". Dan sebagainya.

Oleh itu, tahap gabungan mewarisi kelebihan (dan keburukan) "ibu bapa" mereka. Jadi, penampilan "sifar" dalam tahap RAID 50 tidak menambah apa-apa kebolehpercayaan kepadanya, tetapi ia mempunyai kesan positif terhadap prestasi. Tahap SERBU 15, mungkin sangat boleh dipercayai, tetapi ia bukan yang terpantas dan, lebih-lebih lagi, sangat tidak ekonomik (kapasiti volum yang boleh digunakan adalah kurang daripada separuh saiz susunan cakera asal).

SERBU 6 berbeza daripada RAID 5 kerana setiap baris data (dalam bahasa Inggeris belang) tidak mempunyai satu, tetapi dua blok checksum. Checksum adalah "berbilang dimensi", i.e. bebas antara satu sama lain, jadi walaupun kegagalan dua cakera dalam tatasusunan membolehkan anda menyimpan data asal. Pengiraan checksum Reed-Solomon memerlukan pengiraan yang lebih intensif berbanding RAID5, jadi tahap keenam secara praktikalnya tidak digunakan sebelum ini. Kini ia disokong oleh banyak produk, kerana mereka mula memasang litar mikro khusus yang melakukan semua operasi matematik yang diperlukan.

Menurut beberapa kajian, pemulihan selepas kegagalan pemacu tunggal pada volum RAID5 yang terdiri daripada pemacu SATA besar (400 dan 500 gigabait) berakhir dalam 5% kes dengan kehilangan data. Dalam erti kata lain, dalam satu kes daripada dua puluh, semasa penjanaan semula tatasusunan RAID5 pada cakera Hot Spare, cakera kedua mungkin gagal ... Oleh itu cadangan pemacu RAID terbaik: 1) Sentiasa membuat sandaran; 2) penggunaan RAID6!

Tahap baharu RAID1E, RAID5E, RAID5EE telah muncul baru-baru ini. "E" dalam nama itu bermaksud Dipertingkatkan.

RAID tahap-1 Dipertingkatkan (RAID tahap-1E) menggabungkan pencerminan dan jalur data. Campuran tahap 0 dan 1 ini disusun seperti berikut. Data dalam baris diedarkan tepat seperti dalam RAID 0. Iaitu, baris data tidak mempunyai sebarang redundansi. Baris seterusnya blok data menyalin yang sebelumnya dengan anjakan satu blok. Oleh itu, seperti dalam mod standard RAID 1 setiap blok data mempunyai salinan cermin pada salah satu cakera, jadi saiz tatasusunan yang boleh digunakan adalah sama dengan separuh daripada jumlah data yang disertakan dalam susunan keras cakera. RAID 1E memerlukan pengumpulan tiga atau lebih pemacu.

Saya sangat suka tahap RAID1E. Untuk grafik yang berkuasa stesen kerja atau pun untuk komputer rumahpilihan yang optimum! Ia mempunyai semua kelebihan tahap sifar dan pertama - kelajuan yang sangat baik dan kebolehpercayaan yang tinggi.

Mari kita beralih ke tahap RAID tahap-5 Dipertingkatkan (RAID tahap-5E). Ini adalah sama seperti RAID5, hanya dengan pemacu ganti terbina dalam tatasusunan. pemacu ganti. Pembenaman ini dilakukan seperti berikut: pada semua cakera tatasusunan, 1/N ruang dibiarkan kosong, yang, jika salah satu cakera gagal, digunakan sebagai alat ganti panas. Disebabkan ini, RAID5E menunjukkan, bersama-sama dengan kebolehpercayaan prestasi yang lebih baik, kerana membaca / menulis dilakukan selari dengan lebih memandu pada masa yang sama dan pemacu ganti tidak melahu, seperti dalam RAID5. Jelas sekali, cakera ganti yang disertakan dalam kelantangan tidak boleh dikongsi dengan kelantangan lain (didedikasikan lwn. dikongsi). Kelantangan RAID 5E dibina pada sekurang-kurangnya empat cakera fizikal. Saiz boleh guna isipadu logik dikira menggunakan formula N-2.

Tahap RAID-5E Dipertingkat (tahap RAID-5EE) serupa dengan tahap RAID-5E, tetapi ia mempunyai peruntukan pemacu ganti yang lebih cekap dan, akibatnya, masa pemulihan yang lebih pantas. Seperti tahap RAID5E, tahap RAID ini mengedarkan blok data dan jumlah semak dalam baris. Tetapi ia juga memperuntukkan blok pemacu ganti percuma, dan tidak hanya meninggalkan sebahagian daripada ruang cakera untuk tujuan ini. Ini mengurangkan masa yang diperlukan untuk membina semula integriti volum RAID5EE. Cakera ganti yang disertakan dalam kelantangan tidak boleh dikongsi dengan kelantangan lain - seperti dalam kes sebelumnya. Kelantangan RAID 5EE dibina pada sekurang-kurangnya empat cakera fizikal. Saiz boleh guna isipadu logik dikira menggunakan formula N-2.

Anehnya, tidak menyebut tahap SERBUAN 6E Saya tidak menemuinya di Internet - setakat ini tahap ini tidak ditawarkan atau diumumkan oleh mana-mana pengeluar. Tetapi tahap RAID6E (atau RAID6EE?) boleh dicadangkan pada prinsip yang sama seperti yang sebelumnya. Cakera tempat simpanan panas Semestinya mesti mengiringi sebarang volum RAID, termasuk RAID 6. Sudah tentu, kami tidak akan kehilangan maklumat jika satu atau dua cakera gagal, tetapi amat penting untuk mula menjana semula integriti tatasusunan secepat mungkin untuk mengeluarkan sistem dengan cepat. daripada mod "kritikal". Memandangkan keperluan untuk cakera Spare Panas adalah tidak diragui bagi kami, adalah logik untuk pergi lebih jauh dan "menyapu"nya dengan cara ia dilakukan dalam RAID 5EE untuk mendapatkan faedah menggunakan lebih cakera ( kelajuan terbaik baca-tulis atau lebih cepat sembuh integriti).

Tahap RAID dalam "nombor".

Dalam jadual saya telah mengumpul beberapa parameter penting hampir semua peringkat RAID, supaya anda boleh membandingkannya antara satu sama lain dan lebih memahami intipatinya.

Tahap
~~~~~~~

pondok-
toch-
ness
~~~~~~~

guna-
penarafan kapasiti cakera
~~~~~~~

Pengeluaran
ditel-
ness
membaca

~~~~~~~

Pengeluaran
ditel-
ness
rekod

~~~~~~~

terbina dalam
cakera
simpanan

~~~~~~~

Min. bilangan cakera
~~~~~~~

Maks. bilangan cakera

~~~~~~~

exc

exc

exc

exc

Semua tahap "cermin" ialah RAID 1, 1+0, 10, 1E, 1E0.

Mari cuba sekali lagi untuk memahami secara menyeluruh bagaimana tahap ini berbeza?

SERBU 1.
Ini adalah cermin klasik. Dua (dan hanya dua!) cakera keras bekerja sebagai satu, menjadi salinan lengkap antara satu sama lain. Kegagalan salah satu daripada dua pemacu ini tidak mengakibatkan kehilangan data anda, kerana pengawal terus berfungsi dengan pemacu yang tinggal. RAID1 dalam nombor: 2x lebihan, 2x kebolehpercayaan, 2x kos. Prestasi tulis adalah setara dengan pemacu keras tunggal. Prestasi baca adalah lebih baik kerana pengawal boleh menyebarkan bacaan pada dua pemacu.

SERBU 10.
Intipati tahap ini adalah bahawa cakera tatasusunan digabungkan secara berpasangan menjadi "cermin" (RAID 1), dan kemudian semua pasangan cermin ini, seterusnya, digabungkan menjadi tatasusunan berjalur biasa (RAID 0). Itulah sebabnya ia kadang-kadang disebut sebagai SERBU 1+0. Perkara penting– Dalam RAID 10, hanya bilangan cakera genap boleh digabungkan (minimum - 4, maksimum - 16). Kelebihan: kebolehpercayaan diwarisi daripada "cermin", daripada "sifar" - kedua-dua prestasi membaca dan menulis.

SERBUAN 1E.
Huruf "E" dalam nama bermaksud "Ditingkatkan", i.e. "diperbaiki". Prinsip penambahbaikan ini adalah seperti berikut: data "berjalur" dalam blok pada semua cakera tatasusunan, dan kemudian "berjalin" sekali lagi dengan anjakan oleh satu cakera. Dalam RAID 1E, anda boleh menggabungkan daripada tiga hingga 16 cakera. Kebolehpercayaan sepadan dengan "puluhan", dan prestasi disebabkan oleh "bergantian" yang lebih besar menjadi lebih baik sedikit.

SERBUAN 1E0.
Tahap ini dilaksanakan seperti berikut: kami mencipta tatasusunan "null" daripada tatasusunan RAID1E. Oleh itu, jumlah bilangan cakera mestilah gandaan tiga: sekurang-kurangnya tiga dan maksimum enam puluh! Dalam kes ini, kami tidak mungkin mendapat kelebihan dalam kelajuan, dan kerumitan pelaksanaan boleh menjejaskan kebolehpercayaan. Kelebihan utama ialah keupayaan untuk menggabungkan bilangan cakera yang sangat besar (sehingga 60) ke dalam satu tatasusunan.

Persamaan semua peringkat RAID 1X terletak pada penunjuk redundansi mereka: tepat 50% daripada jumlah kapasiti cakera tatasusunan dikorbankan demi kebolehpercayaan.