ZFS

Apa itu RAID-Z?

Apa itu RAID-Z?
Sistem fail lebih tua daripada UNIX itu sendiri. Dan sejak kami mula mendigitalkan kehidupan kami ke kaset, cakera dan SSD, satu ancaman telah terserlah. Itu adalah kegagalan perkakasan. Data yang disimpan pada cakera sering kali lebih mahal daripada cakera itu sendiri dan data ini memerlukan semua kelebihan yang dapat kita kumpulkan.

RAID-Z adalah salah satu alat terbaik yang akan memastikan bahawa data anda hidup tanpa ralat mungkin pada koleksi disk yang paling murah. Ia adalah sebahagian daripada OpenZFS. Anda boleh memahami asas OpenZFS dalam artikel ringkas ini jika anda belum pernah mendengarnya sebelumnya. Ini adalah sumber terbuka, sistem fail kelas perusahaan yang tersedia di Linux, FreeBSD, Mac OS X, SmartOS, Illumos dan OS utama lain.

Tetapi pertama ... apa itu RAID?

RAID bermaksud Redundant Array of Independent (Inexpensive) Disk. Ini merujuk kepada praktik industri untuk menyimpan data bukan hanya pada satu cakera tetapi di beberapa cakera sehingga walaupun terdapat kegagalan cakera data dapat direkonstruksi dari disk lain. Cara penyebaran data di seluruh cakera adalah berbeza untuk pelbagai jenis pemberhentian kerja dan mereka dinamakan RAID 0, RAID 1, dll. Kami tidak akan berurusan dengan mereka di sini. Kami akan memfokuskan pada RAIDZ yang khusus untuk OpenZFS.

RAID (dan juga RAID-Z) tidak sama dengan menulis salinan data ke cakera sandaran. Apabila anda mempunyai dua atau lebih cakera dalam RAID, data ditulis kepada mereka secara serentak dan semua cakera aktif dan dalam talian. Inilah sebab mengapa RAID berbeza dengan sandaran dan yang lebih penting mengapa RAID bukan pengganti sandaran. Sekiranya seluruh pelayan anda habis, maka semua cakera dalam talian boleh digunakan dengan pelayan, tetapi sandaran akan menyelamatkan hari anda. Begitu juga, jika terdapat kegagalan cakera tunggal dan sesuatu tidak disandarkan, kerana anda tidak dapat melakukannya setiap hari, maka RAID dapat membantu anda mendapatkan maklumat tersebut.

Sandaran secara berkala diambil salinan data yang relevan dan RAID adalah kelebihan masa nyata. Terdapat beberapa cara di mana data disimpan dalam sistem RAID tradisional, tetapi kami tidak akan membahasnya di sini. Di sini, kita akan menyelami RAIDZ yang merupakan salah satu ciri OpenZFS paling keren.

Satu perkara terakhir sebelum kita memulakan, RAID tradisional kadang-kadang mendorong penggunaan peranti perkakasan khusus untuk melakukan RAID. Ini menjadikan sistem operasi dan sistem fail tidak menyedari mekanisme RAID yang ada. Tetapi kadangkala kad RAID (perkakasan khusus) itu sendiri menemui kegagalan menjadikan keseluruhan array cakera anda pada dasarnya tidak berguna.

Untuk mengelakkan perkara ini, anda mesti selalu menggunakan OpenZFS tanpa pengawal RAID perkakasan.

RAID-Z1, RAID-Z2, RAID-Z3

ZFS menggabungkan tugas pengurus volume dan sistem fail. Ini bermakna anda boleh menentukan node peranti untuk cakera anda semasa membuat kumpulan baru dan ZFS akan menggabungkannya menjadi satu kumpulan logik dan kemudian anda boleh membuat set data untuk kegunaan yang berbeza seperti / home, / usr, dll di atas kelantangan itu.

Menyiapkan RAID-Z memerlukan sekurang-kurangnya 3 atau lebih cakera. Anda tidak boleh menggunakan kurang dari tiga cakera. Penyedia storan boleh menjadi penyimpanan lain yang disambungkan ke rangkaian, peranti blok maya, dan lain-lain, tetapi mari kita berpegang pada tiga cakera dengan saiz yang sama sebagai contoh mudah.

Ketiga-tiga cakera boleh digabungkan menjadi peranti maya (vdev). Ini adalah blok bangunan zpool. Sekiranya anda memulakan dengan hanya 3 cakera, anda mempunyai 1 vdev di zpool anda. Anda boleh mempunyai 2 vdev dengan 6 cakera dan seterusnya.

