Tag Archive: xenserver

A brand new XenServer pool in an external office had an interesting problem. Two hosts were added to the pool and yet they could not access two mounts on a NetApp filer.

A repair of the SR would give an error message:

There was an error while attempting to mount the NFS share.

Three other XenServer hosts had no issues.

Checked all the obvious and yet they would not repair. I considered a reload but how would that solve it?

Tried using the mount command to mount one of the shares to a directory and received an error that the server rejected the request.

I mentioned this to the administrator who owned the filer and it turns out he likes to use host lists to control access.

He added the hosts to the list and I was able to repair the SRs.


Some errors were encountered…..

My xencenter events start displaying blank errors which when expanded showed:

Some errors were encountered. See the XenCenter log for more information.

I searched for the log file as it was not in an obvious place.

It’s easy to forget xencenter is a client application. After hunting around I found it was stored at:


Note: If you don’t see “AppData” enable show hidden files and it will appear.

Noticing the time of the error; I searched the log file and found the following error messages:

2016-09-29 13:24:11,019 ERROR XenAdmin.Actions.AsyncAction [252] –    at System.Net.HttpWebRequest.GetResponse()

at XenAdmin.Actions.GetHealthCheckAnalysisResultAction.GetAnalysisResult(String diagnosticToken, String uploadUuid)

at XenAdmin.Actions.GetHealthCheckAnalysisResultAction.Run()

at XenAdmin.Actions.AsyncAction.RunWorkerThread(Object o)

at XenAdmin.Actions.AsyncAction.RunWorkerThread(Object o)

It can be a confusing message but I remembered the new health check analysis ability with Xenserver 7.0. It turns out a couple of pools were trying to use the logged in account rather then the actual Citrix site account.

I changed the configuration to the correct account and these errors went away.


There was an odd issue with one of my xenserver pools.  I looked at xencenter and found the following as offline pool SRs:

DVD drives
Local storage
Removable storage

Rather strange and I was too busy to review the log files for errors. I wasn’t sure when those appeared and of course nobody knew anything.

How to get rid of them?

Trying the GUI had no options to remove them.  Time for the command line.

Right-Clicking an entry and selecting properties, I copied the UUID.

I opened a shell and entered:

xe sr-forget uuid=<pasting the UUID>

Repeated two more times and the entries disappeared.

Back to regular work……

One of the odd things about xenserver (there are a few) is the way you configure a search domain for /etc/resolv.conf. You can’t simply edit the file and it’s not part of the install.

You have to use the xe commands to establish a permanent search domain.

From the console on the host:

  • You need UUID of the management NIC; the following command will list it:

xe pif-list host-name-label=<hostname> management=true

  • Add the search domain by entering:

xe pif-param-set uuid=<uuid from above> other-config:domain=<your domain>

Note: you can tab through the UUID by simply entering a couple letters and pressing the tab key.

To enter multiple search domains, simply separate by commas:

xe pif-param-set uuid=<uuid> other config:domain=<domain>,<domain>

  •  Reboot the host and the search domain line appears in /etc/resolv.conf


Acknowledgement time!

We were installing fiber Nics and somebody tried to assign the management interface IP on one of the new ports. The result of course was an IP conflict and system went offline.

In the Linux world, you simply access the console, change a couple entries in files and reboot.

Such is not the case with Xenserver.  I tried to simply reassign the management interface, but it did not work. I decided to use the XE commands to remove the IP from the offending port (in this case it was xenbr1).

Locate the UUID by entering : xe pif-list

Drop the IP information by entering : xe pif-reconfigure-ip mode=none uuid=<big string>

One nice feature of Xenserver in this matter is you can tab out parameters and the UUID info after enter a few characters.

The system did need a reboot.

One thing I have noticed on the Net; information about Citrix can be lacking at times.

I had an instance where a resource pool was established and the thinking behind it was wrong. I wanted to destroy it. I started Xencenter and accessed the doomed pool. I removed all the extra Xenserver hosts by simply right-clicking the entry and selecting “Remove Server from pool”

When it came time to kill the master, there wasn’t an option. I tried the xe options of eject and forgetting but they gave errors.

As mentioned, the Net was lacking on information. So I basically started hunting around thinking “it can’t be a reload!” I didn’t want to go through patching again.

I looked at the Xencenter window tab for Pool and sure enough there was an interesting entry!

Make into standalone server

I selected the master host, clicked “Pool” and selected the option. It ran really fast and the pool entry disappeared with the server showing up at the bottom of list of resources. I expected it to reboot but it didn’t. I gave it a reboot for good measure and then added the ex-master as a host to the correct pool.


With our new XenApp effort; we are going to attempt VDI for our Linux users. Previously, we were using Sun Terminal servers but Citrix stopped supporting it awhile ago and now we have to change.

Our XenServer is version 6.5. Before you attempt to install xentools on any of your guests; make sure you have installed Service Pack 1 and all the suggested patching. Otherwise, you might find yourself having to update xentools again.

Installing Xentools is easier then I remember from a failed XenServer project a couple years ago. Well, the XenServer effort failed due to many mistakes by Citrix  and I probably flushed my brain of this experience as fast as possible.

To install Xentools on RedHat.

  1. Start XenCenter.
  2. Login into your Redhat guest as root.
  3. From XenCenter; click the link to install xentools or right-click your guest and select install xentools. This will load the ISO on the DVD.
  4. From your Redhat guest; enter:   mount /dev/dvd /mnt
  5. Enter: cd /mnt/Linux
  6. Enter:  ./install.sh
  7. Reboot after it finishes.

Surprisingly simple to do.

A couple years ago we attempted to use XenServer to offset the costs of VMware. We received the usual sales presentations but what was interesting was the main pitch seemed to be we were foolish to use VMware. Not exactly a great tactic but we were mandated to give it a go.  Xenserver had is quirks and it’s possibilities but ultimately it failed.

Citrix had promised 10 gig Ethernet support. They kind of stretched the definition as yes the NIC would work but the speeds were terrible. At best we saw 3 gig. This was due to their drivers being 32 bit and they wouldn’t give any idea of when this would be addressed.

Support was abysmal. Basically; they received their initial order which as only a small amount of licenses and basically disappeared. There was no after sales support to make sure things worked. It’s almost like they thought we weren’t going to blast VMware out of the company right away so why bother?

Training was terrible. A coworker and I went to a week course on Xen Administration. The Citrix training materials were awful! There was no editorial review at all. Paragraphs out of order. Labs would have 10 steps and even though they were numbered right the steps were really 1,2,5,6,3,8,4,7,9,10. My coworker stopped going but I tried to tough it out. The teacher tried his best to correct everything but much time was wasted. Citrix never responded to my complaints over the student material.

There were other issues but ultimately I was the only one left with a small cluster. It had to be abandoned when the company refused to re-up the licenses.

Fast forward a couple years.

We are going to redesign our XenApp farms. It needs an uplift and we are going to redesign our access. One issue is the old Sun terminal servers. Citrix stopped supporting this product awhile ago but we kept using it as the Linux alternative at the time was terrible. Now, we have Linux with VDI which means the use of XenServer.

The demo farm was pretty easy to setup as it is small and only meant to reintroduce ourselves and see what the new products will yield in our environment.

Xenserver hasn’t changed much.  It’s version 6.5 and so far it looks like it added missing features from 5.x and strengthened other areas. The 10 gig drivers should yield proper speeds as they are now 64 bit.

The Linux side for guests is still lacking. Citrix was mainly Windows for many years but seriously; shouldn’t you be able to setup a guest and install the OS via pxeboot? We cheated and allocated a 2012 shell with it looking to the network. When the guest booted, it looked to the network and our Kickstart server installed the OS. Mind you this is not a clean way to handle this. The virtual stuff in the background will treat the guest as a windows box. For our demo purposes; the work load will not be that heavy.  We won’t use this approach when we start setting up the production farm.

Thinking back to the class; the sad thing is I have learned more with 3 hours of the sales engineers time then I did with the class.

Overall, we are still in the setup phase but it’s looking good so far.

I had to test out some automation ideas and remembered an old xenserver 5.6 pool which had not been used in a long time. Xenserver was an experiment for the company and it failed miserably.  What killed it was the slowness of the 10 gig cards.  But that is a story for another time.

As expected, the licenses had expired and there were no plans to renew them so it was time to use the free version.  This was an easy conversion however I found the second server in the pool was not accessible.

I visited the host and found there wasn’t a management interface.  In fact when I tried to detect the NICs; none were found.  I tried a quick reboot but there was no change.

I found the onboard NICs still worked as I was able to ping an IP through the shell.

I figured I would try an emergency reset of the pool master but I received a message stating the machine was not in a pool?  Interesting.  Corruption?

I returned to the shell and entered “xe pif-list” and received an interesting message:

The host is still booting

I thought about reloading server or at least breaking the pool but then it dawned on me.  What if the server was acting as the master at one point?

I decided to reset the master with the command:

xe pool-emergency-reset-master master-address=x.x.x.x

After that; the network information appeared again and the host was accessible via the management client.

The License had expired of course but now I could update it.