В настоящее время у нас есть выделенный сервер с 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, оставив его с одной ногой, вновь созданный 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, в два раза больше изначального размера. Это кажется довольно хорошим балансом между избыточностью и размером.
Приятная новость: вы не столкнетесь с какими-либо простоями — все вышеперечисленные шаги доступны при использовании файловой системы.