Saya menggunakan mesin Ubuntu saya sebagai server file untuk klien Windows / Linux / Mac menggunakan share Samba. Saya perlu mudah diperluas dengan hanya menambahkan lebih banyak hard drive tanpa harus memindahkan data bolak-balik.
Inilah yang saya lakukan sejauh ini. Saya telah berhasil menambahkan hard drive keempat. Sekarang akan menyenangkan untuk mengetahui apakah ini bagaimana seharusnya dilakukan? Apa yang saya lakukan salah atau apa yang bisa saya lakukan lebih baik?
Menciptakan 3 drive array awal
Saya mulai dengan tiga drive kosong: / dev / sdb, / dev / sdc dan / dev / sdd.
Pertama saya membuat partisi kosong untuk semua drive:
$ fdisk /dev/sdX
n # Create a new partition
p # Primary
1 # First partition
[enter] # Starting point to first sector (default)
[enter] # Ending point to last sector (default)
t # Change partition type
fd # Type: Linux raid autodetect
w # Write changes to disc
Ketika partisi RAID kosong telah dibuat untuk ketiga disk, saya membuat array RAID5:
$ mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
Sekarang array RAID5 dibuat, dan itu sudah dibangun. Butuh waktu, tetapi Anda dapat melanjutkan dengan membuat volume LVM2 fisik baru:
$ pvcreate /dev/md0
Sekarang mari kita buat grup volume baru:
$ vgcreate vd_raid /dev/md0
Maka kita perlu membuat volume logis baru di dalam grup volume itu. Pertama kita perlu mencari tahu ukuran pasti dari grup volume yang dibuat:
$ vgdisplay vg_raid
Ukurannya dapat dilihat dari baris yang menunjukkan "Total PE" dalam luasan fisik. Mari kita bayangkan ini adalah 509. Sekarang buat volume logis baru yang mengambil semua ruang yang tersedia:
$ lvcreate -l 509 vg_raid -n lv_raid
Akhirnya kita dapat membuat sistem file di atas volume logis itu:
$ mkfs.xfs /dev/mapper/vg_raid-lv_raid
Untuk dapat menggunakan array RAID yang baru dibuat, kita perlu membuat direktori dan memasangnya:
$ mkdir /raid
$ mount /dev/mapper/vg_raid-lv_raid /raid
Sekarang siap digunakan. Tetapi untuk itu secara otomatis me-mount setelah reboot, kita perlu menyimpan geometri RAID ke file konfigurasi mdadm:
$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Kemudian tambahkan baris berikut ke / etc / fstab yang me-mount array RAID secara otomatis:
/dev/mapper/vg_raid-lv_raid /raid auto auto,noatime,nodiratime,logbufs=8 0 1
Sekarang array RAID siap digunakan, dan dipasang secara otomatis ke / raid direktori setelah setiap boot.
Menambahkan drive baru ke array
Mari kita bayangkan bahwa sekarang Anda memiliki drive baru, / dev / sde, yang ingin Anda tambahkan ke array yang dibuat sebelumnya tanpa kehilangan data apa pun.
Pertama, drive baru harus dipartisi karena semua drive lain:
$ fdisk /dev/sde
n # Create a new partition
p # Primary
1 # First partition
[enter] # Starting point to first sector (default)
[enter] # Ending point to last sector (default)
t # Change partition type
fd # Type: Linux raid autodetect
w # Write changes to disc
Maka perlu ditambahkan ke array RAID:
$ mdadm --add /dev/md0 /dev/sde1
Sekarang array RAID5 mencakup empat drive, yang hanya tiga yang digunakan saat ini. Array perlu diperluas untuk memasukkan keempat drive:
$ mdadm --grow /dev/md0 --raid-devices=4
Maka volume fisik LVM2 perlu diperluas:
$ pvresize /dev/md0
Sekarang volume fisik diubah ukurannya secara default untuk mencakup semua ruang yang tersedia di array RAID. Kita perlu mengetahui ukuran baru dalam luasan fisik:
$ vgdisplay vg_raid
Mari kita bayangkan bahwa ukuran baru sekarang 764 (dapat dilihat dari "Total PE"). Sekarang perluas volume logis untuk mencakup ini:
$ lvextend /dev/mapper/vg_raid-lv_raid -l 764
Kemudian perluas sistem file XFS. Ini perlu dilakukan selama sistem file online dan terpasang:
$ xfs_grow /raid
Secara default diperluas untuk mencakup semua ruang yang tersedia. Akhirnya geometri array RAID perlu diperbarui karena array sekarang termasuk disk baru. Pertama-tama hapus baris yang ditambahkan dari /etc/mdadm/mdadm.conf dan kemudian tambahkan yang baru:
$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf