Я использую свою машину Ubuntu в качестве файлового сервера для клиентов Windows / Linux / Mac с использованием общего ресурса Samba. Мне нужно, чтобы его можно было легко расширять, просто добавляя больше жестких дисков, без необходимости перемещать какие-либо данные туда и обратно.
Вот как я это делал до сих пор. Я успешно добавил четвертый жесткий диск. Теперь было бы неплохо узнать, как это нужно делать? Что я делаю не так или что я мог бы сделать лучше?
Я начал с трех пустых дисков: / 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 на новом наборе дисков) и снижает размер ваших массивов.