GNU/Linux >> Belajar Linux >  >> Linux

RAID bagi mereka yang menghindarinya

Semua perangkat keras akhirnya gagal. Ini adalah salah satu efek samping yang menyakitkan dari entropi di alam semesta kita. Untuk sebagian besar jenis perangkat keras yang digunakan dalam infrastruktur modern, hilangnya satu komponen biasanya menimbulkan sejumlah waktu henti. Selain waktu yang dibutuhkan untuk menukar sesuatu seperti CPU atau RAM yang buruk, sysadmin atau pengguna jarang melihat banyak efek buruk jangka panjang. Namun, kecuali jika admin sangat berhati-hati dengan penyimpanan, kehilangan data dari kegagalan disk dapat memiliki konsekuensi langsung dan permanen.

Ambil desktop pengguna sebagai contoh:Jika mereka menyimpan data mereka secara lokal di satu drive, maka ketika drive pasti gagal, data mereka akan hilang. Hal yang sama berlaku tidak peduli kualitas, merek, atau jenis drive. Tentu saja, ada peralatan pemulihan data yang akan dengan senang hati mengambil uang yang diperoleh dengan susah payah sebagai imbalan kemungkinan menghidupkan kembali bit dari drive yang mati. Sayangnya, biayanya dengan cepat menjadi selangit, dan bahkan spesialis tersebut gagal di beberapa titik.

Administrator memiliki sejumlah opsi yang mereka miliki untuk menangkis bencana yang mengancam:RAID, pencadangan, kluster penyimpanan jaringan, dll. Seringkali opsi ini digunakan bersama untuk menyediakan lapisan perlindungan data dan berbagai peluang untuk menghentikan masalah sebelum menjadi terlalu parah. terlambat. Membangun array disk yang berlebihan dan mengabstraksi penyimpanan dari drive tunggal adalah cara termudah dan terbaik untuk menghapus titik kegagalan tunggal ini. Menghindari larut malam dan akhir pekan yang panjang memulihkan dari cadangan (yang diharapkan, seseorang telah membuat), atau membayar biaya ekstrim ke perusahaan pemulihan, adalah tujuannya.

Apa itu RAID?

Redundant Arrays of Inexpensive Disks (RAID) adalah salah satu teknologi penyimpanan yang paling banyak digunakan dan efektif yang akan ditemukan oleh sysadmin. Menjadi nyaman dengan implementasinya yang paling umum sangat penting. RAID dapat ditawarkan sebagai solusi perangkat lunak melalui utilitas sistem operasi seperti mdadm di Linux, pengontrol RAID perangkat keras seperti jajaran kartu MegaRAID, atau bahkan chipset yang memberikan kemampuan pseudo-RAID. Pengontrol perangkat keras seperti yang ada di lini MegaRAID tidak boleh disamakan dengan adaptor bus host (HBA), namun, pengontrol tersebut dirancang untuk akses sederhana dan langsung ke disk. HBA hadir sebagai cara untuk menyediakan konektivitas tanpa kecerdasan pengontrol RAID dan selanjutnya jauh lebih murah.

Pada tingkat tinggi, konsep RAID adalah mengelompokkan kumpulan drive ke dalam larik untuk menulis data di seluruh drive tersebut. Bergantung pada konfigurasi, data akan ditulis dengan cara yang berbeda, dengan jumlah informasi paritas yang berbeda untuk membantu membangun kembali data jika terjadi kegagalan drive. Meskipun dimungkinkan untuk menggunakan berbagai jenis, kecepatan, ukuran, atau koneksi untuk drive dalam array, yang terbaik adalah membuatnya cocok sebanyak mungkin. Drive dengan ukuran berbeda hampir selalu berakhir dengan denominator umum terendah, dan drive dengan kecepatan berbeda harus menunggu pada yang paling lambat.

Namun, banyak admin lebih memilih untuk membeli drive dari produsen yang berbeda, untuk menghindari kumpulan drive yang buruk yang menyebabkan kegagalan bersamaan di seluruh anggota larik.

Tingkat RAID

