Я использую свою машину с 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
Размер можно увидеть из строки, которая указывает «Total 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