Я використовую свою машину Ubuntu як файловий сервер для клієнтів Windows / Linux / Mac, що використовують спільний доступ Samba. Мені потрібно, щоб його було легко розширювати, просто додаючи більше жорстких дисків, не потребуючи переміщення даних назад і назад.
Ось як я це робив досі. Я успішно додав четвертий жорсткий диск. Тепер було б непогано знати, як це робити? Що я роблю неправильно чи що можу зробити краще?
Створення початкового масиву 3 приводів
Я почав з трьох порожніх дисків: / dev / sdb, / dev / sdc та / dev / sdd.
Спочатку я створив порожні розділи для всіх дисків:
$ 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
Коли на всіх трьох дисках були створені порожні розділи RAID, я створив масив RAID5:
$ mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
Зараз створено масив RAID5, і він вже будується. Це потребує часу, але ви можете продовжити створення нового фізичного тома LVM2:
$ pvcreate /dev/md0
Тепер давайте створимо нову групу томів:
$ vgcreate vd_raid /dev/md0
Тоді нам потрібно створити новий логічний том у цій групі томів. Спочатку нам потрібно визначити точний розмір створеної групи томів:
$ vgdisplay vg_raid
Розмір можна побачити з рядка, який вказує на "Усього ПЕ" у фізичних розмірах. Уявімо, що це 509. Тепер створіть новий логічний том, який займе весь наявний простір:
$ lvcreate -l 509 vg_raid -n lv_raid
Нарешті ми можемо створити файлову систему поверх цього логічного тома:
$ mkfs.xfs /dev/mapper/vg_raid-lv_raid
Щоб мати можливість використовувати наш щойно створений масив RAID, нам потрібно створити каталог і змонтувати його:
$ mkdir /raid
$ mount /dev/mapper/vg_raid-lv_raid /raid
Тепер він готовий до використання. Але для того, щоб він автоматично монтувався після перезавантаження, нам потрібно зберегти геометрію RAID у файлі конфігурації mdadm:
$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Потім додайте наступний рядок до / etc / fstab, який автоматично монтує RAID масив:
/dev/mapper/vg_raid-lv_raid /raid auto auto,noatime,nodiratime,logbufs=8 0 1
Тепер масив RAID готовий до використання та автоматично встановлюється в / raid каталог після кожного завантаження.
Додавання нового масиву до масиву
Давайте уявимо, що тепер у вас є новий диск / dev / sde, який ви хочете додати до створеного раніше масиву, не втрачаючи жодних даних.
По-перше, новий привід потрібно розділити, як і всі інші диски:
$ 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
Потім його потрібно додати до масиву RAID:
$ mdadm --add /dev/md0 /dev/sde1
Тепер масив RAID5 включає чотири накопичувачі, які використовуються лише три. Масив потрібно розширити, щоб він включав усі чотири диски:
$ mdadm --grow /dev/md0 --raid-devices=4
Тоді фізичний об'єм LVM2 потрібно розширити:
$ pvresize /dev/md0
Тепер фізичний обсяг змінюється за замовчуванням, щоб охопити весь доступний простір у масиві RAID. Нам потрібно з’ясувати новий розмір у фізичних розширеннях:
$ vgdisplay vg_raid
Уявімо, що зараз новий розмір - 764 (видно з "Total PE"). Тепер розгорніть логічний том, щоб охопити це:
$ lvextend /dev/mapper/vg_raid-lv_raid -l 764
Потім розгорніть файлову систему XFS. Це потрібно зробити під час онлайн-файлової системи та встановити її:
$ xfs_grow /raid
За замовчуванням він розширюється, щоб охопити весь наявний простір. Нарешті, геометрію масиву RAID потрібно оновити, оскільки тепер масив містить новий диск. Спочатку видаліть доданий рядок із /etc/mdadm/mdadm.conf, а потім додайте новий:
$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf