This commit is contained in:
2024-04-03 15:41:08 +03:00
parent 83a21ef9cf
commit 4830d49d54
2 changed files with 938 additions and 1 deletions

133
zfs.md
View File

@@ -12,6 +12,11 @@
- [Загрузка модуля ядра](#загрузка-модуля-ядра)
- [Автозагрузка модуля ядра](#автозагрузка-модуля-ядра)
- [Создание пула](#создание-пула)
- [Постоянные идентификаторы диска](#постоянные-идентификаторы-диска)
- [Пул из одного диска](#пул-из-одного-диска)
- [Просмотр файловых систем в пуле](#просмотр-файловых-систем-в-пуле)
- [Удаление пула](#удаление-пула)
- [Создание пула с чередованием (RAID0, 2 VDEVs)](#создание-пула-с-чередованием-raid0-2-vdevs)
## Введение
@@ -150,4 +155,130 @@ zfs
В общем виде создание пула
zpool create -f -m <mount> <pool> [raidz(2|3)|mirror] <ids>
```bash
zpool create -f -m <mount-point> <pool-name> [raidz(2|3)|mirror] <ids>
```
`-f` - force, очистит диски, если на них есть данные
`-m` - указание точки монтирования. По-умолчанию используется `/<pool-name>`
`<ids>` - в самом простом виде можно использовать имена дисков `/dev/sdb`, но это нежелательно, т.к. при выходе из строя диска `/dev/sdb`, при следующей загрузке системы все последующие диски изменят своё имя - диск, который ранее назывался `/dev/sdc` теперь будет доступен как `/dev/sdb`. Это может привести к полной неработоспособности системы. Поэтому желательным является метод именования дисков по постоянным идентификаторам.
### Постоянные идентификаторы диска
- **by-id**
```bash
[root@zfs ~]# ls -lh /dev/disk/by-id
итого 0
lrwxrwxrwx 1 root root 9 апр 3 13:13 ata-QEMU_DVD-ROM_QM00003 -> ../../sr0
lrwxrwxrwx 1 root root 9 апр 3 13:13 scsi-0QEMU_QEMU_HARDDISK_drive-scsi0 -> ../../sda
lrwxrwxrwx 1 root root 10 апр 3 13:13 scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 апр 3 13:13 scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part2 -> ../../sda2
lrwxrwxrwx 1 root root 9 апр 3 13:13 scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 -> ../../sdb
lrwxrwxrwx 1 root root 9 апр 3 13:13 scsi-0QEMU_QEMU_HARDDISK_drive-scsi2 -> ../../sdc
```
- **by-path**
```bash
[root@zfs ~]# ls -lh /dev/disk/by-path
итого 0
lrwxrwxrwx 1 root root 9 апр 3 13:13 pci-0000:00:01.1-ata-2 -> ../../sr0
lrwxrwxrwx 1 root root 9 апр 3 13:13 pci-0000:00:01.1-ata-2.0 -> ../../sr0
lrwxrwxrwx 1 root root 9 апр 3 13:13 pci-0000:01:01.0-scsi-0:0:0:0 -> ../../sda
lrwxrwxrwx 1 root root 10 апр 3 13:13 pci-0000:01:01.0-scsi-0:0:0:0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 апр 3 13:13 pci-0000:01:01.0-scsi-0:0:0:0-part2 -> ../../sda2
lrwxrwxrwx 1 root root 9 апр 3 13:13 pci-0000:01:02.0-scsi-0:0:0:1 -> ../../sdb
lrwxrwxrwx 1 root root 9 апр 3 13:13 pci-0000:01:03.0-scsi-0:0:0:2 -> ../../sdc
```
- **GPT labels** - если метка была создана при инициации таблицы разделов GPT
### Пул из одного диска
```bash
[root@zfs ~]# mkdir -p /srv/zfs_pools/zfs0
[root@zfs ~]# ls -lh /dev/disk/by-id | grep sdb
lrwxrwxrwx 1 root root 9 апр 3 13:13 scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 -> ../../sdb
[root@zfs ~]# zpool create -f -m /srv/zfs_pools/zfs0 zfs0 scsi-0QEMU_QEMU_HARDDISK_drive-scsi1
```
```bash
[root@zfs ~]# zpool status
pool: zfs0
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
zfs0 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 ONLINE 0 0 0
errors: No known data errors
[root@zfs ~]# df -Th
Файловая система Тип Размер Использовано Дост Использовано% Cмонтировано в
udevfs devtmpfs 5,0M 96K 5,0M 2% /dev
runfs tmpfs 3,9G 644K 3,9G 1% /run
/dev/sda2 ext4 30G 3,3G 25G 12% /
tmpfs tmpfs 3,9G 0 3,9G 0% /dev/shm
tmpfs tmpfs 3,9G 0 3,9G 0% /tmp
tmpfs tmpfs 795M 0 795M 0% /run/user/500
zfs0 zfs 9,3G 128K 9,3G 1% /srv/zfs_pools/zfs0
[root@zfs ~]# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zfs0 123K 9.20G 24K /srv/zfs_pools/zfs0
[root@zfs ~]#
```
### Просмотр файловых систем в пуле
```bash
[root@zfs ~]# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zfs0 123K 9.20G 24K /srv/zfs_pools/zfs0
[root@zfs ~]#
```
### Удаление пула
```bash
zpool destroy zfs0
```
### Создание пула с чередованием (RAID0, 2 VDEVs)
```bash
[root@zfs ~]# ls -lh /dev/disk/by-id/ | grep sd[bc]
lrwxrwxrwx 1 root root 9 апр 3 15:14 scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 -> ../../sdb
lrwxrwxrwx 1 root root 9 апр 3 13:13 scsi-0QEMU_QEMU_HARDDISK_drive-scsi2 -> ../../sdc
```
```bash
zpool create -f zpool0 scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 scsi-0QEMU_QEMU_HARDDISK_drive-scsi2
```
```bash
[root@zfs ~]# zpool status
pool: zpool0
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
zpool0 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2 ONLINE 0 0 0
errors: No known data errors
[root@zfs ~]#
[root@zfs ~]# df -Th
Файловая система Тип Размер Использовано Дост Использовано% Cмонтировано в
udevfs devtmpfs 5,0M 96K 5,0M 2% /dev
runfs tmpfs 3,9G 652K 3,9G 1% /run
/dev/sda2 ext4 30G 3,3G 25G 12% /
tmpfs tmpfs 3,9G 0 3,9G 0% /dev/shm
tmpfs tmpfs 3,9G 0 3,9G 0% /tmp
tmpfs tmpfs 795M 0 795M 0% /run/user/500
zpool0 zfs 19G 128K 19G 1% /zpool0
[root@zfs ~]#
```