ZFS: подготовка к будущим дополнениям дисков

Я собираюсь собрать систему Solaris NAS, в настоящее время у нас есть два диска, и мы планируем добавить еще два в более поздние сроки (жесткие диски корпоративного уровня объемом 2 ТБ стоят немного дороже!).

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

Я думал о зеркалировании дисков, а затем преобразовать в raidz, как?

Это будет максимум 4 диска, вторые два из которых будут куплены позже.

Есть идеи?

3 ответа

Решение

Зеркалирование - это путь сюда. Это позволит вам легко добавлять дополнительные зеркальные пары для расширения существующего объема. Никаких простоев, никаких хитростей, просто добавьте больше дисков, и вы уже в пути. Если вам действительно не нужно 6 ТБ 4x2 ТБ в RAIDZ, 4 ТБ 4x2 ТБ с зеркальным отображением - лучший выбор. Преимущество зеркалирования также заключается в снижении нагрузки на процессор, повышении производительности и упрощении восстановления в случае сбоя.

Но если посмотреть, как люди предпочитают жить на грани и сэкономить пару долларов, вот как можно перенести данные с зеркала с двумя дисками на raidz с четырьмя дисками:

  • Создать зеркало с двумя дисками zpool create mirror cXt1d0 cXt2d0 yourPool
  • Счастливо заполнить ваши диски с данными
  • Купить диски 3, 4 (такого же размера, как диски 1, 2)
  • Сделайте глубокий вдох, вы собираетесь отказаться от избыточности, потому что вы дешевы.
  • Разбить зеркало, сняв диск 2: zpool detach cXt2d0 yourPool
  • Создайте разреженный файл того же размера, что и ваши диски: mkfile -n 500GB /path/file.img
  • Создайте пул raidz с четырьмя дисками, используя диски 2, 3, 4 и разреженный файл: zpool create raidz cXt2d0 cXt3d0 cXt4d0 /path/file.img newPool
  • Удалите массив raidz, отсоединив разреженный файл: zpool detach /path/file.img newPool
  • Скопируйте данные из yourPool в newPool с помощью zfs send/zfs recv (или просто rsync/cp it)
  • Уничтожьте оригинальный зеркальный бассейн: zpool destroy yourPool
  • Подключите диск 1 к пулу raidz: zpool attach cXt1d0 newPool
  • Дождитесь, пока ZFS восстановит силу на диске (это займет несколько часов, не обманывайте себя, если%% не движется, есть ошибка. Просто дайте ей поработать).
  • Выдохните этим глубоким вдохом, у вас снова будет резервный бассейн.

Если вы не хотите сделать резервную копию содержимого и воссоздать zpool, я не думаю, что это можно сделать. Хотя вы можете создать пул raidz всего с двумя устройствами, вы не сможете расширить его до raidz с четырьмя дисками. Что вы можете сделать, это создать зеркало с первыми двумя дисками и добавить второе зеркало в пул со вторыми двумя дисками, но это не даст вам столько места, сколько вам кажется.

Вы также можете установить его как raidz, создать / использовать разреженный файл в качестве вашего последнего диска, немедленно отключить этот файл, затем, когда вы получите диск, замените разреженный файл новым диском, где он фактически станет raidz, в отличие от к линейному диапазону zfs после замены автономного разреженного файла на ваш диск.

Несмотря на то, что у вас не будет четности, у вас будет большая часть возможностей ZFS онлайн, включая очистку и некоторые возможности автоматического восстановления.

Другие вопросы по тегам