

As I said in my previous post after setting up XenServer I had problems with horrible perfomance using an IDE drive. After investigating I found it was because the OS was using a generic ide driver. Because of this you could not turn DMA/UDMA on for the drive which resulted in pathetic read/write times.
/dev/hdd:
multcount = 16 (on)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 19457/255/63, sectors = 312581808, start = 0
I found an article related to previous versions of XenServer that detailed how to modify the boot loader to get a workaround for the problem. However, it appears in XenServer 5 the was changed and I was unable to get this to work in the updated location. For those who are looking it is under /boot/ and the conf file is extlinux.conf.
After trying a lot of different things I finally had to rebuild the initrd image file that is used in the boot loader to include the specific driver for my controller. In my case this was an ATI controller.
Once I did that I could then enable DMA and performance was not an issue after that.


So a number of months ago when I found out about XenServer Express I got excited. My lab at home was a mix of old pc’s converted to pretty weak servers and it made for some tough testing. I immediately began trying to convince the wife to allow me to build a new box so I could have an easier, more seamless setup.
I began to spec out what I needed and looked at the HCL for XenServer. Unfortunately finding clear support for most non-server based hardware was slim. During this time VMWare released ESXi which intrigued me more. The HCL for VMWare is even more strict that that of XenServer.
Due to budget reasons I was just able to scrounge together enough cash to build a very wallet friendly build. While not extremely powerful it will do what I need. I went more for what I could afford that what fit directly in line with either products HCLs, it was a gamble but if all else failed I could just use VMWare Server….
I already had an old server tower,an optical drive, and a 160gb 7200 RPM IDE HD, so all I needed were the basic other pieces of hardware. CPU, Memory, Motherboard, PSU, NIC, and a Video card. Since nearly 100% of the motherboards these days come with integrated NICs that was one less thing to buy seperately. I also made sure in my search to find a motherboard with on-board video.
I ended up settling on the following components and ordered them from good ole’ Newegg.
BIOSTAR TFORCE TA780G M2+ AM2+/AM2 AMD 780G Micro ATX AMD Motherboard - Retail
AMD Athlon 64 X2 5000+ Brisbane 2.6GHz Socket AM2 65W Dual-Core Processor Model ADO5000DOBOX - Retail
CORSAIR XMS2 2GB (2 x 1GB) 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400) Dual Channel Kit Desktop Memory Model TWIN2X2048-6400 - Retail
Thermaltake TR2 W0070RUC 430W ATX Power Supply - Retail
The CPU is a 64bit dual core and supports AMD-V technology which covered one of the basic requirements for both hypervisors. The CPU and Mobo actually came together in a combo deal that worked out best for price as it knocked 15 bucks off. It did not hurt that this particular motherboard had some of the better reviews of the sub $100 boards. I could have actually gone for an OEM cpu but I decided that grabbing a retail I would save $25 on a heatsink/fan. While the stock coolers are not the best I decided for this build it would not be an issue.
Corsair has been my memory of choice for a long time and it worked out in the budget. If you are wondering why I only went with 2gb of memory for this it all boiled down to budget. I did make sure I picked a motherboard that at least had 4 slots so I can throw another 2gb in later(or more).
The PSU came as one of the most reviewed/best rated so that was a quick decision. Both the Memory and PSU came with a mail-in rebate that totaled $25.
All in all the total cost for these parts came to be 218.45 with shipping and handling. Take away the $25 in mail-in rebates and the price drops to 193.45, under $200!
One of the issues I have with XenServer and building a budget machine is that the memory can’t be shared, aka no memory overcommit. Once you carve out 512mb of RAM for one VM, and that VM is running, that RAM is gone. VMWare has what I feel is a more mature memory architecture so that you can share among the VMs. In an enterprise environment this may or may not be the best route but when you are dealing with a budget machine, a limited amount of memory and guests that will for the most part be idle most of the time, it makes sense to squeeze as much as possible out of the hardware. That being said I actually decided to try and get ESXi up and running on the hardware first.
Once I had all the parts thrown together and the BIOS configured to my liking I stuck the ESXi image in and was met with the following error:
I wasn’t sure if this was due to the IDE drive or an incompatibility with the motherboard. I thought maybe that Virtualization was not enabled in the BIOS but from the looks of it that was not the issue. I spent some time trying to get it running but in the end I was running short on ‘lab time’ so I had to move on. I threw in the XenServer 5.0 cd and let it roll. It did hang on the first run but once I rebooted and tried again it installed the hypervisor and I was met with the XenServer console.
From that point I installed XenCenter and am currently getting some VMs configured. Again, while I truly would have rather went the ESXi route since it opened the door for more guests running on a single box I am happy to get something up and running.
So far the only problem I am having is with poor performance with what appears to be the IDE drive. I am going to play around with some configuratiosn to see if I can get it running more smoothly.
Eventually I will throw more memory into the machine, overclock it a bit and get some SATA II drives. For now, for a $200 build I think it is going to work out fantasticly!
It took a little longer than 10 to Xen, more like 15 to Xen…but I’ll blame that on the ‘budget’!


At one point some colleagues and I were searching for a list of ICA clients and their corresponding builds. We were unable to find a comprehensive list from Citrix so we put one together from those we had on hand. I also scoured the net looking for any trace of a build and tried to match the version.
I created a script to pull the information and match a build to a client. The script went through a number of changes (this is a modified version of my original script) from the first where I stuck all of the builds/versions in a Select..Case statement but that go too unruly. The next is what is currently sitting in a thread (the new forums have destroyed the old formatting though) where I stuck the builds/versions into arrays to try and make it a bit cleaner.
What is the point of all this you ask? Well I have placed all of the client info into an XML file and am currently working on a much more up to date script to dynamically load this file and pull back the information. Resource Manager does report the full version (for versions above 8.0 I think) but not everyone has Resource Manager or they may have older clients hanging out there that they can’t identify.
The XML file can be found here:
ICAClients.xml (5.2 KiB, 65 hits)
I should have the updated script completed very soon but the XML file may be beneficial to someone now.
Please let me know if any of the info in the file is incorrect or if you know of a build I missed.
More Options ...

Categories
Tag Cloud
Blog RSS
Comments RSS
Void (Default)
Life
Earth
Wind
Water
Fire
Lightweight