Cara Menyiapkan RAID1 di Linux
- 3164
- 52
- Jerome Quitzon
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
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 ..
- « Cara menjana dan membuat sandaran keypair GPG di Linux
- Cara menyimpan fail dan direktori disegerakkan di seluruh peranti yang berbeza menggunakan syncthing pada linux »