Skip to main content

XenServer 6.2 - installed on a USB drive and installed on an SD Card

In this post I want to talk about recent experiences I've had with XenServer 6.2 on USB drives and SD cards. In a particular situation, I was forced initially down this path due to specific hardware and lack of appropriate drives. The upshot is that it was entirely unsuccessful and here is why:

Firstly, it's important to be aware that XenServer isn't all that happy being installed on these devices. After you install, you must boot back up on the XenServer CD and then (using ALT-F2) drop to a command line. To get XenServer to boot on USB do the following:

  • From the command line do this: 
    • # cat /proc/partitions
      • this tells you what partitions there are that XenServer can see. Typically you will see /dev/sda and it's children - /dev/sda1, /dev/sda2 etc. We want /dev/sda1
    • # mkdir /target
      • create a temporary location so we can change our root directory
    • # mount -t ext3 /dev/sda1 /target
      • mount our existing /dev/sda1 partition to /target, giving us access to the files
    • # mount proc /target/proc -t proc
      • we need a proc filesystem!
    • # mount sysfs /target/sys -t sysfs
      • and a sysfs
    • # mount --bind /dev /target/dev
      • and of course somewhere for devices to be found
    • # chroot /target
      • change to the /target install of the system (chrooting means we are running now under the actual XenServer install, not the boot cd live filesystem)
    • # cd /boot
    • # ls –al
Now we need to actually tell the kernel of our installed XenServer to add USB support to it so it'll boot. Up until this point, the system will just hang, unable to find a filesystem.

  • # mv initrd-lots.of-numbersxen.img initrd-lots.of-numbersxen.img.old
    • this backs up the initrd ing
  • # mkinitrd --with-usb initrd-lots.of-numbersxen.img lots.of-numbersxen.img
    • make sure you replace lots.of-numbers with the actual kernel version. It could look like this: 2.6.18-53.1.13.el5.xs4.
  • # exit
  • # sync
  • # reboot
At this stage we are finished and the server will reboot and actually get into XenServer. After patching the pool, or indeed, the server by itself, you may need to apply the initrd update again, but with the new kernel number.

While this was cumbersome to do, particularly because I had to do it six times - 3 for initial install, 3 again after SP1 was applied, it wasn't hard to do, or particularly time consuming. I found that I had to do this for both USB drives and on the SD Card. The SD Card was significantly slower than USB. The key difference between the two was that the USB, after some magical, indeterminate time, would lose it's filesystem! XenCenter would lose connectivity to it, and the console interface was non-functional - unable to find "root"! A reboot fixed this, but these are supposed to be on all the time with minimal service loss. That was when I turned to the SD Card idea. These servers had been running an awful install of VMware 4.1 on SD Cards so I thought they would just work. Sadly, it was not to be. Once again, I'd lose connectivity to the server, but this time, I was able to get the xsconsole to respond and reboot the machine. Totally unacceptable though. I don't have time to test with this system - it's supposed to be production! At any rate, I've purchased disks and installing them. If anyone has experienced this and knows the answer - I'd love to hear it!


  1. Hi ryv's,

    I have the same problem with you.. I did exactly your step.
    I've been looking for answers in the citrix forums and there is no solution for this problem.

    And finally, installing xen6.2 to hardisk is the final solution.

    I think the big problem was here :
    # mv initrd-lots.of-numbersxen.img initrd-lots.of-numbersxen.img.old
    # mkinitrd --with-usb initrd-lots.of-numbersxen.img lots.of-numbersxen.img

    Because when xenserver 6.2 installed on the hard drive, we don't have to do that thing. And xenserver goes well.

    Maybe you have an idea?


  2. Hey wallsdroid,

    see if you can disable any USB power timeouts or anything. I found that it was fairly random as to when the USB died on me, but it was usually during a quiet time. Unfortunately on the servers I was working on, there wasn't really anywhere to modify the USB power settings. I haven't had any issues with the hard drives so I've been disinclined to continue trying to figure it out :-)

    Good luck - hopefully someone else reading my blog has something to offer.


  3. Hi folks.

    This has helped me f***ing lots.

    I did went through an error, though I could fix it. Hope this helps future doubts:

    When recreating the initrd, the last bit of it does not use the ".img" part.

    # mkinitrd --with-usb initrd-lots.of-numbersxen.img lots.of-numbersxen.img << this .img shouldn't be here.

    It went all right with:

    # mkinitrd --with-usb initrd-lots.of-numbersxen.img lots.of-numbersxen

    Anyways, thank you so very much bro. Was struggling with this for some week now.


  4. Samuel SS - glad it helped out and you got it to work. Hope it's super stable. I should note, that on disks I've yet to have a failure at this particular site - over 4 months!

  5. Hi,
    i am step by step is ibm x3650 m4 hypervisor usb on installation.
    Boot xen 6.2 bootable and F2 "shell" enter
    # cat /proc/partitions
    # mkdir /target
    # mount -t ext3 /dev/sda1 /target
    # mount proc /target/proc -t proc
    # mount sysfs /target/sys -t sysfs
    # mount --bind /dev /target/dev
    # chroot /target
    # cd /boot
    # ls –al
    # mv initrd- initrd-
    # mkinitrd --with-usb initrd-
    # exit
    # sync
    # reboot

    and machine reboot but erro hypervisor usb boot failed

    please help me.

    Thank you

  6. Any idea if these steps will help with getting XenServer 6.2.0 working with a USB ethernet adapter?

  7. Matt S - not sure. The issues I had with the USB device not responding were probably more linked to the fact that the data off the USB drive was loaded in to memory and wasn't being accessed off the drive for long periods. A USB to Ethernet adaptor would be more or less active all the time. If you have a crack at it let us know how you get on :-)

  8. hi Ümit, your issue here doesn't lie in your install but the fact that your server will not accept to boot on a usb disk bigger than 4G, if you feel bold though you can very well trick it into installing a xenserver on a 4G drive.

    step by step, install on plain 16G+ key, taking care to use mbr partitionning and specifiy 3.5G for root drive size in your , normal install no local vm storage. Then, boot on a gparted CD, copy your /dev/sdx1 partition to your smaller key (4G) ignoring the backup partition. boot on your xen install cd with your usb key plugged in, use the mkinitrd procedure specified above, don't forget to edit extlinux.conf and update your boot sector. voilà! one xenserver install on less than 4G drives.

  9. Hi,
    I've just found your page and tried the initrd --with-usb and it doesn't work for me. it said something like "unable to find module" ...
    any ideas?

    and when I reboor know it's all broken. I've the "boot: " , it's starting with:
    Loading /boot/xen.gz... ok
    Loading /boot/vmlinuz-2.6-xen... ok
    Loading /boot/initrd-2.6-xen.img... failed!

    did I miss something ??

    Thanks in advance for your help

    1. Hi Erix,

      have you got the full file path and name in the initrd changes you are making? There may well be a typo in your commands - check them very carefully and run it again. Tab complete is your friend :-)


  10. Hello,
    thanks very much for your reply. I'm travelling at the moment and don't have access to my lab, but as soon I'm back, I'll look at this and I'll post/send you a reply. Do apologize for the delay.
    Really appreciate your help.
    Have a nice day.

    PS: Back on Monday with more news I hope

  11. This looks interresting!
    Can i ask you if your still running xenserver on a USB? and for how long?


