Siapkan RAID Perangkat Lunak di Ubuntu 20.04

Dalam tutorial ini, Anda akan belajar cara mengatur serangan perangkat lunak di Ubuntu 20.04. RAID adalah singkatan dari Redundant Array of Independent Disks. Istilah inexpensiveini kadang-kadang dapat digunakan sebagai penggantiindependent. RAID adalah menggabungkan beberapa perangkat/disk drive murah ke dalam array yang menghasilkan kinerja yang lebih baik daripada satu drive besar dan mahal.

Beberapa alasan utama untuk menggunakan RAID meliputi:

• peningkatan kecepatan transfer • peningkatan jumlah transaksi per detik • peningkatan kapasitas perangkat blok tunggal • efisiensi yang lebih besar dalam pemulihan dari kegagalan disk tunggal

Ada tiga kemungkinan jenis RAID: RAID Firmware, RAID Perangkat Keras, dan RAID Perangkat Lunak. Panduan ini berfokus pada pengaturan Software RAID di Ubuntu 20.04.

Siapkan RAID Perangkat Lunak di Ubuntu 20.04

Software RAID digunakan untuk mengimplementasikan berbagai level RAID dalam kode perangkat blok kernel. Kernel Linux berisi: multiple device (MD) driver yang memungkinkan solusi RAID sepenuhnya independen terhadap perangkat keras.

Tingkat RAID

Berbagai tingkat RAID yang dapat diimplementasikan meliputi;

Raid Level 0 (striping)

  • Dengan RAID level 0, data digariskan/ditulis di seluruh disk anggota larik.
  • Striping berarti data dipecah menjadi potongan-potongan kecil.
  • Data digariskan di seluruh drive anggota larik.
  • Kapasitas penyimpanan array sama dengan jumlah kapasitas disk/partisi anggota
  • RAID Level 0 memberikan kinerja I/O yang tinggi
  • Tidak memberikan toleransi error dan karenanya jika satu perangkat dalam array gagal, maka seluruh array gagal.
  • Membutuhkan minimal dua perangkat penyimpanan.

RAID Level 1 (pencerminan)

  • Dengan RAID Level 1, copyan data yang dicerminkan (identik) ditulis ke setiap drive anggota larik.
  • Menyediakan redundansi dan karenanya, ketersediaan data yang tinggi. Jika salah satu drive anggota larik gagal, data di drive lain dapat digunakan.
  • Kapasitas penyimpanan larik level 1 sama dengan kapasitas hard disk cermin terkecil dalam RAID Perangkat Keras atau partisi cermin terkecil dalam RAID Perangkat Lunak sehingga kurang hemat ruang.
  • Membutuhkan minimal dua perangkat penyimpanan.

Raid Level 5 (Mengupas dengan Paritas)

  • Ini adalah tingkat RAID yang paling umum digunakan.
  • Membutuhkan setidaknya tiga drive/perangkat penyimpanan.
  • Di tingkat ini, data dilucuti di seluruh drive anggota dalam larik bersama dengan informasi paritas. Paritas adalah data biner mentah yang nilainya dihitung sehingga dapat digunakan untuk merekonstruksi data bergaris dari drive lain jika salah satu drive dalam array gagal.
  • Memberikan toleransi error.
  • Kapasitas penyimpanan sama dengan kapasitas partisi anggota terkecil dikalikan dengan jumlah partisi  dikurangi satu.

RAID Level 6 (Mengupas dengan paritas ganda)

  • Mirip dengan RAID level 5 kecuali bahwa ia mendukung paritas ganda.
  • Itu dapat menahan 2 kegagalan disk dalam array.
  • Membutuhkan setidaknya 4 perangkat

RAID Level 10 (mirroring+stripping)

  • RAID level 10 menggabungkan keunggulan kinerja level 0 dengan redundansi level 1.
  • Sering dilambangkan sebagai RAID 1+0 ( garis cermin).
  • Membutuhkan setidaknya 4 perangkat.
  • setengah dari perangkat penyimpanan digunakan untuk pencerminan data karenanya, kurang hemat ruang.
  • paling mahal dari tingkat RAID dengan kapasitas yang dapat digunakan lebih rendah dan biaya sistem yang tinggi.

Siapkan RAID Perangkat Lunak di Ubuntu 20.04

Jadi bagaimana Anda mengatur RAID Perangkat Lunak di Ubuntu 20.04? Dalam tutorial ini, kami akan menunjukkan cara mengatur RAID Level 1 di Ubuntu 20.04.

Membuat Partisi RAID

Untuk menyiapkan RAID Level 1, Anda memerlukan setidaknya dua drive/partisi. Di server demo kami, kami telah memasang dua disk, /dev/sdbdan/dev/sdc masing-masing 4GB seperti gambar di bawah ini;

lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1M 0 part └─sda2 8:2 0 20G 0 part / sdb 8:16 0 4G 0 disk sdc 8:32 0 4G 0 disk 

