Archive for April, 2006
Having spent a couple of weeks now playing with Xen, I have found it quite a struggle to find decent documentation explaining exactly how to install various Linux distros to act as virtual machines. After going through setting up Debian as my Xen server and a sample domU, any instructions on installing Gentoo, CentOS, Fedora, etc. all assumed you were already running those distros as the base distro. debootstrap could get me running Ubuntu, but that was about it and domi didn’t seem workable on Debian.
So, having trawled through some Xen newsgroup posts, I stumbled across jailtime.org, which provides pre-compiled, compressed images for CentOS 4.3, Gentoo 2005.1, Slackware 10.2, Debian 3.1, Fedora Core 4 + Fedora Core 5. As I’m not running my Xen server in a production environment, I don’t have any real qualms in putting my trust in someone not to have compiled something naughty into these images, though I don’t have any reason to believe there would be! Each distro is about 100Mb-120Mb in size, and each image takes about 5 minutes to extract and configure making it very quick + easy to have multiple distros running with the minimum of fuss.
Pick an image for the distro you require, and don’t forget to check the steps involved in using each image:
A slight problem has been in that the sample configs are assuming /dev/sda to be the drive in use, and the images are pre-configured with fstab’s reflecting this, along with network configurations grabbing addresses via DHCP. After changing the Xen configs to use /dev/hda (or whatever hard drive layout you’re running) and then using ‘xm create‘ to load your new virtual machine, you’ll probably get an error thrown as the system can’t mount the drives, dropping you to a recovery console. Simply remount the drive read-write, edit fstab to reflect your hard layout, and reboot:
mount -o remount,rw /
And bob’s your proverbial uncle Might look at expanding on some already-available scripts to handle the automatic creation of whichever domain is required, including the downloading of the image if not already available locally, though I’m already being distracted from at least two other little coding projects at the moment!
I downloaded Kubuntu 6.06 LTS over the weekend and it’s been sat in my backpack waiting to go onto the laptop. As I’m too used to being able to jump straight to a directory on various Linux boxes using fish:// or have WebDAV drives on-tap, I’d decided to stick Kubuntu onto my laptop for use at work. Having seen Dapper Drake running briefly on my desktop, it looked very slick.
But, it’s been a nightmare.
First off, I don’t agree with this idea of live CD’s and running an installer from inside it. The boot menu gives some nice options such as running a memory test and booting from the hard drive which previous versions didn’t, but why not then stick in an option to go straight to a normal install? Sure, you might want to give it a go to simply see how it runs, but performance will always be poor running from RAM + a CD, or for checking hardware compatibility, but I just want to be able to go straight to an install. Gentoo 2006.0 does the same thing, and failed to run through the installer a couple of weeks ago which annoyed me, though at least I could revert to a standard text-based install quite easily.
Anyways, aside from the annoyance of it loading up a live version of Kubuntu, the Espresso installer just didn’t work. Tabbing between menu items jumped all over, the actual order of the installer options didn’t seem very logical, and when the page for disk partitioning came up, the installer closed down. As it wouldn’t start again, I restarted the system. The installer wouldn’t run the second time round, so I just went to reboot back in to Gentoo.
“Grub error 22“. Bugger.
Quite impressively, the live CD managed to erase the hard drive. Not just corrupt the bootloader or partition table, but actually wipe the drive. Even Knoppix couldn’t repair it! Although I easily dropped a Windows image across the network back onto it (minus a dozen or so Windows updates since I don’t slipstream them with running a separate system for handling updates with the RM network), it wasn’t too bad as I don’t store any work on it, but it took out a Gentoo install which took a while to do. For those that have used Gentoo, you’ll know what this means!
To be fair, the Kubuntu website is now (under)stating “there is a bug in the live CD installer known to cause data loss, please wait for beta 2 before using it“, but that wasn’t there when I downloaded it, and it must be one hell of a bug! Again, to be fair, it is a beta, but the Kubuntu team are normally pretty solid and this is not at all what I was expecting. Annoyingly, whilst running the live version of Kubuntu, it did seem to have ACPI working properly to detect power usage, battery life and temperatures so it’s not all bad news.
I think I’ll use a 5.10 CD and simply change the sources.list to update to Dapper rather than try running another flight or TLS CD, and can only hope people haven’t lost any data trying to run this release in order to help out with testing + development of what will hopefully become a great release!
After some advice from Frank (Osterfeld?) with regards to Akregator, I updated my system to KDE 3.5.2 yesterday to iron some problems I was having, atlhough I’ve been meaning to update KDE anyway. With Gregarius seemingly working quite happily, I was keen to now get a desktop reader working properly.
Upgrading to Akregator 1.2.2 seems to have made things easier to manage in terms of multiple selection + deletion, and I haven’t come across any problems with incorrect/duplicate/old items being delivered. I actually quite like Akregator sitting in the system tray quietly showing when new items are available.
Now it’s onto writing a plugin for Gregarius to handle the deletion of items the way I want it to. Already been spotted lurking in their IRC channel the last couple of days so figure I may as well do something about it Other than that, everything seems to be working perfectly. Will write up some quick instructions how to setup synchornisation between Gregarius and a desktop reader once I have some rough code for the plugin working.
After catching the attention of Marco Bonetti, one of the Gregarius developers, I’ve been playing with Gregarius a little bit more over the last few days. Seems like the slow updating of feeds is a known issue, and it was suggested I moved to 0.5.4RC2 to see what kind of problems I ran into, which I was pretty keen to do in order to help them out. One of the nice things about open source projects like this – the developers genuinely care and want to help to improve their code.
So, after running it on my test server (Xen powered now, of course !), it seemed very polished for a release candidate. Some very nice new features such as built-in authentcation system for the admin area, a WordPress-like dashboard after logging in, and some extra plugins to help tidy up the formatting + display. And of course, it seemed to help with the actual delivery of the feeds which was the most important part! So much so, it’s now live on my main webserver.
Although I was quite happy with the way Gregarius was now handling the RSS feeds in the web-based system, it still wasn’t delivering this to Thunderbird. After a bit of discussion, I’ve moved to a dedicated RSS reader to figure out whether Gregarius or Thunderbird was fault. Seems like Thunderbird was the one causing the problems, as having ran Akregator for most of the day it’s been flawless. I’m finding Akregator a bit clunky though – no ability to delete multiple items, prompts on deletion of *every* item with no way to turn it off, and doesn’t display full articles, mainly links elsewhere. As their site is down after getting hit with DoS attacks, I can’t get in and download a newer version, as what scraps I pull from the Google cache and Sourceforge bug reports seem to indicate these issues are now resolved.
Still, is looking a bit more promising Gregarius 0.5.4RC2 is handling feeds correctly, on time, and without duplications or loading old items. It’s creating + delivering the RSS feeds properly, and I’ve at least found that a decent RSS reader will handle them correctly. Am looking over the Gregarius code to see if I can develop a plugin now to allow easy deletion of all read items from the web-based system to make it easy to clear items before having them loaded into an offline reader at home. Definately going to more action with this over the next few days!
Wow, what a match! Probably the most exciting football match I’ve been to over the first half, in fact the most exciting of any sports events!
As this was going to be the last chance for me to get to a Sunderland vs Newcastle derby match, I was really wanting to experience the passion and atmosphere of this match and it didn’t dissappoint! We were in the 3rd row in the south west corner, about 20 yards from the Newcastle fans filling the entire south stand. Actually, we followed their convoy of buses in and I’ve never seen such a sight! At least 40 buses with a full police escort including helicopter! Must have been expecting trouble.
After 32 minutes of Sunderland being the better team, the unthinkable happened – Justin Hoyte scoring to put us 1-0 up. Certainly silenced the Newcastle fans. Things had actually been quite light hearted, with a lot of chanting back + forth between the supporters, but nothing too serious. Football was pretty good all through the first half, with even the Newcastle team + supporters admitting Sunderland were the better team. Of course, it didn’t stop the Newcastle fans waving sings of “Murray In” as a wind-up for pretty every Sunderland supporter wanting current chairman, Bob Murray, out of the club.
All changed in the second half though. A good opening 10 minutes quickly turned to farce as the defence was caught completely off guard with Chopra coming on as a substitute for Newcastle, running straight on to a long free kick, and putting the ball into the back of the net.
The Newcastle supporters went ballistic. Gone was the friendliness, and out came swearing + abuse. Out of nowhere, scores of police arrived to prevent the rush of Sunderland fans trying to get at the Newcastle supporters. As all this was still being cleared up and the swearing back + forth continued, we turned to see the referee pointing at the spot, signalling a penalty to Newcastle barely a minute after their first goal. Sure enough, Shearer stepped up and finally scored a goal in a Sunderland vs Newcastle derby.
Madness followed, with dozens of fans plowing down the steps and clambering over seats. Perhaps we didn’t have the best seats in the ground. It took almost 10 minutes to clear everyone back to their seats, in which time Newcastle managed to score yet another mickey mouse goal with the defence completely hapless and Davis in goal without a clue. Most fans gave up and trudged back to their seats or off home.
A final Newcastle goal within the last 10 minutes didn’t cause many problems with most Sunderland supporters past caring. Again, it was another terrible goal to give away. From the elation of the first half where we at least got to watch some passion and pride from the Sunderland players, we were left watching a mess in red + white shirts. How on earth this team has managed to go to Old Trafford last Friday and hold Manchester United to a 0-0 draw, hold Tottenham to a 1-1 draw at home a couple of months ago, and push Chelsea before losing 2-1 in January, then just go to pieces completely like this is unreal.
Losing in a derby match is always difficult, but an embarassment like this really is tough to take. As pretty all the match correspondents have said, with great repsect to Newcastle, they didn’t win, Sunderland lost. Made you feel like the changes the Newcastle fans had obviously made along the road to the stadium feel quite correct.
A few people have asked what happened to my stack of Ultra 5′s and the Gentoo network servers. To be honest, I just didn’t have the time or drive! Although it was good fun at first, they were just so slow compiling source it got annoying. They’re still sat there and I occasionally play with them, but not much!
Instead, I now have my new test server up and running based off my old Athlon XP 2800+. It’s powered by Debian at the moment rather than Gentoo as I found a wonderful guide on setting up Xen and creating your virtual machines. For those not familiar with Xen, it’s an open source server virtualisation system along the same lines as VMWare, though without all the pretty buttons to set everything up! It allows you run multiple operating systems at the same time from the one system, meaning you cut down on hardware + maintenance costs, and for situations like I’m running, means you can run multiple servers from the one machine
Now that I’ve got it up and running it’s actually very, very impressive. The documentation is clear and they have very good IRC channel (##xen on Freenode), but I still spent a good while trying to get the networking going which had everyone stumped. Am good at coming up with these things! I had dom0 setup, which is your host server, and had created a couple of domU’s, your virtual machines. But, I had no networking from the virtual machines. The idea is your host system handles the routing using virtual interfaces and a network bridge, but it wasn’t working. Whenever you tried to ping anything, it would return “Destination Host Unreachable“, indicating something at least was working.
After checking through various settings, re-building virtual machines, running tcpdump to monitor traffic, etc. I finally stumbled across the problem whilst trying to manually create the bridge using the ‘/etc/xen/network-bridge‘ script. The cause? Xen looks for, and only for, a physical connection on eth0. It sets up peth0 which seems to handle the virtual routing alongside xenbr0, your network bridge. I was using eth2, not eth0, so although everything appeared fine, peth0 had no link with eth2 and so all domU virtual machines would have no network connections. Switch yer cable into eth0, bring the interface up and everything works.
Very annoying, and possibly something catching quite a few people out since there’s a number of identical problems strewn across forums, message boards and blogs. Gonna check if a bug has been filed for this, as Xen should check for which eth is active and link peth0 with it. Now that it’s resolved, I’m finding it very impressive – you simply ssh into your virtual machines as normal and since you have a standard Debian install running, can do whatever you want. Will start building on the network services over the next few days and linking the virtual machines together simulating a virtual server rack to see how Xen handles it, but it’s certainly a very powerful tool