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

Совет по вставке дополнительных дисков в зеркальный пул ZFS?

Я запускаю FreeBSD 9.1 с правами root в зеркальном пуле ZFS.

Сначала бассейн (с надписью zroot) имеет в общей сложности 1 ТБ на два диска по 1 ТБ.

Недавно мы столкнулись с проблемами дискового пространства, при которых пул выделен на 99%, а около 15 ГБ свободного места. Около 800G занято в /home только файловая система.

Чтобы исправить это, мы добавили 2 диска по 1 ТБ.

Мы хотели бы, чтобы эти диски были зеркальными. Остается вопрос, как добавить в пул 2 дополнительных диска по 1 ТБ?

  1. Стоит ли добавлять их к существующим zroot пул и выделить его. Это кажется плохой идеей, поскольку исходный пул был разработан для работы в качестве корневой файловой системы.

  2. Должны ли мы создать новый пул с зеркальным набором дисков, а затем создать новый /home2 и перевести на этот раздел пользователей с высокой посещаемостью?

Для нас масштабы функций ZFS не ясны. Мы склоняемся к варианту (2), поскольку он не добавляет ненужных зависимостей от корневого зеркала. Тем не менее, мы были бы признательны за любую информацию и идеи о том, какие действия следует предпринять.

Спасибо.

Должны ли мы добавить их в существующий пул zroot и выделить его. Это кажется плохой идеей, поскольку исходный пул был разработан для работы в качестве корневой файловой системы.

Во-первых, файловые системы zpools и zfs - это разные концепции (на самом деле их нельзя разделить, но следует подумать об их настройке). Таким образом, пулы не «предназначены для работы в качестве корневой файловой системы», в zpool есть файловая система, настроенная для работы в качестве корневой файловой системы.

Поскольку этот zpool содержит корневую файловую систему, он должен быть либо единичным vdev без избыточности, либо единственным зеркалом. Так что вы не можете просто добавить больше дисков.

Должны ли мы создать новый пул с зеркальным набором дисков, а затем создать новый / home2 и перенести на этот раздел часто используемых пользователей?

Намного проще создать файловую систему zfs для каждого пользователя и смонтировать ее на их домашнем диске. Это избавляет от ненужных / нестандартных /home2 idea и позволяет вам устанавливать квоты, резервирования и многое другое для домашней папки каждого пользователя.

Когда я настраиваю сервер ZFS, я либо использую два / три диска меньшего размера для загрузочного zpool (у меня есть диски 100-320 ГБ, так что я обычно использую это), либо отрезаю кусок от основных накопителей (из примерно того же размера, используя разделы GPT). Остальная часть диска занимает один большой раздел, который переходит в хранилище zpool.

Вот, например, настройка моего домашнего сервера:

  pool: tank0
 state: ONLINE
  scan: scrub repaired 0 in 1h39m with 0 errors on Sat Jun  8 07:59:40 2013
config:

        NAME              STATE     READ WRITE CKSUM
        tank              ONLINE       0     0     0
          mirror-0        ONLINE       0     0     0
            gpt/tank0-d0  ONLINE       0     0     0
            gpt/tank0-d1  ONLINE       0     0     0

errors: No known data errors

  pool: tank1
 state: ONLINE
  scan: scrub repaired 0 in 3h11m with 0 errors on Mon Jun  1 08:57:39 2013
config:

        NAME              STATE     READ WRITE CKSUM
        tank1             ONLINE       0     0     0
          raidz1-0        ONLINE       0     0     0
            gpt/tank1-d0  ONLINE       0     0     0
            gpt/tank1-d1  ONLINE       0     0     0
            gpt/tank1-d2  ONLINE       0     0     0
            gpt/tank1-d3  ONLINE       0     0     0

Прежде всего позвольте мне угадать вашу текущую конфигурацию. Ты использовал zpool add добавить новые диски в пул? В таком случае ваш zpool должен выглядеть так:

zpool:
  mirror:
    disk1
    disk2
  disk3
  disk4

В этом случае для зеркалирования ваших новых дисков вам необходимо сделать следующее:

zpool attach <pool-name> <disk3> <disk5>
zpool attach <pool-name> <disk4> <disk6>

Это даст вам пул, состоящий из трех зеркал, по два диска на каждое.

На мой взгляд, для этой настройки было бы намного лучше использовать zraid2 или zraid3, вы получите более быстрый пул и лучшую надежность. В вашей текущей настройке вы можете потерять два диска, чтобы убить пул. С zraid2 вы также можете потерять два диска, но получите 1 ТБ дополнительного места. С zraid3 можно безопасно потерять три диска.

Другой вариант, который вы можете рассмотреть, - это включить сжатие в вашем пуле. Не включайте сжатие для корневой файловой системы!