Я запускаю FreeBSD 9.1 с правами root в зеркальном пуле ZFS.
Сначала бассейн (с надписью zroot
) имеет в общей сложности 1 ТБ на два диска по 1 ТБ.
Недавно мы столкнулись с проблемами дискового пространства, при которых пул выделен на 99%, а около 15 ГБ свободного места. Около 800G занято в /home
только файловая система.
Чтобы исправить это, мы добавили 2 диска по 1 ТБ.
Мы хотели бы, чтобы эти диски были зеркальными. Остается вопрос, как добавить в пул 2 дополнительных диска по 1 ТБ?
Стоит ли добавлять их к существующим zroot
пул и выделить его. Это кажется плохой идеей, поскольку исходный пул был разработан для работы в качестве корневой файловой системы.
Должны ли мы создать новый пул с зеркальным набором дисков, а затем создать новый /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 можно безопасно потерять три диска.
Другой вариант, который вы можете рассмотреть, - это включить сжатие в вашем пуле. Не включайте сжатие для корневой файловой системы!