I asked this on StackOverflow when serverfault was in beta. Giving it a second shot.
I have 4 Servers in two physically separate locations. Each server is running Windows Server 2003 Standard and Microsoft SQL Server 2005 standard edition.
- Server A1 and A2 in datacenter A
- Server B1 and B2 in datacenter B
These servers are connected to each other with a VPN over the internet.
What would be the best way to provide High Availability between both datacenters?
I have considered the following ideas.
Scenario A
- DNS Round robin between Datacenter A and B
- Mirroring Databases on Servers A1 and B1 over the VPN
- Servers A2 and B2 will have logs shipped to them as Warm Standbys for disaster recovery.
- All web servers will point database traffic over the VPN to Server A1 until failover in which they will direct requests to B1
- The servers will be running Microsoft Load Balancer software.
Scenario B
- Mirror Databases on Servers A1 and A2
- A1 and A2 will be running Microsoft Load Balancer software
- B1 and B2 will be running Microsoft Load Balancer software.
- Log ship to servers B1 and B2 as warm standbys for manual switchover between datacenters If Datacenter A goes down change DNS record to point to Datacenter B.
I am a C# programmer not a system designer so I'm at a loss for ideas. I'm trying to work with the hardware and data center configuration we have. If necessary we can purchase hardware load balancers.