Объединение нескольких дисков в один том

Объединение нескольких дисков в один том

В настоящее время у нас есть выделенный сервер с 3 SSD-дисками. Мы заметили, что фактически развернули ОС на одном диске, а два других в настоящее время не используются. Однако этот диск почти заполнен:

/dev/md2         91G   83G  3.0G  97% /home

Логичным решением здесь было бы объединить емкость всех трех дисков (3 x 120 ГБ) и превратить их в один том. Как лучше всего это сделать?

К сожалению, переустановка ОС или что-то подобное на данный момент не представляется возможным.

На сервере установлена ​​Ubuntu 14.04.5 LTS. Я нашел LVM, но пока не выяснил, является ли это лучшим решением.

Как просили:

root@hv01:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        20G  2.5G   16G  14% /
devtmpfs         16G  4.0K   16G   1% /dev
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            3.2G  572K  3.2G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             16G   24K   16G   1% /run/shm
none            100M     0  100M   0% /run/user
/dev/md2         91G   84G  2.6G  98% /home

root@hv01:~# cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]     [multipath] [faulty] 
md1 : active raid1 sdc1[2] sda1[0] sdb1[1]
  20478912 blocks [3/3] [UUU]

md2 : active raid1 sdc2[2] sda2[0] sdb2[1]
  96211904 blocks [3/3] [UUU]

unused devices: <none>

решение1

/proc/mdstatясно, что вы создали 3-сторонний набор зеркал (RAID1) для вашей ОС (md1) и Home (md2). Хотя это обеспечивает достаточную избыточность, это стоит вам много места.

Поскольку вы ограничены только диском /home, самый простой способ — немного поэкспериментировать с дисками.

Предупреждение: имейте в виду, что неисправный SSD в неподходящий момент может стоить вам ВСЕХ ваших файлов — сделайте резервную копию и будьте готовы.

Тем не менее, я бы продолжил в том же духе

  • удалить 2 зеркала из md2. Это оставит вам по-прежнему пригодную для использования систему без простоя, но с 2 свободными разделами.mdadm --remove /dev/md2 /dev/sda2 && mdadm --remove /dev/md2 /dev/sdb2
  • сотрите все суперблоки fs и RAID с этих двух.wipefs --all /dev/sda2 && wipefs --all /dev/sdb2
  • Создайте RAID5 из этих 2 разделов, используя missingв качестве третьего. Это фактически создаст временный RAID0, в два раза больше исходного раздела (md3).mdadm --create -n 3 --level=5 --bitmap=internal /dev/md3 /dev/sda2 /dev/sdb2 missing
  • Добавьте этот RAID5 к исходному md2 как одно зеркало и дождитесь завершения повторной синхронизации.mdadm --add /dev/md2 /dev/md3 ДОЖДИТЕСЬ СИНХРОНИЗАЦИИ, ИНАЧЕ ПОТЕРЯЕТЕ СВОИ ДАННЫЕ!
  • Удалите последнее исходное зеркало из md2, оставив его с одной ногой, вновь созданный md3mdadm --remove /dev/md2 /dev/sdc2
  • Увеличить md2, чтобы использовать весь md3mdadm --grow --size=max /dev/md2
  • Измените размер файловой системы, чтобы использовать весь md2ЭТО ЗАВИСИТ ОТ ИСПОЛЬЗУЕМОЙ ФС
  • стереть FS и RAID суперблоки из этого последнего разделаwipefs --all /dev/sdc2
  • Добавьте его в RAID5 и дождитесь завершения повторной синхронизации.mdadm --add /dev/md3 /dev/sdc2

Теперь у вас есть набор зеркал с одним зеркалом, который сам по себе является RAID5, в два раза больше изначального размера. Это кажется довольно хорошим балансом между избыточностью и размером.

Приятная новость: вы не столкнетесь с какими-либо простоями — все вышеперечисленные шаги доступны при использовании файловой системы.

Связанный контент