Cara Menyiapkan RAID1 di Linux

Cara Menyiapkan RAID1 di Linux

RAID bermaksud pelbagai cakera murah; Bergantung pada tahap RAID yang kami persediaan, kami dapat mencapai replikasi data dan/atau pengagihan data. Persediaan RAID dapat dicapai melalui perkakasan khusus atau melalui perisian. Dalam tutorial ini, kita melihat cara melaksanakan RAID1 (Mirror) melalui perisian di Linux, menggunakan
The mdadm utiliti.

Dalam tutorial ini anda akan belajar:

  • Keunikan tahap serbuan yang paling banyak digunakan
  • Cara Memasang MDADM pada Pengagihan Linux Utama
  • Cara mengkonfigurasi RAID1 dengan dua cakera
  • Cara mengganti cakera dalam pelbagai serangan

Keperluan perisian dan konvensyen yang digunakan

Keperluan Perisian dan Konvensyen Talian Perintah Linux
Kategori Keperluan, konvensyen atau versi perisian yang digunakan
Sistem Pengedaran bebas
Perisian mdadm
Yang lain Keizinan akar
Konvensyen # - Memerlukan komando linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$-memerlukan komando Linux yang diberikan sebagai pengguna yang tidak berkadar biasa

Gambaran ringkas mengenai tahap RAID yang paling banyak digunakan



Sebelum kita mulakan dengan tutorial kami dan lihat cara melaksanakan persediaan RAID1 perisian di Linux menggunakan mdadm, Adalah idea yang baik untuk membuat rekod ringkas mengenai tahap serbuan yang paling banyak digunakan dan melihat keunikan mereka.

RAID0

Matlamat utamanya adalah untuk meningkatkan prestasi. Di peringkat atau serbuan ini kita mempunyai dua atau lebih cakera yang sepatutnya sama dengan ukuran. Data diedarkan secara alternatif pada cakera (jalur), dan ini mengurangkan masa membaca dan menulis.

RADRAGRA RAD0

RAID1

RAID1 (Mirroring) adalah apa yang akan kita laksanakan dalam tutorial ini: Dalam tahap RAID ini, data ditulis secara serentak, dan begitu direplikasi, pada dua atau lebih cakera yang merupakan sebahagian daripada array.



RAVER1 Rajah

RAID5

Untuk membuat persediaan dengan tahap RAID ini, sekurang-kurangnya tiga cakera diperlukan, dan cakera N-1 boleh mengandungi data. Persediaan ini dapat mengendalikan kegagalan satu cakera tanpa mengalami kehilangan data. Sama seperti RAID0, dalam data persediaan ini berjalur, begitu diedarkan pada pelbagai cakera. Perbezaan utama ialah juga maklumat pariti data wujud dan juga berjalur. Apakah maklumat pariti data? Pada asasnya, semua cakera
Dalam pelbagai serbuan, mengandungi maklumat mengenai status data; Maklumat sedemikian membolehkan data membina semula jika salah satu cakera gagal.



RAVER5 RAGAM

RAID6

RAID6 berfungsi sama dengan RAID5; Perbezaan utama ialah persediaan ini melibatkan kehadiran dua cakera pariti, jadi dengan tahap serbuan ini mungkin untuk mengendalikan kegagalan dua cakera tanpa mengalami kehilangan data. Sekurang -kurangnya empat cakera diperlukan untuk mencapai konfigurasi ini.

RAVER6 RAGRAM

Memasang mdadm



MDADM adalah utiliti yang menguruskan serangan perisian di Linux. Ia boleh didapati dalam semua pengagihan utama. Pada Debian dan derivatifnya mungkin untuk memasangnya menggunakan arahan berikut:

$ sudo apt-get update & & sudo apt-get install mdadm 

Mengenai keluarga Red Hat pengagihan, kita boleh menggunakan DNF Pengurus Pakej:

$ sudo dnf memasang mdadm 

Di Archlinux kita boleh memasang pakej menggunakan Pacman Pengurus Pakej:

$ sudo pacman -sy mdadm 

Setelah perisian dipasang, kami dapat meneruskan dan membuat persediaan RAID1.

Mewujudkan serbuan

Demi tutorial ini saya akan bekerja dalam persekitaran maya, menggunakan sistem "buster" debian, dan dua cakera maya yang saya buat sebelum ini, yang akan menjadi sebahagian daripada persediaan RAID1. Cakera tersebut diiktiraf sebagai VDB dan VDC, seperti yang anda lihat dari output lsblk Perintah:

