Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am building a web application for a family member and I need to learn Linux Administration, since I will be setting up the server myself.

I've heard a lot about virtualization on server, but I have a very basic question:

Why would I do it?

I mean, I can already install everything I need directly on Ubuntu 12.04, why is a good idea to create some sort of virtual machine to run another server on it.
For example, I would probably need to install something like virtualbox and then run lamp on it?

And what about other services, like SSH,FTP.. Can that be installed straight to Ubuntu or do(if I'll use virtualization) create virtual machines for every one of them?

I've been searching, but I can't figure it out, because most of articles are quite advanced, but I would like to get just a basic idea about that concept.

Thanks for all answers, I am very new to this.
Cheers!

share|improve this question

2 Answers 2

up vote 1 down vote accepted

In this specific usecase, it dosen't make any sense to do virtualisation. I used to run an ubuntu server VM on windows, before I got a dedicated box, and if you're running a linux system, there's little need to run these seperately. There's a few situations where you might want to consider virtualisation though

  1. You have NO idea what you're doing - good vm software will let you do snapshots (that is to say, you can roll back a VM to a previous state should you mess up badly) or clone

  2. You need to give more rights that you're comfortable with to a user - you could just have the user in a chroot jail, or a lighter 'container' VM that dosen't attempt to virtualise the whole system, but a full VM would work here too.

  3. You have a lot of IP addresses, and a need for many servers on the same port. Container type virtualisation would work here too, or you can run seperate instances of the OS on a VM host. Not the case here.

You're best off just running what you need on the server itself the moment you ask "why would I do it?" - if you are thinking "Maybe I need a environment where I can afford to make mistakes, and not muck up main main system" you need to look at VMs.

share|improve this answer
    
thanks! this is very helpful. –  intelis Apr 1 '13 at 5:22

In addition to intelis answer, there are a couple of additional reasons to consider (under KVM at least)

  1. Increased stability. I run multiple VM's on 1 box, and have, from time-to-time had problems with 1 service crashing the virtual box (memory issues). These issues were only confined to the 1 VM, so the rest of the services continued to run without interruption.

  2. Better security. By virtualizing various services, a compromise of a server running 1 set of services does not compromise your entire system, ie the compromise is limited to the VM.

  3. Control of resources - I can limit abuse and resource utilization of a particular system through Virtualization.

  4. Abstraction - By virtualizing my boxes, I can migrate them between machines, providing robustness against various failures and higher uptimes. I am also less dependant on hardware specifics, as some key drivers (disk, network for a start) are virtualized, so even if the underlying hardware changes (within limits), the VM's will still work without modification.

share|improve this answer
    
+1 for Abstraction –  csi Oct 18 '13 at 16:31

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.