Karena konfigurasi RAID diberi nama dalam level, skema penomoran menyiratkan skala perkembangan linier dari satu konfigurasi ke konfigurasi lainnya, meskipun banyak level tidak terkait satu sama lain. Setiap level RAID memiliki pro dan kontra, dan beberapa level lebih berguna daripada yang lain. Di dunia nyata, level yang paling umum adalah 0, 1, 5, 6, 10, 50, dan 60. RAID level 2, 3, 4, dan beberapa lainnya juga ada tetapi eksklusif, usang, atau jarang digunakan. Itu mungkin terdengar seperti banyak, tetapi ketika dipecah informasi ini menjadi lebih mudah dicerna.

RAID 0

Sebagian besar tingkat RAID sesuai dengan kasus penggunaan tertentu. Dimulai dengan RAID 0, kami menemukan bahwa ia dibangun tanpa mempertimbangkan redundansi internal, karena setiap disk menyediakan kapasitas penuhnya ke array sebagai penyimpanan yang dapat digunakan. Karena data dibagi dan ditulis di semua disk secara paralel, kami melihat manfaatnya. Ketika membaca dan menulis dilakukan pada array yang dikonfigurasi dengan cara ini, mereka bisa menjadi sangat cepat, karena skalanya linier ke jumlah disk yang disertakan dalam array.

Secara teknis, meskipun Anda dapat membuat satu disk menjadi larik RAID 0, Anda benar-benar akan melakukannya dengan setidaknya satu pasangan disk. Kelemahan utama RAID 0, secara umum, adalah jika ada satu disk yang hilang, seluruh array akan gagal, dan data akan hilang. Konfigurasi ini tidak cocok untuk penggunaan produksi di mana data tidak hidup di sistem lain yang mudah diakses. RAID 0 dapat menjadi pengaturan yang sangat masuk akal untuk workstation pengguna akhir yang membutuhkan kinerja tinggi, di mana workstation tersebut bukan satu-satunya rumah untuk data yang sedang dikerjakan.

RAID 1

RAID 1 dirancang dengan tujuan yang sama sekali berbeda dari RAID 0. Alih-alih menghapus data di seluruh kumpulan drive untuk kecepatan tanpa perlindungan apa pun, RAID 1 memberi administrator kemampuan untuk mencerminkan data di dua drive atau lebih untuk ketahanan. Tingkat RAID ini melakukan ini untuk menyediakan salinan (atau salinan) data lokal untuk membantu mencegah kegagalan satu drive, dan menggunakan data dari drive yang sehat untuk membangun kembali data setelah diganti.

Biasanya, mirror RAID 1 terdiri dari sepasang drive, tetapi dapat berisi tiga atau lebih, tergantung pada berapa banyak salinan blok yang harus dimiliki oleh admin secara online. Yang penting untuk ditunjukkan adalah bahwa ini bukan cadangan. Data ini ada sebagai salinan langsung dari drive dalam suatu sistem dan tidak memberikan perlindungan dari sistem pencadangan biasa. Cermin ini adalah tiruan 1:1, jadi drive harus berukuran sama, atau ruang akan hilang untuk mengakomodasi drive terkecil dalam kumpulan.

Terlepas dari jumlah disk yang ditambahkan ke larik RAID 1, kapasitas total tetap sama. Kapasitas itu adalah ukuran satu disk dalam array (yang terkecil, jika tidak identik), tetapi jumlah salinan data meningkat dengan setiap disk tambahan tanpa peningkatan kapasitas keseluruhan. Setiap disk adalah tiruan lain dari data, memberikan perlindungan lebih lanjut dari kegagalan drive individual.

Ada batasan berapa banyak disk yang dapat ditambahkan ke larik, berdasarkan perangkat lunak yang digunakan, dan/atau pengontrol yang terpasang.

RAID 2 hingga 4

RAID level 2, 3, dan 4 sudah usang, eksklusif, atau sangat jarang. Tidak mungkin banyak sysadmin akan berjalan di seluruh sistem yang menjalankan salah satu dari tiga konfigurasi ini, dan dalam keadaan normal, ini dapat diabaikan secara efektif. Jika Anda menemukan diri Anda bekerja pada sistem yang menjalankan salah satu dari ini, pilihan terbaik Anda adalah membaca dokumentasi vendor untuk mengetahui cara terbaik untuk mengelolanya.

