前虚拟化时代刀片的挑战
刀片服务器的出现要早于虚拟化,在那时他们的主要卖点之一就是其自动管理能力。我依然记得早期的硬件厂商在宣传时一步步演示如何把一个刀片从柜子中拔出来然后用新的刀片替换的过程。那时,管理工具可以识别被替换的部件并且自动在更换的硬件上重建原刀片的操作系统。
这么做的目的是为了实现故障部件的快速更换。如果一个刀片故障,只需从柜子中拔掉它然后插入新的,剩余的事情都交给管理工具来完成。
不过对多数用户而言很难实现这种完全的自动化应用,部分原因是难度太大。在虚拟化出现之前,自动重建过程依然非常的复杂。它需要大量的时间投入用于创建可用的操作系统镜像,而且这些镜像还在不断地变化着,也进一步加大了在物理服务器上实现的难度。
早期的刀片服务器:供应商承诺
后来,虚拟化开始发展,也间接推动了刀片服务器的第二个发展浪潮。根据厂商的建议,由于刀片已经具备的种种特点,决定了它可以和虚拟化完美结合:失效后可以用新的刀片服务器替换,然后等待虚拟主机操作系统的自动重建。
但这次最大的不同点在于,虚拟宿主机的OS是完全独立的(stateless)。由于多数的改变都是在子虚拟机上发生的,导致宿主机OS很容易做成“热拔插”选项的模式。
在这第二个阶段,我依然排斥使用刀片。毕竟厂商所宣称的,早一代刀片机柜并不是为虚拟化而设计的。它受限于只有2个或4个千兆网卡接口,这对于多数虚拟架构来说远远不够。某些刀片在光纤主机适配器的数量上也有限制,这导致了在性能要求居首的应用中硬件配置成为明显瓶颈。
刀片服务器为虚拟化带来的优势
今天,这些早期的端口限制已经不存在了,硬件供应商最终成功进入该领域。甚至某些刀片和机柜式专为虚拟化而设计的,支持多个1Gb和10Gb网卡和大量的FC接口。
刀片的可管理性和自动化程度也得到极大发展。结合VMware的准独立(near-stateless)ESXihypervisor和微软的轻量级WindowsServerCore,在刀片被替换后可以很容易地重建新的宿主机OS。
更重要的一点是,在刀片层面的自动化和虚拟机hypervisor层面的自动化被有机结合起来。刀片失效(或某些时候是发生预警)后可以快速地反映到VMwarevSphere或微软的SCVMM(SystemCenterVirtualMachineManager)中,然后虚拟机可以迁移出来。
一旦虚拟机迁移到其它宿主机上后,在原有位置替换的全新宿主机上重建OS就很简单了,该宿主机很快就可以启用。最终,十年前畅想的通过手动替换刀片服务器实现自动化成为了现实。
刀片服务器和换代问题
在虚拟机的迁移和管理方面,刀片服务器具备明显的优势。
这一代刀片服务器解决了私有云计算系统中存在的一个最痛苦也是最难理解的长期问题:技术更新换代带来的限制。当系统架构经过几代发展以后,在新的服务器和老的服务器之间实现在线迁移将非常困难,包括在不同的虚拟机之间做负载均衡也存在问题。
在我近期的一本书《私有云:选择正确的硬件搭建弹性虚拟机架构》中,讨论过虚拟架构和私有云系统中硬件换代可能引发的问题:“虚拟环境……,由于其资源抽象能力可以延长传统服务器的使用寿命。而问题在于,有时候不同代的硬件之间的兼容性并不太好。”
不同代硬件的问题对虚拟机负载均衡、在线迁移能力的影响尤其明显,它们都需要源和目标主机的配置基本相同。例如,众所周知,无法在AMD和Intel平台之间进行在线迁移。
而且,可能您没有注意到,甚至是同一厂家的处理器也需要基本相似才可以。在“VMwareknowledgebasearticle”文章中列举了可以支持vMotion的CPU关系,看起来要比预期的情况狭隘地多。
在短期内,随着虚拟架构使用周期的延长,换代问题都会很普遍。每当添加新服务器时,新购的一匹服务器无法和之前的无法进行在线迁移的问题都很可能存在。
刀片机柜优化服务器负载均衡
而这就是刀片服务器优势所在。用一个刀片机柜可以解决换代引起的问题。在同一个机柜内的刀片比起普通服务器在这个问题上的兼容性要好很多。这也就是说您可以在同一机柜自由地实现虚拟服务器的负载均衡,尽管跨机柜的可能还无法支持,但这对于大多数的企业需求来讲已经足够了。
随着时间发展和硬件的累积,不同代之间的差距问题变得日益突出,因此是时候考虑一下硬件供应商推荐的虚拟化专用刀片机柜和其它的一些类似产品了。