I am a virtualization newbie. I basically have one physical server right now. And I want to create two virtual machines (both will be web servers with small databases and a few scheduled tasks) on it. One for me, one for a friend. Server A should not have access to Server B's stuff, and vice versa. They both will need remote desktop capabilities. Can someone please point me in the right direction and show me how to get started? I really do not even know where to start.
|
|
I've been using Sun's VirtualBox - and I love it. http://www.virtualbox.org/ It's free, easy to setup, and creates VM's that are completely isolated from each other (except for networking, which you can specify). I run it using Vista as my host OS, but it will run on pretty much anything. |
|||
|
|
Start with:
I know all this sounds very complicated, but once you have the hang of it, it's quite easy. |
||||
|
|
|
We use VMWare ESXi as the Hypervisor. Then you provision a virtual computer and install as you normally would. The two servers will have their own virtual hard drives so no information will be shared between the two. They will also have their own IP addresses and from the out side will look like totally separate servers. We typically run CentOS 5 in the VMs but we also have a few that run Windows so that is not an issue for you. For what its worth you should look into Hyper-V and ESXi and see which one you like more. I have no experience with Hyper-V, so I cannot offer any advice on it. |
|||||
|
|
VMware ESXi is a free hypervisor from VMware also worth checking out. But remember to check compatibility for raid controllers and other hardware. Good thing is you dont install this on top of an operating system. So its really good for performance. If the virtual servers you wanna create are physical server today you can use VMware vCenter Converter (also free of charge) to move them to the VMware server easily. |
|||
|
|
|
Windows 2008 has it's own virtualization methods called Hyper-V. To start with virtualization on almost every other platform (and some people prefer it to windows 2008's built in methods) you can try VMware Server. It's free, very popular, and lets you learn how virtualization works. |
|||||||||
|
|
If it's a Linux box, you want KVM. The libvirt API is the best way to manage it - see http://www.libvirt.org. You create an XML file describing a pool of disk space (probably be a local directory in your case.) Then for each server, create an image (volume) the size of the disk you want the server to see. Lastly create the server XML file (called a domain in libvirt) which specifies things like processor, RAM, CDROM image, devices etc. If you configure it in your domain, KVM can create a VNC server for you to connect to using any VNC client (which covers your remote desktop bit.) Then you run "virsh" to enter the hypervisor and import your XML files.
Finally you can then start your server:
It looks complex to begin with, but it took me a couple of days to get up to speed with it, and IMO it's much better than most commercial solutions because you get much finer-grained control over your VMs. Libvirt is the interface to a lot of virtualisation technologies - Xen, KVM, etc. Of course if you're running Windows on your physical server then you're gonna be using either Microsoft's hypervisor or VMware, in which case the above is useless to you! |
|||
|
|