SR0 11: 0 1 1024M 0 ROM VDA 254: 0 0 7G 0 Disk ├─vda1 254: 1 0 6G 0 Bahagian / ├─vda2 254: 2 0 1k 0 Bahagian └─vda5 254: 5 0 1021m 0 bahagian [swap] VDB 254: 16 0 1g 0 cakera vdc 254: 32 0 1g 0 cakera 

Memisahkan cakera



Walaupun ada kemungkinan untuk membuat serbuan secara langsung menggunakan cakera mentah, ia adalah idea yang baik untuk mengelakkannya, dan, sebaliknya, membuat satu partition pada setiap dua cakera. Untuk melaksanakan tugas sedemikian, kami akan menggunakan berpisah. Perkara pertama yang ingin kami lakukan ialah membuat jadual partition. Demi contoh ini kita akan gunakan mbr jadual partition, tetapi gpt yang diperlukan dalam senario dunia nyata jika menggunakan cakera 2TB atau lebih besar. Untuk memulakan cakera, kita boleh menjalankan arahan berikut:

$ sudo berpisah -s /dev /vdb mklabel msdos 

Sekarang, kita boleh membuat partition yang mengambil semua ruang yang ada:

$ sudo berpisah -s /dev /vdb mkpart primary 1mib 100% 

Sekarang kita boleh meletakkan bendera RAID pada partition (ini akan menetapkan jenis partition ke FD - "Linux Raid Autodetect"):

$ sudo berpisah -s /dev /vdb set 1 serbuan pada 

Dalam kes ini kami bekerja di /dev/vdb peranti, jelas kita harus mengulangi operasi yang sama juga di /dev/vdc cakera.

Menyediakan RAID1

Sebaik sahaja kita memulakan dan memisahkan cakera yang boleh kita gunakan mdadm Untuk membuat persediaan sebenar. Yang harus kita lakukan ialah menjalankan arahan berikut:

$ sudo mdadm \ --verbose \ --create /dev /md0 \--level = 1 \--raid-devices = 2 \ /dev /vdb1 /dev /vdc1 

Mari analisis arahan di atas. Pertama sekali kita menggunakan --verbose pilihan untuk membuat arahan output lebih banyak maklumat mengenai operasi yang sedang dilakukan.

Kami menggunakan mdadm Dalam "Mode Mod", itulah sebabnya lulus --Buat pilihan, memberikan nama peranti yang harus dibuat (/dev/md0 Dalam kes ini). Kami daripada menentukan tahap yang hendak digunakan untuk serbuan itu --tahap, dan bilangan peranti yang harus menjadi sebahagian daripadanya --RAID-SETIAP. Akhirnya kami menyediakan jalan peranti yang harus digunakan.

Sebaik sahaja kita menjalankan arahan, kita harus memvisualisasikan output berikut:

MDADM: NOTA: Arahan ini mempunyai metadata pada permulaan dan mungkin tidak sesuai sebagai peranti boot. Sekiranya anda merancang untuk menyimpan '/boot' pada peranti ini sila pastikan pemuat boot anda memahami MD/V1.x metadata, atau gunakan - -metadata = 0.90 MDADM: Saiz ditetapkan ke 1046528k terus membuat array? y 

Dalam kes ini kita dapat menjawab secara tegas kepada soalan dan terus membuat array:



mdadm: ingkar ke versi 1.2 metadata mdadm: array /dev /md0 bermula. 

Untuk memvisualisasikan maklumat dan keadaan persediaan RAID yang dibuat, kami boleh menjalankan mdadm dengan --perincian pilihan, lulus nama peranti yang ingin kami periksa. Dalam kes ini, output adalah seperti berikut:

$ sudo mdadm -Detail /dev /md0 /dev /md0: Versi: 1.2 Penciptaan Masa: Jum 23 Apr 11:16:44 2021 Tahap RAID: RAID1 Saiz Arahan: 1046528 (1022.00 MIB 1071.64 MB) Saiz Dev yang Digunakan: 1046528 (1022.00 MIB 1071.64 MB) Peranti RAID: 2 Jumlah Peranti: 2 Kegigihan: Superblock adalah Masa Kemas Kini Berterusan: Jum 23 Apr 11:17:04 2021 Negeri: Peranti Aktif Bersih: 2 Peranti Kerja: 2 Peranti Gagal: 0 Peranti ganti: 0 Dasar Konsistensi: Resync Nama: Debian: 0 (Tempatan untuk menjadi tuan rumah Debian) 