RAID 5

Selain menggunakan RAID 0 untuk memisahkan data di seluruh kumpulan drive tanpa perlindungan, atau menggunakan RAID 1 untuk mendapatkan beberapa redundansi tetapi membatasi kapasitas, RAID 5 menawarkan jalan tengah yang hebat dengan menulis data di beberapa drive sambil memberikan tingkat redundansi ke array . RAID 5 melakukan ini dengan menulis informasi paritas ke setiap drive sehingga dapat membangun kembali data dari setiap drive.

Saat menggunakan RAID 5, persyaratan baru ikut bermain, di mana array harus menyertakan setidaknya tiga disk. Kapasitas kemudian sama dengan jumlah total disk, dikurangi ukuran salah satunya. Misalnya, RAID 5 dengan tujuh disk 2 TB menjadi 12 TB (7 x 2 adalah 14, dan minus drive adalah 12).

Ketika salah satu dari disk tersebut akhirnya gagal, administrator dapat menukarnya dan meminta sistem membangun kembali penggantinya dengan data dari sisa larik, menggunakan informasi paritas yang disebutkan sebelumnya. Ada dua kelemahan utama dari konfigurasi ini. Pertama, ada hit untuk menulis kinerja (ada overhead dalam menulis semua bit ekstra dari informasi paritas saat menulis data sebenarnya). Kedua, selama pembangunan kembali, array rentan terhadap kerugian total jika salah satu drive yang sehat juga gagal. Bergantung pada beban kerja mesin, pembangunan kembali dapat membuat lonjakan mendadak pada aktivitas drive tersebut, dan akhirnya mendorong salah satu drive yang sehat ke dalam kegagalan juga. Kekhawatiran ini adalah mengapa, saat ini, banyak admin memilih RAID 6.

RAID 6

Sebuah evolusi alami dari RAID 5, RAID 6 mengambil konsep dasar yang sama dan memperluas "drive tunggal" informasi paritas ke sepasang drive. Meskipun keseluruhan drive individual tidak digunakan untuk paritas, kapasitas keseluruhan drive digunakan di seluruh larik, dan RAID 6 menggunakan ruang senilai dua drive untuk menampung bit paritas.

Menggunakan ruang disk tambahan selanjutnya berarti jumlah minimum disk untuk larik RAID 6 naik menjadi empat. Perubahan yang tampaknya sederhana ini dapat berarti dunia yang baik dalam hal membangun kembali drive yang gagal dan masih menjalankan array. Anda dapat merasa nyaman bahwa kegagalan tambahan tidak berarti hilangnya total data yang hidup secara lokal di mesin.

RAI bersarang

Di luar level 0, 1, 5, dan 6, kami menemukan gagasan untuk menggabungkan level RAID bersama-sama untuk membuat konfigurasi baru yang menawarkan opsi penyimpanan baru. Yang paling umum dan bermanfaat adalah 10, 50, dan 60; masing-masing merupakan kombinasi dari 1, 5, dan 6 ditambah 0, masing-masing.

RAID 10

Kombinasi 1 dan 0 mungkin terdengar seperti seharusnya RAID 5 lagi, tetapi cara terbaik untuk memikirkan level bersarang ini adalah dalam dua dimensi. Untuk RAID 10 kami mengambil beberapa RAID 1 array dan garis di atasnya seolah-olah array tersebut adalah disk, membuat array RAID 0 dari mereka. Karena faktor ini, RAID 10 memerlukan setidaknya empat disk:dua untuk cermin, dan sepasang cermin itu. Apa yang kami dapatkan adalah larik dengan kecepatan seperti RAID 0 tetapi mendapat manfaat dari redundansi internal RAID 1. Sebuah larik RAID 10 hanya akan gagal jika salah satu larik RAID 1 internal gagal.

Di setiap pasangan RAID 1 (atau multi-mirror jika diinginkan oleh admin), pemulihan dimungkinkan saat disk perlu diganti, sehingga seluruh rangkaian anggota RAID 1 harus gagal agar RAID 10 itu sendiri menyerah pada kehilangan data . Membangun kembali juga berbeda. Di RAID 5, data harus dibaca dari semua drive dalam array untuk menghitung bit baru dari paritas yang telah ditulis sebelumnya. RAID 10, karena menggunakan RAID 1, membaca dari klon drive yang gagal untuk membangunnya kembali.

