Для этого я предполагаю, что в массиве 12 дисков, каждый из которых имеет размер 1 ТБ.
Это означает, что есть 10 ТБ памяти. Это, например, при условии, что вы используете не более 6 дисков (6 ТБ) хранилища, тогда не имеет значения, какого они размера.
Oblig disclaimer: Synology не может поддерживать ничего из этого, поэтому я хотел бы проверить у них, может ли этот подход вызвать проблемы, выполнить резервное копирование заранее и заранее отключить любые службы Synology. Насколько я знаю, Synology использует стандартные raid-массивы md, и они доступны, если диск перенести на стандартный сервер, поддерживающий md, поэтому проблем быть не должно .
обзор
Последовательность выглядит следующим образом:
- Уменьшить размер файловой системы
- Уменьшите размер логического тома
- Уменьшить размер массива
- Изменить размер файловой системы обратно
- Конвертировать запасные диски в горячие
Файловая система
Найдите основной раздел, используя df -h
, он должен выглядеть примерно так:
Filesystem Size Used Available Use% Mounted on
/dev/vg1/volume_1 10T 5T 5T 50% /volume1
Используйте эту команду для изменения размера до необходимого и не более:
umount /dev/vg1/volume_1
resize2fs -M /dev/vg1/volume_1
Теперь проверьте:
mount /dev/vg1/volume_1 /volume1
df -h
Filesystem Size Used Available Use% Mounted on
/dev/vg1/volume_1 5T 5T 0T 100% /volume1
объем
Чтобы уменьшить размер тома, используйте lvreduce (на всякий случай увеличьте его):
umount /dev/vg1/volume_1
lvreduce -L 5.2T /dev/vg1/volume_1
Теперь, когда логический том уменьшен, используйте pvresize, чтобы уменьшить размер физического тома:
pvresize --setphysicalvolumesize 5.3T /dev/md0
Если изменение размера завершится неудачно, см. Этот другой вопрос для перемещения частей данных, которые были выделены в конце физического тома, в начало.
Теперь у нас есть том 5.3Т на массиве 10Т, поэтому мы можем безопасно уменьшить размер массива на 2Т.
массив
Узнайте устройство md:
pvdisplay -C
PV VG Fmt Attr PSize PFree
/dev/md0 vg1 lvm2 a-- 5.3t 0.1t
Первым шагом является указание mdadm уменьшить размер массива (с помощью grow):
mdadm --grow -n10 /dev/md0
mdadm: this change will reduce the size of the array.
use --grow --array-size first to truncate array.
e.g. mdadm --grow /dev/md0 --array-size 9683819520
Это говорит о том, что для размещения текущего массива на 10 дисках нам нужно уменьшить размер массива.
mdadm --grow /dev/md0 --array-size 9683819520
Теперь оно меньше, мы можем уменьшить количество дисков:
mdadm --grow -n10 /dev/md0 --backup-file /root/mdadm.md0.backup
Это займет много времени и может быть отслежено здесь:
cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md4 : active raid6 sda4[0] sdb4[1] sdc4[2] sdd4[3] sde4[4] sdf4[5] sdg4[6] sdh4[7] sdi4[1] sdj4[1]
[>....................] reshape = 1.8% (9186496/484190976)
finish=821.3min speed=9638K/sec [UUUUUUUUUU__]
Но нам не нужно ждать.
Измените размер PV, LV и файловой системы до максимального:
pvresize /dev/md0
lvextend -l 100%FREE /dev/vg1/volume_1
e2fsck -f /dev/vg1/volume_1
resize2fs /dev/vg1/volume_1
Установить запасные диски как запчасти
Ничего не поделаешь, любые запасные диски в массиве автоматически резервируются. После того, как ваше изменение формы завершено, проверьте статус:
cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md4 : active raid6 sda4[0] sdb4[1] sdc4[2] sdd4[3] sde4[4] sdf4[5] sdg4[6] sdh4[7] sdi4[S] sdj4[S]