0

I need to implement for an association three virtual machines to manage the domain and two other software that will use databases. Of course they don't have a big budget but I am trying with their budget to implement something stable and available in case of crash of an equipment.

I am planning to chose a good server and use it for VM storage and calculation and work with Hyper V for cost reasons.

I would like to know if there is a possibility to make a possible redundancy for the virtual machine that hosts a critical software (that uses a database) without exploding the budget by separating the storage from the ESX and buy 2 equipments for storage and two for calculation like ESX.

Concretely, between two servers only, can we ensure that if one crashes, the other one will maintain operations of the VMs ?

I hope this case will maybe interest someone, thank you!

  • 2
    Is there any reason you do not use a cloud service? At this low level you run that would be SO much cheaper. And if you talk about development machines, windows can do that without external storage. – TomTom Jan 24 '20 at 07:56

1 Answers1

2

Design how much redundancy you want and with what method, given how your applications work. Even on a small scale, HA has costs in time and money. Spend according to the recovery time objective of the organization.

An application that only exists as one VM will not function if a compute node fails. Consider several options:

  • Run a copy of the same app VM on a different shared-nothing host with a load balancing scheme
  • Boot the same VM on a different host with live migration, possibly on shared storage
  • Use a failover cluster so one copy of the application can move to a different host

Some databases in particular have their own replication. These keep a second copy of the database up to date on different host, without requiring shared storage.

How many compute nodes and what storage have constraints based on what HA technology you choose.

  • 3 physical hosts is generally a minimum sized cluster. Two may be possible, but it makes quorum more difficult.
  • Shared nothing storage is easier storage, as each host can use local storage. Then the HA is in the load balancer, or database replication. Or possibly with a shared-nothing VM live migration.
  • One traditional dedicated storage array is a relatively simple ways to provide shared storage. Their redundancy is internal, dual controllers and multiple disks. Replication to another array is possible, but you did want to keep costs down.
  • Hyper-Converged, lashing together local storage on many nodes to make a storage pool, does not scale down well to a small 2 node environment. Is nice when you have excess storage on many compute nodes, however.
John Mahowald
  • 32,050
  • 2
  • 19
  • 34