Doing some planning for the event which I hope will never happen.
For VMs that are dependant on specific hardware connected to a specific ESXi server there is the “Virtual Machine Startup/Shutdown” configuration for that host.
- Is the VM shutdown also triggered upon the host entering “maintenance mode” or only when Shutdown is selected?
Now what if an entire cluster is going down, for instance due to a power failure.
- In what way can I configure a VM to be started as soon as the first ESXi server starts?
- How do I prevent that VM being started on two ESXi hosts when all ESXi hosts start up at the same time?
This last question is particularly interesting as my vSphere server is a virtual server in a cluster at our main site. Of course I want my vSphere server to be up and running a.s.a.p. I don’t want to make it an automatic startup to a specific ESXi server. What if that specific server is coming up last or was damaged during the power failure?
Right after that I want a domain controller and our database server to come up. And after that…
Reading both the “vsp_41_dc_admin_guide.pdf” and “vsp_41_vm_admin_guide.pdf” I was unable to find out what I want to know.
Where can I find more about this, which guide should I read?
I'm going to address these in order:
1) Are the VM's dependant on specific hardware because the ESXi host in question is unlike other hosts in the cluster (physically)? To back that question off a bit, do you have more than one ESXi host, and are they currently clustered? When you right click on a host and select "Enter Maintenance Mode" you will be presented with a warning that VM's must be shut down or moved to another host before entering maintenance mode. You can then select a check box that will basically give vCenter the green light to move the VM's off the current host, and on to other hosts in the cluster. If your VM is unable to migrate to another ESXi host because of inoberability, it will shutdown.
2) If your cluster experiences a catastrophic failure, you have a couple of options to ensure VM restart priority. I like to create vApps for this, and drag/drop the VM's in question into this vApp. Lets say you want your database server to start before your web server, so you drag them both into your new vApp. You can right click the vApp --> Edit Settings --> Start Order tab --> then you'll see Group 1 and Group 2. On the bottom of the window please notice that "All entities in the same group are started before proceeding to the next group. Shutdown is done in the reverse order." Well, you can move your servers into the groups using the arrows beside the box (I circled them in the attached image). Finally, VMware gives you the ability to dictate whether the VM's in Group 2 (and Group 3, and Group 4, etc) should start after a set number of seconds (OR) whether you want the next Group to startup after VMware Tools (a service) has started.
Obviously, when VMware Tools is running, the OS is up (how do you know this? Well, your services are starting). If you want the VMware Tools service to start LAST out of all your services, thats a regedit/dependancy deal, and outside the scope of your questions. Moving on.
3) If your entire cluster goes down, vCenter isn't going to just start powering on VM's randomly. A cluster is a logical container for HA, DRS, vMotion, etc. A VM isn't going to randomly be on two ESXi hosts simultaneously when you lose power to the cluster. If this doesn't make total sense, we can get into it a bit more. Your 4th question is related, so read on.
Note: Duncan Epping and Frank Denneman wrote a book called "VMware vSphere 4.1 HA and DRS Technical Deepdive" that answers your split-brain question much more elequently than I ever could. If you are making the move to vSphere 5 they wrote a technical deepdive on Clustering that is also great, but start with the first one. It's only $15 or so on Amazon.com, ~$10 if you want the kindle edition.
4) I assume you are referring to your vCenter Server when you say "vSphere server"? When you restore power to your physical servers (ESXi hosts), you will need to connect to the invidual hosts (vice vCenter Server) using your vSphere Client. You'll have to manually start your vCenter Server if it went down with the cluster.
Note: VMware offers a number of ways to provide BCDR: vCenter Heartbeat; vCenter Server's running in Linked Mode; Site Recovery Manager. I may have missed one, but if you need a highly available and robust environment, you must spend some time and money to get there.
As for technical resources, Duncan Epping's book is prob the best thing for you at this point. A website I reference quite frequently, itdvds.com provides a ton of REALLY well put-together videos for about $25/month. A free (and awesome!) option is to hit up the vmwarekb channel on youtube.com.
Finally, just put in some time reading blogs from certified VMrockstars like:
Eric Sloof http://www.ntpro.nl/blog/
Simon Long http://www.simonlong.co.uk/blog/
Duncan Epping http://www.yellow-bricks.com/
Scott Lowe http://blog.scottlowe.org/
Good luck, I hope this helped!
At my "remote sites" I do not have a "real" SAN but use the Lefthand VSA module to turn the LocalDatastore into a SAN node. The VSA node needs to start and stop with the ESXi host.
By using two servers each with a VSA node that use NETRAID-1 to sync the data I have a redundant solution with failover capabilities using just two regular HP380 servers. A very cost effective way to keep everything running on a remote site in case of a hardware failure.
vApp needs DRS and DRS is in the Enterprise+ license. I only have Enterprise at the main site. 😞
I only have a few ESXi hosts to manage at the main site so it would not be to hard to track down where the vCenter server is in case it does not start when the ESXi servers start.
Officially the name vCenter server was used in VMware 3.x and the name was changed to vSphere server in VMware 4.x. I had to learn that for my exam, but... it seems VMware does not heed it's own naming convention so indeed it still uses vCenter server pretty much everywhere on the site.
I'll have a look at the book you mentioned, it might be a good read as I like to understand why thinks work the way they do. 😉
Hmmm... According to my memory, which I just verified by looking at the docs and some other material in case I was insane or something, the management framework and server was called "VirtualCenter" in 2.5 and earlier, and was part of the "Virtual Infrastructure" or "VI3". VC2.x + ESX(i) 3.x = VI3. As of 4.0, VirtualCenter was renamed vCenter or vCenter Server, and vCenter (and related bits) + ESX(i) = vSphere. The version of vCenter is numbered the same as ESX, at least so far, for 4.0, 4.1 and 5.0. Lately, they distinguish between "vCenter Server" and other components like
Can't seem to find my copy of their style guide at the moment.