Creating a Citrix XenServer 5.5 Resource Pool with Shared iSCSI Storage

February 2, 2010


In this article, you will learn how to create a XenServer resource pool with shared iSCSI storage.  A resource pool consists of multiple XenServer hosts joined together as a single, managed entity.  When combined with shared storage, a resource pool enables virtual machines (VMs) to be started on any XenServer host containing the necessary available resources.  VMs can also be moved dynamically between the members of the resource pool, using XenMotion, with minimal downtime.  If an individual resource pool member has a hardware failure, then the administrator can restart the failed VMs on another resource pool member.

A resource pool always has a member known as the master.  All interaction with the resource pool is done through the master.  The master forwards all commands to the other individual resource pool members as necessary.

Before creating a new resource pool or adding a new host to an existing pool, there are several requirements that must be met:

  • The CPUs in all the servers must be the same.
  • The hosts must be running the same version of XenServer and be at the same patch level.
  • The host must not be a member of another pool.
  • The host must not have shared storage configured.
  • The host must have no running or suspended VMs.
  • The hosts must use the same time source.
  • The management interface cannot be bonded.
  • The management interface must use a static IP address.

Refer to the XenServer 5.5 Administrator’s Guide, chapter 2, for complete details on resource pools.

In an earlier article, all the details about the servers in my lab were given.  The Windows Storage Server has been built and uses the iSCSI software from StarWind Software.  StarWind Software graciously gave me a copy of the Enterprise version of the iSCSI software to use for this article.  StarWind Software has an excellent article on how to install, configure and test the StarWind iSCSI SAN for use with XenServer at

In Part 2 of another series, the first XenServer in the lab was built.  The second XenServer is now built and ready to be configured.   To add another server to XenCenter, click XenCenter in the left pane and click ADD a server (Figure 1).

Figure 1

Enter the IP address of the XenServer to be added and the password for the root account.  Click Connect (Figure 2).

Figure 2

Follow the activation and license procedure detailed in Part 2 of the earlier series (Figure 3).

Figure 3

Once the license file has been installed, click the new XenServer host in the left pane, click the General tab and record the version information (Figure 4).

Figure 4

Repeat this process for every XenServer host that will be added to the resource pool (Figure 5).

Figure 5

The two XenServer hosts in my XenCenter are on different XenServer build numbers.  XenServer1 is on build number 24648p and XenServer2 is on build number 15119p.  Two requirements for creating a resource pool include all members must be running the same version of XenServer and be at the same patch level.  Here, XenServer2 must have XenServer 5.5 Update 1 installed.  Please refer to this article to install Update 1.

Once all XenServer hosts have the same updates applied, you can create the resource pool.  Click New Pool on the toolbar (Figure 6).

Figure 6

Enter a Name, an optional Description and click Next (Figure 7).

Figure 7

Select which host will be the pool master and which hosts will be members of this resource pool.  Click Finish (Figure 8).

Figure 8

Depending on the number of hosts being added to the resource pool, it could take several minutes before the new pool is displayed in XenCenter.  Once the pool is created, expand the pool and each member host.  If an ISO library was assigned to a member, the ISO library is moved to the pool (Figure 9).

Figure 9

One major resource pool benefit is shared storage, which allows the use of XenMotion.  Every iSCSI implementation contains some differences in configuration.  To configure shared storage using the StarWind iSCSI software, click the pool name in the left pane and click New Storage on the toolbar (Figure 10).

Figure 10

The New Storage Repository wizard starts.  Select iSCSI and click Next (Figure 11).

Figure 11

Enter the IP address of the server with iSCSI storage.  Here, it is the server running StarWind (Figure 12).

Figure 12

Click Discover IQNs (Figure 13).

Figure 13

After the IQN is successfully discovered, click Discover LUNs (Figure 14).

Figure 14

When the LUN is successfully discovered, click Finish (Figure 15).

Figure 15

Answer Yes to format the disk.  The iSCSI shared storage device will appear in the list of available storage when the format is complete (Figure 16).

Figure 16

If your iSCSI storage does not have a checkmark, right-click the iSCSI virtual disk storage and select Set as Default Storage Repository.

Two ways exist to test XenMotion.  You can either move an existing local VM to shared storage or create a new VM.  By default, all new VMs are created on shared storage.

To create a new VM, follow the steps detailed in Part 3 of the Learning the Basics of XenApp 5 and XenServer 5.5 article series.

To copy or move an existing VM that used local storage to shared storage, right-click a VM and select Copy VM (Figure 17).

Figure 17

Select Full copy and select the iSCSI virtual disk storage.  Click Copy (Figure 18).  To make this a move operation, where the original VM is deleted, select the Delete original VM after copy option.

Figure 18

The Copy or Move operation begins (Figure 19).

Figure 19

When the Copy or Move operation has completed, click iSCSI virtual disk storage in the left pane and click the Storage tab.  The VM is now on shared storage (Figure 20).

Figure 20

For another form of verification, click the VM and the Storage tab.  The Storage Repository column now shows the shared storage (Figure 21).

Figure 21

To test XenMotion, start the VM and wait until it is at the logon prompt.  Log in to the VM, open a text editor and type in some text (Figure 22).

Figure 22

Right-click the VM, select Migrate to Server and select a server (Figure 23).

Figure 23

The VM migration process starts (Figure 24).

Figure 24

When the migration completes, the VM is displayed on the new host (Figure 25).

Figure 25

Click back on the Console tab and your document is still there (Figure 26).

Figure 26

In this article, you learned:

  • The requirements for creating and adding to a resource pool
  • How to add an additional host to XenCenter
  • How to create a resource pool
  • How to create an iSCSI shared storage repository
  • How to copy or move a VM from local storage to shared storage
  • How to test XenMotion

About Carl Webster

Webster is a Sr. Solutions Architect for Choice Solutions, LLC and specializes in Citrix, Active Directory and Technical Documentation. Webster has been working with Citrix products for many years starting with Multi-User OS/2 in 1990.

View all posts by Carl Webster

No comments yet.

Leave a Reply