artiom -> [email protected] @ Wed, 14 Mar 2018 21:10:21 +0300:
> - Насколько сыра ZFS в Linux? Не могу сказать, что я его много использовал, но с полгода она у меня тоже стоит. С самой ZFS как таковой проблем пока не было, но поработать с нею руки не доходят. С установкой на него корня есть известная засада, которая заключается в том, что по лицензии драйвер ZFS нельзя раздавать в бинарном виде, поэтому инсталлятор не может, просто не может. Надо грузиться с какого-то live-образа, доставлять туда zfs-dkms, настраивать диск будущей системы, и потом туда переноситься, то ли debootstrap'ом, то ли просто копированием. debootstrap логичнее. В интернетах гуглится (я пользовался) шелл-скрипт, который выполняет эту работу, имея live-образ. Функциональность его ограничена, лучше его читать и править перед запуском, или даже вообще читать и выполнять команды вручную, но все необходимое он содержит. В _моей_ практике мне от ZFS оказались не нужны снапшоты, поэтому я зря развешивал тома довольно подробно, имея в виду разные политики снапшотов. В _моей_ практике мне оказались бесполезны возможности ZFS по сообщению NFS и Samba, что надо расшарить свежеподнятый том - в принципе оно это умеет, но набор параметров, с которыми оно это умеет (особенно самбу), очень сильно ограничен, мне не годится. В дистрибутиве нет поддержки для ZFS под SystemV init. Для systemd собственно монтирование и вышеупомянтый шаринг разнесены в разные unit'ы, что понятно (сперва мы поднимаем FS, потом сервисы, и только после подъема сервисов можно им рассказать, что и как шарить). Как функциональность шаринга работает в режиме "опустили самбу - подняли самбу", не проверял, ибо см. выше. Но зависимости прописаны. В _моем_ сетапе сервер _при загрузке_ упорно не монтирует один из томов. Отличается он NAME PROPERTY VALUE SOURCE bag/exchange casesensitivity insensitive - потому что это как раз том под отдачу виндам через самбу. При этом рестарт zfs-mount и после загрузки не помогает, а вот вручную сказанное zfs mount -a - помогает. И если _после этого_ рестартовать сервис, то он переходит из состояния failed в состояние loaded. Чтение unit-файла не привело меня к пониманию, почему так происходит. В дальнейшем процессе, понятно, samba и nfsd поднимаются в позе "мы не можем раздать эту директорию", и после этого приходится еще вручню перезапускать оба сервиса. Ну, благо оно сервер и перезагружается раз в три месяца. В планах снести с того сервера нахрен systemd, вписать несчастные 4 строчки в скрипт монтирования файловых систем (там еще zpool import надо предварительно, и команда различается в зависимости от наличия /etc/zfs/zpool.cache), и посмотреть, что будет. Дедупликация, понятно, отключена - столько денег на память и мать, готовую поднять столько памяти, у меня нет и не планируется. Но это не особенность линукса, такая прожорливость по памяти у ZFS с дедупликацией везде. Сжатие включено. Подтормаживает, естественно. Что там больше подтормаживает - сжатие, чексуммы или журналирование - не знаю. Отдельного кэша второго уровня не делалось. Регулярно выдергивать на ходу питание не пробовал, как поднимается из этой позы, не знаю.

