XenServer 2-Node HA Smack in the face to our MSP
-
So the goal is/was to configure a Highly Availability virtual server infrastructure. After getting a quote from our MSP, who wanted $45K USD for an Inverted Pyramid of Doom I decided to call them out on their bullshit in a private meeting with the boss, and his boss as well.
This is before their labor to implement the system they had proposed. That easily would have put us in the $60K range for this project.
So after meeting I was told to build a better, more reliable, and cheaper solution. I did just this. Saving the company ~$44K upfront.
I designed a 2-Node (servers) High Availability setup running XenServer 6.5 and HALizard (HAL) which uses the DRBD back end for true high availability.
The servers are Dell R730's (eight bay) fully loaded with LFF 4TB Dell OEM drives, ordered from xByte for just over $16K total.
After having two dedicated straight-through cables run between my closets for a few hundred dollars for the DRBD bond, I was all set to begin the installation.
I've installed XenServer several times, and every time it's as easy as you could image an XP installation. I grabbed four 16GB USB drives, these are the installation target (and clone target), and a copy of the installation ISO on a DVD drive.
Booting from the CD, I ran the installation, selecting only the target source from where XenServer would run. Which is the 16GB USB drive as displayed during the installation. Making sure to not select any VM storage as this would interfere (break) HAL functionality.
Repeat for the second server. Following the HAL guide, I updated both servers, created the network Bond and used the HAL NoSAN installer on each server.
The NoSAN installer takes you through the entire process, step by step. Select the Primary and Secondary, Select the Bond, select the medium(RAID10 Array on each system) to use for the DRBD/iSCSI target. And lastly create the storage via XenCenter.
Since the network is a closed loop, I was able to use the default settings of the installer, 10.10.10.1 and 10.10.10.2 for the Bond.
At this point in the system, you'll be waiting for a while, because the system has to sync, and DRBD has no way of knowing that the target is empty (not matching the Primary server).
So the servers sync, and sync and sync. Until finally, they are uniform and UpTodate.
"iscsi-cfg status" is the command to check the status of DRBD.
During the sync you can enable the High Availability functionality, though the system will be slow, due to the sync process that is occurring.
"ha-cfg status" it'll say, "DISABLED, type yes to enable" > Yes and Enter.
There we go, two node HA using XenServer and HALizard.