Назад | Перейти на главную страницу

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

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

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

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

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

Любые идеи?

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

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

  • Создайте зеркало с 2 дисками 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
  • Подключите drive1 к raidz pool: zpool attach cXt1d0 newPool
  • Подождите, пока ZFS повторно обновит диск (это займет несколько часов, не дайте себя обмануть статусом% не движется, есть ошибка. Просто дайте ему поработать).
  • Сделайте глубокий вдох, и вы снова получите избыточный бассейн.

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

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

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