郭 飏 樊 睿 劉 慶
(作者單位:廣西廣播電視信息網(wǎng)絡(luò)股份有限公司)
以往產(chǎn)品和業(yè)務(wù)的部署為傳統(tǒng)的裸金屬服務(wù)器架構(gòu),每個項(xiàng)目需要單獨(dú)新增采購所需的服務(wù)器、交換機(jī)、存儲等設(shè)備,一是采購周期變長可能導(dǎo)致項(xiàng)目無法在要求的時(shí)間節(jié)點(diǎn)內(nèi)完成交付;二是不同平臺之間的硬件資源無法進(jìn)行復(fù)用造成“資源孤島”,因業(yè)務(wù)發(fā)展的不均衡容易造成資源閑置,額外增加運(yùn)維成本;三是資產(chǎn)抗風(fēng)險(xiǎn)能力不高,不同項(xiàng)目的硬件資產(chǎn)特別是軟硬件高度耦合的專用硬件在項(xiàng)目周期結(jié)束后基本無法復(fù)用,資產(chǎn)可持續(xù)性不高,短期內(nèi)難以收回成本。在傳統(tǒng)部署模式上,關(guān)鍵業(yè)務(wù)一般采用小型機(jī)和存儲區(qū)域網(wǎng)絡(luò)(Storage Area Network, SAN)的部署架構(gòu),雖然穩(wěn)定性最高,但是使用和運(yùn)維成本也高。此類專業(yè)性硬件設(shè)備往往需要配套專職運(yùn)維人員進(jìn)行部署、維護(hù),也容易被品牌綁定,在拓展性、品牌選擇等問題上限制過多,進(jìn)一步影響著企業(yè)業(yè)務(wù)的交付能力[1]。
隨著軟件技術(shù)的飛速發(fā)展和X86通用硬件服務(wù)器穩(wěn)定性的不斷提高,現(xiàn)在可以通過業(yè)務(wù)軟件層封裝調(diào)度X86通用服務(wù)器集群的方式,獲得等同小型機(jī)的穩(wěn)定性、可靠性,整體性價(jià)比更高,并越來越受到企業(yè)的青睞,但總的來說裸金屬服務(wù)器部署方式仍然在現(xiàn)在的市場環(huán)境中略顯笨重。在業(yè)務(wù)部署模式上,人們更加傾向于超融合、云原生等敏捷架構(gòu),通過基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service, IaaS)方式,構(gòu)建屬于企業(yè)的私有云服務(wù)層,通過前瞻性建設(shè)持續(xù)集成為生產(chǎn)環(huán)境服務(wù),在超融合架構(gòu)之上,虛擬化服務(wù)器中還可以封裝一層容器層,將一些無狀態(tài)應(yīng)用程序或者功能組件以容器方式運(yùn)行,能夠進(jìn)一步提高業(yè)務(wù)部署的敏捷性、一致性。
在傳統(tǒng)的X86融合架構(gòu)概念中,融合架構(gòu)通常是指“X86服務(wù)器+存儲設(shè)備+虛擬化軟件”,可以認(rèn)為是一種系統(tǒng)集成概念,系統(tǒng)的拓展可以單純只擴(kuò)容計(jì)算或者存儲節(jié)點(diǎn),兩者間沒有直接的依賴關(guān)系。而在超融合架構(gòu)概念中,“融合”是指在同一臺X86服務(wù)器的硬件資源上實(shí)現(xiàn)存儲和計(jì)算功能,進(jìn)而封裝成一個整體、高度虛擬化的解決方案,超融合架構(gòu)的各個節(jié)點(diǎn)間沒有明確的計(jì)算或者存儲資源的區(qū)分,每個節(jié)點(diǎn)均是橫向分布式架構(gòu)中構(gòu)成節(jié)點(diǎn),在業(yè)務(wù)需要擴(kuò)容的時(shí)候只需要在現(xiàn)有環(huán)境中加入新節(jié)點(diǎn)即可實(shí)現(xiàn)計(jì)算、存儲的自動擴(kuò)容。超融合架構(gòu)的應(yīng)用可以讓應(yīng)用的交付時(shí)間最快縮短至數(shù)小時(shí),擺脫了使用專用性硬件存儲的高昂采購和維護(hù)成本,滿足了各個業(yè)務(wù)平臺的系統(tǒng)級安全隔離需求,解決了硬件間的“資源孤島”問題,更快地提升了企業(yè)的業(yè)務(wù)交付能力。
超融合架構(gòu)的核心是軟件定義存儲[2],與傳統(tǒng)SAN存儲不同的是每臺超融合節(jié)點(diǎn)服務(wù)器都是一個存儲控制器,并且都是使用標(biāo)準(zhǔn)、通用性的X86服務(wù)器及萬兆以太網(wǎng)交換機(jī),不再使用以往的專用硬件及專用光纖交換機(jī)網(wǎng)絡(luò),對于運(yùn)維人員的能力要求大大降低,使得每個企業(yè)都可以根據(jù)業(yè)務(wù)需求進(jìn)行部署。傳統(tǒng)SAN架構(gòu)需要使用專有的硬件和網(wǎng)絡(luò),其存儲控制器是集中架構(gòu),容易造成“資源孤島”,分離式部署的方式也加大了后期的運(yùn)維工作。而超融合的優(yōu)勢在于,使用了通用性、廣泛性的硬件進(jìn)行搭建,其分布式架構(gòu)可以輕松實(shí)現(xiàn)橫向拓展和按需擴(kuò)容,實(shí)現(xiàn)了企業(yè)內(nèi)部資源的集中式管理和統(tǒng)一規(guī)劃,軟件定義分布式存儲對傳統(tǒng)存儲的替換,帶來了企業(yè)業(yè)務(wù)部署成本的降低,使得業(yè)務(wù)獲得不錯的并發(fā)能力且易于后期擴(kuò)展。傳統(tǒng)架構(gòu)和超融合架構(gòu)的對比如圖1所示(圖中VM為Virtual Machine的縮寫,代表虛擬化主機(jī))。
圖1 傳統(tǒng)架構(gòu)和超融合架構(gòu)
由傳統(tǒng)存儲轉(zhuǎn)向超融合架構(gòu)的用戶,都會對架構(gòu)穩(wěn)定性存在些許質(zhì)疑,認(rèn)為X86通用服務(wù)器構(gòu)建的業(yè)務(wù)系統(tǒng)天生比不上“小型機(jī)+SAN存儲”。雖然在過去,小型機(jī)往往被認(rèn)為是運(yùn)行關(guān)鍵業(yè)務(wù)的最佳選擇,其最引以為傲的一點(diǎn)就是高RAS[Reliability(可靠性)、Availability(可用性)、Serviceability(安全性)]特性,但是X86架構(gòu)服務(wù)器在不斷更新升級,在架構(gòu)、制程工藝、核心數(shù)量等方面不斷提升,性能已接近小型機(jī),性價(jià)比高、標(biāo)準(zhǔn)化、使用門檻低的優(yōu)點(diǎn)讓用戶在關(guān)鍵任務(wù)中也開始使用X86服務(wù)器來替換小型機(jī)。超融合的軟件定義存儲是以集群方式進(jìn)行構(gòu)建,利用多副本、糾刪碼(Erasure coding, EC)等技術(shù),具備了更高可靠性、更大規(guī)模業(yè)務(wù)平臺的能力,這些新技術(shù)構(gòu)建了數(shù)字化企業(yè)穩(wěn)健發(fā)展的能力基石。
圖2是在企業(yè)生產(chǎn)環(huán)境中實(shí)際使用的組網(wǎng)部署拓?fù)鋱D,為順利實(shí)現(xiàn)業(yè)務(wù)由傳統(tǒng)架構(gòu)平滑遷移至超融合架構(gòu),在部署和構(gòu)建超融合平臺的時(shí)候需要注意幾個關(guān)鍵點(diǎn)[3]:
圖2 典型部署拓?fù)鋱D
第一,保證X86通用服務(wù)器硬件配置的一致性。一致性,簡單來說,就是服務(wù)器的中央處理器(Central Processing Unit, CPU)、內(nèi)存、硬盤、網(wǎng)卡、陣列控制器的配置、固件版本是基本一致、統(tǒng)一的。X86硬件服務(wù)器是超融合架構(gòu)的核心和基礎(chǔ),硬件上的一致性能夠滿足集群是資源分布式平均、分散的狀態(tài),在提供分布式容災(zāi)能力的同時(shí),也能避免因?yàn)榧褐心硞€節(jié)點(diǎn)存在性能過低而造成木桶效應(yīng),影響到整個集群的性能和集群故障自動遷移動作。同時(shí),在硬件服務(wù)器的選型上需要注意查詢超融合軟件解決方案的官方軟硬件兼容性列表,確保陣列卡以及固態(tài)硬盤(Solid State Disk, SSD)在軟件兼容列表內(nèi)。如果企業(yè)運(yùn)維能力較為一般,推薦直接采購硬件服務(wù)器商認(rèn)證、適配通過的超融合Ready Nodes節(jié)點(diǎn)整機(jī),開箱即用,不必?fù)?dān)心任何軟硬件兼容問題,同時(shí)也能獲得更加及時(shí)、全面的技術(shù)支持服務(wù)。
第二,由于超融合的主要核心是其存儲資源的軟件定義存儲,因此X86通用服務(wù)器的機(jī)械硬盤和固態(tài)硬盤的選型搭配尤為重要。軟件定義存儲主要有兩種組合類型,第一種是全閃存架構(gòu)(All-Flash),其容量層和緩存層都由SSD硬盤組成,讀寫性能優(yōu)異但成本昂貴,一般應(yīng)用在對讀寫要求高的數(shù)據(jù)庫場景中,能獲得不錯的性能表現(xiàn),經(jīng)過優(yōu)化調(diào)校在集群數(shù)量達(dá)到一定程度上甚至可以優(yōu)于小型機(jī)的性能。但是在SSD硬盤的選型上需要查詢官方的推薦兼容性列表,企業(yè)級SSD一般分為讀密集型、混合使用型、寫密集型,價(jià)格依次遞增,容量層和緩存層SSD需要根據(jù)實(shí)際情況選取特定型號,根據(jù)我們在實(shí)際生產(chǎn)環(huán)境的使用經(jīng)驗(yàn),能夠充當(dāng)緩存層的SSD型號比容量層的SSD型號更少,這與軟件定義存儲的技術(shù)架構(gòu)、穩(wěn)定性測試結(jié)果有關(guān)。而第二種是混合架構(gòu),其容量層由傳統(tǒng)企業(yè)級機(jī)械硬盤組成,一般為10K或者15K機(jī)械硬盤,推薦采用15K硬盤,轉(zhuǎn)速越快整體的讀寫能力越好。而緩存層由混合讀寫性能優(yōu)異的企業(yè)級SSD組成,該組網(wǎng)方式也是我們推薦和在生產(chǎn)環(huán)境中使用較多的典型方式,整體部署成本低、橫向擴(kuò)容方便,能夠支撐和滿足幾乎企業(yè)大部分的業(yè)務(wù)部署;在其他高IO業(yè)務(wù)使用場景,企業(yè)可以根據(jù)實(shí)際需求,將業(yè)務(wù)進(jìn)行拆分解耦部署,同時(shí)部署全閃存架構(gòu)和混合架構(gòu)的超融合集群,納入統(tǒng)一的超融合管理調(diào)度后臺進(jìn)行統(tǒng)一管理、維護(hù),數(shù)據(jù)庫等虛擬機(jī)在全閃存集群中部署,其他通用性虛擬機(jī)在混合架構(gòu)集群中部署,實(shí)現(xiàn)均衡、兼顧成本。
第三,在網(wǎng)絡(luò)設(shè)備上推薦采用高性能、高密度10 GE/25 GE以太網(wǎng)交換機(jī)進(jìn)行內(nèi)部組網(wǎng),網(wǎng)絡(luò)設(shè)備應(yīng)按照交叉冗余方式組網(wǎng)部署,滿足任意一臺交換機(jī)設(shè)備出現(xiàn)故障后業(yè)務(wù)及性能不受任何影響的需求。在條件允許的情況下,建議在正式生產(chǎn)環(huán)境當(dāng)中嚴(yán)格區(qū)分前端和后端業(yè)務(wù),即前端網(wǎng)絡(luò)采用2臺48口全萬兆交換機(jī)堆疊部署,前端網(wǎng)絡(luò)僅接入業(yè)務(wù)虛擬局域網(wǎng)(Virtual Local Area Network, VLAN)并與企業(yè)內(nèi)部的核心交換機(jī)、防火墻、安全審計(jì)設(shè)備、態(tài)勢感知系統(tǒng)等通過鏈路匯聚控制協(xié)議(Link Aggregation Control Protocol, LACP)上聯(lián);后端網(wǎng)絡(luò)也采用2臺48口全萬兆交換機(jī)堆疊部署,僅承擔(dān)超融合存儲后端流量和虛擬機(jī)的故障遷移流量,從物理隔離層面上保障業(yè)務(wù)邊界的完全隔離,后端網(wǎng)絡(luò)的穩(wěn)定可靠性直接決定著超融合架構(gòu)中存儲資源池的高可用性,即使前端網(wǎng)絡(luò)故障也能保障虛擬機(jī)等底層業(yè)務(wù)數(shù)據(jù)不丟失。根據(jù)實(shí)際的使用經(jīng)驗(yàn),在10 GE/25 GE以太網(wǎng)交換機(jī)的選型上,推薦采用大緩存的交換機(jī)型號,這里推薦參考華為的CloudEngine6870-48S6CQ-EI-A(8G緩存),大緩存代表交換機(jī)能夠應(yīng)對流量爆發(fā)、網(wǎng)絡(luò)堵塞等情況,整體網(wǎng)絡(luò)的健壯性更好。此外,每臺X86通用服務(wù)器應(yīng)該至少有2張2口10G網(wǎng)卡與前后端交換機(jī)按照冗余交叉網(wǎng)絡(luò)方式連接,確保任意一臺服務(wù)器的任意一個網(wǎng)口出現(xiàn)故障時(shí)業(yè)務(wù)不受影響,端口組在交換機(jī)實(shí)現(xiàn)堆疊后在配置相關(guān)的Eth-Trunk組并啟用LACP動態(tài)鏈路聚合特性[4],具體交換機(jī)配置參考例子如下:
interface Eth-Trunk5
description VSAN
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 100
mode lacp-static
超融合架構(gòu)的架構(gòu)分層包含以下幾個部分:第一,交換機(jī)網(wǎng)絡(luò)層,負(fù)責(zé)相關(guān)管理流量、前端業(yè)務(wù)流量、后端存儲流量;第二,集群管理節(jié)點(diǎn),按照“主-備-見證”三節(jié)點(diǎn)方式進(jìn)行部署;第三,業(yè)務(wù)節(jié)點(diǎn),由同一硬件配置的X86通用服務(wù)器組成;第四,超融合資源池,由業(yè)務(wù)節(jié)點(diǎn)通過超融合軟件構(gòu)建計(jì)算、存儲、網(wǎng)絡(luò)資源池;第五,最頂層的虛擬機(jī)集群,承載企業(yè)實(shí)際業(yè)務(wù)。
為了保障集群管理平臺的高可用,使用了三臺物理服務(wù)器部署集群管理平臺的軟件,而不與業(yè)務(wù)服務(wù)器進(jìn)行混合部署。這樣的優(yōu)點(diǎn)是將管理界面和業(yè)務(wù)界面獨(dú)立區(qū)分,進(jìn)一步提高系統(tǒng)的冗余度,確保管理集群和業(yè)務(wù)集群出現(xiàn)任一故障后不影響兩者的正常運(yùn)行,這也是我們推薦在生產(chǎn)環(huán)境中使用的部署策略。管理節(jié)點(diǎn)在部署管理平臺軟件后,還需要對網(wǎng)絡(luò)進(jìn)行特殊的配置,劃分管理VLAN和HA VLAN,管理VLAN主要作用是負(fù)責(zé)與業(yè)務(wù)節(jié)點(diǎn)進(jìn)行相關(guān)管理通信、下發(fā)、更新集群配置文件等,同時(shí)起到監(jiān)控業(yè)務(wù)節(jié)點(diǎn)心跳、狀態(tài)的作用;HA VALN就是管理節(jié)點(diǎn)高可用網(wǎng)絡(luò),用于處理管理節(jié)點(diǎn)間的心跳檢測、數(shù)據(jù)備份、主備切換等自動容災(zāi)工作,主備節(jié)點(diǎn)采用冷備切換保障高可用,而見證節(jié)點(diǎn)主要作用是防止集群出現(xiàn)“腦裂”現(xiàn)象,確保主節(jié)點(diǎn)故障后集群能夠正確選舉出備份節(jié)點(diǎn)并切換虛擬IP地址。在正式的生產(chǎn)環(huán)境中,如果出現(xiàn)主管理節(jié)點(diǎn)故障,管理平臺將自動進(jìn)行切換,此時(shí)平臺在5~10分鐘內(nèi)無法訪問,切換完成后將恢復(fù)正常訪問。
對于業(yè)務(wù)節(jié)點(diǎn),在規(guī)格上一般是選擇性價(jià)比較高的2U機(jī)架式X86通用服務(wù)器,在參數(shù)配置上盡量滿足多核、高主頻、多內(nèi)存、多硬盤盤位、多口10 GE/25 GE網(wǎng)卡、雙陣列卡的原則,并根據(jù)實(shí)際業(yè)務(wù)需求和企業(yè)中長期的發(fā)展規(guī)劃靈活進(jìn)行調(diào)整。
在生產(chǎn)環(huán)境中還需要注意的是,每臺物理服務(wù)器至少需要2張陣列卡分別掛載系統(tǒng)硬盤和容量層、緩存層硬盤,容量層、緩存層硬盤陣列卡配置硬盤直通并關(guān)閉陣列卡緩存,以確保硬盤被直接調(diào)用,按照最佳實(shí)踐禁止在同一張陣列卡內(nèi)同時(shí)開啟磁盤陣列(Redundant Arrays of Independent Disks, RAID)和磁盤簇(Just a Bunch Of Disks, JDOB)特性。
在數(shù)據(jù)盤的配置類型和配置比例上,我們選擇性價(jià)比最高的混合方式進(jìn)行配置,容量層選取機(jī)械硬盤,緩存層選取企業(yè)級固態(tài)硬盤,每臺服務(wù)器配置4組硬盤組(5塊機(jī)械盤+1塊SSD),每組硬盤組容量層和緩存層的硬盤容量比例不低于10∶1,保證緩存盤能夠最大限度地發(fā)揮存儲加速作用。
在超融合基礎(chǔ)環(huán)境平臺完成部署后,我們在此之上開始對相關(guān)核心業(yè)務(wù)進(jìn)行遷移并部署了新的產(chǎn)品及業(yè)務(wù),敏捷部署的優(yōu)勢開始體現(xiàn)。超融合基礎(chǔ)平臺的搭建,使我們在項(xiàng)目落地前將前端服務(wù)器資源、網(wǎng)絡(luò)資源提前進(jìn)行調(diào)試、整合,新業(yè)務(wù)在能力基座之上可以快速形成市場化運(yùn)營能力,業(yè)務(wù)上線速度由原先的幾天時(shí)間縮短為幾個小時(shí),超融合架構(gòu)對于應(yīng)用敏捷部署的幫助主要有如下幾個方面:
第一,消除“資源孤島”。對企業(yè)內(nèi)部資源進(jìn)行了充分的整合、規(guī)劃、建設(shè),企業(yè)建設(shè)超融合平臺的同時(shí),已經(jīng)將后續(xù)項(xiàng)目必經(jīng)的網(wǎng)絡(luò)接入、安全防護(hù)、資源分配等重復(fù)性的“造輪子”過程梳理完畢,后續(xù)應(yīng)用的部署不再考慮網(wǎng)絡(luò)接入、安全防護(hù)等非應(yīng)用層問題,僅在入場時(shí)給出資源需求列表,完成試運(yùn)行后即可正式上線。
第二,降低成本。這里的成本主要包含資金成本和時(shí)間成本。超融合技術(shù)實(shí)現(xiàn)了資源的資源池化,各個項(xiàng)目的硬件資源可以相互復(fù)用、動態(tài)調(diào)度,有效避免了冗余投資。在時(shí)間上,項(xiàng)目的落地實(shí)施不需要等待所有硬件設(shè)備完成采購后再開始進(jìn)行聯(lián)調(diào)部署,在項(xiàng)目初期業(yè)務(wù)負(fù)載輕的時(shí)候完全可以先在超融合平臺部署調(diào)測,借助超融合的分布式橫向擴(kuò)容特性新增節(jié)點(diǎn)進(jìn)行底層資源擴(kuò)容,項(xiàng)目實(shí)施上更為合理、緊湊,有條不紊。
第三,提高運(yùn)維效率。在超融合架構(gòu)集群內(nèi),我們可以通過設(shè)置虛擬機(jī)模板,實(shí)現(xiàn)多臺虛擬化機(jī)的批量部署,部署效率由原先的30分鐘一臺縮短為5分鐘多臺模板批量部署,避免了內(nèi)核優(yōu)化、監(jiān)控進(jìn)程部署、初始化等煩瑣、重復(fù)性工作。此外,由于數(shù)據(jù)采用了多副本的冗余機(jī)制,在最大3臺服務(wù)器同時(shí)故障的極端情況下業(yè)務(wù)都不會受到影響,運(yùn)維人員不必再考慮操作RAID組重做或者數(shù)據(jù)恢復(fù)等問題,對于簡單的硬盤故障可以通過熱插拔的形式不停機(jī)進(jìn)行維護(hù)[5]。此外,由于采用了X86通用服務(wù)器和以太網(wǎng)交換機(jī),其維護(hù)技術(shù)門檻降低,企業(yè)內(nèi)部技術(shù)人員也可以自行維護(hù),不必在小型機(jī)、SAN存儲、光纖交換機(jī)等專用設(shè)備的維護(hù)上投入大量資金。
借助先進(jìn)的超融合架構(gòu)技術(shù),我們可以根據(jù)自身業(yè)務(wù)需求建設(shè)一套性價(jià)比高、部署靈活的業(yè)務(wù)承載平臺,并在此基礎(chǔ)上通過虛擬化技術(shù)靈活、快速、低成本地部署業(yè)務(wù),隨時(shí)根據(jù)實(shí)際業(yè)務(wù)發(fā)展進(jìn)行不停機(jī)的資源橫向擴(kuò)容,與以往傳統(tǒng)部署方式相比,既有效解決了“資源孤島”問題,提高了資源的利用率,也進(jìn)一步降低了運(yùn)維難度和降低運(yùn)營成本,依靠分布式架構(gòu)獲得了高效的自動容災(zāi)能力,進(jìn)一步加強(qiáng)了業(yè)務(wù)敏捷部署能力。