我在Linux上使用ZFS,并尝试设置远程复制.但我有错误的ssh连接,并且zfs再次发送/接收ssh重启.
我知道ZoL存在一个问题,但我不知道它何时会被实现,或者是一个新的稳定版本.
我听说过mbuffer,但似乎无法重启.也许有可能像zfs发送一样使用它mbuffer |而真实;做ssh …;完成了,但不确定.
现在我正在做zfs发送到一个文件,rsync与–append –partial到远程和恢复.但它占用空间,需要手动帮助,并且是一个肮脏的解决方案.
我希望有一些自动化的解决方案,比如sanoid / syncoid,以保留我的游泳池镜像和所有快照.
也许一些bash脚本执行相同的操作,但将所有快照保存在远程,在成功进行rsynced时删除主机上的文件等.
请帮忙
附:我知道有一个重复的问题,但没有任何解决方案.在我的问题中,我使用了一些肮脏的解决方案,并希望替换或改进它
解决方法:
您可以使用zfs receive的-s选项,如果传输失败,它将在接收端保存可恢复令牌.这取决于您使用的是netcat(nc)还是SSH.
在recv机器上(仅限netcat):
nc -l< port> | zfs接收-s -v tank / dataset
在发送机器上:
从通常发送开始:
zfs发送-v snapshot | nc< host> <端口>
zfs发送-v snapshot | ssh … zfs接收-s -v tank / dataset
如果传输失败,请转到recv机器并键入:
zfs获取所有tank / dataset
获取receive_resume_token并继续发送机器:
zfs发送-v -t< token> | nc< host> <端口>
zfs发送-v -t< token> | ssh … zfs接收-s -v tank / dataset
干得好 :)