Hi,
01000101 wrote:Instead of buying 8 computers for network testing, why not virtualize 10 computers from within one very powerful computer. This would allow me to spend less, save space, lessen heat production, reduce power consumption, and centralize everything.
IMHO heat production and power consumption aren't an issue - I've got 15 computers setup here, but it's very rare for me to turn more than 4 of them on at a time (including my development machine/server). Maybe one day I'll find a reason to have all of them going at once, but even then I doubt they'd all be running at the same time for more than an hour per week.
Many virtual machines would be good for testing if your OS can talk to other OSs using a variety of protocols (http, ftp, ntp, NNTP, pop3, etc), but for this you only really need 2 virtual machines at a time (one for your OS and another for a different OS).
For testing how your OS handles networking problems, virtual machines running on the same real computer wouldn't use any real network hardware (e.g. copy the network packet into a buffer in RAM then tell the other virtual machine it received it - extremely high bandwidth, extremely low latency, and no chance of packet collisions, etc), which means you'll get dodgy results or no results. You might be able to avoid this though if the virtual machines support using real hardware by having a computer with enough real network cards, but I'd check if your virtual machine software support this first, and then find out how many spare PCI slots you can get...
01000101 wrote:All I would be doing with those pc's would be to produce network traffic and to monitor it while running various p2p, bittorrent, firewall, IDS, AV/AS/AM, content/web filter,etc applications to examine their interactions with my OS.
All you would be doing with those pc's *now* would be to produce network traffic and monitor it, but if you only care about "now" then lease something for a month or so instead of buying anything. What about tomorrow?
For testing a general purpose OS well, IMHO you need as many different computers (and virtual computers) as possible. If you test on 10 almost identical virtual machines you won't find a lot of problems, and your end-users (who won't be using the same hardware) will find those problems instead.
Lastly there's cost. One new powerful computer could cost $4000 or more (especially if you're looking for something with two or four quad-core CPUs and 8 GiB or more RAM to run many virtual machines well), but for the same price you could probably get twenty different older computers second hand for $200 each.
Basically I'd recommend a mixture - a "medium" machine that can be used directly or used to run a few virtual machines, plus about 4 older computers, plus some networking and a good KVM; with some of the cash left over for future purchases (in case manufacturers produce something interesting - I'm currently looking for cheap computers with VIA's new Isaiah CPU and/or Intel's new Atom CPU).
Note: for an example of the "medium" machine, my last second hand computer would do 4 virtual machines (with about 800 MB of RAM per virtual machine) without much trouble: two dual core Opterons (4 CPUs total), 4 GiB of RAM, onboard ATI video, a SATA hard disk (not sure how big, but plenty large enough), 2 ethernet cards (one onboard), etc. It only cost me about $600 (aust) at the time.
So, as an example:
- $600 - "medium" machine (either 4 virtual machines or "test machine 1")
$300 - test machine 2
$250 - test machine 3
$250 - test machine 4
$1000 - networking (cables, cards, switch) and KVM
$2400 Total
That works out to about the same price as one good desktop machine purchased new...
[note: I'm using Australia dollars here]
Of course I don't know much about your OS, your intentions or your budget...
Cheers,
Brendan