對刀片服務器我經歷了從喜歡到排斥再到如今的熱愛幾個不同階段。
在進入虛擬架構之前,刀片服務器有過幾個發展階段,直到應用於今天的虛擬環境中並可以獲得很多額外的收益。通過在一個刀片機櫃內集成多台服務器可以改善虛擬服務器的負載均衡方案並解決圍繞服務器更新換代而來的一系列問題。
前虛擬化時代刀片的挑戰
刀片服務器的出現要早於虛擬化,在那時他們的主要賣點之一就是其自動管理能力。我依然記得早期的硬件廠商在宣傳時一步步演示如何把一個刀片從櫃子中拔出來然後用新的刀片替換的過程。那時,管理工具可以識別被替換的部件並且自動在更換的硬件上重建原刀片的操作系統。
這麼做的目的是為了實現故障部件的快速更換。如果一個刀片故障,只需從櫃子中拔掉它然後插入新的,剩余的事情都交給管理工具來完成。
不過對多數用戶而言很難實現這種完全的自動化應用,部分原因是難度太大。在虛擬化出現之前,自動重建過程依然非常的復雜。它需要大量的時間投入用於創建可用的操作系統鏡像,而且這些鏡像還在不斷地變化著,也進一步加大了在物理服務器上實現的難度。
早期的刀片服務器:供應商承諾
後來,虛擬化開始發展,也間接推動了刀片服務器的第二個發展浪潮。根據廠商的建議,由於刀片已經具備的種種特點,決定了它可以和虛擬化完美結合:失效後可以用新的刀片服務器替換,然後等待虛擬主機操作系統的自動重建。
但這次最大的不同點在於,虛擬宿主機的OS是完全獨立的(stateless)。由於多數的改變都是在子虛擬機上發生的,導致宿主機OS很容易做成“熱拔插”選項的模式。
在這第二個階段,我依然排斥使用刀片。畢竟廠商所宣稱的,早一代刀片機櫃並不是為虛擬化而設計的。它受限於只有2個或4個千兆網卡接口,這對於多數虛擬架構來說遠遠不夠。某些刀片在光纖主機適配器的數量上也有限制,這導致了在性能要求居首的應用中硬件配置成為明顯瓶頸。
刀片服務器為虛擬化帶來的優勢
今天,這些早期的端口限制已經不存在了,硬件供應商最終成功進入該領域。甚至某些刀片和機櫃式專為虛擬化而設計的,支持多個1Gb和10Gb網卡和大量的FC接口。
刀片的可管理性和自動化程度也得到極大發展。結合VMware的准獨立(near-stateless)ESXi hypervisor和微軟的輕量級Windows Server Core,在刀片被替換後可以很容易地重建新的宿主機OS。
更重要的一點是,在刀片層面的自動化和虛擬機hypervisor層面的自動化被有機結合起來。刀片失效(或某些時候是發生預警)後可以快速地反映到VMware vSphere或微軟的SCVMM(System Center Virtual Machine Manager)中,然後虛擬機可以遷移出來。
一旦虛擬機遷移到其它宿主機上後,在原有位置替換的全新宿主機上重建OS就很簡單了,該宿主機很快就可以啟用。最終,十年前暢想的通過手動替換刀片服務器實現自動化成為了現實。
刀片服務器和換代問題
在虛擬機的遷移和管理方面,刀片服務器具備明顯的優勢。
這一代刀片服務器解決了私有雲計算系統中存在的一個最痛苦也是最難理解的長期問題:技術更新換代帶來的限制。當系統架構經過幾代發展以後,在新的服務器和老的服務器之間實現在線遷移將非常困難,包括在不同的虛擬機之間做負載均衡也存在問題。
在我近期的一本書《私有雲:選擇正確的硬件搭建彈性虛擬機架構》中,討論過虛擬架構和私有雲系統中硬件換代可能引發的問題:“虛擬環境……,由於其資源抽象能力可以延長傳統服務器的使用壽命。而問題在於,有時候不同代的硬件之間的兼容性並不太好。”
不同代硬件的問題對虛擬機負載均衡、在線遷移能力的影響尤其明顯,它們都需要源和目標主機的配置基本相同。例如,眾所周知,無法在AMD和Intel平台之間進行在線遷移。
而且,可能您沒有注意到,甚至是同一廠家的處理器也需要基本相似才可以。在“VMware knowledgebase article”文章中列舉了可以支持vMotion的CPU關系,看起來要比預期的情況狹隘地多。
在短期內,隨著虛擬架構使用周期的延長,換代問題都會很普遍。每當添加新服務器時,新購的一匹服務器無法和之前的無法進行在線遷移的問題都很可能存在。
刀片機櫃優化服務器負載均衡
而這就是刀片服務器優勢所在。用一個刀片機櫃可以解決換代引起的問題。在同一個機櫃內的刀片比起普通服務器在這個問題上的兼容性要好很多。這也就是說您可以在同一機櫃自由地實現虛擬服務器的負載均衡,盡管跨機櫃的可能還無法支持,但這對於大多數的企業需求來講已經足夠了。
隨著時間發展和硬件的累積,不同代之間的差距問題變得日益突出,因此是時候考慮一下硬件供應商推薦的虛擬化專用刀片機櫃和其它的一些類似產品了。