Linux上的ZFS在糟糕/糟糕的ssh连接上发送/接收恢复

我在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> &LT端口&GT

zfs发送-v snapshot | ssh … zfs接收-s -v tank / dataset

如果传输失败,请转到recv机器并键入:

zfs获取所有tank / dataset

获取receive_resume_token并继续发送机器:

zfs发送-v -t< token> | nc< host> &LT端口&GT

zfs发送-v -t< token> | ssh … zfs接收-s -v tank / dataset

干得好 :)

上一篇:linux – 没有子卷的btrfs快照?


下一篇:Linux后台发布jar包与退出