Andrey
Дмитрий
Art
Анонс - для своих нужд собрал ubuntu cloud image с root-on-zfs (поддерживается и uefi и legacy загрузка) https://github.com/infraguys/gci_ubuntu_zfs (т.е. этот имадж можно использовать как базовый для VMок в 99% облаков, где есть cloud init)
пока в бета-режиме, буду рад любому фидбеку!
Важный момент - я специально ставил целью, чтобы это был на 99% апстримный ubuntu cloud image, НО с рутом на zfs (в основном я подменил ФС, и всё), так что риск свёл к минимуму насколько возможно. Образ больше оригинального всего на 150МБ!
Пример нарезки на датасеты:
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 1.06G 7.41G 24K /
rpool/ROOT 931M 7.41G 24K none
rpool/ROOT/ubuntu 931M 7.41G 931M /
rpool/home 63.5K 7.41G 33K /home
rpool/home/root 30.5K 7.41G 30.5K /root
rpool/srv 24K 7.41G 24K /srv
rpool/tmp 96K 7.41G 96K /tmp
rpool/var 157M 7.41G 660K /var
rpool/var/cache 72.4M 7.41G 72.4M /var/cache
rpool/var/lib 82.7M 7.41G 82.7M /var/lib
rpool/var/lib/docker 24K 7.41G 24K /var/lib/docker
rpool/var/lib/nfs 24K 7.41G 24K /var/lib/nfs
rpool/var/log 994K 7.41G 994K /var/log
rpool/var/mail 24K 7.41G 24K /var/mail
rpool/var/snap 24K 7.41G 24K /var/snap
rpool/var/spool 25K 7.41G 25K /var/spool
rpool/var/tmp 36K 7.41G 36K /var/tmp
Планирую регулярно собирать более свежие имаджи (да и по запросу можно), т.к. там всё автоматизировано на github actions, можете и в форке пересобирать при желании "по тегу".
огонь, спасибо)), мне точно пригодится☺️
жюн
George
А зачем? Без негатива, реально интересно
вообще кейсов несколько
- сжатие позволяет сэкономить на объёме вольюмов=деньги (видел даже у людей кейсы когда они на aws покупают локальные nvme и юзают поверх zfs чтобы база влезла, т.к. nvme большего размера тупо не давали)
- если у вас уже многое на zfs - сильно проще цикл offsite-бекапов через снапшоты
- я ещё планирую использовать его не только для облаков, хочу добиться чтобы из него можно было и bare metal легко загрузить (делаем один инфровый проект в опенсорсе, там хотим как основу заюзать)
- в мыслях ещё нативное шифрование включить, и при старте вм по ssh ждать пароль, для особо переживающих
в общем облегчалка для тех, кому нужен zfs
жюн
Т.е. основной кейс - сжатие?
жюн
Имеются цифры по занимаемому пространству рута со сжатием на зфс и без него? Сколько выигрываем?
Fedor
Кажется, что основной кейс - использование сервисов зфс в облачных вм. И это круто. Главное, чтобы инфровая подложка под дисками была надежной.
жюн
Fedor
Тот же арк с его умными кешами чего стоит
жюн
Я вот такую понимаю логику - мы используем зфс вот здесь, нам нравится, хотим, что везде был зфс
жюн
George
George
и дефолтный рекордсайз
жюн
а сколько дефолт? 1м?
George
а как оно логи жмёт, ням
George
жюн
а в бтрфс только lzo? lz4 нема же?
George
George
а в zfs есть оба, но по дефолту lz4 т.к. его на 90% кейсов просто не замечаешь по перфу
жюн
ну lz4 налету хорошо умеет просто, это бесспорно
жюн
lzo тоже прикольный, но от старости сдохнет скоро
George
Анонс - для своих нужд собрал ubuntu cloud image с root-on-zfs (поддерживается и uefi и legacy загрузка) https://github.com/infraguys/gci_ubuntu_zfs (т.е. этот имадж можно использовать как базовый для VMок в 99% облаков, где есть cloud init)
пока в бета-режиме, буду рад любому фидбеку!
Важный момент - я специально ставил целью, чтобы это был на 99% апстримный ubuntu cloud image, НО с рутом на zfs (в основном я подменил ФС, и всё), так что риск свёл к минимуму насколько возможно. Образ больше оригинального всего на 150МБ!
Пример нарезки на датасеты:
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 1.06G 7.41G 24K /
rpool/ROOT 931M 7.41G 24K none
rpool/ROOT/ubuntu 931M 7.41G 931M /
rpool/home 63.5K 7.41G 33K /home
rpool/home/root 30.5K 7.41G 30.5K /root
rpool/srv 24K 7.41G 24K /srv
rpool/tmp 96K 7.41G 96K /tmp
rpool/var 157M 7.41G 660K /var
rpool/var/cache 72.4M 7.41G 72.4M /var/cache
rpool/var/lib 82.7M 7.41G 82.7M /var/lib
rpool/var/lib/docker 24K 7.41G 24K /var/lib/docker
rpool/var/lib/nfs 24K 7.41G 24K /var/lib/nfs
rpool/var/log 994K 7.41G 994K /var/log
rpool/var/mail 24K 7.41G 24K /var/mail
rpool/var/snap 24K 7.41G 24K /var/snap
rpool/var/spool 25K 7.41G 25K /var/spool
rpool/var/tmp 36K 7.41G 36K /var/tmp
Планирую регулярно собирать более свежие имаджи (да и по запросу можно), т.к. там всё автоматизировано на github actions, можете и в форке пересобирать при желании "по тегу".
вот кстати с этой же вмки прям в облаке (т.е. со старта примерно x2 экономим, на логах будет до х5)
root@zfs5-std2-1-1-10gb:~# zfs get compressratio,used,logicalused
NAME PROPERTY VALUE SOURCE
rpool compressratio 2.11x -
rpool used 1.06G -
rpool logicalused 2.22G -
жюн
жюн
Просто снапшоты сейчас вродь везде есть, а где нет - лвм просто натягивают
George
George
и с zfs у вас из коробки offsite-backup инкрементальный можно легко строить, стоимость снапшотов по перфу уже уплачена, можно хранить хоть за каждый час или даже минуты если дифф небольшой
жюн
А у хостеров снапшоты на их сторадже, под вм, дорогие нынче?
жюн
George
а в CoW фсках маппинг всегда дороже, зато деградации такой на снапах нет т.к. "уже уплочено"
Ivan
Станислав
Vladislav
У меня простой вопрос, а сколько бы сэкономил гзип?
Станислав
У меня простой вопрос, а сколько бы сэкономил гзип?
Цифры уже не помню, но незначительно меньше. К тому же gzip ест больше ЦП, в разы. Это особенно заметно на больших логах, на облачной ВМ с одним ядром сервер раньше выпадал на время из работы, т.к. единственное ядро было загружено на 100% gzip'ом при ротации логов. А при использовании zfs экономия места постоянная и нагрузка на ЦП равномерно размазана.
К слову, по поводу постоянной экономии места. Была на одной работе ВМ (под софт компании) с большим количеством ядер, но 30Гб места на диске. Коллеги иногда включали дебаг режим и забывали отключить, в итоге 20Гиг съедало за пару дней. А логи не удобно было разбивать по размеру, нужны были по месяцам. После того, как уговорил запулить zfs под логи, мы забыли об этой проблеме. Там сжатие получалось что-то около 11-12х
Vladislav
Цифры уже не помню, но незначительно меньше. К тому же gzip ест больше ЦП, в разы. Это особенно заметно на больших логах, на облачной ВМ с одним ядром сервер раньше выпадал на время из работы, т.к. единственное ядро было загружено на 100% gzip'ом при ротации логов. А при использовании zfs экономия места постоянная и нагрузка на ЦП равномерно размазана.
К слову, по поводу постоянной экономии места. Была на одной работе ВМ (под софт компании) с большим количеством ядер, но 30Гб места на диске. Коллеги иногда включали дебаг режим и забывали отключить, в итоге 20Гиг съедало за пару дней. А логи не удобно было разбивать по размеру, нужны были по месяцам. После того, как уговорил запулить zfs под логи, мы забыли об этой проблеме. Там сжатие получалось что-то около 11-12х
Когда административную проблему решают техническим образом это конечно забавно
Vladislav
Alexey
добрый день, коллеги. Никто не в курсе, почему в
zpool_influxdb -n | grep vdev
не отображаются устройства, которые находятся в ARC L2 cache?
Alexey
версия zfs 2.1.x, 2.2.x
debian 11, 12
Alexey
Отображаются vdevs которые находятся в пуле и в ZIL log
Sergo
Доброго дня. Подскажите, пожалуйста, с чего начать. Есть желание развернуть сервер samba на debian с zfs. Zfs интересует из-за сжатия и снапшотов. В основном хранится много офисных файлов. Может есть мануал с основными моментами для smb? Пробовал собрать из исходников по мануалу zfs, не смог добиться возможности предоставления прав к папкам.
Илья
Sergo
Нужно посмотреть. Спасибо, поизучаю.
Dexex
Смотрите прикол:
zpool list -v
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
backuppool 5.44T 2.47T 2.97T - - 0% 45% 1.00x ONLINE -
sda 1.82T 828G 1.00T - - 0% 44.6% - ONLINE
sdb 1.82T 843G 1013G - - 0% 45.4% - ONLINE
sdc 1.82T 859G 997G - - 0% 46.3% - ONLINE
productionz 6.98T 2.24T 4.74T - - 45% 32% 1.00x ONLINE -
raidz1-0 6.98T 2.24T 4.74T - - 45% 32.1% - ONLINE
sdi 1.82T - - - - - - - ONLINE
sdh 1.75T - - - - - - - ONLINE
sdg 1.75T - - - - - - - ONLINE
sdd 1.82T - - - - - - - ONLINE
Dexex
Dexex
И что делать? wtf?
Konstantin
zdb надо показать нет ?
Dexex
Сейчас. Он считает
Konstantin
🙂
George
zpool list показывает сырое пространство
zfs list - логическое
для raidz очень важно смотреть на логическое, а не сырое. Смотрите туда, плюс смотрите на reservation, емнип если юзаете thick-allocated zvols то можно увидеть именно такое
Vladislav
Иногда мне очень грустно, что у меня нет админа, чтобы заставлять людей или читать как надо выкладывать простыни из вывода команд или удалять их посты как спам, пока они не научатся
Roman
Dexex
Dexex
zfs destroy -r productionz/vm-106-disk-0
internal error: cannot destroy snapshots: Номер канала вне диапазона
fish: Job 1, 'zfs destroy -r productionz/vm-1…' terminated by signal SIGABRT (Abort)
Вот например я удаляю не нужный zvol
Konstantin
Dexex
Konstantin
ну тут надо подумать....
Dexex
Dexex
Что это за хрень? "Номер канала вне диапазона"
Konstantin
dmesg -T
Konstantin
или "где скрипт получали туда и идите"
Vladislav
Мне больше нравится 0 размер снапшотов и дата создания в одну и туже секунду
George
Что это за хрень? "Номер канала вне диапазона"
гугл и переводчик подскажут
https://github.com/openzfs/zfs/issues/9849#issuecomment-575281458
и далее есть примеры как можно обходить, плюс вопрос какая версия zfs стояла, в более свежих были улучшения
Dexex
При чем тут скрипт? Файловая система гавно. Не может такого происходить в нормальных фс