We need to have one instance of slave Stash. This instance will be offline while Master instance is working. But when Master instance is switched off, we need to change Slave to Master and Master to Slave.
This means what two instances may have the same (equal) database and filesystem. We use replication for database and rsync for files. This also means what license and server ID will be same for both instances.
Is it ok to have same Server ID and License on two different servers?
You don't have to get a separate license for a cold standby server, so it's fine to use the same license and server ID for this purpose.
Please note that using rsync to synchronise data from one server to the other may lead to inconsistent/corrupt git repositories. This can happen because the rsync protocol does not synchronize a consistent 'snapshot' of the repository, but synchronizes file-by-file. If the rsync is done while git is writing to the repository, you'll can end up with incomplete or missing objects / pack files and refs pointing to objects that don't exist in you repository. Subsequent rsyncs will correct these inconsistencies, so it's eventually consistent, but if you're relying on this for high availability, you should consider setting up a SAN or distributed file system.
Michael, another one question. Is any license limitations for setup testing server by one day backup copy from production server? We never will be use this test server for production, only for testing new Stash releases and our plugins. So, in this case we have 3 servers with same license key and server ID. Is it ok?
Thank you! Our configuration:
stash.acme.com -- Online production with License, users sits here
stash-backup.acme.com -- Slave hot backup for production. If production is down, this server will be switched on. Not visible for users until production is OK. If production is down, then users switched to this server. The same license as for stash.acme.com
stash-test.acme.com -- Testing (staging) server. Server mirrored from production (stash.acme.com) at every night. Not visible for users, only for maintainers of stash in our company. The same license as for stash.acme.com