Я бы хотел использовать mbuffer
для репликации ZFS, но для этого мне нужно запустить ее в режиме прослушивания на целевом хосте. Что бы я сделал с главного хоста
ssh 10.10.10.11 mbuffer -s 128k -m 1G -I 9090 | zfs receive tank3/pro4
mbuffer
никогда не будет тайм-аут, но завершится успешно, когда репликация завершится.
Вопрос
Возможен таймаут mbuffer
если он не вернул успех, например, 2 минуты?
Там есть лимит времени утилита в портах FreeBSD для ограничения времени выполнения любой команды. Если тайм-аут сработал, команда будет убита.
Вы также можете запустить mbuffer с помощью универсальной команды, которая использует SSH в качестве транспорта. Не проблема, если пункт назначения удален ... больше потери производительности, если он локальный ...
zfs отправить tank3 / pro4 @ снимок | mbuffer -q -v 0 -s 128k -m 1G | ssh root@10.10.10.11 'mbuffer -s 128k -m 1G | zfs получает tank3 / pro4 '
Если производительность является проблемой, вы можете быть связаны шифрованием ЦП и SSH. Для этого есть пара обходных путей ...
Да, используйте сценарий оболочки для запуска процесса mbuffer, запишите PID, связанный с mbuffer, оставьте сценарий в спящем режиме в течение 2 минут, затем, если PID все еще существует, TERM уничтожьте PID.