Adott egy fizikai lemez, amin van egy luks, afölött egy zpool, és afölött egy ext4 fs.
Szeretnék egy írható snapshot-ot csinálni, és azt mount-olni.
Részletek:
```
root@laci-ryzen:~# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zstore02 1,81T 1,50T 320G - - 7% 82% 1.00x ONLINE -
root@laci-ryzen:~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zstore02 1,61T 148G 24K /zstore02
zstore02/dsk02 1,61T 262G 1,50T -
root@laci-ryzen:~# zfs snapshot zstore02/dsk02@test
cannot create snapshot 'zstore02/dsk02@test': out of space
```
A zpool-ra 320G free -t ír, a zfs-re 262G avail-t ír. Miért nincs hely egy új snapshot létrehozáshoz?
Hozzászólások
Nem tudom hogy ez számít-e valamit de ezeket is beírom. A /dev/sdb van megnyitva luksOpen -nel:
root@laci-ryzen:~# lsblk |grep sdb
sdb 8:16 0 1,8T 0 disk
└─sdb_crypt 253:0 0 1,8T 0 crypt
Ezen van a zpool:
root@laci-ryzen:~# zpool status
pool: zstore02
state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(5) for details.
scan: none requested
config:
NAME STATE READ WRITE CKSUM
zstore02 ONLINE 0 0 0
sdb_crypt ONLINE 0 0 0
errors: No known data errors
root@laci-ryzen:~#
Egyebek amiket próbáltam:
* zfs upgrade után se jó
* "zfs set reservation=250G" illetve "zfs set reservation=none" után se jó
További érdekesség. Ha új volume-t csinálok, akkor arra működik a snapshot.
root@laci-ryzen:~# zfs create -V 1G zstore02/test
root@laci-ryzen:~# mkfs.ext4 -L test /dev/zstore02/test
mke2fs 1.45.5 (07-Jan-2020)
Eszközblokkok eldobása: kész
Fájlrendszer létrehozása 262144 4 blokkal és 65536 inode-dal
Fájlrendszer UUID: 14e07b33-5d25-465a-aeb8-7fbfe2499dfd
Tartalék szuperblokkok tárolva a blokkokon:
32768, 98304, 163840, 229376
Csoporttáblák foglalása: kész
Inode táblák írásakor: kész
Napló létrehozása (8192 blokk): kész
Szuperblokkok és fájlrendszer-könyvelési információk írása: kész
root@laci-ryzen:~# zfs snapshot zstore02/test@snap1
root@laci-ryzen:~# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
zstore02/test@snap1 0B - 32,7M -
root@laci-ryzen:~#
Csak arra nem megy amire kellene...
zfs get all zstore02/dsk02
Na közben meglett a megoldás:
zfs set refreservation=none zstore02/dsk02