В настоящее время у нас есть выделенный сервер с 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 ответ1

0

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

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

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

Тем не менее, я буду действовать по линии

  • удалить 2 зеркала с md2. Это дает вам все еще работоспособную систему без простоев, но с двумя свободными разделами. mdadm --remove /dev/md2 /dev/sda2 && mdadm --remove /dev/md2 /dev/sdb2
  • стереть все суперблоки FS и RAID из этих двух. wipefs --all /dev/sda2 && wipefs --all /dev/sdb2
  • Создайте RAID5 из этих двух разделов, используя 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, оставив его с одной ногой, недавно созданный md3 mdadm --remove /dev/md2 /dev/sdc2
  • Расти md2, чтобы использовать все md3 mdadm --grow --size=max /dev/md2
  • Измените размер файловой системы, чтобы использовать все md2. ЭТО ЗАВИСИТ ОТ ИСПОЛЬЗОВАННОЙ ФС.
  • стереть суперблоки FS и RAID с этого последнего раздела wipefs --all /dev/sdc2
  • Добавьте его к RAID5 и остроумие для завершения синхронизации. mdadm --add /dev/md3 /dev/sdc2

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .