I'm having a noob like question, I'm in the middle of setting a server pc. To be preciese, I took my very old Pentium3 (800Mhz) computer and turned it into a server-nas-etc whatever you want to call it. Atm, the OS is almost done, some fine tunings are still missing, but mostly it's done. Webserver/Apache setup are missing, and most appliance setup is.

But, let's get on the topic. I was thinking of setting up virtual systems on top of this debian. The question is how can I do it? What do I need, etc.?

As you see, my load is low, and just a sidenote, a p2p download application is already running on it and if I get a 3-4MB/s download it will go up a bit, but that's about it.

Side note: I want to do this just for the fun of it and I'm not IT specialist, not a Linux expert what so ever. So, I'm purely working from google, with google and ofcouse neowin forum help. Thanks.

So, I did a little research and found:

1. VirtualBox

2. VMwave (player, workstation, vshere, etc)

3. XEN

4. ...any other that you can suggest, open for every solution possible!

I'm only a littlebit familiar with virtualbox, but don't really get how that could work on a virtual system that has no GUI, since to be frankly, I tried to run XFCE on the system and it never loaded up, just some random colors, nothing else. (GeForce 2 with 16MB is on the board).

Windows XP was running, long-long time ago on this PC, so hardware's is capable. My question is, if it's possible to run it inside a virtual system? But I'm not planning to actually do that, windows on a server purpose machine doesn't make too much of a sense, right!?

I'm planning, just as an idea to create tiny virtual servers inside of it, for dedication, let's say to host a wordpress blog, and another for another wordpress blog, or just some dedicated small server distro, say a custom linux called turnkey linux, they offer such, and have following virtual systems for download: vmdk? OVF? openstack? openvz? xen?

Thanks in advance for all the help.

***EDIT***

Just for the stats fun of it, quickly installed Haggis-stats so show off all the server stats!

To add to what Max Norris and jren207 said, your machine is so weak that it can barely run one operating system competently, not to mention two. You essentially have two problems as far as virtualization is concerned. First, you don't have enough RAM. Both the host and guest OS need RAM to operate. Running a headless Linux server as the host (like you appear to be doing now) will reduce the amount of RAM you need somewhat, but between the virtualizer and the guest you will still need to more than double the amount of RAM you have now to be able to run a single virtual machine without heavily relying on swap (and thus taking a severe performance hit).

Second, your CPU is very weak by modern standards and doesn't include virtualization extensions. The general rule of thumb is that your processor must be at least dual-core to effectively virtualize another system; yours fails on this count alone. Most modern x86 processors also include virtualization extensions, which greatly improve the speed at which your virtualized operating systems will run. These extensions allow the virtualization software to pass instructions directly to the processor, thereby saving clock cycles and increasing execution speed by offloading a significant amount of processing from the virtualizer directly to the hardware. Since your processor was produced long before these extensions were developed, the relatively low clock speed of your processor combined with the lack of hardware acceleration for virtual machines would result in a crushingly slow experience on both the host and guest if you attempted it.

If I may ask, why are you running Debian Squeeze? If you had setup this system years ago and have not yet had time to upgrade I would understand, but from your description it sounds like you setup this system fairly recently. Debian Wheezy was released earlier this year, and Squeeze will only receive security updates for another year. As far as I can tell, your hardware is still officially supported by Wheezy. Upgrades are officially supported between each Debian release, and there is a whole chapter of the manual dedicated to upgrading from Squeeze to Wheezy. I recommend upgrading your system as soon as possible so you can take advantages of the new features Wheezy offers. In particular, your system would probably benefit from the stability and increased boot speed of systemd, and a recent version of Nginx.

Windows XP was running, long-long time ago on this PC, so hardware's is capable. My question is, if it's possible to run it inside a virtual system? But I'm not planning to actually do that, windows on a server purpose machine doesn't make too much of a sense, right!?

Well, actually running the machine doesn't require a GUI if you're accessing them remotely, be it RDP for a Windows desktop, SSH for virtual Linux servers, etc, the VM server won't care. It actually works rather well, I've a few Linux OS VM's running in a server role for "compartmentalizing" things. Setting it up on a system that doesn't have a GUI capable display is a little trickier though as you'll need to obviously see what you're doing. VirtualBox does provide VRDP, disabled by default, it's a spin off of the Windows RDP protocol and supposedly works regardless of the OS, letting you see what's going on even if there aren't any display/shell servers running on the virtual OS. I haven't personally tried it as I've never had a need, but as I read it you should be able to start your virtual machine and use Remote Desktop or RDesktop, connect to it and install the OS. Supposedly. For the Linux VM's, after the install is done and the SSH server is running you can disable that again and just SSH into the machine to save some memory. This is all assuming of course that this old machine has enough memory to pull it off to begin with, never mind it's not exactly going to be fast with an 800MHz processor. One of my seriously old machines is a first generation Proliant with dual 800MHz processors, even a straight up Linux server is fairly pokey on it.

Edit -- I just saw your updated with the system stats script. 512MB? First thing that comes to mind is "aw hell no." Save the memory and just run the services directly. Not only will you be using resources from the virtualized Apache, MySQL, etc, you also got another OS running plus the overhead from the virtual machine itself. That one dinosaur I mentioned only has Apache, MySQL, Samba, SSH and a couple misc services running and it uses ~200MB on its own, if I throw a Rails app into the mix add another 90-100. It'll make a passable Linux server on its own, but virtual machines typically will require something with more muscle than this thing has.

After I posted the memory usage of the machine itself, I also saw that it's completely using all the ram, so there is no way to delegate RAM to the childs. True. Aww, this is bad now. I want to play virtuals.

Well, actually running the machine doesn't require a GUI if you're accessing them remotely, be it RDP for a Windows desktop, SSH for virtual Linux servers, etc, the VM server won't care. It actually works rather well, I've a few Linux OS VM's running in a server role for "compartmentalizing" things. Setting it up on a system that doesn't have a GUI capable display is a little trickier though as you'll need to obviously see what you're doing. VirtualBox does provide VRDP, disabled by default, it's a spin off of the Windows RDP protocol and supposedly works regardless of the OS, letting you see what's going on even if there aren't any display/shell servers running on the virtual OS. I haven't personally tried it as I've never had a need, but as I read it you should be able to start your virtual machine and use Remote Desktop or RDesktop, connect to it and install the OS. Supposedly. For the Linux VM's, after the install is done and the SSH server is running you can disable that again and just SSH into the machine to save some memory. This is all assuming of course that this old machine has enough memory to pull it off to begin with, never mind it's not exactly going to be fast with an 800MHz processor. One of my seriously old machines is a first generation Proliant with dual 800MHz processors, even a straight up Linux server is fairly pokey on it.

Edit -- I just saw your updated with the system stats script. 512MB? First thing that comes to mind is "aw hell no." Save the memory and just run the services directly. Not only will you be using resources from the virtualized Apache, MySQL, etc, you also got another OS running plus the overhead from the virtual machine itself. That one dinosaur I mentioned only has Apache, MySQL, Samba, SSH and a couple misc services running and it uses ~200MB on its own, if I throw a Rails app into the mix add another 90-100. It'll make a passable Linux server on its own, but virtual machines typically will require something with more muscle than this thing has.

To add to what Max Norris and jren207 said, your machine is so weak that it can barely run one operating system competently, not to mention two. You essentially have two problems as far as virtualization is concerned. First, you don't have enough RAM. Both the host and guest OS need RAM to operate. Running a headless Linux server as the host (like you appear to be doing now) will reduce the amount of RAM you need somewhat, but between the virtualizer and the guest you will still need to more than double the amount of RAM you have now to be able to run a single virtual machine without heavily relying on swap (and thus taking a severe performance hit).

Second, your CPU is very weak by modern standards and doesn't include virtualization extensions. The general rule of thumb is that your processor must be at least dual-core to effectively virtualize another system; yours fails on this count alone. Most modern x86 processors also include virtualization extensions, which greatly improve the speed at which your virtualized operating systems will run. These extensions allow the virtualization software to pass instructions directly to the processor, thereby saving clock cycles and increasing execution speed by offloading a significant amount of processing from the virtualizer directly to the hardware. Since your processor was produced long before these extensions were developed, the relatively low clock speed of your processor combined with the lack of hardware acceleration for virtual machines would result in a crushingly slow experience on both the host and guest if you attempted it.

If I may ask, why are you running Debian Squeeze? If you had setup this system years ago and have not yet had time to upgrade I would understand, but from your description it sounds like you setup this system fairly recently. Debian Wheezy was released earlier this year, and Squeeze will only receive security updates for another year. As far as I can tell, your hardware is still officially supported by Wheezy. Upgrades are officially supported between each Debian release, and there is a whole chapter of the manual dedicated to upgrading from Squeeze to Wheezy. I recommend upgrading your system as soon as possible so you can take advantages of the new features Wheezy offers. In particular, your system would probably benefit from the stability and increased boot speed of systemd, and a recent version of Nginx.

Well, the idea was, that I saw by cat-ing the proc/cpu that the P3 can some sort of virtualization, it's fairly strong CPU back in time. I've met from faraway, some XEN host and guest servers, so I also realized, this would be cool to have, but simply NOT possible on so weak iron.

Other then that, it's true, fairly now, but as you guest ist a hobbyist server, which means I actually did the setup sometimes early summer, late spring or so, but I "work" on it always in tiny bits. So at this point: thanks for the upgrade link, I will most certainly do the upgrade...just depends on time and space! ;-)

Btw, recently I got my hands on a cheap Intel Atom board, with a 1.6Ghz + HT, and 2GBram, some EEE pc of sorts. Would be a virtualization possible on it? Or it's also more preferable just a simple file server/NAS?

To add to what Max Norris and jren207 said, your machine is so weak that it can barely run one operating system competently, not to mention two. You essentially have two problems as far as virtualization is concerned. First, you don't have enough RAM. Both the host and guest OS need RAM to operate. Running a headless Linux server as the host (like you appear to be doing now) will reduce the amount of RAM you need somewhat, but between the virtualizer and the guest you will still need to more than double the amount of RAM you have now to be able to run a single virtual machine without heavily relying on swap (and thus taking a severe performance hit).

Second, your CPU is very weak by modern standards and doesn't include virtualization extensions. The general rule of thumb is that your processor must be at least dual-core to effectively virtualize another system; yours fails on this count alone. Most modern x86 processors also include virtualization extensions, which greatly improve the speed at which your virtualized operating systems will run. These extensions allow the virtualization software to pass instructions directly to the processor, thereby saving clock cycles and increasing execution speed by offloading a significant amount of processing from the virtualizer directly to the hardware. Since your processor was produced long before these extensions were developed, the relatively low clock speed of your processor combined with the lack of hardware acceleration for virtual machines would result in a crushingly slow experience on both the host and guest if you attempted it.

If I may ask, why are you running Debian Squeeze? If you had setup this system years ago and have not yet had time to upgrade I would understand, but from your description it sounds like you setup this system fairly recently. Debian Wheezy was released earlier this year, and Squeeze will only receive security updates for another year. As far as I can tell, your hardware is still officially supported by Wheezy. Upgrades are officially supported between each Debian release, and there is a whole chapter of the manual dedicated to upgrading from Squeeze to Wheezy. I recommend upgrading your system as soon as possible so you can take advantages of the new features Wheezy offers. In particular, your system would probably benefit from the stability and increased boot speed of systemd, and a recent version of Nginx.

Virtualization would be more feasible on your new Intel Atom board, but still fairly painful. My recommendation stands that you should have at least a dual-core processor, preferably a reasonably powerful one. Although some operating systems like to report each thread as its own processor (so a single-core Atom with HyperThreading would be reported as dual-core), HyperThreading does nothing to qualify a single-core processor as a good candidate for virtualization. Intel seems to realize this as well, since no Atom released to-date has full hardware virtualization support. If you want a fairly cheap Intel processor with this support, an Intel Core i3 is your best option.

Virtualization would be more feasible on your new Intel Atom board, but still fairly painful. My recommendation stands that you should have at least a dual-core processor, preferably a reasonably powerful one. Although some operating systems like to report each thread as its own processor (so a single-core Atom with HyperThreading would be reported as dual-core), HyperThreading does nothing to qualify a single-core processor as a good candidate for virtualization. Intel seems to realize this as well, since no Atom released to-date has full hardware virtualization support. If you want a fairly cheap Intel processor with this support, an Intel Core i3 is your best option.

Thanks. I think chase, I think if I buy "iron", then right the full proper way, either with an Intel Xeon or AMD Opteron (or Sparc). Have to work with what's in my pocket right now!