mod
parent
add41635c5
commit
432c089d55
384
zfs_commands.md
384
zfs_commands.md
|
@ -4,8 +4,8 @@
|
||||||
- [Работа с пулом ZFS](#работа-с-пулом-zfs)
|
- [Работа с пулом ZFS](#работа-с-пулом-zfs)
|
||||||
- [Работа с файловой и другими системами ZFS](#работа-с-файловой-и-другими-системами-zfs)
|
- [Работа с файловой и другими системами ZFS](#работа-с-файловой-и-другими-системами-zfs)
|
||||||
- [Файловая система](#файловая-система)
|
- [Файловая система](#файловая-система)
|
||||||
- [Snapshots (снепшоты или снимки состояния) #{.anchor}](#snapshots-снепшоты-или-снимки-состояния-anchor)
|
- [Snapshots (снапшоты или снимки состояния)](#snapshots-снапшоты-или-снимки-состояния)
|
||||||
- [Снова вернемся к пулам #{.anchor}](#снова-вернемся-к-пулам-anchor)
|
- [Снова вернемся к пулам](#снова-вернемся-к-пулам)
|
||||||
|
|
||||||
Данный справочник является переводом [данной статьи](http://lildude.co.uk/zfs-cheatsheet). Авторы перевода: [Евгений Ратников](http://citkit.ru/articles/504/) и [Сгибнев Михаил](http://dreamcatcher.ru/). Огромное им спасибо за проделанную работу!
|
Данный справочник является переводом [данной статьи](http://lildude.co.uk/zfs-cheatsheet). Авторы перевода: [Евгений Ратников](http://citkit.ru/articles/504/) и [Сгибнев Михаил](http://dreamcatcher.ru/). Огромное им спасибо за проделанную работу!
|
||||||
|
|
||||||
|
@ -445,12 +445,10 @@ myzfs 135K 960M 0 0 0 0
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
[root@zfs /]# zfs create myzfs/colin
|
[root@zfs /]# zfs create myzfs/colin
|
||||||
[root@zfs /]# df -Th
|
[root@zfs ~]# df -Th | grep zfs
|
||||||
Файловая система Тип Размер Использовано Дост Использовано% Cмонтировано в
|
|
||||||
...
|
|
||||||
myzfs zfs 832M 128K 832M 1% /myzfs
|
myzfs zfs 832M 128K 832M 1% /myzfs
|
||||||
myzfs/colin zfs 832M 128K 832M 1% /myzfs/colin
|
myzfs/colin zfs 832M 128K 832M 1% /myzfs/colin
|
||||||
[root@zfs /]#
|
[root@zfs ~]#
|
||||||
```
|
```
|
||||||
|
|
||||||
Получить список файловых систем ZFS можно следующей командой.
|
Получить список файловых систем ZFS можно следующей командой.
|
||||||
|
@ -463,103 +461,99 @@ myzfs/colin 24K 832M 24K /myzfs/colin
|
||||||
[root@zfs /]#
|
[root@zfs /]#
|
||||||
```
|
```
|
||||||
|
|
||||||
В данный момент в нашем пуле имеется одно зеркало, в которое входят два
|
В данный момент в нашем пуле имеется одно зеркало, в которое входят два диска: disk2 и disk3.
|
||||||
диска: disc2 и disc3.
|
|
||||||
|
|
||||||
Давайте попробуем расширить наш пул. Попытаемся добавить к нему disc1
|
Давайте попробуем расширить наш пул. Попытаемся добавить к нему disk1
|
||||||
|
|
||||||
``` {tabindex="0"}
|
|
||||||
zpool add myzfs /disk1
|
|
||||||
|
|
||||||
|
```bash
|
||||||
|
[root@zfs ~]# zpool add myzfs /disk1
|
||||||
invalid vdev specification
|
invalid vdev specification
|
||||||
use '-f' to override the following errors:
|
use '-f' to override the following errors:
|
||||||
mismatched replication level: pool uses mirror and new vdev is file
|
mismatched replication level: pool uses mirror and new vdev is file
|
||||||
|
[root@zfs ~]#
|
||||||
```
|
```
|
||||||
|
|
||||||
Попытка добавления не удалась, т.к. она неоднозначно и при добавлении
|
Попытка добавления не удалась, т.к. она неоднозначна и при добавлении диска к существующему зеркалу необходимо указать дополнительно один из
|
||||||
диска к существующему зеркалу необходимо указать дополнительно один из
|
существующих в этом зеркале дисков, либо добавить минимум два диска для формирования нового зеркала, которое будет входить в данный пул.
|
||||||
существующих в этом зеркале дисков, либо добавить минимум два диска для
|
|
||||||
формирования нового зеркала, которое будет входить в данный пул.
|
|
||||||
|
|
||||||
Добавим к пулу новое зеркало, состоящее из дисков: disc1 и disc5
|
Добавим к пулу новое зеркало, состоящее из дисков: disk1 и disk5
|
||||||
|
|
||||||
``` {tabindex="0"}
|
|
||||||
zpool add myzfs mirror /disk1 /disk5
|
|
||||||
zpool status -v
|
|
||||||
|
|
||||||
|
```bash
|
||||||
|
[root@zfs ~]# zpool add myzfs mirror /disk1 /disk5
|
||||||
|
[root@zfs ~]# zpool status
|
||||||
pool: myzfs
|
pool: myzfs
|
||||||
state: ONLINE
|
state: ONLINE
|
||||||
scrub: none requested
|
scan: scrub repaired 0B in 00:00:00 with 0 errors on Wed Apr 3 16:27:35 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
|
||||||
mirror ONLINE 0 0 0
|
mirror-1 ONLINE 0 0 0
|
||||||
/disk1 ONLINE 0 0 0
|
/disk1 ONLINE 0 0 0
|
||||||
/disk5 ONLINE 0 0 0
|
/disk5 ONLINE 0 0 0
|
||||||
|
|
||||||
errors: No known data errors
|
errors: No known data errors
|
||||||
|
[root@zfs ~]#
|
||||||
```
|
```
|
||||||
|
|
||||||
Добавим теперь к пулу еще одну файловую систему и посмотрим, как это
|
Добавим теперь к пулу еще одну файловую систему и посмотрим, как это отразится на размере файловых систем, входящих в пул.
|
||||||
отразится на размере файловых систем, входящих в пул.
|
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
zfs create myzfs/colin2
|
[root@zfs ~]# zfs create myzfs/colin2
|
||||||
zfs list
|
[root@zfs ~]# zfs list
|
||||||
|
NAME USED AVAIL REFER MOUNTPOINT
|
||||||
NAME USED AVAIL REFER MOUNTPOINT
|
myzfs 216K 1.75G 24K /myzfs
|
||||||
myzfs 172K 159M 21K /myzfs
|
myzfs/colin 24K 1.75G 24K /myzfs/colin
|
||||||
myzfs/colin 18K 159M 18K /myzfs/colin
|
myzfs/colin2 24K 1.75G 24K /myzfs/colin2
|
||||||
myzfs/colin2 18K 159M 18K /myzfs/colin2
|
[root@zfs ~]#
|
||||||
```
|
```
|
||||||
|
|
||||||
Обе файловые системы, входящие в пул, по объему равны всему пулу. В этом
|
Обе файловые системы, входящие в пул, по объему равны всему пулу. В этом заключается одно из преимуществ системы ZFS --- по-умолчанию нет никакого ограничения на файловые системы.
|
||||||
заключается одно из преимуществ системы ZFS --- по умолчанию нет
|
|
||||||
никакого ограничения на файловые системы.
|
|
||||||
|
|
||||||
Чтобы явно управлять объемом файловых систем, можно прибегнуть к
|
Чтобы явно управлять объемом файловых систем, можно прибегнуть к резервированию --- выделению гарантированного объема для файловой системы, либо квотированию --- ограничению файловой системы по максимальному объему.
|
||||||
резервированию --- выделению гарантированного объема для файловой
|
|
||||||
системы, либо квотированию --- ограничению файловой системы по
|
|
||||||
максимальному объему.
|
|
||||||
|
|
||||||
Давайте зарезервируем для файловой системы `/myzfs/colin` место в пуле,
|
Давайте зарезервируем для файловой системы `/myzfs/colin` место в пуле, равное 200 Мб. Остальные файловые системы, заполняя пул, в любом случае
|
||||||
равное 20 Мб. Остальные файловые системы, заполняя пул, в любом случае
|
оставят для этой файловой системы 200 Мб места.
|
||||||
оставят для этой файловой системы 20 Мб места.
|
|
||||||
|
|
||||||
``` {tabindex="0"}
|
|
||||||
zfs set reservation=20m myzfs/colin
|
|
||||||
zfs list -o reservation
|
|
||||||
|
|
||||||
|
```bash
|
||||||
|
[root@zfs ~]# zfs set reservation=200m myzfs/colin
|
||||||
|
[root@zfs ~]# zfs list -o reservation
|
||||||
RESERV
|
RESERV
|
||||||
none
|
none
|
||||||
20M
|
200M
|
||||||
none
|
none
|
||||||
|
[root@zfs ~]#
|
||||||
```
|
```
|
||||||
|
|
||||||
Теперь для файловой системы `/myzfs/colin2` установим квоту в 20 Мб. Это
|
Теперь для файловой системы `/myzfs/colin2` установим квоту в 250 Мб. Это означает, что данная файловая система не сможет занять в пуле более 250
|
||||||
означает, что данная файловая система не сможет занять в пуле более 20
|
|
||||||
Мб, даже если пул будет полностью свободным.
|
Мб, даже если пул будет полностью свободным.
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
zfs set quota=20m myzfs/colin2
|
[root@zfs ~]# zfs set quota=250m myzfs/colin2
|
||||||
zfs list -o quota myzfs/colin myzfs/colin2
|
[root@zfs ~]# zfs list -o quota myzfs/colin myzfs/colin2
|
||||||
|
|
||||||
QUOTA
|
QUOTA
|
||||||
none
|
none
|
||||||
20M
|
250M
|
||||||
|
[root@zfs ~]#
|
||||||
```
|
```
|
||||||
|
|
||||||
Также для файловой системы `/myzfs/colin2` включим сжатие. Сжатие
|
Также для файловой системы `/myzfs/colin2` включим сжатие. Сжатие достаточно эффективно работает на уровне ZFS практически без потерь производительности (конечно же, при условии, что производительности сервера достаточно).
|
||||||
достаточно эффективно работает на уровне ZFS практически без потерь
|
|
||||||
производительности (конечно же, при условии, что производительности
|
|
||||||
сервера достаточно). Вместо `compression=on` можно использовать
|
|
||||||
`compression=gzip`.
|
|
||||||
|
|
||||||
``` {tabindex="0"}
|
ZFS использует несколько различных алгоритмов сжатия, оптимизированных для различных типов данных:
|
||||||
|
|
||||||
|
- **LZ4** – Алгоритм по-умолчанию, использующий сжатие LZ4. Предпочтение отдается скорости, а не степени сжатия.
|
||||||
|
- **LZJB** – Устаревший формат с приемлемым сжатием и скоростью.
|
||||||
|
- **Gzip** – Стандартное сжатие gzip. Несколько уровней сжатия от 1 до 9, чем выше, тем лучше, но медленнее.
|
||||||
|
- **ZLE** оптимизирован для нулевых блоков.
|
||||||
|
|
||||||
|
Алгоритмы адаптивно выбирают оптимальную стратегию сжатия для каждого типа данных.
|
||||||
|
|
||||||
|
При этом, вместо `compression=on` можно явно указать алгоритм сжатия `compression=gzip-9`, `compression=lzjb`, `compression=zle` и т.д.
|
||||||
|
|
||||||
|
```bash
|
||||||
zfs set compression=on myzfs/colin2
|
zfs set compression=on myzfs/colin2
|
||||||
zfs list -o compression
|
zfs list -o compression
|
||||||
|
|
||||||
|
@ -569,188 +563,176 @@ COMPRESS
|
||||||
on
|
on
|
||||||
```
|
```
|
||||||
|
|
||||||
Чтобы сделать файловую систему доступной по протоколу NFS, достаточно
|
Чтобы сделать файловую систему доступной по протоколу NFS, достаточно выполнить одну команду. Причем после перезагрузки сервера доступ к файловой системе утерян не будет. Никаких дополнительных настроек операционной системы производить не нужно.
|
||||||
выполнить одну команду. Причем после перезагрузки сервера доступ к
|
|
||||||
файловой системе утерян не будет. Никаких дополнительных настроек
|
|
||||||
операционной системы производить не нужно.
|
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
zfs set sharenfs=on myzfs/colin2
|
[root@zfs ~]# zfs set sharenfs=on myzfs/colin2
|
||||||
zfs get sharenfs myzfs/colin2
|
[root@zfs ~]# zfs get sharenfs myzfs/colin2
|
||||||
|
NAME PROPERTY VALUE SOURCE
|
||||||
NAME PROPERTY VALUE SOURCE
|
myzfs/colin2 sharenfs on local
|
||||||
myzfs/colin2 sharenfs on local
|
[root@zfs ~]#
|
||||||
```
|
```
|
||||||
|
|
||||||
Точно так же в одну команду ресурс можно сделать доступным по протоколу
|
Точно так же в одну команду ресурс можно сделать доступным по протоколу SMB. Что пользователям ОС Windows наверняка пригодится. В системе должен быть установлен пакет `samba-usershares`.
|
||||||
SMB. Что пользователям ОС Windows наверняка пригодится.
|
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
zfs set sharesmb=on myzfs/colin2
|
[root@zfs ~]# zfs set sharesmb=on myzfs/colin2
|
||||||
zfs get sharesmb myzfs/colin2
|
[root@zfs ~]# zfs get sharesmb myzfs/colin2
|
||||||
|
NAME PROPERTY VALUE SOURCE
|
||||||
NAME PROPERTY VALUE SOURCE
|
myzfs/colin2 sharesmb on local
|
||||||
myzfs/colin2 sharesmb on local
|
[root@zfs ~]#
|
||||||
```
|
```
|
||||||
|
|
||||||
Для повышения надежности (если у вас обычный пул, без избыточности),
|
Для повышения надежности (если у вас обычный пул, без избыточности), можно использовать следующую опцию файловой системы.
|
||||||
можно использовать следующую опцию файловой системы.
|
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
zfs set copies=2 myzfs/colin2
|
[root@zfs ~]# zfs set copies=2 myzfs/colin2
|
||||||
|
[root@zfs ~]# zfs get copies myzfs/colin2
|
||||||
|
NAME PROPERTY VALUE SOURCE
|
||||||
|
myzfs/colin2 copies 2 local
|
||||||
|
[root@zfs ~]#
|
||||||
```
|
```
|
||||||
|
|
||||||
Теперь в файловой системе будет храниться по две копии каждого блока.
|
Теперь в файловой системе будет храниться по две копии каждого блока. Это имеет смысл, если пул без избыточности (*mirror* / *raidz*).
|
||||||
Это имеет смысл, если пул без избыточности (*mirror* / *raidz*).
|
|
||||||
|
|
||||||
### Snapshots (снепшоты или снимки состояния) [\#](#snapshots-%d1%81%d0%bd%d0%b5%d0%bf%d1%88%d0%be%d1%82%d1%8b-%d0%b8%d0%bb%d0%b8-%d1%81%d0%bd%d0%b8%d0%bc%d0%ba%d0%b8-%d1%81%d0%be%d1%81%d1%82%d0%be%d1%8f%d0%bd%d0%b8%d1%8f){.anchor}
|
### Snapshots (снапшоты или снимки состояния)
|
||||||
|
|
||||||
Создать снепшот файловой системы очень просто. Давайте создадим снепшот
|
Создать снапшот файловой системы очень просто. Давайте создадим снапшот для файловой системы `myzfs/colin` и назовем его *test*.
|
||||||
для файловой системы `myzfs/colin` и назовем его *test*.
|
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
zfs snapshot myzfs/colin@test
|
[root@zfs ~]# zfs snapshot myzfs/colin@test
|
||||||
zfs list
|
[root@zfs ~]# zfs list -t snapshot
|
||||||
|
NAME USED AVAIL REFER MOUNTPOINT
|
||||||
NAME USED AVAIL REFER MOUNTPOINT
|
myzfs/colin@test 0B - 24K -
|
||||||
myzfs 20.2M 139M 21K /myzfs
|
[root@zfs ~]#
|
||||||
myzfs/colin 18K 159M 18K /myzfs/colin
|
|
||||||
myzfs/colin@test 0 - 18K -
|
|
||||||
myzfs/colin2 18K 20.0M 18K /myzfs/colin2
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Если появится необходимость отката к снепшоту, достаточно выполнить одну
|
Если появится необходимость отката к снапшоту, достаточно выполнить одну команду.
|
||||||
команду.
|
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
zfs rollback myzfs/colin@test
|
[root@zfs ~]# zfs rollback myzfs/colin@test
|
||||||
```
|
```
|
||||||
|
|
||||||
Снэпшот можно подмониторовать, как обычно. Например так.
|
Снапшот можно подмониторовать, как обычно. Например так.
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
mount -t zfs myzfs/colin@test /mnt
|
[root@zfs ~]# mount -t zfs myzfs/colin@test /mnt
|
||||||
|
[root@zfs ~]#
|
||||||
|
[root@zfs ~]# mount | grep /mnt
|
||||||
|
myzfs/colin@test on /mnt type zfs (ro,relatime,xattr,noacl)
|
||||||
|
[root@zfs ~]#
|
||||||
|
[root@zfs ~]# umount /mnt
|
||||||
|
[root@zfs ~]#
|
||||||
```
|
```
|
||||||
|
|
||||||
Даже можно клонировать файловую системы из снепшота в новую файловую
|
Даже можно клонировать файловую системы из снапшота в новую файловую систему.
|
||||||
систему.
|
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
zfs clone myzfs/colin@test myzfs/colin3
|
[root@zfs ~]# zfs clone myzfs/colin@test myzfs/colin3
|
||||||
zfs list
|
[root@zfs ~]# zfs list
|
||||||
|
NAME USED AVAIL REFER MOUNTPOINT
|
||||||
NAME USED AVAIL REFER MOUNTPOINT
|
myzfs 200M 1.55G 25K /myzfs
|
||||||
myzfs 20.2M 139M 21K /myzfs
|
myzfs/colin 24K 1.75G 24K /myzfs/colin
|
||||||
myzfs/colin 18K 159M 18K /myzfs/colin
|
myzfs/colin2 24K 250M 24K /myzfs/colin2
|
||||||
myzfs/colin@test 0 - 18K -
|
myzfs/colin3 0B 1.55G 24K /myzfs/colin3
|
||||||
myzfs/colin2 18K 20.0M 18K /myzfs/colin2
|
[root@zfs ~]#
|
||||||
myzfs/colin3 0 139M 18K /myzfs/colin3
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Теперь давайте удалим наши файловые системы `/myzfs/colin` и
|
Теперь давайте удалим наши файловые системы `/myzfs/colin` и `/myzfs/colin2`
|
||||||
`/myzfs/colin2`
|
|
||||||
|
|
||||||
Сперва удалим пустую файловую систему `/myzfs/colin2`
|
Сперва удалим пустую файловую систему `/myzfs/colin2`
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
zfs destroy myzfs/colin2
|
[root@zfs ~]# zfs destroy myzfs/colin2
|
||||||
zfs list
|
[root@zfs ~]# zfs list
|
||||||
|
NAME USED AVAIL REFER MOUNTPOINT
|
||||||
NAME USED AVAIL REFER MOUNTPOINT
|
myzfs 200M 1.55G 25K /myzfs
|
||||||
myzfs 20.1M 139M 22K /myzfs
|
myzfs/colin 24K 1.75G 24K /myzfs/colin
|
||||||
myzfs/colin 18K 159M 18K /myzfs/colin
|
myzfs/colin3 0B 1.55G 24K /myzfs/colin3
|
||||||
myzfs/colin@test 0 - 18K -
|
[root@zfs ~]#
|
||||||
myzfs/colin3 0 139M 18K /myzfs/colin3
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Файловая система удалилась без проблем. Теперь удалим файловую систему,
|
Файловая система удалилась без проблем. Теперь удалим файловую систему, для которой существует снапшот.
|
||||||
для которой существует снепшот.
|
|
||||||
|
|
||||||
``` {tabindex="0"}
|
|
||||||
zfs destroy myzfs/colin
|
|
||||||
|
|
||||||
|
```bash
|
||||||
|
[root@zfs ~]# zfs destroy myzfs/colin
|
||||||
cannot destroy 'myzfs/colin': filesystem has children
|
cannot destroy 'myzfs/colin': filesystem has children
|
||||||
use '-r' to destroy the following datasets:
|
use '-r' to destroy the following datasets:
|
||||||
myzfs/colin@test
|
myzfs/colin@test
|
||||||
|
[root@zfs ~]#
|
||||||
```
|
```
|
||||||
|
|
||||||
Удаление невозможно, т.к. у файловой системы имеется дочерний объект.
|
Удаление невозможно, т.к. у файловой системы имеется дочерний объект. Можно воспользоваться параметром `-r` чтобы удалить файловую систему
|
||||||
Можно воспользоваться параметром `-r` чтобы удалить файловую систему
|
|
||||||
вместе со всеми дочерними объектами рекурсивно.
|
вместе со всеми дочерними объектами рекурсивно.
|
||||||
|
|
||||||
Мы можем отключить снепшот от `/myzfs/colin` и оставить его дочерним
|
Мы можем отключить снапшот от `/myzfs/colin` и оставить его дочерним только для `/myzfs/colin3`
|
||||||
только для `/myzfs/colin3`
|
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
zfs promote myzfs/colin3
|
[root@zfs ~]# zfs list -t snapshot
|
||||||
zfs list
|
NAME USED AVAIL REFER MOUNTPOINT
|
||||||
|
myzfs/colin@test 0B - 24K -
|
||||||
NAME USED AVAIL REFER MOUNTPOINT
|
[root@zfs ~]#
|
||||||
myzfs 20.1M 139M 21K /myzfs
|
[root@zfs ~]# zfs promote myzfs/colin3
|
||||||
myzfs/colin 0 159M 18K /myzfs/colin
|
[root@zfs ~]# zfs list -t snapshot
|
||||||
myzfs/colin3 18K 139M 18K /myzfs/colin3
|
NAME USED AVAIL REFER MOUNTPOINT
|
||||||
myzfs/colin3@test 0 - 18K -
|
myzfs/colin3@test 0B - 24K -
|
||||||
|
[root@zfs ~]#
|
||||||
|
[root@zfs ~]# zfs destroy myzfs/colin
|
||||||
zfs destroy myzfs/colin
|
[root@zfs ~]# zfs list
|
||||||
zfs list
|
NAME USED AVAIL REFER MOUNTPOINT
|
||||||
|
myzfs 264K 1.75G 24K /myzfs
|
||||||
NAME USED AVAIL REFER MOUNTPOINT
|
myzfs/colin3 24K 1.75G 24K /myzfs/colin3
|
||||||
myzfs 147K 159M 21K /myzfs
|
[root@zfs ~]#
|
||||||
myzfs/colin3 18K 159M 18K /myzfs/colin3
|
[root@zfs ~]# zfs list -t snapshot
|
||||||
myzfs/colin3@test 0 - 18K -
|
NAME USED AVAIL REFER MOUNTPOINT
|
||||||
|
myzfs/colin3@test 0B - 24K -
|
||||||
|
[root@zfs ~]#
|
||||||
```
|
```
|
||||||
|
|
||||||
Теперь сделанный ранее снепшот для `/myzfs/colin` стал дочерним
|
Теперь сделанный ранее снапшот для `/myzfs/colin` стал дочерним объектом `/myzfs/colin3`. Таким образом у файловой системы `/myzfs/colin` больше нет дочерних объектов и ее можно без труда разобрать (удалить).
|
||||||
объектом `/myzfs/colin3`. Таким образом у файловой
|
|
||||||
системы `/myzfs/colin` больше нет дочерних объектов и ее можно без труда
|
|
||||||
разобрать (удалить).
|
|
||||||
|
|
||||||
Если вдруг понадобиться переименовать ранее созданную файловую систему
|
Если вдруг понадобиться переименовать ранее созданную файловую систему или снапшот, то можно воспользоваться следующими командами.
|
||||||
или снепшот, то можно воспользоваться следующими командами.
|
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
zfs rename myzfs/colin3 myzfs/bob
|
[root@zfs ~]# zfs rename myzfs/colin3 myzfs/bob
|
||||||
zfs list
|
[root@zfs ~]# zfs list
|
||||||
|
NAME USED AVAIL REFER MOUNTPOINT
|
||||||
NAME USED AVAIL REFER MOUNTPOINT
|
myzfs 270K 1.75G 25K /myzfs
|
||||||
myzfs 153K 159M 21K /myzfs
|
myzfs/bob 24K 1.75G 24K /myzfs/bob
|
||||||
myzfs/bob 18K 159M 18K /myzfs/bob
|
[root@zfs ~]#
|
||||||
myzfs/bob@test 0 - 18K -
|
[root@zfs ~]# zfs rename myzfs/bob@test myzfs/bob@newtest
|
||||||
|
[root@zfs ~]#
|
||||||
zfs rename myzfs/bob@test myzfs/bob@newtest
|
[root@zfs ~]# zfs list -t snapshot
|
||||||
zfs list
|
NAME USED AVAIL REFER MOUNTPOINT
|
||||||
|
myzfs/bob@newtest 0B - 24K -
|
||||||
NAME USED AVAIL REFER MOUNTPOINT
|
[root@zfs ~]#
|
||||||
myzfs 146K 159M 20K /myzfs
|
|
||||||
myzfs/bob 18K 159M 18K /myzfs/bob
|
|
||||||
myzfs/bob@newtest 0 - 18K -
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Снова вернемся к пулам [\#](#%d1%81%d0%bd%d0%be%d0%b2%d0%b0-%d0%b2%d0%b5%d1%80%d0%bd%d0%b5%d0%bc%d1%81%d1%8f-%d0%ba-%d0%bf%d1%83%d0%bb%d0%b0%d0%bc){.anchor}
|
### Снова вернемся к пулам
|
||||||
|
|
||||||
Получить полную информацию о пулах можно следующим образом.
|
Получить полную информацию о пулах можно следующим образом.
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
zfs get all
|
[root@zfs ~]# zfs get all
|
||||||
|
NAME PROPERTY VALUE SOURCE
|
||||||
NAME PROPERTY VALUE SOURCE
|
myzfs type filesystem -
|
||||||
myzfs type filesystem -
|
myzfs creation Ср апр 3 16:15 2024 -
|
||||||
myzfs creation Tue Sep 11 14:21 2007 -
|
myzfs used 270K -
|
||||||
myzfs used 146K -
|
myzfs available 1.75G -
|
||||||
myzfs available 159M -
|
myzfs referenced 25K -
|
||||||
myzfs referenced 20K -
|
myzfs compressratio 1.00x -
|
||||||
[...]
|
[...]
|
||||||
```
|
```
|
||||||
|
|
||||||
Если пул нам более не нужен, можем его удалить. Однако, нельзя удалить
|
Если пул нам более не нужен, можем его удалить. **(не выполняйте это сейчас. Пул нам еще понадобится далее)**
|
||||||
пул, в котором имеются активные файловые системы.
|
|
||||||
|
|
||||||
``` {tabindex="0"}
|
```bash
|
||||||
zpool destroy myzfs
|
[root@zfs ~]# zpool destroy myzfs
|
||||||
|
[root@zfs ~]# zfs list
|
||||||
cannot destroy 'myzfs': pool is not empty
|
no datasets available
|
||||||
use '-f' to force destruction anyway
|
[root@zfs ~]# zpool status
|
||||||
|
no pools available
|
||||||
|
[root@zfs ~]#
|
||||||
```
|
```
|
||||||
|
|
||||||
Чтобы принудительно удалить пул, используйте параметр `-f` (не
|
Чтобы принудительно удалить пул, используйте параметр `-f` (не
|
||||||
|
@ -782,7 +764,7 @@ myzfs 159M 20K 159M 1% /myzfs
|
||||||
myzfs/bob 159M 18K 159M 1% /myzfs/bob
|
myzfs/bob 159M 18K 159M 1% /myzfs/bob
|
||||||
```
|
```
|
||||||
|
|
||||||
Снепшот можно сделать и на удаленный ресурс (или другое место в
|
снапшот можно сделать и на удаленный ресурс (или другое место в
|
||||||
локальной системе).
|
локальной системе).
|
||||||
|
|
||||||
``` {tabindex="0"}
|
``` {tabindex="0"}
|
||||||
|
@ -797,9 +779,9 @@ myzfs/bob 18K 159M 18K /myzfs/bob
|
||||||
myzfs/bob@newtest 0 - 18K -
|
myzfs/bob@newtest 0 - 18K -
|
||||||
```
|
```
|
||||||
|
|
||||||
В данном случае снепшот передан `zfs receive` на локальном узле (в
|
В данном случае снапшот передан `zfs receive` на локальном узле (в
|
||||||
демонстрационных целях). В реальной ситуации таким образом можно сделать
|
демонстрационных целях). В реальной ситуации таким образом можно сделать
|
||||||
снепшот на другой узел сети.
|
снапшот на другой узел сети.
|
||||||
|
|
||||||
Zpool ведет собственную историю всех команд. Посмотреть историю можно
|
Zpool ведет собственную историю всех команд. Посмотреть историю можно
|
||||||
следующим образом.
|
следующим образом.
|
||||||
|
@ -861,5 +843,5 @@ Disqus.](https://disqus.com/?ref_noscript)
|
||||||
- [Работа с пулом ZFS](#работа-с-пулом-zfs)
|
- [Работа с пулом ZFS](#работа-с-пулом-zfs)
|
||||||
- [Работа с файловой и другими системами ZFS](#работа-с-файловой-и-другими-системами-zfs)
|
- [Работа с файловой и другими системами ZFS](#работа-с-файловой-и-другими-системами-zfs)
|
||||||
- [Файловая система](#файловая-система)
|
- [Файловая система](#файловая-система)
|
||||||
- [Snapshots (снепшоты или снимки состояния) #{.anchor}](#snapshots-снепшоты-или-снимки-состояния-anchor)
|
- [Snapshots (снапшоты или снимки состояния)](#snapshots-снапшоты-или-снимки-состояния)
|
||||||
- [Снова вернемся к пулам #{.anchor}](#снова-вернемся-к-пулам-anchor)
|
- [Снова вернемся к пулам](#снова-вернемся-к-пулам)
|
||||||
|
|
Loading…
Reference in New Issue