Post a Comment

Popular posts from this blog

Plone - the open source Content Management System - a review

One of my clients, a non-profit, has a lot of files on it's clients. They need a way to digitally store these files, securely and with availability for certain people. They also need these files to expire and be deleted after a given length of time - usually about 7 years. These were the parameters I was given to search for a Document Management System (DMS) or more commonly a Content Management System (CMS). There are quite a lot of them, but most are designed for front facing information delivery - that is, to write something, put it up for review, have it reviewed and then published. We do not want this data published ever - and some CMS's make that a bit tricky to manage. So at the end of the day, I looked into several CMS systems that looked like they could be useful. The first one to be reviewed was OpenKM ( ). It looked OK, was open source which is preferable and seemed to have solid security and publishing options. Backing up the database and upgradin

Musings on System Administration

I was reading an article discussing forensic preparation for computer systems. Some of the stuff in there I knew the general theory of, but not the specifics of how to perform. As I thought about it, it occurred to me that Systems Administration is such a vast field. There is no way I can know all of this stuff. I made a list of the software and operating systems I currently manage. They include: - Windows Server 2003, Standard and Enterprise - Exchange 2003 - Windows XP - Windows Vista - Windows 2000 - Ubuntu Linux - OpenSuSE Linux - Mac OSX (10.3 and 10.4) - Solaris 8 - SQL 2005 - Various specialised software for the transport industry I have specific knowledge on some of this, broad knowledge on all of it, and always think "There's so much I *don't* know". It gets a bit down heartening sometimes. For one thing - I have no clue about SQL 2005 and I need to make it work with another bit of software. All complicated and nothing straightforward. Irritating doesn&

Traffic Monitoring using Ubuntu Linux, ntop, iftop and bridging

This is an update of an older post, as the utilities change, so has this concept of a cheap network spike - I use it to troubleshoot network issues, usually between a router and the network to understand what traffic is going where. The concept involves a transparent bridge between two network interface cards, and then looking at that traffic with a variety of tools to determine network traffic specifics. Most recently I used one to determine if a 4MB SDSL connection was saturated or not. It turned out the router was incorrectly configured and the connection had a maximum usage under 100Kb/s (!) At $1600 / month it's probably important to get this right - especially when the client was considering upgrading to a faster (and more expensive) link based on their DSL provider's advice. Hardware requirements: I'm using an old Dell Vostro desktop PC with a dual gigabit NIC in it - low profile and fits into the box nicely. Added a bit of extra RAM and a decent disk and that&