11 Building Webster’s Lab V2 – Citrix XenServer Host and Pool Configuration
June 7, 2021
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 the XenServer host’s IP address and download either the XenCenter CD image (ISO) or the XenCenter installer (MSI).
Note: The XenCenter version should be the same 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.2 host, but you can use XenCenter 8.2 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 differences in 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.2.0-XenCenter.msi file to start the XenCenter installation. The install is a quick and easy Next, Install, Finish routine, as shown in Figures 1 through 4.
Note: Citrix could have updated XenCenter since I wrote this chapter. Use the XenCenter installation file you downloaded.
I decided not to install the two additional language packs.
Launch XenCenter 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 XenServer host’s IP address, 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, and continue to Figure 13.
If yes, click Enroll now, as shown in Figure 11.
Enter the required information and click OK, as illustrated in Figure 12.
After entering valid MyCitrix credentials, click Close, as shown in Figure 13.
The host is added to XenCenter, as shown in Figure 14.
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 are licensed.
Repeat the steps in Figures 6 through 14 for the additional hosts, as shown in Figure 15.
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 runs 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 valid 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 synchronizes to the same time as the pool master (for example, by using NTP).
- There is no bond on the management interface of the server. You can configure the management interface when the server successfully joins the pool.
- The management IP address is static, either configured on the server or using an appropriate configuration on your DHCP server.
My 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 that 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 most 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 16) or Click Pool, New Pool from the menu (Figure 17).
Enter a Name, optional Description, select the Master, select the Additional members and click Create Pool as shown in Figure 18.
After a few minutes, the pool successfully creates, as shown in Figure 19.
Now on to the fun stuff: Networking.
My TinkerTry server has two 1Gb NICs and two 10Gb NICs. The Management Interface uses the 1Gb NICs, and VMs use the 10Gb NICs.
In the XenCenter console, click on the pool, and then, in the right frame, click on the Networking tab, as shown in Figure 20.
First, select Network 2 (one of the 10G NICs) and click Properties, shown in Figure 21.
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 22.
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 traffic and VLANs to segregate VM traffic, you may not want to automatically add any NIC or Bond to VMs. In that case, you would manually add a NIC or Bond to a VM when you create a VM.
After a minute, Network 2 is back Connected and showing the new MTU, as shown in Figure 23.
Repeat for Network 3. After a bit, both Network 2 and Network 3 show as Connected with an MTU of 9000, as shown in Figure 24.
Click on Network 2 and click Add Network…, as shown in Figure 25.
Select Bonded Network and click Next, as shown in Figure 26.
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 27.
“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.”
After a minute, you see the new bond, Bond 2+3, in a Connected state, as shown in Figure 28.
Click on Network 0 and click Add Network…, as shown in Figure 29.
Select Bonded Network and click Next, as shown in Figure 30.
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 31.
Click Create bond anyway on the warning popup, as shown in Figure 32.
After a minute, you see the new bond, Bond 0+1, in a Connected state, and the Management Interface uses the new bond, as shown in Figure 33.
Now on to storage.
Note: In the Introduction article, I stated that my permanent VMs reside in XenServer. I never move the permanent VMs between hosts. Those VMs 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.
“Note, of course, that putting a VM on a local SR prevents 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 34.
Select NFS and click Next, as shown in Figure 35.
“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 many articles on optimizing NFS connectivity, beyond this scope.”
Enter a Name, an optional Description, and click Next, as shown in Figure 36.
Enter the NFS path information for the Share Name, select NFSv4, and click Finish, as shown in Figure 37.
“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…, shown in Figure 34.
Select NFS ISO and click Next, as shown in Figure 38.
Enter a Name, an optional Description, and click Next, as shown in Figure 39.
Enter the NFS path information for the Share Name, select NFSv4, and click Finish, as shown in Figure 40.
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 Adding an SSD Storage Device to Citrix XenServer.
After following that process, the 1TB SSD local SRs show in XenCenter, as shown in Figure 42.
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 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, click Notifications in the bottom left pane and click Updates in the upper left pane, as shown in Figure 43. If any updates are available, click the Actions dropdown and select Download and install, shown in Figure 43.
I am fortunate that as a CTP, Citrix provides CTPs with product licenses. Instead of installing updates to each host, I license my pool and use XenCenter’s ability to automatically download and install all updates to every pool member.
To license a XenServer pool, click Tools, License Manager…, as shown in Figure 44.
Click Assign License…, as shown in Figure 45.
Enter the IP address or FQDN of the Citrix License Server, select the appropriate License type, and click OK, as shown in Figure 46.
If the Citrix license file contains license information for the license type selected, click Close, as shown in Figure 47.
If an error is displayed, correct the license type selection.
The Pool now shows as licensed, as shown in Figure 48.
Now that my pool is licensed, I can add my fourth XenServer host to the pool using the process shown in Figures 6 through 14. Figure 49 shows all four servers in the pool.
To install all XenServer updates to the pool, click Tools, Install Update…, as shown in Figure 50.
Click Next, as shown in Figure 51.
Select Automated Updates, and click Next, as shown in Figure 52.
Select the pool and click Next, as shown in Figure 53.
If all pre-checks are successful, click Next, as shown in Figure 54. If the pre-checks report any issues, correct the issues and then continue.
As shown in Figure 55, the updates are downloaded and installed.
After the installation of the updates, click Finish, as shown in Figure 56.
There is an update for XenCenter 8.2. Installing updates for XenCenter is the same as installing XenCenter.
Up next: Create a Server 2019 Template Image