Borg to remote site #8653
-
Hi, I have a similar question to #8621 but I would like to deepen it. I would like to backup machine A to machine B ( connected trough vpn ) I need the data flowing be the minimal as possible. The connection trough ssh is not ideal here, as it's encrypted and ~complex. So NFS seem a good candidate. So if machine B do not have borg and serve only an NFS mount point. Will this impact the data flow ? Because I suppose A need to read B to know the data delta etc.. Edit: nice software btw !! and written in Python ❤️🐍 Thanks |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
Thanks, we like python, too. :-) When using a ssh:// repo, borg 1.x runs in client/server mode. That means that additionally to the client there is also an agent running at the repository location (on the repo server). That agent can do some stuff locally, helping to minimize network I/O, e.g. when it does a repository check or a compaction. That is not the case if you don't use client/server. Then you only have the client and if you use NFS, all file I/O will have to go over the network. The deduplication always happens client-side and the client knows (via the chunks index) what's already in the repo, so that part does not make a difference (client/server vs. only client). |
Beta Was this translation helpful? Give feedback.
-
One thing I've learned about running Borg through SSH through a VPN is that performance is not good. It's about 10 times slower than straight SSH directly to the remote site. From what I can tell, the possible reasons for this. increased latency caused by the VPN, multiple levels of encryption, VPN and SSH, and mismatch in packet size. |
Beta Was this translation helpful? Give feedback.
Thanks, we like python, too. :-)
When using a ssh:// repo, borg 1.x runs in client/server mode. That means that additionally to the client there is also an agent running at the repository location (on the repo server). That agent can do some stuff locally, helping to minimize network I/O, e.g. when it does a repository check or a compaction.
That is not the case if you don't use client/server. Then you only have the client and if you use NFS, all file I/O will have to go over the network.
The deduplication always happens client-side and the client knows (via the chunks index) what's already in the repo, so that part does not make a difference (client/server vs. only client).