如何处理一堆虚拟机?

我刚刚在家里设置了一堆虚拟机,正在寻找一些有趣的东西来玩。 我只是想知道这样一个设置可以做什么样的随机的东西? 我不打算build立独立的服务器,但我正在考虑尝试与机器间的东西。

举个例子,我有一台虚拟机暴露在外面,运行着一个反向代理,指向其他虚拟机。 另外,所有这些虚拟机都在运行Debian,并且有一个虚拟机作为本地caching运行到其他虚拟机。

有没有某种分布式,集群式或其他有趣的东西可以玩? 虚拟机应该是有趣的!

我知道我会用一堆虚拟机(XKCD#350)做些什么:

到目前为止,病毒在“禁用互联网”方面真的令人失望,时间不多了。当Linux / Mac在十年左右的时间内取胜时,游戏将会结束。

  • 看看Hadoop,HBase或其他任何分布式数据存储,比如Facebook的Cassandra。 Hadoop是Google的Map / Reduce基础设施的克隆。 嗯,并行处理。

  • 你可以玩复制数据库; PostgreSQL上的slony或MySQL中的本地复制。

  • 使用keepalived,varnish或nginx进行负载平衡和集群。

  • configurationpipe理与木偶或厨师。

  • 了解如何编写无会话的Web应用程序,以便您可以轻松地进行群集。

  • 快速configuration新服务器。 用于testing应用程序。

  • 您可以尝试加载testing应用程序。

如果你在开发店工作,所有这些技能都可能是有用的。

  • 学习Erlang,Clojure,Scala或其他针对分布式可靠系统的语言。
  • 尝试为各种服务设置高可用性群集。 基本上,按照linux-ha.org上的指南设置DRBD,Heartbeat,STONITH等。

无论哪种方式,利用您的虚拟机实际上折磨testing的设置。 把虚拟机脱机并把它们带回来,看看会发生什么。 做最坏的事情,试图让自己陷入裂脑的境地。 看看你是否可以找出如何解决这个问题。 看看发生了什么(即发生了什么types的错误),如果更多的节点脱机比你的设置应该能够处理。

写你自己的BOTnet

你可以从这里学到很多关于分布式计算的知识。 此外,它可以很容易地维护所有这些虚拟的盒子。

这种知识对于你的职业非常重要,这些技能的需求非常强烈。

在我的虚拟机上,我主要testing集群,高可用性,故障转移等

然后尝试删除节点,打破它…添加额外function,重新同步等

在虚拟化之前,这种事情让我感到兴奋,testing几乎是不可能的(非常昂贵)。 现在你可以在一个盒子里做这个了!