- для сервера бекапов вам релиз 2.2 точно ок уже, это же копии. Там была оптимизация перфа
- для канала в 1гбит/с вам много перфа и не надо, raidz2 не самый быстрый но чуть более надёжный, как вы и хотите
- т.к. вы будете пересылать снапшоты, то другой тюнинг и не нужен (он по бОльшей части игнорится и переопределяется для снапов присланных), лучше изучите как эффективнее zfs send-recv делать, посмотрите на ключи -Lec и тд, гляньте на какой-нибудь zrepl и его доку
- для сервера бекапов вам релиз 2.2 точно ок уже, это же копии. Там была оптимизация перфа
Насколько большим может быть прирост производительности работы файловой системы после перехода с 2.1.16 на 2.2.7 ?
"оптимизации перфа" - да, но в плане стабильности и надежности работы - лучше когда и на продовых серверах и на бекапном сервере используется одинаковая версия zfs - тогда меньше будет возможных сюрпризов и возможных проблем.
Т.е. переход на 2.2 на бекапном сервере я понимаю как trade-off, когда увеличивается производительность путем уменьшения надежности.
Идти по такому пути не очень хочется, тем более, что я и так уже нарушаю правило бекапов 3-2-1, используя только zfs send | zfs recv для бекапов и два идентичных сервера в разных датацентрах для резервных копий, поэтому еще большее уменьшение надежности резервных копий - крайне нежелательно.
Я бы и рад не нарушать правило 3-2-1, но чем и куда кроме zfs send | zfs recv бекапить десятки и сотни sparse zvol размером по 64 TiB каждый? На каждом zvol - файловая система XFS и количество данных на каждом zvol примерно от 0 до 5 терабайт.
- т.к. вы будете пересылать снапшоты, то другой тюнинг и не нужен (он по бОльшей части игнорится и переопределяется для снапов присланных), лучше изучите как эффективнее zfs send-recv делать, посмотрите на ключи -Lec и тд, гляньте на какой-нибудь zrepl и его доку
видел, что
hxxps : // github . com / jimsalterjrs/sanoid
использует mbuffer для увеличения производительности.
Наверное использование mbuffer (низкий риск проблем) и использование ключей -Lec (средний/высокий риск проблем(?)) будет достаточными способами для повышения производительности, и мощности этого сервера после таких оптимизаций должно хватить для текущей нагрузки.
Сначала использовать mbuffer, но если этого будет не достаточно - тогда уже и -Lec придется включать.
у zfs send -L как раз важен, если вы используете сжатие на источнике, чтобы данные как есть летели по сети а не разжимались.
Так у меня де в основном используются zvol и там volblocksize=16К, так что откуда там могут появиться large blocks, которые больше чем 128К в размере?
тем более, что в документации предупреждается о возможных проблемах и data corruption, если с одной стороны указать ключ --large-block а с другой стороны - не указать:
https : // openzfs . github . io /openzfs-docs/Project%20and%20Community/FAQ.html#sending-large-blocks
Компрессию то включить можно, но основная статика - это картинки .jpg и тому подобные форматы - эти данные не сжимаемые вообще, так что включение компрессии при пересылке snapshot`ов особо какого-то выиграша в производительности не даст. Тем более, что они (снапшоты) создаются раз в час и объем данных для передачи, что накапливается за один час - сравнительно небольшой, тем более что там происходит incremental zfs send, то есть - передается только небольшой diff между двумя соседними снапшотами - так что весь траффик между основным и бекапным сервером равномерно размазан по времени и такая репликация происходит постоянно, 24 часа в сутки.
Сеть не является узким местом, потому что 1 гигабит - это примерно 100 мегабайт в секунду, такой пропускной способности должно хватить для нормальной работы. Меня больше интересует вопрос максимальной производительности дисковой подсистемы - чтобы выжать из RAIDZ2 vdev максимум возможной производительности, но не ценой снижения надежности.
Некоторые diff`ы между соседними снапшотами передаются буквально за несколько секунд или десятков секунд.
Просто дисковая под система бекапного сервера уже начинает не справляться с нагрузкой, когда на один бекапный сервер приходят данные с большого количества (несколько десятков) продовых серверов.
то есть - просто не хватает пропускной способности дисковой подсистемы в плане IOPS и дисковая подсистема тормозит: