Назад | Перейти на главную страницу

Программный RAID 5 Linux легко расширить с помощью XFS. Лучшие практики?

Я использую свою машину 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

Размер можно увидеть в строке, которая указывает «Всего PE» в физических экстентах. Представим, что это 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

Я думаю, ты прав. Убедитесь, что вы понимаете и прислушиваетесь к предупреждениям относительно роста RAID 5 в man 8 mdadm.

Лично, если бы я наращивал том LVM, я бы не увеличивал для этого существующий массив RAID. Я бы создал еще один RAID-массив, создал из него новый физвол и добавил его в ту же группу томов. Это гораздо более безопасная операция (не требует перезаписи всего массива RAID5 на новом наборе дисков) и снижает размер ваших массивов.