如何有效地利用数据中心有限的空间和预算,相信这是所有CIO都纠结的事。
也许可以用无数种方式往服务器机架里面塞硬件,但除非你是谷歌、亚马逊或微软之类的大企业,否则就没有无限制的空间或资金。既然如此,怎样才能最有效地利用那有限的空间和预算呢?
大概18个月前,我所在的小公司用自己的设备走上了自建数据中心的道路。我们只有一个小小的1/3专用机架可以塞硬件,所以提高密度对我们来说很重要。我们采取的策略是,部署几台功能超强的服务器,然后根据需要对它们进行虚拟化处理。迄今为止,这一招在功能方面收到了良好效果,但在弹性方面仍有点担心。
现在我们拥有两台2U服务器,每台服务器有24个处理器核心(拥有超线程技术)和96GB内存。我们还有一台1U Synology Rackstation,用于额外存储数据和备份等。这让我们得以从4U的机架空间轻松运行15个大小不一的虚拟机。虽然我们仍有余地,但需要针对额外能力进行规划。
因此,我们的问题是,如果要添加额外能力,那么应该坚持采用另一台功能增强的1U或2U服务器,还是将它分成好几台物理服务器?
其中的一个选择是超微(SuperMicro)MicroCloud平台。它的一大优点是密集隔离,仅3U的机架空间,能获得8台物理服务器,如果购买级别更高的款式,则可以获得12台。当然它也有一些不足,如单处理器,该款式只有至强E3。
就像使用几台大功率服务器一样,使用多台隔离的服务器也有其优点。
使用几台大功率服务器的优点是:占用的机架空间最少、虚拟机可用的资源数量更多、简化了服务器管理(服务器数量少)、需要维护和更换的硬件数量少,同时简化了网络。不过,缺点是:硬件故障影响到许多虚拟机、构建成本高昂、确保冗余性需要高昂成本,以及由于可用性更高,变得不大密集。
而使用许多隔离的服务器(Micro Cloud)的优点是:仍然非常密集、一块刀片上的硬件故障并不会影响其他刀片上的虚拟机、容易确保冗余性、添加刀片成本低廉。但缺点是:服务器管理较复杂、网络较复杂、需要维护和更换大量硬件、每台服务器的资源较少,并且一般是较老的处理器平台。
无论决定如何,我都会选择每个设备上都有虚拟机管理程序,我不确信会不会再构建没有虚拟机管理程序的单一裸机服务器。能够将虚拟机迁移到任何机器上,对网络进行虚拟化处理,并根据需要调整资源,由此带来的好处实在太大了。
我现在考虑的是,如果结合两种方案,也许非常明智。如果我们部署一个8块刀片的Micro Cloud,就能合理地配置虚拟机,为任何关键虚拟机提供冗余性。需要8个处理器核心的一个虚拟机可以托管在一块刀片上,也很容易托管在一个更庞大的2U系统上,实时迁移可以托管在另一块刀片上。由于我们的虚拟机大多数需要4到6个核心(有些虚拟机只要1个或2个核心),一块刀片既能托管主虚拟机,又能以协同方式托管另一个虚拟机的实时迁移。
如果一个虚拟机需要8个以上的核心,假设我们将较小的虚拟机迁移到刀片上,它可以托管在其中一台较庞大的2U服务器上,另一个2U负责托管实时迁移。当然了,还可以借助另外两台2U服务器来实现这个策略,不过仍面临一个问题:一个处理器出现故障,可能会拖累十几个虚拟机。
所以,使用大量隔离的服务器来缓解虚拟机的多米诺骨牌效应,以换取更高的硬件可维护性,还是只有几台大型服务器,准备在凌晨4点接到更换处理器的电话?与大多数人一样,我们什么都想买两份,可惜囊中羞涩。
Matthew Mombrea (编译/沈建苗)
……
关注读览天下微信,
100万篇深度好文,
等你来看……