As a System Architect I need to deploy a resillient database server in an isolated private cloud. The cloud is OpenStack with Ceph backend and the Database is SQL.
Is a single database server VM with a local backup sufficient or do I need a pair of database server VMs in active / standby hosted apart so that they don't share the hardware fault? The answer must consider the likelihood that a single hardware fault (eg CPU) destroys a running SQL server VM and corrupts both the primary and backup databases preventing automated recovery.
- This is NOT about load balancing nor hardening - the load is light and the network is isolated. It IS about automatic recovery from hardware faults.
- 10 minute outage is OK, 1 hour is not.
- OpenStack Instance HA will automatically create a replacement SQL Server VM away from the hardware fault and mount the database and continue providing service unless both primary and backup databases are corrupt.
- The primary and backup databases are each on dedicated virtual volumes, with resillient Ceph backend, so if one filesystem is corrupted the other may not be.
Why do I care?
a) The active / standby is additional complexity b) Having an extra VM consumes some of the finite CPU and RAM from the private cloud
Thanks to all who participate for your time and energy.