12

У меня есть Synology NAS с 12 отсеками. Первоначально мы решили выделить все 12 дисков для одного тома RAID-6, но теперь мы хотели бы уменьшить объем, чтобы использовать только 10 дисков, и назначить два жестких диска в качестве запасных.

Мастер диспетчера томов может легко расширить том, добавив жесткие диски, но я не нашел способа сжать том, удалив жесткие диски. Как я могу сделать это без повторной инициализации всей системы?

1 ответ1

18

Для этого я предполагаю, что в массиве 12 дисков, каждый из которых имеет размер 1 ТБ.

Это означает, что есть 10 ТБ памяти. Это, например, при условии, что вы используете не более 6 дисков (6 ТБ) хранилища, тогда не имеет значения, какого они размера.

Отказ от обязательств: все это может не поддерживаться Synology, поэтому я бы посоветовался с ними, не может ли этот подход вызвать проблемы, выполнить предварительное резервное копирование и заранее отключить любые службы Synology. Насколько я знаю, Synology использует стандартные raid-массивы md, и они доступны, если диск перенести на стандартный сервер, поддерживающий md, поэтому проблем быть не должно .

обзор

Последовательность выглядит так:

  1. Уменьшить размер файловой системы
  2. Уменьшите размер логического тома
  3. Уменьшить размер массива
  4. Изменить размер файловой системы обратно
  5. Конвертировать запасные диски в горячие резервы

Файловая система

Найдите основной раздел, используя 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.3T на массиве 10T, поэтому мы можем безопасно уменьшить размер массива на 2T.

массив

Узнайте устройство 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] 

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