Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have just set up a bunch of VMs at home and am looking for some interesting things to play around with. I was just wondering what kind of random stuff can one experiment with with such a set up? I'm not looking to set up stand-alone servers but I am thinking of experimenting with inter-machine stuff.

As an example, I have got a single VM exposed to the outside world with a reverse proxy running on it that points to other VMs. Also, all these VMs are running Debian and I have one VM running as a local apt cache to the rest of the VMs.

Are there some sort of distributed or cluster or some other interesting thing to play with? VMs are supposed to be fun!

share|improve this question

closed as not constructive by Chris S Feb 8 '12 at 0:25

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

5 Answers

up vote 8 down vote accepted

I know what I would do with a bunch of VMs (XKCD #350):

Viruses so far have been really disappointing on the 'disable the internet' front, and time is running out.  When Linux/Mac win in a decade or so the game will be over.

share|improve this answer
    
+1 for including an xkcd strip! –  sybreon Sep 10 '09 at 9:36
add comment
  • Look at Hadoop, HBase or any of the other distributed datastores, like Facebook's Cassandra. Hadoop is a clone of Google's Map/Reduce infrastructure. Mmmmm parallel processing.

  • You could play with replicated databases; slony on PostgreSQL or native replication in MySQL.

  • Load balancing and clustering with keepalived, varnish or nginx.

  • Configuration management with Puppet or chef.

  • Learn how to write sessionless web applications, so you can cluster them easily.

  • Provision new servers quickly. Useful for testing applications.

  • You could try load-testing an application.

If you work in a development shop, all these skills could be useful.

share|improve this answer
    
I recentrly did in my lab a high available environnement with 4 vms : 2 load balancers plugged on two chrooted Apaches + a mysql replication that was exciting –  Razique Sep 4 '09 at 8:00
1  
Worth playing with networks as well. Install OpenBSD/Linux + Quagga on a few of them, and have a play with OSPF/BGP. –  Cian Sep 4 '09 at 8:16
add comment
  • Learn Erlang, Clojure, Scala, or some other language that's aimed at distributed, reliable systems.
  • Try setting up a high availability cluster for various services. Basically, follow the guides on linux-ha.org to set up DRBD, Heartbeat, STONITH, etc.

Either way, take advantage of your VMs to actually torture test the setups. Pull VMs offline and bring them back and see what happens. Do your worst to try to get yourself into a split-brain situation. See if you can figure out how to fix it. See what happens (ie, what kinds of errors occur) if more nodes go offline than your setup is supposed to be able to handle.

share|improve this answer
add comment

Write your own BOTnet

You can learn a lot about distributed computing doing this. Plus, it makes it easy to maintain all those virtual boxes.

This kind of knowledge is great for your career... these kind of skills are strongly in demand.

share|improve this answer
add comment

On my VM's I mainly test clustering, high availability, fail over e.t.c.

Then try removing nodes, breaking it... adding extras, re syncing and so on

This sort of thing intrests me and before virtualisation, it was almost impossible (well very expensive) to test. Now you can do this on a single box!

share|improve this answer
add comment

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