Virtualisation of router/small server on Desktop
Hello boys and girls.
Situation: I got desktop machne(3.1ghz amd, 4 cores, 8 gigs of 1333 RAM, 850 watt, "silver" PSU, 3 rather old hard drives, which i plan to upgrade anyway), old laptop, Acer Aspire 1511lc(2 gigs of ram, but very slow HDD, which doesn't really cocnern me), that is pretty much router and a bit of an email/samba/iptables/dns/dhcp and other networking services. Laptop is getting more and more unstable/unreliable. I sense it's death is near.
I was thinking to get myself another computer to replace laptop. But it leaves me with a few things to consider...
1) price, even though you need very cheap machine, you still need to pay for it. I am not greedy, and willing to pay money, but currently, my employment is not very stable thing so spending a few hundreds of euros/dollars doesn't attract me much, though if i see a bargain - i will go for it.
2) I don't need that much from my router/home server. email/ampache(i see it as an mp3 player over internet, which i can listen at work), ipv6 tunnel and a few other services, like ftp/ssh/etc. So I don't need strong hardware, but not very weak either(i don't think that 500mghz will do).
So I got this idea...
I am the only internet user at home, but need to have one of my computers at home 24/7 for email purposes. I have my main computer switched on any time am at home and I am awake, which means around 8 hours a day 2 computers are running, consuming electricity.
Wouldn't it be much cheaper to simply create a virtual guest inside of my somewhat powerful desktop and run little router there, with may be half gig assign to it(can you actually make KVM use memory dynamically? lets say, it needs 5 gigs - it takes it and releases, if memory is no longer needed?). I have power supply that is in "silver" range for power efficiency, and my binary nvida(gtx470) and my CPU are set up that they will be in power saving mode(and they are most of time, unless i am playing games), as well as HDD's are.
I can make system that way, that it will start up guest system automatically, and system will create necessary tap devices, and start up guest server, which will do the stuff i need. I am pretty sure that I will be able to set things up, no problem.
Now the question: does it make economical sense to have this "virtual" serer? Will it save me any buck on power? Will it negatively affect my gaming experience on Linux(I am not afraid i will run out of memory, 8 gigs is plenty for any Linux game, but guest system will be using memory, means, access to generally memory will be slowed down?), what about networking? Will the fact that my Guest is router and pretty much all traffic duplicates(from host to guest, that from guest to host again), can this badly affect lag and overall CPU/memory usage?(it will of course, but will it be severe? Will i notice it?)
I can imagine i will get flamed with: "but why not get same OS for routing server and everything?" Answer will be very simple: Desktop OS and server OS even from same distro are different. I am gentoo user, where we have profiles, desktop profile and server profile, software versions are different for those two. Even same Ubuntu, will have 2 versions, server one and desktop one and list goes on and on. And frankly, Security aspect would be important here too. I like idea of sitting behind NAT, it makes me more secure!(not that I do not hate NAT for other reasons, IPV4 is dead, long live IPV6!)
Anyone is having same experience? Anyone can advice anything on this virtualised router topic? Or anyone can advice dirt cheap piece of hardware(id love to try something arm based, or something that is not i386 compatible anyway, but something on which i can built my own OS on top, without much tinkering, though anything will cut, as long as its powerful enough for the purpose)
I am based in Europe, and English is not my native tongue, so I am sorry for any errors in my speech.