• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Ceph分布式系統(tǒng)的ISCSI高可用集群①

      2017-07-19 12:26:56何漢東
      關(guān)鍵詞:IP地址集群分布式

      何漢東, 張 倩

      (中電??导瘓F(tuán)有限公司, 杭州 310013)

      Ceph分布式系統(tǒng)的ISCSI高可用集群①

      何漢東, 張 倩

      (中電??导瘓F(tuán)有限公司, 杭州 310013)

      在分布式存儲(chǔ)集群環(huán)境中, 為了兼容現(xiàn)有存儲(chǔ)協(xié)議, 提高集群可擴(kuò)展性, 通常都會(huì)支持ISCSI存儲(chǔ)協(xié)議. 而現(xiàn)有ISCSI服務(wù)的高可用主要通過主從備份的方式實(shí)現(xiàn), 該方式會(huì)導(dǎo)致資源利用不充分, 容易造成單節(jié)點(diǎn)負(fù)載過重等情況. 本文基于Ceph分布式存儲(chǔ)系統(tǒng)的優(yōu)勢(shì), 采用raft一致性算法等設(shè)計(jì)并實(shí)現(xiàn)ISCSI高可用集群. ISCSI集群使用自定義的節(jié)點(diǎn)選擇策略實(shí)現(xiàn)服務(wù)負(fù)載均衡, 并通過raft分布式協(xié)議實(shí)現(xiàn)服務(wù)故障遷移. 實(shí)驗(yàn)表明, 本文提出的方案是有效的, 能夠?qū)崿F(xiàn)服務(wù)故障遷移, 保證集群負(fù)載均衡.

      Ceph; ISCSI高可用; 分布式存儲(chǔ); 負(fù)載均衡

      ISCSI(Internet Small Computer System Interface)服務(wù)是構(gòu)建IP-SAN(Storage Area Network)的一種重要技術(shù)手段, 具有成本低廉、維護(hù)簡單、易于擴(kuò)展、使用廣泛等特性[1,2]. ISCSI技術(shù)通過使用TCP/IP協(xié)議封裝SCSI存儲(chǔ)協(xié)議, 達(dá)到操作管理存儲(chǔ)設(shè)備的作用[3].

      但是, 在使用ISCSI服務(wù)時(shí), 客戶端需要通過一個(gè)固定的IP地址連接服務(wù)端. 當(dāng)IP地址對(duì)應(yīng)的服務(wù)端發(fā)生異常時(shí), 客戶端將不能正常使用存儲(chǔ)服務(wù). 經(jīng)過研究發(fā)現(xiàn), 針對(duì)這種情況, 業(yè)界普遍的一種解決方案是服務(wù)器冗余配置. 如圖1所示, 方案使用冗余策略, 在客戶端配置多路徑選擇、傳輸端實(shí)現(xiàn)路由器冗余、在服務(wù)器端實(shí)現(xiàn)ISCSI服務(wù)主從備份等方式實(shí)現(xiàn)ISCSI服務(wù)的高可用部署[4]. 而使用這種策略的原因與其ISCSI后端存儲(chǔ)是傳統(tǒng)存儲(chǔ)陣列密切相關(guān), 即所有的ISCSI服務(wù)部署在一個(gè)強(qiáng)大的Master存儲(chǔ)服務(wù)器上, 數(shù)據(jù)同步備份到Slave存儲(chǔ)服務(wù)器上. 當(dāng)服務(wù)器故障時(shí), 將所有服務(wù)遷移到Slave節(jié)點(diǎn)上.

      許多文獻(xiàn)基于該解決方案, 根據(jù)自身的需求與實(shí)際環(huán)境, 采用或修改部分策略, 使用不同的維護(hù)工具,以實(shí)現(xiàn)ISCSI高可用. 如文獻(xiàn)[4]通過改進(jìn)心跳算法、實(shí)現(xiàn)故障接管和數(shù)據(jù)鏡像同步等, 提高ISCSI的可靠性;文獻(xiàn)[5]使用網(wǎng)絡(luò)塊DRBD和PaceMaker工具維護(hù)ISCSI服務(wù), 以檢測(cè)并遷移ISCSI服務(wù).

      圖1 ISCSI服務(wù)的IO路徑及冗余策略

      但在分布式存儲(chǔ)系統(tǒng)中, 主從備份方式的ISCSI高可用部署并不能充分利用分布式存儲(chǔ)帶來的優(yōu)勢(shì). 首先, 分布式存儲(chǔ)系統(tǒng)管理的節(jié)點(diǎn)性能各異, 某一節(jié)點(diǎn)可能不足以支撐大量的ISCSI服務(wù), 容易造成ISCSI服務(wù)節(jié)點(diǎn)頻繁故障; 其次, 不能充分利用節(jié)點(diǎn)資源, 從而實(shí)現(xiàn)均衡負(fù)載. 然而, 針對(duì)分布式存儲(chǔ)陣列, 業(yè)界仍然采用主從備份方式實(shí)現(xiàn)ISCSI服務(wù)的高可用, 暫時(shí)未發(fā)現(xiàn)基于ISCSI分布式集群架構(gòu)相關(guān)的文獻(xiàn).

      針對(duì)主從備份方式不能有效利用分布式節(jié)點(diǎn)資源的情況, 本文以Ceph[6]分布式存儲(chǔ)管理系統(tǒng)為基礎(chǔ), 采用分布式思想設(shè)計(jì)并實(shí)現(xiàn)ISCSI服務(wù)集群. 本文設(shè)計(jì)的ISCSI集群充分利用節(jié)點(diǎn)資源, 將ISCSI服務(wù)均衡分布在各個(gè)存儲(chǔ)節(jié)點(diǎn)上; 同時(shí), 集群統(tǒng)一管理ISCSI服務(wù), 自動(dòng)監(jiān)測(cè)節(jié)點(diǎn)狀態(tài), 實(shí)現(xiàn)服務(wù)故障遷移, 并保證上層業(yè)務(wù)I/O操作的連續(xù)性.

      1 ISCSI高可用集群設(shè)計(jì)

      Ceph是一個(gè)軟件定義存儲(chǔ)(SDS, Software Define Storage)的分布式管理系統(tǒng), 其通過Paxos算法保證集群狀態(tài)的一致性, 消除了單節(jié)點(diǎn)故障[7,8]. RBD是Ceph的塊存儲(chǔ)功能模塊, 其性能優(yōu)異, 可作為ISCSI服務(wù)的后端存儲(chǔ)設(shè)備[9].

      如圖2所示為ISCSI服務(wù)的三層邏輯體系架構(gòu). 層級(jí)之間通過TCP/IP協(xié)議進(jìn)行通信, 相對(duì)獨(dú)立, 互不影響.底層為物理存儲(chǔ)層, 使用Ceph分布式集群可靠的存儲(chǔ)服務(wù). 中間層為ISCSI服務(wù)層, 提供高可用的ISCSI服務(wù).上層為用戶層, 客戶端通過ISCSI工具直連ISCSI Target服務(wù), 實(shí)現(xiàn)遠(yuǎn)程操縱存儲(chǔ)設(shè)備的目的.

      1.1 負(fù)載均衡及節(jié)點(diǎn)選擇策略

      目前ISCSI服務(wù)的負(fù)載均衡一般通過多路徑選擇(multipath)實(shí)現(xiàn). 這種方式需要在客戶端進(jìn)行復(fù)雜的配置, 極度依賴配置人員對(duì)于整個(gè)集群狀態(tài)的掌握程度.本文設(shè)計(jì)的ISCSI集群在服務(wù)部署和遷移時(shí)依據(jù)節(jié)點(diǎn)選擇策略進(jìn)行ISCSI服務(wù)部署, 從而將ISCSI服務(wù)均衡分布到集群節(jié)點(diǎn)上, 避免個(gè)別節(jié)點(diǎn)負(fù)載過高.

      圖2 分布式存儲(chǔ)ISCSI高可用架構(gòu)

      如圖3所示, ISCSI集群在部署ISCSI服務(wù)時(shí), 主要通過predicate和priority兩階段進(jìn)行節(jié)點(diǎn)的智能選擇. 在predicate階段, 主要判斷節(jié)點(diǎn)是否能夠通過如表1所示的硬性指標(biāo)條件; 在priority階段, 依據(jù)配置文件的策略配置, 使用對(duì)應(yīng)的策略函數(shù)對(duì)符合predicate條件的節(jié)點(diǎn)進(jìn)行優(yōu)先值計(jì)算, 從而選擇最符合的節(jié)點(diǎn)進(jìn)行服務(wù)部署或遷移.

      圖3 節(jié)點(diǎn)選擇策略流程

      表1 predicate階段判定的硬性指標(biāo)

      priority階段支持三種選擇策略: 最少ISCSI服務(wù)選擇策略、Round Robin輪詢選擇策略和基于資源的優(yōu)先級(jí)選擇策略. 選擇策略遵循如下前提定義:

      1) ISCSI配置文件中的一個(gè)Target配置記作一個(gè)ISCSI服務(wù);

      2) n個(gè)分布式節(jié)點(diǎn)從小到大進(jìn)行連續(xù)編號(hào)(從0開始), 編號(hào)i作為節(jié)點(diǎn)標(biāo)記;

      3) 假設(shè)一個(gè)ISCSI服務(wù)消耗服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)帶寬資源為(x, y, z), 服務(wù)器總資源為(a, b, c), 則可算出單個(gè)節(jié)點(diǎn)支持ISCSI服務(wù)的權(quán)重. 其計(jì)算公式為:

      其具體描述和使用場(chǎng)景如表2所示.

      表2 priority的節(jié)點(diǎn)選擇策略

      由于基于資源優(yōu)先級(jí)部署策略較為復(fù)雜, 本文對(duì)其進(jìn)行詳細(xì)描述. 資源優(yōu)先級(jí)策略依賴于“堆”數(shù)據(jù)結(jié)構(gòu), 其根據(jù)節(jié)點(diǎn)的權(quán)重wj建立一個(gè)最大堆. 在ISCSI服務(wù)部署時(shí), 遍歷堆數(shù)組, 以wj概率決定將ISCSI服務(wù)部署在該節(jié)點(diǎn)j上. 當(dāng)選中部署節(jié)點(diǎn)后, 會(huì)導(dǎo)致該節(jié)點(diǎn)的權(quán)重wj降低, 重新調(diào)整以該節(jié)點(diǎn)為根的子樹, 使之成為堆.當(dāng)堆最大值w0小于閥值threshhold時(shí)(比如0.5), 會(huì)導(dǎo)致首次命中的概率變小, 后續(xù)命中的概率變大, 不符合算法目的, 需要將概率隨機(jī)輸出反轉(zhuǎn), 使算法正確運(yùn)行.其算法偽代碼描述如下所示:

      針對(duì)實(shí)際物理環(huán)境, 用戶通過配置文件指定priority階段的選擇策略. 集群通過讀取配置文件參數(shù),使用特定策略選擇, 從而優(yōu)化ISCSI集群的每個(gè)節(jié)點(diǎn)的負(fù)載能力, 降低由于業(yè)務(wù)高負(fù)載引起的節(jié)點(diǎn)異常.

      1.2 ISCSI高可用方案

      本文的ISCSI高可用設(shè)計(jì)方案, 主要依靠故障節(jié)點(diǎn)發(fā)現(xiàn)和資源遷移(用戶數(shù)據(jù)遷移、ISCSI服務(wù)遷移、IP遷移)兩方面的設(shè)計(jì)保證服務(wù)的可用性和可靠性. 同時(shí), 應(yīng)用Raft[10]一致性算法來解決分布式集群中節(jié)點(diǎn)故障決策、數(shù)據(jù)存儲(chǔ)一致性等各種決策問題.

      1.2.1 故障節(jié)點(diǎn)發(fā)現(xiàn)與數(shù)據(jù)存儲(chǔ)

      ISCSI服務(wù)節(jié)點(diǎn)狀態(tài)通過心跳應(yīng)答機(jī)制進(jìn)行故障檢測(cè), 由Raft算法選舉產(chǎn)生的leader節(jié)點(diǎn)作為裁決節(jié)點(diǎn)進(jìn)行最終判定. 文獻(xiàn)[10]詳細(xì)描述了Raft算法在集群正常和異常情況下Leader節(jié)點(diǎn)選舉與數(shù)據(jù)一致性維護(hù)的科學(xué)性原理.

      本文利用Raft一致性算法少數(shù)服從多數(shù)的判定標(biāo)準(zhǔn), 即只要超過半數(shù)節(jié)點(diǎn)(N/2+1個(gè)節(jié)點(diǎn))的結(jié)果一致, 則leader節(jié)點(diǎn)就認(rèn)為該結(jié)果是正確的這一準(zhǔn)則, 來判斷節(jié)點(diǎn)狀態(tài). 如果在一段固定時(shí)間內(nèi)(如60秒), 某個(gè)節(jié)點(diǎn)被半數(shù)以上節(jié)點(diǎn)報(bào)告為異常, 則Leader認(rèn)為該節(jié)點(diǎn)故障并踢出集群, 同時(shí)更新集群節(jié)點(diǎn)狀態(tài)信息.

      同時(shí), 由于Leader節(jié)點(diǎn)的權(quán)威性, 本文設(shè)計(jì)的ISCSI集群配置數(shù)據(jù)的更改都只能通過Leader節(jié)點(diǎn)進(jìn)行請(qǐng)求. 同時(shí), 由Leader節(jié)點(diǎn)將改變的數(shù)據(jù)結(jié)果發(fā)送同步到各個(gè)節(jié)點(diǎn)上. Leader只有確保數(shù)據(jù)已經(jīng)同步并寫入到(N/2+1)個(gè)節(jié)點(diǎn)磁盤后, 即能夠保證數(shù)據(jù)一致性后, 才會(huì)返回操作成功.

      3) 現(xiàn)場(chǎng)條件。油站與閥門的高差Z=15 m;主管敷設(shè)距離L1=5 m,支管敷設(shè)距離L2=25 m;重力加速度g=9.81 m/s2。

      如圖4所示, 在一個(gè)獨(dú)立的物理節(jié)點(diǎn)中, 運(yùn)行三個(gè)組件: agent、server和monitor.

      圖4 ISCSI集群組件關(guān)系

      Agent組件定時(shí)向所有節(jié)點(diǎn)發(fā)送心跳, 通過響應(yīng)情況判斷其他節(jié)點(diǎn)狀態(tài). 如果節(jié)點(diǎn)超時(shí)未返回響應(yīng), 則向當(dāng)前的leader節(jié)點(diǎn)進(jìn)行匯報(bào). Leader節(jié)點(diǎn)接受所有節(jié)點(diǎn)agent的消息, 從而更新集群節(jié)點(diǎn)狀態(tài), 并將節(jié)點(diǎn)狀態(tài)更新到server組件中. 當(dāng)某個(gè)節(jié)點(diǎn)故障或者恢復(fù)后,leader設(shè)置該節(jié)點(diǎn)ISCSI服務(wù)遷移標(biāo)識(shí), 并應(yīng)用1.1節(jié)中的遷移策略決定遷移的節(jié)點(diǎn).

      Server組件負(fù)責(zé)存儲(chǔ)數(shù)據(jù), 包括節(jié)點(diǎn)狀態(tài)信息和ISCSI服務(wù)配置信息. 當(dāng)server組件存儲(chǔ)的數(shù)據(jù)發(fā)生變化時(shí), 會(huì)向Leader進(jìn)行報(bào)告, 由Leader節(jié)點(diǎn)判定該數(shù)據(jù)是否最新的, 是否能夠同步到每個(gè)節(jié)點(diǎn)上, 并達(dá)到各節(jié)點(diǎn)數(shù)據(jù)新的一致性狀態(tài).

      Monitor組件是ISCSI服務(wù)管理組件, 它定時(shí)向ISCSI集群獲取節(jié)點(diǎn)的狀態(tài). 如果發(fā)現(xiàn)其所處的節(jié)點(diǎn)處于異常狀態(tài)或者ISCSI集群超時(shí)未響應(yīng), 則認(rèn)為節(jié)點(diǎn)本身存在異常, 然后將該節(jié)點(diǎn)上所有的ISCSI服務(wù)資源釋放. 當(dāng)monitor節(jié)點(diǎn)發(fā)現(xiàn)ISCSI服務(wù)需要遷移, 則通過ISCSI集群獲取該節(jié)點(diǎn)的ISCSI配置, 并進(jìn)入ISCSI服務(wù)遷移子程序.

      1.2.2 服務(wù)資源遷移

      ISCSI服務(wù)資源遷移總體上分為三個(gè)部分: 后端用戶數(shù)據(jù)的遷移, ISCSI服務(wù)遷移和IP地址的遷移. 在遷移過程中, 首先獲取待遷移節(jié)點(diǎn)的ISCSI服務(wù)配置文件,根據(jù)配置文件將Ceph塊設(shè)備映射到健康節(jié)點(diǎn)上, 然后重新部署ISCSI服務(wù), 最后進(jìn)行IP地址遷移. 服務(wù)遷移不僅包括故障節(jié)點(diǎn)的ISCSI遷移, 還包括節(jié)點(diǎn)重新加入集群時(shí)服務(wù)恢復(fù)的遷移.

      該遷移過程主要由monitor組件負(fù)責(zé), 其遷移過程偽代碼如下所示:

      拆分遷移將服務(wù)一個(gè)個(gè)獨(dú)立地重新部署在ISCSI集群節(jié)點(diǎn)中, 與新建服務(wù)流程大致相同, 在此不做詳細(xì)描述. 服務(wù)整體遷移分為如下幾個(gè)步驟:

      首先進(jìn)行用戶數(shù)據(jù)的遷移. 如圖5所示, RBD塊由多個(gè)objects組成, 每個(gè)object對(duì)應(yīng)著一個(gè)PG組, 通過PG與OSD的映射關(guān)系, 將數(shù)據(jù)實(shí)際存儲(chǔ)在OSD上. 當(dāng)數(shù)據(jù)進(jìn)行遷移時(shí), 只需從OSD重新獲取數(shù)據(jù)并在健康節(jié)點(diǎn)上組織成RBD塊設(shè)備, 就完成數(shù)據(jù)的遷移. 當(dāng)故障節(jié)點(diǎn)恢復(fù)時(shí), 有可能會(huì)對(duì)同一個(gè)塊設(shè)備進(jìn)行數(shù)據(jù)寫入操作, 這樣是會(huì)破壞塊設(shè)備數(shù)據(jù)的. 因此, monitor組件將檢測(cè)故障節(jié)點(diǎn)并進(jìn)行故障節(jié)點(diǎn)的資源釋放, 保護(hù)后端設(shè)備數(shù)據(jù)安全.

      其次部署ISCSI服務(wù). Monitor組件通過向Leader節(jié)點(diǎn)請(qǐng)求IP地址對(duì)應(yīng)的ISCSI服務(wù)配置文件, 然后導(dǎo)入到當(dāng)前節(jié)點(diǎn)的ISCSI配置程序. ISCSI配置程序根據(jù)配置文件信息, 重新生成ISCSI服務(wù), 至此完成ISCSI服務(wù)遷移操作.

      圖5 Ceph RBD存儲(chǔ)遷移示例

      最后進(jìn)行IP地址遷移. 每個(gè)服務(wù)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)虛擬IP地址. ISCSI集群動(dòng)態(tài)綁定虛擬IP、ISCSI服務(wù)、存儲(chǔ)節(jié)點(diǎn)三者, 并將其關(guān)系保存在server組件中. 只有當(dāng)IP對(duì)應(yīng)的節(jié)點(diǎn)發(fā)生異常時(shí), IP地址才會(huì)進(jìn)行遷移. 此時(shí),故障節(jié)點(diǎn)IP將臨時(shí)遷移到某個(gè)指定健康節(jié)點(diǎn)上; 當(dāng)故障節(jié)點(diǎn)重新加入ISCSI集群, monitor組件則會(huì)檢查IP對(duì)應(yīng)的節(jié)點(diǎn)是否與server組件記錄的信息匹配. 如果發(fā)現(xiàn)IP對(duì)應(yīng)的ISCSI服務(wù)只是臨時(shí)遷移到某個(gè)健康節(jié)點(diǎn)上,則monitor將釋放健康節(jié)點(diǎn)上該IP對(duì)應(yīng)的ISCSI服務(wù), 并將IP以及其關(guān)聯(lián)的ISCSI服務(wù)遷移回源節(jié)點(diǎn)上.

      1.3 業(yè)務(wù)連續(xù)性管理

      如圖6所示, 客戶端連接ISCSI服務(wù)主要是依靠TCP/IP網(wǎng)絡(luò), 只要維持服務(wù)對(duì)應(yīng)的IP地址不變, 客戶端在ISCSI遷移成功后重新建立Session會(huì)話, 并根據(jù)上層應(yīng)用邏輯繼續(xù)I/O業(yè)務(wù)流程. 雖然ISCSI服務(wù)連接是全程保持會(huì)話狀態(tài)的, 但是當(dāng)ISCSI節(jié)點(diǎn)異?;蛘呒悍?wù)遷移過程中, 會(huì)造成當(dāng)前會(huì)話狀態(tài)的丟失. 等到遷移完成后, 即使ISCSI客戶端建立新的會(huì)話連接, 仍然很容易造成數(shù)據(jù)的不一致性.

      為了保持ISCSI服務(wù)的連接會(huì)話, 可以使用分布式緩存服務(wù)器memcached存儲(chǔ)ISCSI的回話狀態(tài). 如圖7所示, 每次I/O操作都將記錄在memcached服務(wù)器中, 直到寫操作實(shí)際落盤后, 才刪除memcached里的相關(guān)操作.當(dāng)服務(wù)遷移成功后, ISCSI服務(wù)端通過memcached遍歷會(huì)話日志, 并重新向client請(qǐng)求未完成的I/O操作.

      相比使用memcached這種實(shí)現(xiàn)復(fù)雜的機(jī)制, 一種更加簡單有效的方法是直接關(guān)閉ISCSI服務(wù)以及RBD Cache, 從而保證會(huì)話數(shù)據(jù)的一致性. 雖然這樣做會(huì)降低部分I/O性能, 但由于RBD是分布式存儲(chǔ)設(shè)備, 關(guān)閉緩存對(duì)其性能影響有限, 而且?guī)缀醪恍枰獙?shí)現(xiàn)成本.

      圖6 ISCSI客戶端重新建立會(huì)話

      圖7 利用memcached保持會(huì)話

      如果對(duì)ISCSI性能要求不高的話, 本文建議直接關(guān)閉緩存. 在ISCSI集群的實(shí)現(xiàn)驗(yàn)證階段也是通過關(guān)閉緩存的方式保證業(yè)務(wù)的連續(xù)性.

      2 ISCSI高可用集群實(shí)現(xiàn)與驗(yàn)證

      Consul是一個(gè)使用raft算法的通用服務(wù)框架, 集成了服務(wù)的注冊(cè)與發(fā)現(xiàn)、節(jié)點(diǎn)故障檢測(cè)和key-value數(shù)據(jù)庫等功能. 通過Consul接口可以快速實(shí)現(xiàn)檢測(cè)和存儲(chǔ)ISCSI服務(wù)狀態(tài). Consul已經(jīng)實(shí)現(xiàn)了類似server和agent組件的功能. 在此基礎(chǔ)上實(shí)現(xiàn)monitor組件, 定時(shí)訪問Consul集群, 請(qǐng)求當(dāng)前的leader節(jié)點(diǎn)信息和ISCSI集群節(jié)點(diǎn)狀態(tài), 基于節(jié)點(diǎn)狀態(tài)進(jìn)行邏輯處理. 在ISCSI服務(wù)部署及遷移階段, 只有l(wèi)eader節(jié)點(diǎn)的monitor組件才有權(quán)利進(jìn)行節(jié)點(diǎn)選擇, 然后更新到Consul的Key-Value數(shù)據(jù)庫中. 從節(jié)點(diǎn)的monitor組件根據(jù)對(duì)應(yīng)數(shù)據(jù)庫信息進(jìn)行實(shí)際服務(wù)遷移流程.

      因此, ISCSI高可用集群的實(shí)現(xiàn)集成了Consul框架、monitor組件以及ISCSI服務(wù), 應(yīng)用了Ceph分布式存儲(chǔ)集群. 其實(shí)現(xiàn)部署圖如圖8所示.

      圖8 ISCSI集群實(shí)現(xiàn)部署

      每個(gè)節(jié)點(diǎn)基礎(chǔ)配置如下: Intel Xeon E5系列CPU、3*2T的HDD硬盤、128GB內(nèi)存、萬兆網(wǎng)卡. client為普通的計(jì)算機(jī), 可通過網(wǎng)絡(luò)連接服務(wù)集群. 在ISCSI高可用集群的驗(yàn)證環(huán)境中, 集群節(jié)點(diǎn)間通過網(wǎng)絡(luò)進(jìn)行消息通信, 選用最少ISCSI服務(wù)策略作為ISCSI服務(wù)部署和遷移的目標(biāo)節(jié)點(diǎn)選擇策略, 同時(shí)關(guān)閉Ceph和ISCSI服務(wù)緩存, 以保證業(yè)務(wù)的連續(xù)性.

      本文主要通過切斷網(wǎng)絡(luò)通信的方式, 模擬某個(gè)節(jié)點(diǎn)故障的情況, 從而驗(yàn)證ISCSI高可用集群的服務(wù)遷移功能.

      表3 ISCSI高可用集群功能驗(yàn)證

      由于ISCSI高可用集群和Ceph集群是相互獨(dú)立的,而ISCSI集群需要等待Ceph集群恢復(fù)成功后, 才能進(jìn)行恢復(fù)過程. 所以總故障恢復(fù)時(shí)間為:

      故障恢復(fù)總時(shí)間=Ceph集群恢復(fù)時(shí)間+ISCIS集群恢復(fù)時(shí)間

      ISCSI集群恢復(fù)時(shí)間=故障發(fā)現(xiàn)時(shí)間+ISCSI服務(wù)遷移時(shí)間

      通過表3所示的驗(yàn)證結(jié)果, 可以認(rèn)為ISCSI集群的服務(wù)遷移是有效的. 通過對(duì)比故障寫入數(shù)據(jù)與源數(shù)據(jù),發(fā)現(xiàn)兩份數(shù)據(jù)的消息摘要相同, 證明了寫入業(yè)務(wù)的連續(xù)性.

      3 結(jié)語

      本文通過分析ISCSI服務(wù)在分布式存儲(chǔ)環(huán)境下的狀況, 提出了ISCSI高可用集群的設(shè)計(jì)方案. 該ISCSI高可用集群支持負(fù)載均衡策略選擇, 應(yīng)用raft一致性算法實(shí)現(xiàn)服務(wù)故障遷移等高可用功能. 同時(shí), 對(duì)于如何保持無狀態(tài)集群中的會(huì)話給出一套切實(shí)可行的方案. 最后,通過開源Consul服務(wù)框架實(shí)現(xiàn)ISCSI高可用集群, 并進(jìn)行了功能驗(yàn)證, 表明了ISCSI高可用集群的有效性與可用性.

      1Satran J, Meth K, Sapuntzakis C, et al. Internet small computer systems interface (iSCSI).The Internet Society,2004.

      2Aiken S, Grunwald D, Pleszkun AR, et al. A performance analysis of the iSCSI protocol. Proc. 20th IEEE/11th NASA Goddard Conference on Mass Storage Systems and Technologies, 2003. San Diego, CA, USA. 2003. 123–134.

      3Chadalapaka M, Satran J, Meth K, et al. Internet Small Computer System Interface (iSCSI) Protocol (Consolidated).RFC7143,IETF, 2014.

      4Haas F. Replicate everything! highly available iSCSI storage with DRBD and pacemaker. Linux Journal, 2012, 2012(217):Article No.5.

      5王施人, 陜振, 張淑萍, 等. 基于iSCSI存儲(chǔ)集群的設(shè)計(jì)與實(shí)現(xiàn). 計(jì)算機(jī)工程與設(shè)計(jì), 2010, 31(11): 2598–2601.

      6Weil SA, Brandt SA, Miller EL, et al. Ceph: A scalable,high-performance distributed file system. Proc. 7th Symposium on Operating Systems Design and Implementation. Seattle, Washington, USA. 2006. 307–320.

      7Lamport L. Paxos made simple. ACM SIGACT News(Distributed Computing Column), 2001, 32(4): 51–58.

      8Van Renesse R, Altinbuken D. Paxos made moderately complex. ACM Computing Surveys (CSUR), 2015, 47(3):Article No.42.

      9Gudu D, Hardt M, Streit A. Evaluating the performance and scalability of the ceph distributed storage system. Proc. 2014 IEEE International Conference on Big Data (Big Data).Washington DC, USA. 2014. 177–182.

      10Ongaro D, Ousterhout J. In search of an understandable consensus algorithm. Proc. 2014 USENIX Conference on USENIX Annual Technical Conference. Philadelphia, PA,USA. 2014. 305–320.

      ISCSI High Availability Cluster in Ceph Distributed System

      HE Han-Dong, ZHANG Qian
      (CETHIK GROUP Co. Ltd., Hangzhou 310013, China)

      Commonly, the distributed storage cluster support ISCSI protocol for compatibility and scalability. But, the high availability of ISCSI services is mainly achieved through a master slave remote system which wastes resources and easily makes the server overload. This paper uses raft consistency algorithms to implement a high availability cluster of ISCSI service based on the advantages of Ceph. In order to implement the high availability, the cluster supports load balancing using sensible selection policy and services migration after detecting the failover of the server. The experiments show that the proposed scheme is effective, and can achieve services migration, and ensure the load balancing.

      Ceph; high availability of ISCSI; distributed storage; load balancing

      何漢東,張倩.Ceph分布式系統(tǒng)的ISCSI高可用集群.計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,26(7):104–109. http://www.c-s-a.org.cn/1003-3254/5867.html

      2016-11-10; 收到修改稿時(shí)間: 2017-01-04

      猜你喜歡
      IP地址集群分布式
      鐵路遠(yuǎn)動(dòng)系統(tǒng)幾種組網(wǎng)方式IP地址的申請(qǐng)和設(shè)置
      海上小型無人機(jī)集群的反制裝備需求與應(yīng)對(duì)之策研究
      一種無人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
      電子制作(2018年11期)2018-08-04 03:25:40
      分布式光伏熱錢洶涌
      能源(2017年10期)2017-12-20 05:54:07
      分布式光伏:爆發(fā)還是徘徊
      能源(2017年5期)2017-07-06 09:25:54
      Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
      基于SNMP的IP地址管理系統(tǒng)開發(fā)與應(yīng)用
      黑龍江電力(2017年1期)2017-05-17 04:25:16
      勤快又呆萌的集群機(jī)器人
      基于DDS的分布式三維協(xié)同仿真研究
      西門子 分布式I/O Simatic ET 200AL
      辽源市| 深水埗区| 祁门县| 嘉祥县| 武汉市| 玛多县| 绥棱县| 忻城县| 开远市| 邮箱| 巴彦淖尔市| 岑巩县| 汾西县| 鄂州市| 潼南县| 永登县| 榆社县| 庆元县| 应城市| 日照市| 寻乌县| 天门市| 当阳市| 鱼台县| 永顺县| 武穴市| 徐汇区| 隆化县| 张家口市| 怀来县| 涡阳县| 乌拉特前旗| 荣昌县| 久治县| 黑山县| 同德县| 彭山县| 鹰潭市| 武安市| 永善县| 六安市|