10 Building Webster’s Lab V1 – Citrix XenServer Host and Pool Configuration
Now that you have installed the XenServer host, the host’s configuration can begin.
As stated in the Introduction article, Citrix uses XenCenter to manage one or more XenServer hosts.
The first thing needed is to download XenCenter from Citrix, or browse to the IP address of the XenServer host and download either the XenCenter CD image (ISO) or the XenCenter installer (MSI).
Note: The XenCenter version should be the same version or newer, not older, than the XenServer version. For example, don’t use XenCenter 7.1 Long Term Service Release (LTSR) to configure a XenServer 8.0 host but you can use XenCenter 8.0 to configure a XenServer 7.1 LTSR host.
“Note that on a single PC host you can only install one version of XenCenter. Be wary of difference is versions which may show options for different versions that are not compatible or no longer exist.”
XenCenter is very easy to install. Double-click the CitrixHypervisor-8.0.0-XenCenter.msi file to start the XenCenter installation. The install is a quick and easy Next, Next, Install, Finish routine as shown in Figures 1 through 4.
Launch XenCenter by either searching for “XenCenter” or from the Start Menu, as shown in Figure 5.
Click Add a Server as shown in Figure 6.
Enter the IP address of a XenServer host, and log in using the root credentials created during the initial XenServer installation and click Add as shown in Figure 7.
Click Accept on the Security Certificate warning as shown in Figure 8.
Decide whether to Save and restore server connection state on startup and click OK as shown in Figure 9.
If you save the connection state and a master password is wanted, select Require a master password and enter the password when prompted.
Decide whether to enroll in Health Checks or not. If no, Click Close as shown in Figure 10.
If yes, click Enroll now as shown in Figure 11.
Enter the required information and click OK as illustrated in Figure 12.
The host is added to XenCenter, as shown in Figure 13.
The host is Unlicensed. Why? Licensing XenServer requires a Citrix license server and license file. As a CTP, I have the license file but, so far, in this lab building process, there is no VM to install the Citrix License Server component on. Later in the lab building process, the XenServer hosts will get licensed.
Repeat the steps in Figures 6 through 13 for the additional host as shown in Figure 14.
Managing individual hosts isn’t very productive. The answer is to create a Resource Pool. First, there are rules to play by. Let’s let Citrix explain in XenServer resource pools.
A resource pool is a homogeneous (or heterogeneous with restrictions) aggregate of one or more XenServer hosts, up to a maximum of 64. The definition of homogeneous is:
- CPUs on the server joining the pool are the same (in terms of the vendor, model, and features) as the CPUs on servers already in the pool.
- The server joining the pool is running the same version of XenServer software, at the same patch level, as servers already in the pool.
The software enforces extra constraints when joining a server to a pool. In particular, XenServer checks that the following conditions are true for the server joining the pool:
- The server is not a member of an existing resource pool.
- The server has no shared storage configured.
- The server is not hosting any running or suspended VMs.
- No active operations are in progress on the VMs on the server, such as a VM shutting down.
- The clock on the server is synchronized to the same time as the pool master (for example, by using NTP).
- The management interface of the server is not bonded. You can configure the management interface when the server successfully joins the pool.
- The management IP address is static, either configured on the server itself or by using an appropriate configuration on your DHCP server.
My three hosts meet all the criteria:
- Have the same CPU
- Running the same version of XenServer
- Not a member of an existing pool
- There is no shared storage configured
- There are no VMs, running or otherwise
- Hosts use the same NTP server
- The management interface is not in a bond
- The management IP address is static
“Note that to join servers into a pool, all servers must also be at the same hotfix level. Also, as you point out, the server must not have the primary management interface bonded or it can lead to major confusion. Another important point is the number, type, and order of NICs on all servers must match exactly (such as 4 x 1, Gb, followed by 2x 10 Gb, followed by 2 x 1Gb) as eth0-eth9. The brand is not so important, but the capacity and number, and order are. Even if unused, additional NICs on servers can lead to problems (at least from my experience).”
To create the resource pool, either right-click the top XenCenter node in XenCenter and select New Pool (Figure 15) or Click Pool, New Pool from the menu (Figure 16).
Enter a Name, optional Description, select the Master, select the Additional members and click Create Pool as shown in Figure 17.
After a few minutes, the pool successfully creates, as shown in Figure 18.
Now on to the fun stuff: Networking.
My TinkerTry server has two 1Gb NICs and two 10Gb NICs. I want to use all four NICs but can only use three because of a lack of 10G switch ports. The Management Interface uses the 1Gb NICs, and VMs use the 10Gb NIC.
In the XenCenter console, click on the pool and then, in the right frame, click on the Networking tab, as shown in Figure 19.
First, select Network 2 (the 10G NIC) and click Properties, as shown in Figure 20.
Click on Network Settings, enter an MTU of 9000 (to enable Jumbo Frame support), select Automatically add this network to new virtual machines and click OK as shown in Figure 21.
Note: If a XenServer host or pool has enough NICs, you can create a storage-specific NIC or Bond. In that case, you probably would not want to add that NIC or Bond automatically to new VMs. Also, if you have VLANs for specific types of traffic and VLANs to segregate VM traffic, you may not want to add any NIC or Bond to VMs automatically. In that case, you would manually add a NIC or Bond to a VM when you create a VM.
After a minute, you will see Network 2 back in a Connected state and showing the new MTU, as shown in Figure 22.
Repeat for Network 3. After a little while both Network 2 and Network 3 show as Connected with an MTU of 9000, as shown in Figure 23.
Click on Network 2 and click Add Network… as shown in Figure 24.
Select Bonded Network and click Next, as shown in Figure 25.
Select the two NICs for the bond, select the Bond mode, since these are the 10Gb NICs, change MTU to 9000, verify that Automatically add this network to new virtual machines is selected, and click Finish as shown in Figure 26.
“I take it your network doesn’t support LACP bonds? If it does, that’s what I generally recommend.”
“Yes, it does. How to configure LACP on my switch is beyond me right now.”
“For servers/pools with VMs that use different interfaces/subnets/VLANs, etc. I generally do not make any of the interfaces such that they automatically get added, as this creates unnecessary extra VIFs that serve no purpose.”
Figure 26After a minute, you will see the new bond, Bond 2+3, in a Connected state, as shown in Figure 27.
Click on Network 0 and click Add Network… as shown in Figure 28.
Select Bonded Network and click Next, as shown in Figure 29.
Select the two NICs for the bond, select the Bond mode, verify that Automatically add this network to new virtual machines is NOT selected, and click Next as shown in Figure 30.
Click Create bond anyway on the warning popup, as shown in Figure 31.
After a minute, you will see the new bond, Bond 0+1, in a Connected state and the Management Interface is using the new bond, as shown in Figure 32.
Now on to storage.
Note: In the Introduction article, I stated my permanent VMs reside in XenServer. I never move the permanent VMs between hosts. For those VMs, they reside in a local SR. For me, this allows for faster boot times than VMs that reside in shared storage as there is no network traffic to load the VM. The Microsoft infrastructure VMs all reside in the local SR on each XenServer host. I use the shared storage SR for Citrix App Layering and the VMs created for the various layers.
“Note of course that putting a VM on a local SR will prevent it from being agile (able to be moved readily to a different host within the pool).”
To create an SR for shared VM storage, right-click the pool and click New SR…, as shown in Figure 33.
Select NFS and click Next as shown in Figure 34.
“For NFS connections, make sure the NFS host is set to allow connections from all the XenServer/Citrix Hypervisor hosts and that file permissions are set accordingly. I’d also suggest looking into increasing the buffer sizes (rsize, wsize). There are a number of articles on optimizing NFS connectivity, beyond this scope.”
Figure 34Enter a Name, an optional Description, and click Next, as shown in Figure 35.
Enter the NFS path information for the Share Name, select NFSv3, and click Finish, as shown in Figure 36.
Note: I am selecting NFSv3 because of the issues with vCenter and NFSv4 on the Synology NAS. Even though XenServer had no issues with NFSv4, I went with the lowest common denominator of NFSv3.
“NFS3 vs NFS4 is still a big subject of debate! I have seen in some cases NFS3 perform slightly better than NFS4. I would follow the storage device manufacturer’s recommendations.”
To create an SR for Microsoft-related ISOs, right-click the pool and click New SR…, as was shown in Figure 33.
Select NFS ISO and click Next, as shown in Figure 37.
Enter a Name, an optional Description, and click Next as shown in Figure 38.
Enter the NFS path information for the Share Name, select NFSv4, and click Finish, as shown in Figure 39.
Note: Why NFSv4 here? These Visual Studio ISOs are on a different Synology NAS that is not used by VMware. Therefore, NFSv4 is used.
The new SRs are now shown in XenCenter as seen in Figure 40.
To add the 1TB SSD as a local SR, I followed the process I documented several years ago in the article Adding an SSD Storage Device to Citrix XenServer.
After following that process, the 1TB SSD local SRs show in XenCenter, as shown in Figure 41.
There is still one thing left to do, see if there are any updates for the hosts.
“Again, make sure the updates are all the same on all servers before creating the pool; it may actually be less work to do so beforehand as I keep running into issues where CPU masks don’t match in the process of applying hotfixes and then to migrate VMs, you have to use the CLI and force them. I’ve complained to Citrix about this several times (that XenCenter doesn’t contain a “force” option), but I hear only crickets.”
In the XenCenter console, first, click Notifications in the bottom left pane and then click Updates in the upper left pane, as shown in Figure 42. If there are any updates available, click the Actions dropdown and select Download and install, also shown in Figure 42.