RAID 50

Seperti RAID 10, RAID 50 memberi kita opsi untuk membuat larik cepat dari larik yang berlebihan. Kami berakhir dengan RAID 0 yang mencakup sejumlah larik RAID 5, mirip dengan bagaimana RAID 10 adalah satu set larik RAID 1. Di sinilah kita mulai melihat banyak disk memasuki gambar bahkan untuk pengaturan yang paling sederhana. Karena RAID 5 dasar memerlukan tiga disk, RAID 50 akan membutuhkan setidaknya total enam, karena minimal sepasang larik RAID 5.

Sekali lagi, mirip dengan RAID 10, opsi ini adalah yang terbaik dari dua dunia. RAID 50 memberi kami kecepatan ekstra dari penambahan lebih banyak disk yang ditambahkan secara paralel, sambil tetap memberi kami informasi paritas internal dari konfigurasi RAID 5. RAID 50 dapat menahan beberapa drive yang gagal, selama tidak berada dalam array RAID 5 bersarang yang sama.

RAID 60

Pada titik ini, RAID 60 seharusnya tidak mengejutkan, karena merupakan ekstensi logis yang sama dari RAID 6 hingga 60 seperti RAID 5 hingga 50. Manfaat tambahan terbesar adalah peningkatan kecepatan yang dapat dicapai, dikombinasikan dengan peningkatan besar-besaran dalam redundansi yang disediakan dalam banyak salinan informasi paritas, dan cakupan kegagalan yang sempit untuk setiap array bersarang. Array RAID 60 dimulai dari delapan drive, karena setiap RAID 6 setidaknya empat, dalam kelipatan setidaknya dua array.

RAID vs. backup

Salah satu ucapan yang paling sering dianut di bidang administrasi sistem tampaknya adalah:"RAID bukan cadangan." Untuk admin baru atau mereka yang tidak menghabiskan banyak waktu untuk memikirkan penyimpanan, fakta ini mungkin tidak langsung terlihat. Bahkan mungkin tampak antagonis atau salah.

Masalahnya berasal dari fakta bahwa redundansi yang dibangun ke dalam konfigurasi RAID dibangun dengan tujuan yang sama seperti pencadangan:Berjuang melawan kehilangan data. Alasan pentingnya membicarakan perbedaan bukanlah untuk mempermasalahkan, tetapi untuk mengingatkan diri kita sendiri bahwa alat ini ada untuk memberi kita lapisan perlindungan, dan dengan menyatukannya, kita merugikan diri kita sendiri.

RAID ada untuk menyediakan salinan data langsung dan langsung untuk membantu mesin yang sedang berjalan sebagai penopang saat mesin itu bangkit kembali setelah tersandung. Di sisi lain, pencadangan menawarkan kesempatan untuk menguji kemampuan kami memulihkan mesin ke status kerja atau memulihkan data tanpa perlu menjalankan mesin. Pencadangan memberi kami manfaat lain yang tidak juga dimiliki RAID, termasuk kemampuan untuk mendorong salinan ke banyak tempat di berbagai jenis media, dan menyimpan beberapa versi.

RAID dan pencadangan memiliki peran yang berbeda, tetapi keduanya penting, dan keduanya tidak boleh diabaikan.


Linux
  1. MySQL – Mengonversi ke Data Per Tabel untuk InnoDB

  2. File Pseudo Untuk Data Sementara?

  3. Alternatif Untuk Mendeley Untuk Ubuntu?

  1. 5 Perangkat Lunak Pencadangan Data Teratas untuk Linux

  2. 5 Alat Migrasi Data Teratas untuk Linux

  3. Menggunakan file untuk IPC untuk memori bersama

  1. Lingkungan Seperti Shell Untuk Pemrosesan Biner?

  2. Siapa yang Membuat Laptop Untuk Ubuntu?

  3. Kepatuhan GDPR untuk Penyedia Layanan Terkelola Global