Dengan --perincian pilihan kita dapat mengumpulkan maklumat mengenai serbuan secara keseluruhan. Sekiranya kita mahukan maklumat mengenai setiap cakera tunggal yang merupakan ahli persediaan, kita boleh menggunakan --memeriksa Sebaliknya, dan lulus peranti sebagai hujah. Dalam kes ini, sebagai contoh, kita akan menjalankan:

$ sudo mdadm --examine /dev /vdb1 /dev /vdc1 


Perintah akan menghasilkan output yang serupa dengan yang berikut:

/Dev/VDB1: Magic: A92B4EFC Versi: 1.2 Ciri Peta: 0x0 Array Uuid: 4721F921: BB82187C: 487Defb8: E960508A Nama: Debian: 0 (Tempatan untuk menjadi tuan rumah Debian) 2093056 (1022.00 MIB 1071.64 MB) Saiz Array: 1046528 (1022.00 MIB 1071.64 MB) Data Offset: 2048 Sektor Super Offset: 8 Sektor Ruang yang Tidak Digunakan: Sebelum = 1968 Sektor, Selepas = 0 Sektor Negeri: Peranti Bersih UUID: A9575594: 40C0784B: 394490E8: 6EB7E3 Masa Kemas kini: Log Blok Bad: 512 Penyertaan tersedia di Offset 16 Sektor Checksum: 51AFC54D - Peristiwa yang betul: 17 Peranan Peranti: Peranti Aktif 0 Array Negeri: AA ('A' == Aktif, '.'== hilang,' r '== menggantikan) /dev /vdc1: sihir: a92b4efc versi: 1.2 Ciri Peta: 0x0 Array Uuid: 4721F921: BB82187C: 487Defb8: E960508A Nama: Debian: 0 (Tempatan untuk menjadi tuan rumah Debian) 2093056 (1022.00 MIB 1071.64 MB) Saiz Array: 1046528 (1022.00 MIB 1071.64 MB) Data Offset: 2048 Sektor Super Offset: 8 Sektor Ruang yang Tidak Digunakan: Sebelum = 1968 Sektor, Selepas = 0 Sektor Negeri: Peranti Bersih UUID: B0CF8735: 5FE765C0: 6C269C2F: 3777D11D Masa Kemas kini: Log Blok Bad: 512 Penyertaan tersedia di Offset 16 Sektor Checksum: 28C3066F - Peristiwa yang betul: 17 Peranan Peranti: Peranti Aktif 1 Array Negeri: AA ('A' == Aktif, '.'== hilang,' r '== menggantikan) 

Menggunakan peranti RAID



Dalam bahagian sebelumnya, kami membuat persediaan RAID1 menggunakan dua cakera (maya):
/dev/vdb dan /dev/vdc. Peranti RAID yang kami buat dipanggil /dev/md0. Untuk dapat menggunakannya, kita harus membuat sistem fail di atasnya. Untuk menggunakan ext4, Filesystem, sebagai contoh, kami akan menjalankan:

$ sudo mkfs.ext4 /dev /md0 

Sebaik sahaja sistem fail dibuat, kita harus memasangnya di suatu tempat, dan daripada meneruskan menggunakannya sebagai peranti blok biasa. Untuk membuat sistem auto-mount peranti di boot kita harus membuat entri untuknya dalam fail /etc /fstab. Apabila berbuat demikian, kita harus merujuk peranti RAID olehnya Uuid, Oleh kerana jalannya mungkin berubah pada reboot. Untuk mencari uuid peranti, kita boleh menggunakan lsblk Perintah:

$ lsblk -o uuid /dev /md0 uuid 58ff8624-e122-419e-8538-d948439a8c07 

Menggantikan cakera dalam pelbagai



Sekarang, bayangkan salah satu cakera dalam array gagal. Bagaimana kita harus meneruskan? Seperti yang akan kita lihat, kita boleh mengeluarkannya dari array tanpa kehilangan sebarang data. Mengandaikan cakera keras yang gagal adalah /dev/vdc, Kita boleh mengeluarkan arahan berikut untuk menandakannya seperti itu:

$ sudo mdadm --Manage /dev /md0 --fail /dev /vdc1 

Output arahan di atas akan menjadi:

mdadm: set /dev /vdc1 rosak dalam /dev /md0 

Kami boleh menyemak status serbuan untuk mengesahkan peranti telah ditandakan sebagai rosak:

$ sudo mdadm -Detail /dev /md0 /dev /md0: Versi: 1.2 Penciptaan Masa: Jum 23 Apr 11:16:44 2021 Tahap RAID: RAID1 Saiz Arahan: 1046528 (1022.00 MIB 1071.64 MB) Saiz Dev yang Digunakan: 1046528 (1022.00 MIB 1071.64 MB) Peranti RAID: 2 Jumlah Peranti: 2 Kegigihan: Superblock adalah Masa Kemas Kini Berterusan: Jum 23 Apr 15:01:36 2021 Negeri: Peranti Aktif Bersih, Degrad Polisi: Resync Nama: Debian: 0 (Tempatan untuk menjadi tuan rumah Debian) rosak /dev /vdc1 

Adakah anda dapat melihat sekarang hanya satu peranti aktif, dan /dev/vdc1 Negeri
adalah: rosak. Sekarang, untuk mengeluarkan cakera dari array, kita boleh lari:

$ sudo mdadm --Manage /dev /md0 -remove /dev /vdc1 

Dengan lulus --mengurus Kami bekerjasama mdadm Dalam mod "menguruskan"; Dalam mod ini kita boleh melakukan tindakan seperti mengeluarkan cakera yang rosak, atau menambah yang baru. Sekiranya semuanya berjalan seperti yang diharapkan, peranti itu harus "panas-dirakam":

MDADM: Panas Dihapus /Dev /Vdc1 dari /Dev /MD0 


Sekarang kita harus memformat cakera keras baru yang akan kita gunakan untuk menggantikan yang salah dengan cara yang sama seperti yang kita lakukan untuk dua yang lain, pada permulaan tutorial ini. Kami juga boleh menggunakan jalan pintas yang terdiri daripada penggunaan sfdisk perintah. Sekiranya kita menjalankan arahan ini dengan -d pilihan (pendek untuk --pembuangan), ia akan membuang maklumat mengenai partisi peranti yang kami lalui sebagai hujah. Maklumat sedemikian boleh digunakan sebagai sandaran dan meniru persediaan. Kita boleh mengalihkan output ke fail atau menggunakannya secara langsung dalam saluran paip. Menganggap cakera baru adalah /dev/vdd, Kami akan berlari:

$ sudo sfdisk -d /dev /vdb | sudo sfdisk /dev /vdd 

Sebaik sahaja cakera baru dibahagikan dan siap, kami dapat menambahkannya ke array RAID1 kami dengan arahan berikut:

$ sudo mdadm --Manage /dev /md0 --add /dev /vdd1 

Jika kita kini memeriksa status peranti RAID, kita dapat melihat bahawa ia adalah "membina semula" pada peranti ganti yang kami tambahkan:

$ sudo mdadm -Detail /dev /md0 /dev /md0: Versi: 1.2 Penciptaan Masa: Jum 23 Apr 11:16:44 2021 Tahap RAID: RAID1 Saiz Arahan: 1046528 (1022.00 MIB 1071.64 MB) Saiz Dev yang Digunakan: 1046528 (1022.00 MIB 1071.64 MB) Peranti RAID: 2 Jumlah Peranti: 2 Kegigihan: Superblock adalah Masa Kemas Kini Berterusan: Jum 23 Apr 15:29:45 2021 Negeri: Bersih, Degradasi, Memulihkan Peranti Aktif: 1 Peranti Kerja: 2 Peranti gagal: 0 Peranti ganti: 1 Dasar Konsistensi: Resync REBUILD STATUS: 19% Nama Lengkap: Debian: 0 (Tempatan untuk Tempatan Debian) 254 49 1 ganti rugi /dev /vdd1 

Dari output arahan kita dapat melihat bahawa negeri dilaporkan sebagai "bersih, terdegradasi, pulih", dan /dev/vdd1 Partition dilaporkan sebagai "pembinaan semula". Setelah proses membina semula berakhir, ia akan berubah menjadi "penyegerakan aktif".

Kesimpulan

Dalam tutorial ini, kami melihat gambaran ringkas mengenai tahap RAID yang paling banyak digunakan, bagaimana membuat perisian RAID1 dengan dua cakera menggunakan mdadm utiliti, bagaimana untuk memeriksa status peranti RAID dan setiap cakera tunggal dalam array. Kami juga melihat cara membuang dan mengganti cakera yang rosak. Sentiasa ingat bahawa RAID1 marilah kita mencapai redundansi data tetapi tidak boleh dianggap sebagai sandaran!

Tutorial Linux Berkaitan:

  • Cermin Ubuntu
  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Gelung bersarang dalam skrip bash
  • Fail Konfigurasi Linux: 30 teratas yang paling penting
  • Muat turun linux
  • Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
  • Bolehkah linux mendapat virus? Meneroka kelemahan Linux ..