ZFS on FreeBSD
Прежде чем использовать ZFS, нам необходимо сделать разметку диска командой gpart. Сначала мы создаем таблицу разделов GUID (GPT) на вашем пустом (новом) диске (/dev/daX) с помощью следующей команды.
# gpart create -s GPT daX
После создания GPT мы можем проверить текущий раздел диска:
# gpart show daX
=< 34 13673828285 daX GPT (6.4T)
34 13673828285 - free - (6.4T)
Во-вторых, добавляем на диск новый раздел для типа ZFS. Следующая команда — использовать все дисковое пространство как один раздел ZFS, если daX диска указан выше (т. е. раздел начинается с адреса логического блока 34, а его размер составляет 13673828285 в числах логических блоков).
# gpart add -b 34 -s 13673828285 -t freebsd-zfs daX
Создание пула данных ZFS с помощью zpool
После разметки диска мы можем создать пул ZFS с помощью следующей команды:
# zpool create pool /dev/daXp1
Здесь мы отмечаем, что вы можете изменить имя пула, выраженное в команде как pool, на предпочитаемое вами имя, а p1 в имени устройства (/dev/daXp1) означает первый раздел.
Затем мы создаем файловую систему ZFS в вашем пуле ZFS:
# zfs create pool/fsname
Здесь pool — это имя вашего пула, а имя fsname — ваше предпочтительное имя.
Мы можем проверить текущую информацию о файловой системе с помощью подкоманды list:
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
pool 95.5K 6.21T 19K /pool
pool/fsname 18K 6.21T 18K /pool/fsname
Mounting your file system
Все файловые системы монтируются с помощью подкоманды mount команды zfs с опцией -a для соответствующих точек монтирования, которую можно проверить с помощью подкоманды list команды zfs:
# zfs mount -a
Определение доступных пулов устройств хранения данных для импорта
После удаления пула из системы (путем экспорта или принудительного удаления устройств) необходимо присоединить устройства к целевой системе. Несмотря на то, что ZFS может разрешать некоторые ситуации, в которых доступна только часть устройств, переносить в новую систему следует все устройства пула. Эти устройства не обязательно должны присоединяться под прежним именем. ZFS обнаруживает любые перемещенные или переименованные устройства и корректирует настройки соответствующим образом. Для получения списка доступных пулов используется команда zpool import без каких-либо параметров. Пример:
# zpool import
pool: tank
id: 3778921145927357706
state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:
tank ONLINE
mirror ONLINE
c1t0d0 ONLINE
c1t1d0 ONLINE
Импорт пулов устройств хранения данных ZFS
После определения пула для импорта его можно импортировать, указав имя пула или его числовой идентификатор в качестве аргумента команды zpool import. Пример:
# zpool import tank
Если нескольким доступным пулам присвоено одинаковое имя, пул для импорта можно указать с помощью числового идентификатора. Пример:
# zpool import
pool: dozer
id: 2704475622193776801
state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:
dozer ONLINE
c1t9d0 ONLINE
pool: dozer
id: 6223921996155991199
state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:
dozer ONLINE
c1t8d0 ONLINE
# zpool import dozer
cannot import 'dozer': more than one matching pool
import by numeric ID instead
# zpool import 6223921996155991199
В случае конфликта имени пула с именем существующего пула этот пул можно импортировать под другим именем. Пример:
# zpool import dozer zeepool