Katakan anda mempunyai fail 1GB yang ingin anda simpan di kolam ini. RAID-Z membelahnya menjadi dua bahagian yang sama 512MB dan kemudian melakukan operasi matematik di antara mereka yang menghasilkan bahagian ketiga 512MB (disebut blok pariti). Ketiga-tiga potongan kemudian ditulis menjadi tiga vdev yang berasingan. Jadi fail akhirnya mengambil 1.5GB ruang keseluruhan.

Kelebihannya adalah bahawa, jika salah satu cakera gagal, katakan bahagian pertama hilang, maka bahagian kedua dan blok paritas dapat digunakan mencipta semula yang pertama. Begitu juga, jika bahagian kedua hilang, yang pertama dan ketiga dapat digunakan untuk membuat yang kedua.

Fail anda menggunakan ruang 50% lebih banyak daripada yang diperlukan tetapi anda dapat menahan kegagalan satu cakera per vdev. Ini adalah RAID-Z1.

Tetapi kolam ZFS dapat tumbuh dan akhirnya anda memerlukan lebih banyak ruang. Anda tidak boleh menambah lebih banyak cakera langsung ke vdev (ciri itu dicadangkan dan mungkin sedang dalam pengembangan sekarang). Walau bagaimanapun, anda boleh menambah vdev. Ini bermakna anda boleh menambah cakera dalam set tiga dan memperlakukan setiap set baru sebagai satu vdev logik.

Anda sekarang boleh bertolak ansur dengan kegagalan cakera tunggal dalam vdev baru ini dan kegagalan cakera tunggal yang lama. Tetapi jika lebih daripada satu cakera gagal dalam satu vdev, itu tidak dapat dipulihkan. Seluruh kolam anda tidak berguna walaupun vdev yang lebih sihat.

Ini adalah model yang sangat mudah. Fail tidak pernah dibahagi tepat dalam dua bahagian tetapi data dianggap sebagai blok panjang tetap. Selain itu, anda boleh menggunakan lebih dari 3 cakera (tetapi minimum 3) per vdev dan RAID-Z1 akan memastikan setiap blok data yang unik ditulis sedemikian rupa sehingga dapat pulih dari kegagalan mana-mana cakera tunggal dalam setiap vdev. Syukurlah, anda tidak perlu risau tentang butiran dalaman ini. Itu tanggungjawab ZFS. Setelah kumpulan disiapkan, data disebarkan secara automatik di seberang dengan cara yang paling optimum.

Toleransi kegagalan masih terhad kepada satu kegagalan cakera per vdev. Untuk melampaui itu kita perlu pergi ke RAID-Z2. RAID-Z2 berfungsi dengan cara yang serupa tetapi ia menghasilkan dua blok parity dan dua blok data dari satu bahagian maklumat. Ini memungkinkan untuk menahan sehingga 2 kegagalan cakera per vdev. Vdev juga mesti mempunyai sekurang-kurangnya 4 cakera jika akan melaksanakan penyediaan RAID-Z2.

Begitu juga, RAID-Z3 memerlukan sekurang-kurangnya 5 cakera per vdev dan dapat menahan kegagalan 3 daripadanya. RAID-Z3 hampir sama ruangnya dengan RAID-Z2 yang tidak begitu efisien dari segi ruang seperti RAID-Z1.

Kesimpulannya

Dengan RAID-Z kita melihat pertukaran antara ruang yang boleh digunakan yang ditawarkan oleh cakera individu dan kebolehpercayaan yang mungkin ditawarkan oleh koleksi cakera tersebut. Dengan bilangan cakera yang lebih banyak, kebarangkalian kegagalan beberapa cakera serentak juga meningkat.

Kaedah terbaik untuk mengatasinya adalah dengan menggunakan strategi RAID-Z yang berkesan yang menawarkan kebolehpercayaan dan juga kelebihan terbaik untuk wang anda. Beritahu kami jika anda menganggap tutorial ini berguna atau jika anda mempunyai pertanyaan mengenai RAID-Z!

Pasang permainan Strategi OpenRA terkini di Ubuntu Linux
OpenRA adalah mesin permainan Strategi Masa Nyata / Bebas yang mencipta semula permainan Westwood awal seperti Command & Conquer klasik: Makluman Mera...
Pasang Dolphin Emulator terkini untuk Gamecube & Wii di Linux
Dolphin Emulator membolehkan anda memainkan permainan Gamecube & Wii pilihan anda di Komputer Peribadi Linux (PC). Menjadi emulator permainan sumber ...
Cara Menggunakan Mesin Cheat GameConqueror di Linux
Artikel ini merangkumi panduan mengenai penggunaan mesin cheat GameConqueror di Linux. Ramai pengguna yang bermain permainan di Windows sering menggun...