Untuk menggunakan disk sebagai disk RAID, Anda perlu membuat jenis partisi RAID di setiap disk. Dalam demo ini, kami menggunakan partedperintah untuk tujuan ini.

  • Atur jenis partisi pada disk. Kami menggunakan msdosdalam pengaturan ini.
parted -a optimal /dev/sdb mklabel msdos
  • Buat partisi dan atur jenis sistem file.
parted -a optimal /dev/sdb mkpart primary ext4 0% 100%
  • Atur partisi sebagai partisi RAID perangkat lunak.
parted -a optimal /dev/sdb set 1 raid on
  • Menampilkan tabel partisi.
parted -a optimal /dev/sdb print
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 4295MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 4295MB 4294MB primary raid

Ulangi hal yang sama untuk disk lainnya.

parted -a optimal /dev/sdc print
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdc: 4295MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 4295MB 4294MB primary raid

Siapkan RAID Perangkat Lunak di Ubuntu 20.04

Sekarang kami memiliki dua pengaturan disk, Anda sekarang dapat melanjutkan dan mengatur RAID perangkat lunak di Ubuntu 20.04.

Sebelum Anda dapat melanjutkan, pastikan Anda telah mdadmmenginstal paket. mdadmadalah utilitas yang dapat digunakan untuk mengelola perangkat MD alias Software RAID Linux.

Periksa apakah paket sudah diinstal.;

apt list -a mdadm
Listing... Done mdadm/focal,now 4.1-5ubuntu1 amd64 [installed,automatic]

Jika belum terinstal, Anda dapat menginstalnya dengan menjalankan perintah di bawah ini;

apt install mdadm

Sintaks command line dasar untuk mdadm koma adalah;

mdadm [mode] <raiddevice> [options] <component-devices>

[mode] menentukan mode operasi mdadm utama yang dapat berupa salah satu dari berikut ini;

  • Assemble (-A, –assemble): merakit komponen array yang dibuat sebelumnya menjadi array aktif.
  • Build (-B, –build): Membuat larik yang tidak memiliki metadata per perangkat (superblok).
  • Create (-C, –create): Membuat larik baru dengan metadata per perangkat (superblok).
  • Follow/Monitor (-F, –follow, –monitor): Memantau satu atau lebih perangkat md dan bertindak atas perubahan status apa pun. Ini hanya berarti untuk RAID1, 4, 5, 6, 10 atau array multipath.
  • Grow (-G, –grow): Menumbuhkan (atau mengecilkan) array, atau membentuknya kembali dengan cara tertentu.
  • Incremental Assembly (-I, –incremental): Tambahkan satu perangkat ke larik yang sesuai.
  • Manage: Ini untuk melakukan hal-hal pada komponen tertentu dari larik seperti menambahkan suku cadang baru dan menghapus perangkat yang rusak.
  • Misc: Ini adalah mode ‘segalanya’ yang mendukung operasi pada array aktif, operasi pada perangkat komponen seperti menghapus superblok lama, dan operasi pengumpulan informasi.
  • Auto-detect (–auto-detect): Mode ini tidak bekerja pada perangkat atau larik tertentu, melainkan meminta Kernel Linux untuk mengaktifkan larik yang terdeteksi otomatis.

Jadi sebagai contoh, mari kita lihat cara membuat RAID level 1 menggunakan dua disk yang kami siapkan di atas.

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sd[bc]1

Pilihannya;

  • -l,
    –level= Menetapkan tingkat RAID yang dapat menjadi salah satu dari; linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4, raid5, 5, raid6, 6, raid10, 10, multipath
  • -n, –raid-devices= menentukan jumlah perangkat aktif dalam array.

Untuk menggunakan opsi command line pendek;

mdadm -C /dev/md0 -l raid1 -n=2 /dev/sd[bc]1

Untuk opsi command line lainnya, lihat, man mdadm.

Perintah di atas membuat /dev/md0 sebagai larik RAID1 yang terdiri dari drive /dev/sdb1 dan /dev/sdc1.

mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.

Periksa status RAID;

mdadm --detail /dev/md0
/dev/md0: Version : 1.2 Creation Time : Tue Apr 13 19:55:07 2021 Raid Level : raid1 Array Size : 4190208 (4.00 GiB 4.29 GB) Used Dev Size : 4190208 (4.00 GiB 4.29 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Tue Apr 13 19:55:27 2021 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Consistency Policy : resync Name : ubuntu20:0 (local to host ubuntu20) UUID : 244a7fd9:d6fcc210:9b559249:df999270 Events : 17 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1

Untuk membuat daftar informasi rinci tentang setiap perangkat RAID;

mdadm --examine /dev/sd[bc]1
/dev/sdb1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 244a7fd9:d6fcc210:9b559249:df999270 Name : ubuntu20:0 (local to host ubuntu20) Creation Time : Tue Apr 13 19:55:07 2021 Raid Level : raid1 Raid Devices : 2 Avail Dev Size : 8380416 (4.00 GiB 4.29 GB) Array Size : 4190208 (4.00 GiB 4.29 GB) Data Offset : 6144 sectors Super Offset : 8 sectors Unused Space : before=6064 sectors, after=0 sectors State : clean Device UUID : 22f6feda:9f7fbafc:a35dc2d5:441cd0b5 Update Time : Tue Apr 13 19:55:27 2021 Bad Block Log : 512 entries available at offset 16 sectors Checksum : 117b4439 - correct Events : 17 Device Role : Active device 0 Array State : AA ('A' == active, '.' == missing, 'R' == replacing) /dev/sdc1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 244a7fd9:d6fcc210:9b559249:df999270 Name : ubuntu20:0 (local to host ubuntu20) Creation Time : Tue Apr 13 19:55:07 2021 Raid Level : raid1 Raid Devices : 2 Avail Dev Size : 8380416 (4.00 GiB 4.29 GB) Array Size : 4190208 (4.00 GiB 4.29 GB) Data Offset : 6144 sectors Super Offset : 8 sectors Unused Space : before=6064 sectors, after=0 sectors State : clean Device UUID : 082b5c2f:c9ebaa8a:90e23cf0:d12db68d Update Time : Tue Apr 13 19:55:27 2021 Bad Block Log : 512 entries available at offset 16 sectors Checksum : e6297bc2 - correct Events : 17 Device Role : Active device 1 Array State : AA ('A' == active, '.' == missing, 'R' == replacing)

Anda juga dapat memeriksa status dengan menjalankan perintah di bawah ini;

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdc1[1] sdb1[0] 4190208 blocks super 1.2 [2/2] [UU] unused devices: <none>

Dari keluaran di atas;

  • Personalities baris menunjukkan tingkat RAID yang didukung kernel saat ini.
  • baris perangkat md menunjukkan status larik, tingkat serangan saat ini yang disetel pada perangkat dan perangkat yang digunakan dalam larik.
  • Baris lainnya menunjukkan ukuran array yang dapat digunakan dalam blok
  • [n/m] misalnya [2/2] menunjukkan bahwa array akan memiliki n perangkat namun, saat ini, m perangkat sedang digunakan. Ketika m >= n maka semuanya baik-baik saja.

Baca lebih lanjut di halaman Mdstat.

Buat Sistem File di Perangkat RAID

Setelah Anda membuat perangkat RAID, Anda perlu membuat sistem file di dalamnya agar Anda dapat memasang dan menggunakannya.

Perhatikan bahwa seperti yang ditunjukkan di atas, kami membuat RAID 1 yang menggabungkan dua disk 4G menjadi satu disk 4G.

Oleh karena itu, untuk membuat sistem file pada perangkat md0, jalankan perintah di bawah ini untuk membuat sistem file ext4 pada perangkat RAID.

mkfs.ext4 /dev/md0
mke2fs 1.45.5 (07-Jan-2020) Creating filesystem with 1047552 4k blocks and 262144 inodes Filesystem UUID: 97240b9e-8286-49fe-a304-a98bd3f66c42 Superblock backups stored on blocks: 	32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done

Memasang Perangkat RAID Perangkat Lunak

Anda sekarang dapat memasang perangkat RAID di lokasi yang nyaman.

mount /dev/md0 /mnt/

Untuk mengkonfirmasi pemasangan;

df -hT -P /mnt/
Filesystem Type Size Used Avail Use% Mounted on /dev/md0 ext4 3.9G 16M 3.7G 1% /mnt

Untuk mengotomatiskan perangkat saat boot, perbarui /etc/fstab file dengan menambahkan baris yang mirip dengan di bawah ini;

/dev/md0 /mnt ext4 defaults 0 0

Juga, Anda perlu memperbarui /etc/mdadm/mdadm.confdengan membuat file konfigurasi prototipe yang menjelaskan array aktif saat ini yang diketahui dibuat dari partisi drive IDE atau SCSI menggunakan mdadm –detail –scanperintah

mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 name=ubuntu20:0 UUID=244a7fd9:d6fcc210:9b559249:df999270

Untuk menulis informasi ke mdadm.conf, lalu lari;

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

Setelah Anda memperbarui mdadm.conf, Anda dapat memperbarui initramfs.

update-initramfs -u

Setelah selesai, memperbarui initramfs, Anda dapat mem-boot ulang sistem untuk mengonfirmasi apakah perangkat RAID dapat dipasang secara otomatis.

Dan itu menandai akhir dari panduan kami tentang cara mengatur RAID Perangkat Lunak di Ubuntu 20.04.

Tutorial lainnya

Instal dan Siapkan Cluster Penyimpanan GlusterFS di CentOS 8

Atur GlusterFS Distributed Replicated Volume pada CentOS 8

Instal dan Konfigurasikan Perangkat Blok Ceph di Ubuntu 18.04

Siapkan Cluster Penyimpanan Tiga Node Ceph di Ubuntu 18.04