Multiple servers to one backend storage

Apologies if this has been asked before, search engines and discourse search for “multiple servers” on one “repository” was only giving me “multiple repositories” results…

The Repository Server docs make it sound like the server is just a regular connection to the backing storage of the repository, like a client.
Since clients can operate on the repository simultaneously, can multiple servers operate at the same time too?

Reason I’m asking, is from this list of requirements for a server:

The repository server should be started in a location where:

  • all kopia clients can connect directly to the server;

  • the latency between the client and the server is low;

  • theres is sufficient bandwidth between the client and the server.

I want two distinct geographic locations (two LANs each with several hosts) to backup to the same cloud storage. It sounds like setting up one server for each LAN should work, since the ACLs are stored in the repository itself.
Assuming all the hostnames are unique, would this work? Or does the server do more aggressive caching than a client does?

I’d say that running a dedicated Kopia server is mostly useful, if you do have some local storage, which you want to utilize as a repo for your local Kopia clients. The most common reason is performance, which is more or less unparalleled with Kopia server. It also helps with the maintenance of that repo.

Since you’re planning on backing up to a cloud storage anyway, I don’t see the reason for a locally running Kopia server, tbh. What would make sense, though, would be a locally running Kopia server, which handles all the local clients and then performs a sync to another repo in the cloud. This is, how I am running my setup.

That makes sense to use a server to facilitate access to local storage.

The main reason I was leaning toward using a server to handle the cloud connection was to limit the exposure of cloud storage credentials (e.g. only stored once per geographic location), but I guess that puts a bottleneck and single point of failure per each site. Looking again, I suppose spreading the cloud storage credentials around to each user/PC should be okay if I follow the “ransomware protection” steps for retention (in this case, it’s likely just guarding against my own administrator/user mistakes).

Yeah… well, you’d have to lock down your servers anyway. However, keep in mind that - depending on the setup, Kopia will cause some traffic downstream from your bucket/s, which might affect the cost of your cloud storage.

Running a local Kopia server and having that one perform the repo sync-to operations will limit that to a simple “rsync”. You can always access the synchronized repo at any time from any client though. Its a very streamlined solutiuon.

1 Like