I'm currently running a CentOS VPS with some simple web/DB/VPN servers, but I'm planning to move to a vmWare Enterprise cloud based machine in the near future to improve availability, and I need to know how I should structure it further to ensure high availability and fail-over.
I'm running postgresql and two simple jetty webservers, one hidden behind OpenVPN - and I'm monitoring it with monit/munin.
Now I believe I should be trying to set up two nodes (? does that mean purchasing two different virtual machines) with fail-overs between them - PostgreSQLs streaming replication seems easy enough, and having a OpenVPN/webserver instance on each machine seems relatively simple - losing session state is probably fine (unless there's a way to share this) - my question is how do these two nodes interface, what sits before them and routes web traffic to each - or do you require a third machine, or is that built into vmWare to begin with?
I've also noticed some Cloud Hosts advertising HA SSL VPN, and I believe OpenVPN AS has a virtual appliance - should this replace my OpenVPN instance/s, or is there no need for this?
I imagine this might become more obvious once I actually get the servers, but for now I'm quite confused.
Your best method of obtaining a Highly available infrastructure is going to be using Vcenter. Each ESX will be added to a cluster and that cluster will monitor for any issues with the ESX hosts.
For your VM's, you will be able to set actions that will ensure that each type of VM you have (web servers, db's, etc) are on different ESX hosts. That will prevent any issue with a failover and all of a certain type of host being on the downed server. You can put your OpenVPN server anywhere you want.
Physically, each host should have at least two NICS for each vswitch. The first Vswitch should be your mgmt type of activities (service console, mgmt console, etc). Then the next vswitch will have two interfaces the way they need to be configured to support your applications.
This is only the very basic setup of getting VMWare in a high availability setup.