Оперативный ZFS RAIDZ миграции с 3 дисками к 4 дискам, когда пул имеет больше, чем 1/3 свободного пространства

При создании моего RAID-Z объединяют на ZoL, который я принял, я мог легко просто общедоступные дополнительные диски позже. Между тем я узнал, что это все же не возможно.

Но... У меня была подобная проблема при создании моего начального объединения. Только 4 свободных порта SATA, но старый RAID5 с тремя дисками на 2 ТБ и новый RAIDZ1 с тремя дисками на 4 ТБ. Решение состояло в том, чтобы a) ухудшить RAID5 и b) создать начальный RAIDZ с редким файлом как "виртуальный третий диск", который был сразу взят выведенный из эксплуатации после создания пула:

  1. Создайте редкий файл: dd if=/dev/zero of=/zfs1 bs=1 count=1 seek=4100G
  2. Создайте пул набегов: zpool create zfspool raidz /dev/disk1 /dev/disk2 /zfs1
  3. Сразу снимите редкий файл: zpool offline zfspool /zfs1
  4. Переместите данные в zfspool. Удалите старые диски RAID5, добавьте третий, новый диск на 4 ТБ
  5. Замените и повторно посеребрите редкий файл в пуле с фактическим, третьим диском:
    zpool replace zfspool /zfs1 /dev/disk3

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

Таким образом, вот мой план. Кто-либо видит дефект в нем?

  • Купите четвертый диск на 4 ТБ и выведите один диск из эксплуатации от существующего пула
  • Создайте 2x2 ТБ paritions на этих двух, свободных дисках.
  • Создайте RAIDz из этих четырех "дисков": 3x2 ТБ = сетевое устройство хранения данных на 6 ТБ.
  • По причине производительности: Возьмите один из 2-го раздела сразу офлайн
  • Переместите данные максимум на 6 ТБ в новый пул и уничтожьте старый пул
  • Замените офлайн "диск на 2 ТБ" реальными 4 ТБ один из старого пула. Ожидайте к пересеребру.
  • На диске с 2 активными разделами: Выведите 2-е разделы на 2 ТБ из эксплуатации и замените его вторым диском на 4 ТБ от старого пула. Ожидайте перепосеребрения.
  • Один за другим: Выведите из эксплуатации остающиеся разделы на 2 ТБ, вырастите раздел с 4 ТБ и повторно добавьте диск пул. Ожидайте перепосеребрения.
  • Промывка и повторение для самого последнего диска/раздела на 2 ТБ

Это будет работать? Я знаю, что я выше уязвимый для потери данных из-за недостающего дублирования во время процесса, но у меня будет резервное копирование самых важных данных. Просто недостаточно для целой полезной нагрузки на 6 ТБ.

И ZFS автоматически вырастит пул к (3+1) x4TB = 12 ТБ после последнего шага?

3
задан 22 December 2014 в 15:21
2 ответа

Уродливо, но это сработает.

За исключением случаев, когда это не так;).

  • Будьте очень осторожны при указании разделов и при замене дисков
  • попробуйте это в am VM заранее настройте виртуальные диски, как ваше оборудование, и выполните пробный запуск 1 или 2 раза.
  • сделайте очистку перед запуском и просмотрите информацию SMART с дисков. Вы не стали бы пробовать это делать с уже нестабильным диском.

Важно: вам лучше иметь проверенную резервную копию на другом носителе или машине, прежде чем пробовать это!

Да, ZFS увеличит пул, если будут заменены последние 2 ТБ диска или раздела с 4 ТБ (если у вас есть autoexpand = on для пула)

zpool get autoexpand $pool

zpool set autoexpand=on $pool

Примечание: вы не должны использовать RAID-Z на дисках размером более 2 ТБ. Ваш шанс получить сообщение об ошибке при повторном обновлении при замене неисправного диска очень высок. Обратите внимание на RAID-Z2.

4
ответ дан 3 December 2019 в 05:42

Ова звучи страшно. Тоа се ваши податоци, па можете да правите како што сакате ... Но, никој не би го одобрил решението.

Ова е навистина ситуација кога треба да започнете од почеток .

Преместете ги вашите податоци привремено некаде и повторно да ги изградите.

1
ответ дан 3 December 2019 в 05:42

Теги

Похожие вопросы