f1gar0
почему за 2.4 полетело то
Art
что не так с zfs
zfs list -o space rpool - r Дай вывод сюда плз
f1gar0
f1gar0
машину прибил оживил чуть чуть места появилось
f1gar0
что то в консерватории не то
CoW както сжимаеться?
Art
А ещё zfs get all rpool/data/vm-2008-disk-2
f1gar0
f1gar0
Art
А rpool что особой представляет? Зеркало, одиночный диск, raidz?
f1gar0
Art
rpool status дай ещё плз
f1gar0
f1gar0
f1gar0
после выключения по чуть чуть место появляеться
f1gar0
NAME PROPERTY VALUE SOURCE rpool/data/vm-2008-disk-2 type volume - rpool/data/vm-2008-disk-2 creation Wed Dec 8 17:13 2021 - rpool/data/vm-2008-disk-2 used 2.29T - rpool/data/vm-2008-disk-2 available 17.3G - rpool/data/vm-2008-disk-2 referenced 2.29T - rpool/data/vm-2008-disk-2 compressratio 1.04x - rpool/data/vm-2008-disk-2 reservation none default rpool/data/vm-2008-disk-2 volsize 1.95T local rpool/data/vm-2008-disk-2 volblocksize 8K default rpool/data/vm-2008-disk-2 checksum on default rpool/data/vm-2008-disk-2 compression on inherited from rpool rpool/data/vm-2008-disk-2 readonly off default rpool/data/vm-2008-disk-2 createtxg 2869754 - rpool/data/vm-2008-disk-2 copies 1 default rpool/data/vm-2008-disk-2 refreservation none default rpool/data/vm-2008-disk-2 guid 12651929924739000963 - rpool/data/vm-2008-disk-2 primarycache all default rpool/data/vm-2008-disk-2 secondarycache all default rpool/data/vm-2008-disk-2 usedbysnapshots 0B - rpool/data/vm-2008-disk-2 usedbydataset 2.29T - rpool/data/vm-2008-disk-2 usedbychildren 0B - rpool/data/vm-2008-disk-2 usedbyrefreservation 0B - rpool/data/vm-2008-disk-2 logbias latency default rpool/data/vm-2008-disk-2 objsetid 62052 - rpool/data/vm-2008-disk-2 dedup off default rpool/data/vm-2008-disk-2 mlslabel none default rpool/data/vm-2008-disk-2 sync standard inherited from rpool rpool/data/vm-2008-disk-2 refcompressratio 1.04x - rpool/data/vm-2008-disk-2 written 2.29T - rpool/data/vm-2008-disk-2 logicalused 1.05T - rpool/data/vm-2008-disk-2 logicalreferenced 1.05T - rpool/data/vm-2008-disk-2 volmode default default rpool/data/vm-2008-disk-2 snapshot_limit none default rpool/data/vm-2008-disk-2 snapshot_count none default rpool/data/vm-2008-disk-2 snapdev hidden default rpool/data/vm-2008-disk-2 context none default rpool/data/vm-2008-disk-2 fscontext none default rpool/data/vm-2008-disk-2 defcontext none default rpool/data/vm-2008-disk-2 rootcontext none default rpool/data/vm-2008-disk-2 redundant_metadata all default rpool/data/vm-2008-disk-2 encryption off default rpool/data/vm-2008-disk-2 keylocation none default rpool/data/vm-2008-disk-2 keyformat none default rpool/data/vm-2008-disk-2 pbkdf2iters 0 default
Art
Аа... Ну, ты опять словил write ampflication ...
f1gar0
Аа... Ну, ты опять словил write ampflication ...
а можно чуть подробней как этого избежать?
f1gar0
я понимаю о чем речь но избежать то как?) к херам убрать эти ssd&
Art
я понимаю о чем речь но избежать то как?) к херам убрать эти ssd&
у меня только плохие новости... Избежать уже никак. У тебя один путь: пересоздать пул. Причём есть два варианта как: 1) Создать пул типа зеркало. С ним всё будет спокойно, быстро, надёжно и незаморочно. Никакой амплификации. Быстрая запись. Легкая расширяемость. Сплошные плюсы, кроме одного понятно жирного минуса. Я лично только зеркала и использую. 2) Создать снова пул типа raidz , но уже вдумчиво подобрать параметры ashift и volblocksize так, чтобы этот самый write ampflication был поменьше. Приёдтся пошерстить гугл, форумы и потестить прежде чем запускать прод. Возможно, это стоит того, тут всё индивидуально.
Art
zpool trim [-d] [-c | -s] pool [device...] это не спаесет?
покажи конфиг ВМ cat /etc/pve/qemu-server/100.conf
f1gar0
f1gar0
можно зеркало из 2-х таких собрать
f1gar0
Art
на уровне пула вручную трим запускать не нужно а вот с ВМ у тебя как минимум один недочёт. Диску ВМ ты не проставил галочку SSD. Соответственно, Винда видит этот диск как HDD, и тримить его не собирается. Попробуй в общем это исправить - выключи ВМ, поставь галочку SSD, включи обратно и подожди. Но не думаю, что дело в триме вообще, если честно Так что, раз у тебя есть два энтерпрайзных диска по 3ТБ, то конечно создавай из них зеркало, и потом в этот сторадж перегоняй все ВМ. А с rpool потом, когда он освободится, разберёшься.
Δαρθ
Есть 2 способа 1) отправлять в датасет, родитель которого защифрован, свойство будет унаследовано 2) изменить свойство во время приема Send to Encryption new zfs send -R rpool/data@encryption3 | zfs recv -o encryption=on -o keyformat=passphrase \ -o keylocation=file:///root/passphrase rpool/data2
2ым способом вышло создать, но вот инкрементально уже не принимает: # zfs send store_pool/store_set/Test@first | pv | ssh -p 33333 root@localhost "zfs recv -o encryption=on -o keyformat=passphrase -o keylocation=file:///root/pass -o checksum=sha256 test_pool/test_set/Test_enc" ## всё ок # zfs send -i store_pool/store_set/Test@first store_pool/store_set/Test@second | pv | ssh -p 33333 root@localhost "zfs recv test_pool/test_set/Test_enc" cannot receive incremental stream: destination test_pool/test_set/Test_enc has been modified ] ЧЯДНТ?
Δαρθ
на приёмнике вот такое # zfs list -t all NAME USED AVAIL REFER MOUNTPOINT test_pool 139G 713G 96K none test_pool/test_set 139G 713G 112K /test test_pool/test_set/Data 102G 713G 102G /test/Data test_pool/test_set/Maps 331M 713G 330M /test/Maps test_pool/test_set/Maps@test1 912K - 330M - test_pool/test_set/Music 34.2G 713G 34.2G /test/Music test_pool/test_set/Test_enc 2.88G 713G 2.88G /test/Test_enc test_pool/test_set/Test_enc@first 1.11M - 2.88G - т..е первый приняло
Δαρθ
Попробуй -I вместо -R
-I вместо -i в смысле? иначе не очень понимаю зачем мне -R, у меня такого и нет вовсе.
Δαρθ
c -I вместо -i ровно то же самое
Evgenii
https://github.com/openzfs/zfs/issues/11017 видимо ждать пока починят
Evgenii
я переносил только последний снимок кажется
Δαρθ
у меня 2.1.1
Evgenii
и что? это гарантия что все починили?)
Evgenii
видишь оно еще open
Evgenii
шифрование было и 0.8
Evgenii
Если найдешь способ обойти проблему, напиши сюда! я сохраню себе в документацию
Δαρθ
и что? это гарантия что все починили?)
нет конечно. но там даже особо и не указаны версии
Δαρθ
хотя не вру
Δαρθ
уточню — -R в данном случае что-то меняет? В 'Test' вложенных датасетов нету.
Δαρθ
ок. отписался в ту багу
Evgenii
там проблем с изменением свойств инкрементных снимков
Evgenii
свойство шифрования
Evgenii
это можно обойти вроде бы
Δαρθ
кстати охрененная фича — что прям из коробки собираются все нужные .deb
Evgenii
надо создать шиырованный корень на приемнике
Evgenii
тогда свойство не нужно менять при передачи
Δαρθ
надо создать шиырованный корень на приемнике
то есть способ номер 1 из твоей рекомендации?
Evgenii
оно унаследуется от родителя ;)
Δαρθ
ну попробую щяс
Evgenii
дочерние датасеты будут наследовать тип ключа и путь к ключу
Evgenii
в zfs get all увидите
Δαρθ
дочерние датасеты будут наследовать тип ключа и путь к ключу
не прокатило. та же самая ошибка. писал zfs recv test_pool/test_set/Test_enc/Test т.е. внутри шифровавнного Test_enc создал приёмом Test а потом в него точно так же попытался залить дифф
Evgenii
-o там уже не нужно указывать
Evgenii
щас попробую сам сделать
Δαρθ
я ессно не указывал
Δαρθ
zfs send store_pool/store_set/Test@first | pv | ssh -p 33333 root@localhost "zfs recv test_pool/test_set/Test_enc/Test" zfs send -i store_pool/store_set/Test@first store_pool/store_set/Test@second | pv | ssh -p 33333 root@localhost "zfs recv test_pool/test_set/Test_enc/Test" 2ое точно так же обломалось
Evgenii
zfs send -R rpool/test@2 | zfs recv -x encryption rpool/data/test zfs get encryption,encryptionroot,keystatus rpool/test rpool/data/test NAME PROPERTY VALUE SOURCE rpool/data/test encryption aes-256-gcm - rpool/data/test encryptionroot rpool/data - rpool/data/test keystatus available - rpool/test encryption off default rpool/test encryptionroot - - rpool/test keystatus - - zfs list -t snapshot rpool/data/test NAME USED AVAIL REFER MOUNTPOINT rpool/data/test@1 0B - 168K - rpool/data/test@2 0B - 168K -
Evgenii
https://openzfs.github.io/openzfs-docs/man/8/zfs-recv.8.html
Evgenii
У этого свойства проблема с установкой для снимков... Не меняйте потом поля, которые отвечают за шифрование.. это может плохо закончиться (скорее всего из за этой проблемы).
Evgenii
вливайте через R, как привыкли, у команды recv вызывайте -x - наследование свойтва
Evgenii
и делайте бэкапы...
Evgenii
вот проблема, о которой я предупреждал: https://github.com/openzfs/zfs/issues/12123
Δαρθ
вливайте через R, как привыкли, у команды recv вызывайте -x - наследование свойтва
я пока ещё никак не привык... Можно пояснить, что делает -R? Ну кроме того, что все под-датасеты датасета тоже шлёт
Evgenii
свойства тоже шлет с источника, по моему. то есть без явного наследования на приемнике (-x), шифрование не будет, несмотря на то что родитель зашифрован
Δαρθ
свойства тоже шлет с источника, по моему. то есть без явного наследования на приемнике (-x), шифрование не будет, несмотря на то что родитель зашифрован
не соглашусь. Вот так вот: `zfs send store_pool/store_set/Test@first | pv | ssh -p 33333 root@localhost "zfs recv test_pool/test_set/Test_enc/Test"` где Test_enc был ранее зашифрованным, Test отнаследовал шифрование у него
Δαρθ
# zfs get all test_pool/test_set/Test_enc/Test | grep encryption test_pool/test_set/Test_enc/Test encryption aes-256-gcm - test_pool/test_set/Test_enc/Test encryptionroot test_pool/test_set/Test_enc -
Δαρθ
не ну я могу и с -R сделать
Evgenii
а, вы имеете ввиду что и без R осталось шифрование?
Δαρθ
# zfs send -R store_pool/store_set/Test@first | pv | ssh -p 33333 root@localhost "zfs recv -x encryption test_pool/test_set/Test_enc/Test2" root@localhost's password: 3,07GiB 0:00:33 [92,8MiB/s] [ <=> ] # zfs send -R -i @first store_pool/store_set/Test@second | pv | ssh -p 33333 root@localhost "zfs recv -x encryption test_pool/test_set/Test_enc/Test2" root@localhost's password: cannot receive incremental stream: destination test_pool/test_set/Test_enc/Test2 has been modified ] since most recent snapshot Ровно та же ошибка
Evgenii
надо поискать доку, это быстрее, чем гадать
Evgenii
а.. вы хотите потом досылать?