master
Долгий Артём 2024-04-03 16:38:22 +03:00
parent 17a5106e39
commit 9127c054e3
1 changed files with 252 additions and 198 deletions

View File

@ -1,9 +1,9 @@
# ZFS --- Справочник команд # ZFS --- Справочник команд
- [ZFS --- Справочник команд](#zfs-----справочник-команд) - [ZFS --- Справочник команд](#zfs-----справочник-команд)
- [Работа с пулом ZFS #{.anchor}](#работа-с-пулом-zfs-anchor) - [Работа с пулом ZFS](#работа-с-пулом-zfs)
- [Работа с файловой и другими системами ZFS #{.anchor}](#работа-с-файловой-и-другими-системами-zfs-anchor) - [Работа с файловой и другими системами ZFS](#работа-с-файловой-и-другими-системами-zfs)
- [Файловая система #{.anchor}](#файловая-система-anchor) - [Файловая система](#файловая-система)
- [Snapshots (снепшоты или снимки состояния) #{.anchor}](#snapshots-снепшоты-или-снимки-состояния-anchor) - [Snapshots (снепшоты или снимки состояния) #{.anchor}](#snapshots-снепшоты-или-снимки-состояния-anchor)
- [Снова вернемся к пулам #{.anchor}](#снова-вернемся-к-пулам-anchor) - [Снова вернемся к пулам #{.anchor}](#снова-вернемся-к-пулам-anchor)
@ -11,181 +11,157 @@
Не забывайте про страницы справки по командам работы с ZFS. Не забывайте про страницы справки по командам работы с ZFS.
``` {tabindex="0"}
man zpool
man zfs
```
```bash ```bash
man zpool man zpool
man zfs man zfs
``` ```
Так как включить в пул (zpool) можно любые сущности файловой системы, Так как включить в пул (zpool) можно любые сущности файловой системы, автор приводит примеры построения пулов и работы с ними с использованием простых файлов. Итак, создадим несколько файлов, с которыми будем работать подобно дискам.
автор приводит примеры построения пулов и работы с ними с использованием
простых файлов. Итак, создадим несколько файлов, с которыми будем
работать подобно дискам.
``` {tabindex="0"} ```bash
cd / [root@zfs]# cd /
mkfile 100m disk1 disk2 disk3 disk5 [root@zfs /]# for i in {1..3}; do dd if=/dev/zero of=disk$i bs=1M count=1000; done
mkfile 50m disk4 [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 Мб, а один Мы создали 5 «виртуальных дисков». Четыре имеют размер по 100 Мб, а один - 50 Мб. Это пригодится для демонстрации работы с устройствами (разделами) разной ёмкости.
--- 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"} ```bash
zpool create myzfs /disk1 /disk2 [root@zfs /]# zpool create myzfs /disk1 /disk2
zpool list [root@zfs /]#
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
myzfs 191M 94K 191M 0% ONLINE -
``` ```
Созданы пул автоматически монтируется в каталог `/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"} Созданы пул автоматически монтируется в каталог `/myzfs`. Посмотрим более детальную информацию о нашем хранилище.
zpool status -v
```bash
[root@zfs /]# zpool status
pool: myzfs pool: myzfs
state: ONLINE state: ONLINE
scrub: none requested
config: config:
NAME STATE READ WRITE CKSUM NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0 myzfs ONLINE 0 0 0
/disk1 ONLINE 0 0 0 /disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0 /disk2 ONLINE 0 0 0
errors: No known data errors 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 no pools available
[root@zfs /]#
``` ```
Попробуем снова создать пул типа *MIRROR* (зеркало), но на этот раз Попробуем снова создать пул типа `MIRROR` (зеркало), но на этот раз попытаемся включить в него диски разного размера. Zpool не даст нам этого сделать. Чтобы безоговорочно создать такой пул, используйте опцию `-f`, но в этом случае помните --- размер зеркала будет равен объему наименьшего диска.
попытаемся включить в него диски разного размера. Zpool не даст нам
этого сделать. Чтобы безоговорочно создать такой пул, используйте опцию
`-f`, но в этом случае помните --- размер зеркала будет равен объему
наименьшего диска.
``` {tabindex="0"}
zpool create myzfs mirror /disk1 /disk4
```bash
[root@zfs /]# zpool create myzfs mirror /disk1 /disk4
invalid vdev specification invalid vdev specification
use '-f' to override the following errors: 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"} ```bash
zpool create myzfs mirror /disk1 /disk2 /disk3 [root@zfs /]# zpool create -f myzfs mirror /disk1 /disk2 /disk3
zpool list [root@zfs /]# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
myzfs 95.5M 112K 95.4M 0% ONLINE - myzfs 960M 129K 960M - - 0% 0% 1.00x ONLINE -
[root@zfs /]#
zpool status -v [root@zfs /]# zpool status
pool: myzfs pool: myzfs
state: ONLINE state: ONLINE
scrub: none requested
config: config:
NAME STATE READ WRITE CKSUM NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0 myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0 mirror-0 ONLINE 0 0 0
/disk1 ONLINE 0 0 0 /disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0 /disk2 ONLINE 0 0 0
/disk3 ONLINE 0 0 0 /disk3 ONLINE 0 0 0
errors: No known data errors errors: No known data errors
[root@zfs /]#
``` ```
Вместо зеркалирования можно использовать массивы *RAID*. Для этого Вместо зеркалирования можно использовать массивы `RAID`. Для этого необходимо создавать пул типа `raidz` вместо `mirror`. Подробнее <https://docs.freebsd.org/en/books/handbook/zfs/>.
необходимо создавать пул типа `raidz` вместо `mirror`. Подробнее в
[хендбуке](https://docs.freebsd.org/en/books/handbook/zfs/).
Давайте теперь исключим один из дисков из пула. Так как этот диск Давайте теперь исключим один из дисков из пула. Так как этот диск относится к зеркалу `MIRROR`, то при его исключении никаких проблем не возникает.
относится к зеркалу (*MIRROR*), то при его исключении никаких проблем не
возникает.
``` {tabindex="0"}
zpool detach myzfs /disk3
zpool status -v
```bash
[root@zfs /]# zpool detach myzfs /disk3
[root@zfs /]# zpool status
pool: myzfs pool: myzfs
state: ONLINE state: ONLINE
scrub: none requested
config: config:
NAME STATE READ WRITE CKSUM NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0 myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0 mirror-0 ONLINE 0 0 0
/disk1 ONLINE 0 0 0 /disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0 /disk2 ONLINE 0 0 0
errors: No known data errors 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 pool: myzfs
state: ONLINE 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: config:
NAME STATE READ WRITE CKSUM NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0 myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0 mirror-0 ONLINE 0 0 0
/disk1 ONLINE 0 0 0 /disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0 /disk2 ONLINE 0 0 0
/disk3 ONLINE 0 0 0 /disk3 ONLINE 0 0 0
errors: No known data errors errors: No known data errors
[root@zfs /]#
``` ```
А что будет, если попытаемся *удалить*, а не исключить устройство из А что будет, если попытаемся *удалить*, а не исключить устройство из пула? Zpool сообщит нам о том, что устройство не может быть удалено. Для начала его нужно отключить.
пула? Zpool сообщит нам о том, что устройство не может быть удалено. Для
начала его нужно отключить.
``` {tabindex="0"} ```bash
zpool remove myzfs /disk3 [root@zfs /]# zpool remove myzfs /disk3
cannot remove /disk3: operation not supported on this type of pool
cannot remove /disk3: only inactive hot spares can be removed [root@zfs /]# zpool detach myzfs /disk3
[root@zfs /]#
zpool detach myzfs /disk3
``` ```
Теперь давайте попробуем добавить диск горячей замены (*hot spare*) к Теперь давайте попробуем добавить диск горячей замены `hot spare` к нашему пулу.
нашему пулу.
``` {tabindex="0"} ```bash
zpool add myzfs spare /disk3 zpool add myzfs spare /disk3
zpool status -v zpool status
pool: myzfs pool: myzfs
state: ONLINE state: ONLINE
@ -205,152 +181,208 @@ errors: No known data errors
А теперь удалим его из пула. А теперь удалим его из пула.
``` {tabindex="0"} ```bash
zpool remove myzfs /disk3 [root@zfs /]# zpool remove myzfs /disk3
zpool status -v [root@zfs /]# zpool status
pool: myzfs pool: myzfs
state: ONLINE state: ONLINE
scrub: none requested
config: config:
NAME STATE READ WRITE CKSUM NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0 myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0 mirror-0 ONLINE 0 0 0
/disk1 ONLINE 0 0 0 /disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0 /disk2 ONLINE 0 0 0
errors: No known data errors errors: No known data errors
[root@zfs /]#
``` ```
Теперь попробуем отключить один из дисков. Пока диск отключен, на него Теперь попробуем отключить один из дисков. Пока диск отключен, на него не будет производиться запись и с него не будет производиться чтение. Если использовать параметр `-t`, то при перезагрузке сервера диск вернется в состояние онлайн автоматически.
не будет производиться запись и с него не будет производиться чтение.
Если использовать параметр `-t`, то при перезагрузке сервера диск
вернется в состояние онлайн автоматически.
``` {tabindex="0"}
zpool offline myzfs /disk1
zpool status -v
```bash
[root@zfs /]# zpool offline myzfs /disk1
[root@zfs /]# zpool status
pool: myzfs pool: myzfs
state: DEGRADED state: DEGRADED
status: One or more devices has been taken offline by the administrator. status: One or more devices has been taken offline by the administrator.
Sufficient replicas exist for the pool to continue functioning Sufficient replicas exist for the pool to continue functioning in a
in a degraded state. degraded state.
action: Online the device using 'zpool online' or replace the device action: Online the device using 'zpool online' or replace the device with
with 'zpool replace'. 'zpool replace'.
scrub: resilver completed with 0 errors on Tue Sep 11 13:39:25 2007
config: config:
NAME STATE READ WRITE CKSUM NAME STATE READ WRITE CKSUM
myzfs DEGRADED 0 0 0 myzfs DEGRADED 0 0 0
mirror DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0
/disk1 OFFLINE 0 0 0 /disk1 OFFLINE 0 0 0
/disk2 ONLINE 0 0 0 /disk2 ONLINE 0 0 0
errors: No known data errors errors: No known data errors
[root@zfs /]#
``` ```
Обратите внимание на состояние пула: **DEGRADED** Обратите внимание на состояние пула: **DEGRADED**
Теперь включим этот диск. Теперь включим этот диск.
``` {tabindex="0"} ```bash
zpool online myzfs /disk1 [root@zfs /]# zpool online myzfs /disk1
zpool status -v [root@zfs /]# zpool status
pool: myzfs pool: myzfs
state: ONLINE 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: config:
NAME STATE READ WRITE CKSUM NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0 myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0 mirror-0 ONLINE 0 0 0
/disk1 ONLINE 0 0 0 /disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0 /disk2 ONLINE 0 0 0
errors: No known data errors errors: No known data errors
[root@zfs /]#
``` ```
Состояние пула снова **ONLINE**. Состояние пула снова **ONLINE**.
В данный момент в нашем пуле два диска: disc1 и disc2. Также в системе В данный момент в нашем пуле два диска: disk1 и disk2. Также в системе имеется диск disk3, но он не подключен к пулу. Предположим, что disk1 вышел из строя и его нужно заменить на disk3.
имеется диск disc3, но он не подключен к пулу. Предположим, что disc1
вышел из строя и его нужно заменить на disc3.
``` {tabindex="0"}
zpool replace myzfs /disk1 /disk3
zpool status -v
```bash
[root@zfs /]# zpool replace myzfs /disk1 /disk3
[root@zfs /]# zpool status
pool: myzfs pool: myzfs
state: ONLINE 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: config:
NAME STATE READ WRITE CKSUM NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0 myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0 mirror-0 ONLINE 0 0 0
/disk3 ONLINE 0 0 0 /disk3 ONLINE 0 0 0
/disk2 ONLINE 0 0 0 /disk2 ONLINE 0 0 0
errors: No known data errors errors: No known data errors
[root@zfs /]#
``` ```
Периодически для исправления ошибок необходимо выполнять процедуру Периодически для исправления ошибок необходимо выполнять процедуру чистки (scrubbing) для пулов типа *MIRROR* или *RAID-Z*. Данная процедура находит ошибки в контрольных суммах и исправляет их. Также восстанавливаются сбойные блоки.
чистки (scrubbing) для пулов типа *MIRROR* или *RAID-Z*. Данная
процедура находит ошибки в контрольных суммах и исправляет их. Также
восстанавливаются сбойные блоки.
**Данная операция слишком ресурсоемка! Следует выполнять ее только во **Данная операция слишком ресурсоемка! Следует выполнять ее только во время наименьшей нагрузки на пул.**
время наименьшей нагрузки на пул.**
``` {tabindex="0"} ```bash
zpool scrub myzfs [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 no pools available
[root@zfs /]#
``` ```
А затем импортировать в новой системе. А затем импортировать в новой системе.
Если ключ `-d` не указать, то команда ищет `/dev/dsk`. Так как в данном Если ключ `-d` не указать, то команда ищет `/dev/dsk`. Так как в данном примере мы используем файлы, необходимо указать директорию с файлами используемыми хранилищем.
примере мы используем файлы, необходимо указать директорию с файлами
используемыми хранилищем.
``` {tabindex="0"} ```bash
zpool import -d / myzfs [root@zfs /]# zpool import -d / myzfs
zpool list [root@zfs /]# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
NAME SIZE USED AVAIL CAP HEALTH ALTROOT myzfs 960M 166K 960M - - 0% 0% 1.00x ONLINE -
myzfs 95.5M 114K 95.4M 0% ONLINE - [root@zfs /]#
``` ```
Обновление версии пула. Показать версию используемого пула. Флаг `-v` Обновление версии пула. Показать версию используемого пула. Флаг `-v` показывает возможности, поддерживаемые данным пулом. Используйте флаг `-a`, чтобы обновить все доступные пулы до новейшей из них версии. Обновленные пулы больше не будут доступны из систем, на которых работают более старые версии.
показывает возможности, поддерживаемые данным пулом. Используйте флаг
`-a`, чтобы обновить все доступные пулы до новейшей из них версии.
Обновленные пулы больше не будут доступны из систем, на которых работают
более старые версии.
``` {tabindex="0"} ```bash
zpool upgrade [root@zfs /]# zpool upgrade
This system is currently running ZFS pool version 8. 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 VER DESCRIPTION
--- -------------------------------------------------------- --- --------------------------------------------------------
@ -359,54 +391,76 @@ VER DESCRIPTION
3 Hot spares and double parity RAID-Z 3 Hot spares and double parity RAID-Z
4 zpool history 4 zpool history
5 Compression using the gzip algorithm 5 Compression using the gzip algorithm
6 pool properties 6 bootfs pool property
7 Separate intent log devices 7 Separate intent log devices
8 Delegated administration 8 Delegated administration
For more information on a particular version, including supported 9 refquota and refreservation properties
releases, see: 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"} ```bash
zpool iostat 5 [root@zfs /]# zpool iostat 5
capacity operations bandwidth capacity operations bandwidth
pool used avail read write read write pool alloc free read write read write
---------- ----- ----- ----- ----- ----- ----- ---------- ----- ----- ----- ----- ----- -----
myzfs 112K 95.4M 0 4 26 11.4K myzfs 135K 960M 0 1 4.17K 8.67K
myzfs 112K 95.4M 0 0 0 0 myzfs 135K 960M 0 0 0 0
myzfs 112K 95.4M 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"} ```bash
zfs create myzfs/colin [root@zfs /]# zfs create myzfs/colin
df -h [root@zfs /]# df -Th
Файловая система Тип Размер Использовано Дост Использовано% Cмонтировано в
Filesystem kbytes used avail capacity Mounted on
... ...
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 можно следующей командой. Получить список файловых систем ZFS можно следующей командой.
``` {tabindex="0"} ```bash
zfs list [root@zfs /]# zfs list
NAME USED AVAIL REFER MOUNTPOINT
NAME USED AVAIL REFER MOUNTPOINT myzfs 171K 832M 24K /myzfs
myzfs 139K 63.4M 19K /myzfs myzfs/colin 24K 832M 24K /myzfs/colin
myzfs/colin 18K 63.4M 18K /myzfs/colin [root@zfs /]#
``` ```
В данный момент в нашем пуле имеется одно зеркало, в которое входят два В данный момент в нашем пуле имеется одно зеркало, в которое входят два
@ -804,8 +858,8 @@ Disqus.](https://disqus.com/?ref_noscript)
::: book-toc-content ::: book-toc-content
- [ZFS --- Справочник команд](#zfs-----справочник-команд) - [ZFS --- Справочник команд](#zfs-----справочник-команд)
- [Работа с пулом ZFS #{.anchor}](#работа-с-пулом-zfs-anchor) - [Работа с пулом ZFS](#работа-с-пулом-zfs)
- [Работа с файловой и другими системами ZFS #{.anchor}](#работа-с-файловой-и-другими-системами-zfs-anchor) - [Работа с файловой и другими системами ZFS](#работа-с-файловой-и-другими-системами-zfs)
- [Файловая система #{.anchor}](#файловая-система-anchor) - [Файловая система](#файловая-система)
- [Snapshots (снепшоты или снимки состояния) #{.anchor}](#snapshots-снепшоты-или-снимки-состояния-anchor) - [Snapshots (снепшоты или снимки состояния) #{.anchor}](#snapshots-снепшоты-или-снимки-состояния-anchor)
- [Снова вернемся к пулам #{.anchor}](#снова-вернемся-к-пулам-anchor) - [Снова вернемся к пулам #{.anchor}](#снова-вернемся-к-пулам-anchor)