From the ashes, rise ! (part 1)
- May 13th, 2010
- Posted in Virtual Servers . VirtualBox
- Write comment
This is the first part of a complete series on how to build virtual server platform that will run virtualised High Availability servers. For the complete index of this series, please click here.
The base OS of this solution will be the Ubuntu distributions, which can be found here.
First thing you need to do, is of course, set up the platform that will run the virtual servers we are going to build.
My choice for that was the 64bit desktop version of Ubuntu Lucid Lynx, which is the 10.4 LTS distribution. LTS simply means Long Term Support. Which will ensure that the coming few years your distribution will still be supported.
Why did I choose for a desktop version to run my virtual servers ? Well, basicly, linux is linux, and the type of distribution doesn’t really matter if you build a server out of it or a desktop. I chose for the desktop version because it comes with a fully pre-configured X/Gnome installation, and doesn’t contain anything I don’t need on the base platform. The only thing i needed to do was install OpenSSH to ensure that I have remote access to the machine.
However if you want to go hardcore and install a non-gui distribution like Ubuntu Server on it, that’s a perfectly valid choice as well. Although administrating the thing might be slightly harder to do, especially when it comes to installing the virtual servers. So i highly recommend the desktop version to get it all running, and then later you can just switch runlevel to 3 instead of 5 to get rid of the GUI overhead. Although I have to add that the GUI doesn’t give you much overhead apart from like 100MB extra memory load to run X/Gnome and like a half % cpu load in the worst case for X/Gnome just sitting idle.
For the virtual servers I chose Ubuntu Lucid Lynx 10.4 LTS Server. This can be either 32bit or 64bit, depending on your hardware and what VirtualBox will support on your platform. I will get back to VirtualBox later.
So now that we sorted out what OS’es we are going to use, let’s look at what we need to get the server base platform running and ready to accommodate virtual servers :
Next to an Operating System you will of course need some software that is capable of running a virtual machine inside your host machine. There are many virtualisation platforms to choose from, but I won’t cover them all, as some are really far from being viable to run a production server on, and others are too complex and beyond the scope of the audience I intend to have here, which are people looking for help on getting something done and broadening their understanding and knowledge.
That said, there are basicly 2 products to choose from, which is VMWare and Sun’s VirtualBox.
I chose VirtualBox for a very simple reason : I like it more than VMWare.
Next to my personal preference, I have a lot of experience with VMWare and VirtualBox, and although VMWare is a good product, i find it’s performance at times wanting in comparison to VirtualBox. Next to that, with VMWare you are required to register and jump through hoops before even having the hope of obtaining the free version of VMWare being VMWare Player, in contrast to VirtualBox which can be downloaded directly, is open source AND doesn’t require registration and questions you really don’t want to answer because of the risk of having some marketing dude harassing you during work hours about their great product.
That said, VirtualBox is the platform of my choice, because it’s simple to set up, fast and above all, flexible in that it can run your virtual machines in ‘Headless’ mode, in contrast (for as far as I know) to VMWare Player. ‘Headless’ in this case means you will not have a window constantly on your desktop showing you the screen output of your virtual machine, which in the case of a linux server really isn’t that interesting to look at. Instead it will run as a background service. Also VirtualBox’ Headless option makes VirtualBox viable for non-GUI installations on the host ! Definatly worth looking at and keeping in mind as an option. With VMWare Player you are pretty much stuck with a GUI on your host platform. (For as far as I know)
Headless mode on VirtualBox will still provide you with a means of looking at the screen output of that virtual machine. VirtualBox will provide you with a RDP style service that you can connect to, and will also allow you to configure the ports that it uses. (hence you can put the RDP server of server 1 on say, 4001, and server 2 on 4002.) And the good thing about the desktop version of Ubuntu 10.4 LTS is that it comes with an RDP client pre-installed. Joy !
So the first thing you will do is install the OS of your choice onto the server, on which you decide for yourself which services you want to keep running etc. I would go for as bare as possible on running daemons and possibly limit to OpenSSH and X/Gnome only depending on your desires or goals to limit the resources the host platform will use. the GUI is only there to make your life a bit easier for the rare moments you need to log on and do something for administration.
I won’t go into detail on how to install Ubuntu and such things, as there are so much great guides on that subject out there already and it really is not in the scope of these articles. But from this point on, I assume you have a bare desktop version of Ubuntu installed on your server, and are ready to give it a spin.
First of all, I highly recommend tightening security before doing anything else like firewall etc. This is also beyond the scope, but in the future i will create some articles about iptables. Once that is done, browse to the VirtualBox website and download the package that suits your distribution.
On Ubuntu, installing the package is easy : Just doubleclick it and install it and after providing your password and a quick sigh, it is installed and ready to use.
So now that we have our host up and running, tightened it down and got rid everything you really don’t need, it’s time to start thinking about what we really need to build such a wonderful high availability server with fail-over solutions and how we are going to achieve that goal.
That will be done in the next part of this series.
No comments yet.