mod
parent
17a5106e39
commit
9127c054e3
450
zfs_commands.md
450
zfs_commands.md
|
@ -1,9 +1,9 @@
|
|||
# ZFS --- Справочник команд
|
||||
|
||||
- [ZFS --- Справочник команд](#zfs-----справочник-команд)
|
||||
- [Работа с пулом ZFS #{.anchor}](#работа-с-пулом-zfs-anchor)
|
||||
- [Работа с файловой и другими системами ZFS #{.anchor}](#работа-с-файловой-и-другими-системами-zfs-anchor)
|
||||
- [Файловая система #{.anchor}](#файловая-система-anchor)
|
||||
- [Работа с пулом ZFS](#работа-с-пулом-zfs)
|
||||
- [Работа с файловой и другими системами ZFS](#работа-с-файловой-и-другими-системами-zfs)
|
||||
- [Файловая система](#файловая-система)
|
||||
- [Snapshots (снепшоты или снимки состояния) #{.anchor}](#snapshots-снепшоты-или-снимки-состояния-anchor)
|
||||
- [Снова вернемся к пулам #{.anchor}](#снова-вернемся-к-пулам-anchor)
|
||||
|
||||
|
@ -11,181 +11,157 @@
|
|||
|
||||
Не забывайте про страницы справки по командам работы с ZFS.
|
||||
|
||||
``` {tabindex="0"}
|
||||
man zpool
|
||||
man zfs
|
||||
```
|
||||
|
||||
```bash
|
||||
man zpool
|
||||
man zfs
|
||||
```
|
||||
|
||||
Так как включить в пул (zpool) можно любые сущности файловой системы,
|
||||
автор приводит примеры построения пулов и работы с ними с использованием
|
||||
простых файлов. Итак, создадим несколько файлов, с которыми будем
|
||||
работать подобно дискам.
|
||||
Так как включить в пул (zpool) можно любые сущности файловой системы, автор приводит примеры построения пулов и работы с ними с использованием простых файлов. Итак, создадим несколько файлов, с которыми будем работать подобно дискам.
|
||||
|
||||
``` {tabindex="0"}
|
||||
cd /
|
||||
mkfile 100m disk1 disk2 disk3 disk5
|
||||
mkfile 50m disk4
|
||||
```bash
|
||||
[root@zfs]# cd /
|
||||
[root@zfs /]# for i in {1..3}; do dd if=/dev/zero of=disk$i bs=1M count=1000; done
|
||||
[root@zfs /]# dd if=/dev/zero of=disk4 bs=1M count=500
|
||||
[root@zfs /]# dd if=/dev/zero of=disk5 bs=1M count=1000
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Мы создали 5 «виртуальных дисков». Четыре имею размер по 100 Мб, а один
|
||||
--- 50 Мб. Это пригодится для демонстрации работы с устройствами
|
||||
(разделами) разной ёмкости.
|
||||
Мы создали 5 «виртуальных дисков». Четыре имеют размер по 100 Мб, а один - 50 Мб. Это пригодится для демонстрации работы с устройствами (разделами) разной ёмкости.
|
||||
|
||||
## Работа с пулом ZFS [\#](#%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0-%d1%81-%d0%bf%d1%83%d0%bb%d0%be%d0%bc-zfs){.anchor}
|
||||
## Работа с пулом ZFS
|
||||
|
||||
Теперь создадим простой пул без избыточности, затем проверим его размер
|
||||
и использование.
|
||||
Теперь создадим простой пул без избыточности, затем проверим его размер и использование.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool create myzfs /disk1 /disk2
|
||||
zpool list
|
||||
|
||||
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
|
||||
myzfs 191M 94K 191M 0% ONLINE -
|
||||
```bash
|
||||
[root@zfs /]# zpool create myzfs /disk1 /disk2
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Созданы пул автоматически монтируется в каталог `/myzfs`. Посмотрим
|
||||
более детальную информацию о нашем хранилище.
|
||||
```bash
|
||||
[root@zfs /]# zpool list
|
||||
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
|
||||
myzfs 1.88G 110K 1.87G - - 0% 0% 1.00x ONLINE -
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool status -v
|
||||
Созданы пул автоматически монтируется в каталог `/myzfs`. Посмотрим более детальную информацию о нашем хранилище.
|
||||
|
||||
```bash
|
||||
[root@zfs /]# zpool status
|
||||
pool: myzfs
|
||||
state: ONLINE
|
||||
scrub: none requested
|
||||
config:
|
||||
|
||||
NAME STATE READ WRITE CKSUM
|
||||
myzfs ONLINE 0 0 0
|
||||
/disk1 ONLINE 0 0 0
|
||||
/disk2 ONLINE 0 0 0
|
||||
|
||||
errors: No known data errors
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Из вывода видно, что в пул включены два диска. Пул без избыточности (не
|
||||
mirror и не RAIDZ).
|
||||
Из вывода видно, что в пул включены два диска. Пул без избыточности (не mirror и не RAIDZ).
|
||||
|
||||
Теперь попробуем удалить только что созданный пул. Должны же мы это
|
||||
уметь.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool destroy myzfs
|
||||
zpool list
|
||||
Теперь попробуем удалить только что созданный пул. Должны же мы это уметь.
|
||||
|
||||
```bash
|
||||
[root@zfs /]# zpool destroy myzfs
|
||||
[root@zfs /]# zpool list
|
||||
no pools available
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Попробуем снова создать пул типа *MIRROR* (зеркало), но на этот раз
|
||||
попытаемся включить в него диски разного размера. Zpool не даст нам
|
||||
этого сделать. Чтобы безоговорочно создать такой пул, используйте опцию
|
||||
`-f`, но в этом случае помните --- размер зеркала будет равен объему
|
||||
наименьшего диска.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool create myzfs mirror /disk1 /disk4
|
||||
Попробуем снова создать пул типа `MIRROR` (зеркало), но на этот раз попытаемся включить в него диски разного размера. Zpool не даст нам этого сделать. Чтобы безоговорочно создать такой пул, используйте опцию `-f`, но в этом случае помните --- размер зеркала будет равен объему наименьшего диска.
|
||||
|
||||
```bash
|
||||
[root@zfs /]# zpool create myzfs mirror /disk1 /disk4
|
||||
invalid vdev specification
|
||||
use '-f' to override the following errors:
|
||||
mirror contains devices of different sizes
|
||||
/disk1 is part of active pool 'myzfs'
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Создать зеркалируемое (*MIRROR*) хранилище можно на двух и более
|
||||
устройствах. Сколько устройств в пуле типа `MIRROR` --- столько у нас
|
||||
есть одинаковых копий данных.
|
||||
Создать зеркалируемое (*MIRROR*) хранилище можно на двух и более устройствах. Сколько устройств в пуле типа `MIRROR` --- столько у нас есть одинаковых копий данных.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool create myzfs mirror /disk1 /disk2 /disk3
|
||||
zpool list
|
||||
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
|
||||
myzfs 95.5M 112K 95.4M 0% ONLINE -
|
||||
|
||||
zpool status -v
|
||||
```bash
|
||||
[root@zfs /]# zpool create -f myzfs mirror /disk1 /disk2 /disk3
|
||||
[root@zfs /]# zpool list
|
||||
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
|
||||
myzfs 960M 129K 960M - - 0% 0% 1.00x ONLINE -
|
||||
[root@zfs /]#
|
||||
[root@zfs /]# zpool status
|
||||
pool: myzfs
|
||||
state: ONLINE
|
||||
scrub: none requested
|
||||
config:
|
||||
|
||||
NAME STATE READ WRITE CKSUM
|
||||
myzfs ONLINE 0 0 0
|
||||
mirror ONLINE 0 0 0
|
||||
mirror-0 ONLINE 0 0 0
|
||||
/disk1 ONLINE 0 0 0
|
||||
/disk2 ONLINE 0 0 0
|
||||
/disk3 ONLINE 0 0 0
|
||||
|
||||
errors: No known data errors
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Вместо зеркалирования можно использовать массивы *RAID*. Для этого
|
||||
необходимо создавать пул типа `raidz` вместо `mirror`. Подробнее в
|
||||
[хендбуке](https://docs.freebsd.org/en/books/handbook/zfs/).
|
||||
Вместо зеркалирования можно использовать массивы `RAID`. Для этого необходимо создавать пул типа `raidz` вместо `mirror`. Подробнее <https://docs.freebsd.org/en/books/handbook/zfs/>.
|
||||
|
||||
Давайте теперь исключим один из дисков из пула. Так как этот диск
|
||||
относится к зеркалу (*MIRROR*), то при его исключении никаких проблем не
|
||||
возникает.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool detach myzfs /disk3
|
||||
zpool status -v
|
||||
Давайте теперь исключим один из дисков из пула. Так как этот диск относится к зеркалу `MIRROR`, то при его исключении никаких проблем не возникает.
|
||||
|
||||
```bash
|
||||
[root@zfs /]# zpool detach myzfs /disk3
|
||||
[root@zfs /]# zpool status
|
||||
pool: myzfs
|
||||
state: ONLINE
|
||||
scrub: none requested
|
||||
config:
|
||||
|
||||
NAME STATE READ WRITE CKSUM
|
||||
myzfs ONLINE 0 0 0
|
||||
mirror ONLINE 0 0 0
|
||||
mirror-0 ONLINE 0 0 0
|
||||
/disk1 ONLINE 0 0 0
|
||||
/disk2 ONLINE 0 0 0
|
||||
|
||||
errors: No known data errors
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Теперь давайте добавим к пулу новый диск. Если пул не был зеркальным, то
|
||||
он им станет после добавления нового диска.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool attach myzfs /disk1 /disk3
|
||||
zpool status -v
|
||||
Теперь давайте добавим к пулу новый диск. Если пул не был зеркальным, то он им станет после добавления нового диска.
|
||||
|
||||
```bash
|
||||
[root@zfs /]# zpool attach myzfs /disk1 /disk3
|
||||
[root@zfs /]# zpool status
|
||||
pool: myzfs
|
||||
state: ONLINE
|
||||
scrub: resilver completed with 0 errors on Tue Sep 11 13:31:49 2007
|
||||
scan: resilvered 152K in 00:00:00 with 0 errors on Wed Apr 3 16:10:22 2024
|
||||
config:
|
||||
|
||||
NAME STATE READ WRITE CKSUM
|
||||
myzfs ONLINE 0 0 0
|
||||
mirror ONLINE 0 0 0
|
||||
mirror-0 ONLINE 0 0 0
|
||||
/disk1 ONLINE 0 0 0
|
||||
/disk2 ONLINE 0 0 0
|
||||
/disk3 ONLINE 0 0 0
|
||||
|
||||
errors: No known data errors
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
А что будет, если попытаемся *удалить*, а не исключить устройство из
|
||||
пула? Zpool сообщит нам о том, что устройство не может быть удалено. Для
|
||||
начала его нужно отключить.
|
||||
А что будет, если попытаемся *удалить*, а не исключить устройство из пула? Zpool сообщит нам о том, что устройство не может быть удалено. Для начала его нужно отключить.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool remove myzfs /disk3
|
||||
|
||||
cannot remove /disk3: only inactive hot spares can be removed
|
||||
|
||||
zpool detach myzfs /disk3
|
||||
```bash
|
||||
[root@zfs /]# zpool remove myzfs /disk3
|
||||
cannot remove /disk3: operation not supported on this type of pool
|
||||
[root@zfs /]# zpool detach myzfs /disk3
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Теперь давайте попробуем добавить диск горячей замены (*hot spare*) к
|
||||
нашему пулу.
|
||||
Теперь давайте попробуем добавить диск горячей замены `hot spare` к нашему пулу.
|
||||
|
||||
``` {tabindex="0"}
|
||||
```bash
|
||||
zpool add myzfs spare /disk3
|
||||
zpool status -v
|
||||
zpool status
|
||||
|
||||
pool: myzfs
|
||||
state: ONLINE
|
||||
|
@ -205,152 +181,208 @@ errors: No known data errors
|
|||
|
||||
А теперь удалим его из пула.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool remove myzfs /disk3
|
||||
zpool status -v
|
||||
|
||||
```bash
|
||||
[root@zfs /]# zpool remove myzfs /disk3
|
||||
[root@zfs /]# zpool status
|
||||
pool: myzfs
|
||||
state: ONLINE
|
||||
scrub: none requested
|
||||
config:
|
||||
|
||||
NAME STATE READ WRITE CKSUM
|
||||
myzfs ONLINE 0 0 0
|
||||
mirror ONLINE 0 0 0
|
||||
mirror-0 ONLINE 0 0 0
|
||||
/disk1 ONLINE 0 0 0
|
||||
/disk2 ONLINE 0 0 0
|
||||
|
||||
errors: No known data errors
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Теперь попробуем отключить один из дисков. Пока диск отключен, на него
|
||||
не будет производиться запись и с него не будет производиться чтение.
|
||||
Если использовать параметр `-t`, то при перезагрузке сервера диск
|
||||
вернется в состояние онлайн автоматически.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool offline myzfs /disk1
|
||||
zpool status -v
|
||||
Теперь попробуем отключить один из дисков. Пока диск отключен, на него не будет производиться запись и с него не будет производиться чтение. Если использовать параметр `-t`, то при перезагрузке сервера диск вернется в состояние онлайн автоматически.
|
||||
|
||||
```bash
|
||||
[root@zfs /]# zpool offline myzfs /disk1
|
||||
[root@zfs /]# zpool status
|
||||
pool: myzfs
|
||||
state: DEGRADED
|
||||
status: One or more devices has been taken offline by the administrator.
|
||||
Sufficient replicas exist for the pool to continue functioning
|
||||
in a degraded state.
|
||||
action: Online the device using 'zpool online' or replace the device
|
||||
with 'zpool replace'.
|
||||
scrub: resilver completed with 0 errors on Tue Sep 11 13:39:25 2007
|
||||
Sufficient replicas exist for the pool to continue functioning in a
|
||||
degraded state.
|
||||
action: Online the device using 'zpool online' or replace the device with
|
||||
'zpool replace'.
|
||||
config:
|
||||
|
||||
NAME STATE READ WRITE CKSUM
|
||||
myzfs DEGRADED 0 0 0
|
||||
mirror DEGRADED 0 0 0
|
||||
mirror-0 DEGRADED 0 0 0
|
||||
/disk1 OFFLINE 0 0 0
|
||||
/disk2 ONLINE 0 0 0
|
||||
|
||||
errors: No known data errors
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Обратите внимание на состояние пула: **DEGRADED**
|
||||
|
||||
Теперь включим этот диск.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool online myzfs /disk1
|
||||
zpool status -v
|
||||
|
||||
```bash
|
||||
[root@zfs /]# zpool online myzfs /disk1
|
||||
[root@zfs /]# zpool status
|
||||
pool: myzfs
|
||||
state: ONLINE
|
||||
scrub: resilver completed with 0 errors on Tue Sep 11 13:47:14 2007
|
||||
scan: resilvered 36K in 00:00:00 with 0 errors on Wed Apr 3 16:24:12 2024
|
||||
config:
|
||||
|
||||
NAME STATE READ WRITE CKSUM
|
||||
myzfs ONLINE 0 0 0
|
||||
mirror ONLINE 0 0 0
|
||||
mirror-0 ONLINE 0 0 0
|
||||
/disk1 ONLINE 0 0 0
|
||||
/disk2 ONLINE 0 0 0
|
||||
|
||||
errors: No known data errors
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Состояние пула снова **ONLINE**.
|
||||
|
||||
В данный момент в нашем пуле два диска: disc1 и disc2. Также в системе
|
||||
имеется диск disc3, но он не подключен к пулу. Предположим, что disc1
|
||||
вышел из строя и его нужно заменить на disc3.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool replace myzfs /disk1 /disk3
|
||||
zpool status -v
|
||||
В данный момент в нашем пуле два диска: disk1 и disk2. Также в системе имеется диск disk3, но он не подключен к пулу. Предположим, что disk1 вышел из строя и его нужно заменить на disk3.
|
||||
|
||||
```bash
|
||||
[root@zfs /]# zpool replace myzfs /disk1 /disk3
|
||||
[root@zfs /]# zpool status
|
||||
pool: myzfs
|
||||
state: ONLINE
|
||||
scrub: resilver completed with 0 errors on Tue Sep 11 13:25:48 2007
|
||||
scan: resilvered 264K in 00:00:00 with 0 errors on Wed Apr 3 16:26:44 2024
|
||||
config:
|
||||
|
||||
NAME STATE READ WRITE CKSUM
|
||||
myzfs ONLINE 0 0 0
|
||||
mirror ONLINE 0 0 0
|
||||
mirror-0 ONLINE 0 0 0
|
||||
/disk3 ONLINE 0 0 0
|
||||
/disk2 ONLINE 0 0 0
|
||||
|
||||
errors: No known data errors
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Периодически для исправления ошибок необходимо выполнять процедуру
|
||||
чистки (scrubbing) для пулов типа *MIRROR* или *RAID-Z*. Данная
|
||||
процедура находит ошибки в контрольных суммах и исправляет их. Также
|
||||
восстанавливаются сбойные блоки.
|
||||
Периодически для исправления ошибок необходимо выполнять процедуру чистки (scrubbing) для пулов типа *MIRROR* или *RAID-Z*. Данная процедура находит ошибки в контрольных суммах и исправляет их. Также восстанавливаются сбойные блоки.
|
||||
|
||||
**Данная операция слишком ресурсоемка! Следует выполнять ее только во
|
||||
время наименьшей нагрузки на пул.**
|
||||
**Данная операция слишком ресурсоемка! Следует выполнять ее только во время наименьшей нагрузки на пул.**
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool scrub myzfs
|
||||
```bash
|
||||
[root@zfs /]# zpool scrub myzfs
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Если необходимо перенести пул в другую систему, то его необходимо
|
||||
сначала экспортировать.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool export myzfs
|
||||
pool list
|
||||
Если необходимо перенести пул в другую систему, то его необходимо сначала экспортировать.
|
||||
|
||||
```bash
|
||||
[root@zfs /]# zpool export myzfs
|
||||
[root@zfs /]# zpool list
|
||||
no pools available
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
А затем импортировать в новой системе.
|
||||
|
||||
Если ключ `-d` не указать, то команда ищет `/dev/dsk`. Так как в данном
|
||||
примере мы используем файлы, необходимо указать директорию с файлами
|
||||
используемыми хранилищем.
|
||||
Если ключ `-d` не указать, то команда ищет `/dev/dsk`. Так как в данном примере мы используем файлы, необходимо указать директорию с файлами используемыми хранилищем.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool import -d / myzfs
|
||||
zpool list
|
||||
|
||||
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
|
||||
myzfs 95.5M 114K 95.4M 0% ONLINE -
|
||||
```bash
|
||||
[root@zfs /]# zpool import -d / myzfs
|
||||
[root@zfs /]# zpool list
|
||||
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
|
||||
myzfs 960M 166K 960M - - 0% 0% 1.00x ONLINE -
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Обновление версии пула. Показать версию используемого пула. Флаг `-v`
|
||||
показывает возможности, поддерживаемые данным пулом. Используйте флаг
|
||||
`-a`, чтобы обновить все доступные пулы до новейшей из них версии.
|
||||
Обновленные пулы больше не будут доступны из систем, на которых работают
|
||||
более старые версии.
|
||||
Обновление версии пула. Показать версию используемого пула. Флаг `-v` показывает возможности, поддерживаемые данным пулом. Используйте флаг `-a`, чтобы обновить все доступные пулы до новейшей из них версии. Обновленные пулы больше не будут доступны из систем, на которых работают более старые версии.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool upgrade
|
||||
This system is currently running ZFS pool version 8.
|
||||
```bash
|
||||
[root@zfs /]# zpool upgrade
|
||||
This system supports ZFS pool feature flags.
|
||||
|
||||
All pools are formatted using this version.
|
||||
All pools are formatted using feature flags.
|
||||
|
||||
Every feature flags pool has all supported and requested features enabled.
|
||||
[root@zfs /]#
|
||||
[root@zfs /]# zpool upgrade -v
|
||||
This system supports ZFS pool feature flags.
|
||||
|
||||
zpool upgrade -v
|
||||
The following features are supported:
|
||||
|
||||
This system is currently running ZFS pool version 8.
|
||||
FEAT DESCRIPTION
|
||||
-------------------------------------------------------------
|
||||
async_destroy (read-only compatible)
|
||||
Destroy filesystems asynchronously.
|
||||
empty_bpobj (read-only compatible)
|
||||
Snapshots use less space.
|
||||
lz4_compress
|
||||
LZ4 compression algorithm support.
|
||||
multi_vdev_crash_dump
|
||||
Crash dumps to multiple vdev pools.
|
||||
spacemap_histogram (read-only compatible)
|
||||
Spacemaps maintain space histograms.
|
||||
enabled_txg (read-only compatible)
|
||||
Record txg at which a feature is enabled
|
||||
hole_birth
|
||||
Retain hole birth txg for more precise zfs send
|
||||
extensible_dataset
|
||||
Enhanced dataset functionality, used by other features.
|
||||
embedded_data
|
||||
Blocks which compress very well use even less space.
|
||||
bookmarks (read-only compatible)
|
||||
"zfs bookmark" command
|
||||
filesystem_limits (read-only compatible)
|
||||
Filesystem and snapshot limits.
|
||||
large_blocks
|
||||
Support for blocks larger than 128KB.
|
||||
large_dnode
|
||||
Variable on-disk size of dnodes.
|
||||
sha512
|
||||
SHA-512/256 hash algorithm.
|
||||
skein
|
||||
Skein hash algorithm.
|
||||
edonr
|
||||
Edon-R hash algorithm.
|
||||
userobj_accounting (read-only compatible)
|
||||
User/Group object accounting.
|
||||
encryption
|
||||
Support for dataset level encryption
|
||||
project_quota (read-only compatible)
|
||||
space/object accounting based on project ID.
|
||||
device_removal
|
||||
Top-level vdevs can be removed, reducing logical pool size.
|
||||
obsolete_counts (read-only compatible)
|
||||
Reduce memory used by removed devices when their blocks are freed or remapped.
|
||||
zpool_checkpoint (read-only compatible)
|
||||
Pool state can be checkpointed, allowing rewind later.
|
||||
spacemap_v2 (read-only compatible)
|
||||
Space maps representing large segments are more efficient.
|
||||
allocation_classes (read-only compatible)
|
||||
Support for separate allocation classes.
|
||||
resilver_defer (read-only compatible)
|
||||
Support for deferring new resilvers when one is already running.
|
||||
bookmark_v2
|
||||
Support for larger bookmarks
|
||||
redaction_bookmarks
|
||||
Support for bookmarks which store redaction lists for zfs redacted send/recv.
|
||||
redacted_datasets
|
||||
Support for redacted datasets, produced by receiving a redacted zfs send stream.
|
||||
bookmark_written
|
||||
Additional accounting, enabling the written#<bookmark> property(space written since a bookmark), and estimates of send stream sizes for incrementals from bookmarks.
|
||||
log_spacemap (read-only compatible)
|
||||
Log metaslab changes on a single spacemap and flush them periodically.
|
||||
livelist (read-only compatible)
|
||||
Improved clone deletion performance.
|
||||
device_rebuild (read-only compatible)
|
||||
Support for sequential mirror/dRAID device rebuilds
|
||||
zstd_compress
|
||||
zstd compression algorithm support.
|
||||
draid
|
||||
Support for distributed spare RAID
|
||||
|
||||
The following versions are supported:
|
||||
The following legacy versions are also supported:
|
||||
|
||||
VER DESCRIPTION
|
||||
--- --------------------------------------------------------
|
||||
|
@ -359,54 +391,76 @@ VER DESCRIPTION
|
|||
3 Hot spares and double parity RAID-Z
|
||||
4 zpool history
|
||||
5 Compression using the gzip algorithm
|
||||
6 pool properties
|
||||
6 bootfs pool property
|
||||
7 Separate intent log devices
|
||||
8 Delegated administration
|
||||
For more information on a particular version, including supported
|
||||
releases, see:
|
||||
9 refquota and refreservation properties
|
||||
10 Cache devices
|
||||
11 Improved scrub performance
|
||||
12 Snapshot properties
|
||||
13 snapused property
|
||||
14 passthrough-x aclinherit
|
||||
15 user/group space accounting
|
||||
16 stmf property support
|
||||
17 Triple-parity RAID-Z
|
||||
18 Snapshot user holds
|
||||
19 Log device removal
|
||||
20 Compression using zle (zero-length encoding)
|
||||
21 Deduplication
|
||||
22 Received properties
|
||||
23 Slim ZIL
|
||||
24 System attributes
|
||||
25 Improved scrub stats
|
||||
26 Improved snapshot deletion performance
|
||||
27 Improved snapshot creation performance
|
||||
28 Multiple vdev replacements
|
||||
|
||||
http://www.opensolaris.org/os/community/zfs/version/N
|
||||
For more information on a particular version, including supported releases,
|
||||
see the ZFS Administration Guide.
|
||||
|
||||
Where 'N' is the version number.
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Если нужно получить статистику по операциям ввода/вывода пулов,
|
||||
выполняем команду.
|
||||
Если нужно получить статистику по операциям ввода/вывода пулов, выполняем команду.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zpool iostat 5
|
||||
capacity operations bandwidth
|
||||
pool used avail read write read write
|
||||
```bash
|
||||
[root@zfs /]# zpool iostat 5
|
||||
capacity operations bandwidth
|
||||
pool alloc free read write read write
|
||||
---------- ----- ----- ----- ----- ----- -----
|
||||
myzfs 112K 95.4M 0 4 26 11.4K
|
||||
myzfs 112K 95.4M 0 0 0 0
|
||||
myzfs 112K 95.4M 0 0 0 0
|
||||
myzfs 135K 960M 0 1 4.17K 8.67K
|
||||
myzfs 135K 960M 0 0 0 0
|
||||
myzfs 135K 960M 0 0 0 0
|
||||
myzfs 135K 960M 0 0 0 0
|
||||
myzfs 135K 960M 0 0 0 0
|
||||
^C
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
## Работа с файловой и другими системами ZFS [\#](#%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0-%d1%81-%d1%84%d0%b0%d0%b9%d0%bb%d0%be%d0%b2%d0%be%d0%b9-%d0%b8-%d0%b4%d1%80%d1%83%d0%b3%d0%b8%d0%bc%d0%b8-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b0%d0%bc%d0%b8-zfs){.anchor}
|
||||
## Работа с файловой и другими системами ZFS
|
||||
|
||||
### Файловая система [\#](#%d1%84%d0%b0%d0%b9%d0%bb%d0%be%d0%b2%d0%b0%d1%8f-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b0){.anchor}
|
||||
### Файловая система
|
||||
|
||||
Создадим файловую систему в нашем пуле. Затем проверим автомонтирование
|
||||
новой файловой системы.
|
||||
Создадим файловую систему в нашем пуле. Затем проверим автомонтирование новой файловой системы.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zfs create myzfs/colin
|
||||
df -h
|
||||
|
||||
Filesystem kbytes used avail capacity Mounted on
|
||||
```bash
|
||||
[root@zfs /]# zfs create myzfs/colin
|
||||
[root@zfs /]# df -Th
|
||||
Файловая система Тип Размер Использовано Дост Использовано% Cмонтировано в
|
||||
...
|
||||
myzfs/colin 64M 18K 63M 1% /myzfs/colin
|
||||
myzfs zfs 832M 128K 832M 1% /myzfs
|
||||
myzfs/colin zfs 832M 128K 832M 1% /myzfs/colin
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
Получить список файловых систем ZFS можно следующей командой.
|
||||
|
||||
``` {tabindex="0"}
|
||||
zfs list
|
||||
|
||||
NAME USED AVAIL REFER MOUNTPOINT
|
||||
myzfs 139K 63.4M 19K /myzfs
|
||||
myzfs/colin 18K 63.4M 18K /myzfs/colin
|
||||
```bash
|
||||
[root@zfs /]# zfs list
|
||||
NAME USED AVAIL REFER MOUNTPOINT
|
||||
myzfs 171K 832M 24K /myzfs
|
||||
myzfs/colin 24K 832M 24K /myzfs/colin
|
||||
[root@zfs /]#
|
||||
```
|
||||
|
||||
В данный момент в нашем пуле имеется одно зеркало, в которое входят два
|
||||
|
@ -804,8 +858,8 @@ Disqus.](https://disqus.com/?ref_noscript)
|
|||
|
||||
::: book-toc-content
|
||||
- [ZFS --- Справочник команд](#zfs-----справочник-команд)
|
||||
- [Работа с пулом ZFS #{.anchor}](#работа-с-пулом-zfs-anchor)
|
||||
- [Работа с файловой и другими системами ZFS #{.anchor}](#работа-с-файловой-и-другими-системами-zfs-anchor)
|
||||
- [Файловая система #{.anchor}](#файловая-система-anchor)
|
||||
- [Работа с пулом ZFS](#работа-с-пулом-zfs)
|
||||
- [Работа с файловой и другими системами ZFS](#работа-с-файловой-и-другими-системами-zfs)
|
||||
- [Файловая система](#файловая-система)
|
||||
- [Snapshots (снепшоты или снимки состояния) #{.anchor}](#snapshots-снепшоты-или-снимки-состояния-anchor)
|
||||
- [Снова вернемся к пулам #{.anchor}](#снова-вернемся-к-пулам-anchor)
|
||||
|
|
Loading…
Reference in New Issue