一種分布式文件存儲(chǔ)系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種分布式文件存儲(chǔ)系統(tǒng)及方法。其系統(tǒng)包括客戶端,用于發(fā)送數(shù)據(jù)對(duì)象的操作請(qǐng)求并接收數(shù)據(jù)內(nèi)容;集群存儲(chǔ)池,用于數(shù)據(jù)對(duì)象的操作;所述集群存儲(chǔ)池包括多臺(tái)物理機(jī),每臺(tái)物理機(jī)均部署虛擬化平臺(tái)系統(tǒng);該虛擬化平臺(tái)系統(tǒng)包括虛擬集群控制器,用于承擔(dān)集群內(nèi)的計(jì)算工作;虛擬資源調(diào)度器,用于集群內(nèi)虛擬化管理和虛擬資源調(diào)度。通過這種新的方式克服傳統(tǒng)的分布式文件存儲(chǔ)系統(tǒng)中處理器計(jì)算資源大量閑置以及系統(tǒng)擴(kuò)展不靈活的缺點(diǎn),提升整個(gè)分布式存儲(chǔ)系統(tǒng)的性能和靈活性。
【專利說明】一種分布式文件存儲(chǔ)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種數(shù)據(jù)讀寫存儲(chǔ)系統(tǒng),特別是一種分布式文件存儲(chǔ)系統(tǒng)及方法。
【背景技術(shù)】
[0002] 隨著數(shù)字化應(yīng)用的不斷創(chuàng)新和深化,數(shù)據(jù)呈爆炸式海量增長態(tài)勢,其中非結(jié)構(gòu)化 數(shù)據(jù)的增長尤為迅速和顯著,據(jù)統(tǒng)計(jì),全球數(shù)據(jù)量每18個(gè)月翻一番,其中,80%是以圖片、 音視頻、文件為主的非結(jié)構(gòu)化數(shù)據(jù)。隨著web 3. 0、云計(jì)算、云存儲(chǔ)等新興的商業(yè)與服務(wù)模式 的興起,以個(gè)人為核心的"自媒體"時(shí)代將全面到來,勢必進(jìn)一步推動(dòng)非結(jié)構(gòu)化數(shù)據(jù)的激增。 海量數(shù)據(jù)的存儲(chǔ)管理需要全新的存儲(chǔ)架構(gòu),其中,彈性、靈活是面向海量非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ) 的一個(gè)重要特征。目前,分布式文件存儲(chǔ)是解決海量非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的常用解決方案,為 滿足云計(jì)算、云存儲(chǔ)實(shí)際業(yè)務(wù)的性能需求,根據(jù)分布式文件系統(tǒng)設(shè)計(jì)架構(gòu)三方分離的原則, 需要將其構(gòu)建在分布式集群節(jié)點(diǎn)之上。針對(duì)云計(jì)算環(huán)境中大規(guī)模的應(yīng)用客戶端10訪問,元 數(shù)據(jù)模塊需要支撐較高的并發(fā)訪問請(qǐng)求,因而構(gòu)建在高性能、大容量服務(wù)器集群之上;而作 為云計(jì)算應(yīng)用中數(shù)據(jù)存儲(chǔ)載體的分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)模塊,其顯著特點(diǎn)則是通過后 端成千上萬的數(shù)據(jù)存儲(chǔ)設(shè)備提供實(shí)時(shí)、持續(xù)可用的數(shù)據(jù)存儲(chǔ)空間,并支持分布式文件系統(tǒng) 客戶端模塊的大容量、多并發(fā)讀取和寫入數(shù)據(jù)。
[0003] 當(dāng)前常用的分布式系統(tǒng)實(shí)現(xiàn)架構(gòu),采用多個(gè)X86服務(wù)器作為1個(gè)分布式集群節(jié)點(diǎn), 每個(gè)集群節(jié)點(diǎn)上配置單路或雙路CPU,提供計(jì)算能力。加上內(nèi)存,磁盤等資源,在操作系統(tǒng)和 分布式系統(tǒng)調(diào)度下,形成一個(gè)單節(jié)點(diǎn)的集群控制器,承擔(dān)該集群內(nèi)部的所有計(jì)算任務(wù)。當(dāng)性 能不夠時(shí),在物理上增加集群節(jié)點(diǎn),獲得更多的集群控制能力;集群節(jié)點(diǎn)擴(kuò)展的同時(shí),磁盤、 節(jié)點(diǎn)間互聯(lián)的萬兆端口也同步擴(kuò)展。
[0004] 該架構(gòu)有幾個(gè)明顯的問題:
[0005] 1、資源利用率低下,隨著處理器技術(shù)的進(jìn)步,多核處理器進(jìn)一步成熟,一路物理 (PU可提供的吞吐能力已遠(yuǎn)遠(yuǎn)超過內(nèi)存和后端磁盤系統(tǒng)的能力,并且只需少量的CPU處理 性能就可以將單套軟件系統(tǒng)的性能完全發(fā)揮(軟件系統(tǒng)的進(jìn)程數(shù)、線程數(shù)都存在上限), CPU的計(jì)算資源大量處于閑置狀態(tài)。
[0006] 2、擴(kuò)展不靈活,必須是全對(duì)稱擴(kuò)展,即集群控制器和存儲(chǔ)網(wǎng)絡(luò)、存儲(chǔ)磁盤必須同步 擴(kuò)展,無法單獨(dú)擴(kuò)展容量、計(jì)算能力,建設(shè)復(fù)雜,投入高昂。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的目的在于提供一種分布式文件存儲(chǔ)系統(tǒng)及方法,克服傳統(tǒng)的分布式文件 存儲(chǔ)系統(tǒng)中CPU的計(jì)算資源大量閑置以及系統(tǒng)擴(kuò)展不靈活的缺點(diǎn),提升了整個(gè)分布式存儲(chǔ) 系統(tǒng)的性能和靈活性。
[0008] 本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的:
[0009] -種分布式文件存儲(chǔ)架構(gòu)系統(tǒng),包括客戶端,用于發(fā)送數(shù)據(jù)對(duì)象的操作請(qǐng)求并接 收數(shù)據(jù)內(nèi)容;集群存儲(chǔ)池,用于操作所述客戶端發(fā)送的數(shù)據(jù)對(duì)象;集群存儲(chǔ)池包括多臺(tái)物 理機(jī),每臺(tái)物理機(jī)均部署虛擬化平臺(tái)系統(tǒng);該虛擬化平臺(tái)系統(tǒng)包括虛擬集群控制器和虛擬 資源調(diào)度器;
[0010] 虛擬集群控制器,用于承擔(dān)集群內(nèi)的計(jì)算工作;
[0011] 虛擬資源調(diào)度器,用于集群內(nèi)虛擬化管理和虛擬資源調(diào)度。
[0012] 進(jìn)一步,虛擬集群控制器的底層共享所有磁盤的存儲(chǔ)資源;該磁盤選用固態(tài)硬盤 SSD或其他高速存儲(chǔ)介質(zhì),其上層包括CPU、內(nèi)存和總線。
[0013] 進(jìn)一步,虛擬資源調(diào)度器是資源管理和分配模塊,用于動(dòng)態(tài)分配、使用或回收虛擬 集群控制器。
[0014] 進(jìn)一步,虛擬集群控制器中設(shè)有角色控制器,用于賦予該虛擬集群控制器以不同 的邏輯標(biāo)簽,比如存儲(chǔ)虛擬機(jī),計(jì)算虛擬機(jī),管理虛擬機(jī),仲裁虛擬機(jī)等。將集群控制器中功 能實(shí)現(xiàn)不同的群組劃分為多個(gè)子集群,實(shí)現(xiàn)控制路徑和數(shù)據(jù)路徑的分離,符合軟件定義存 儲(chǔ)的開放性設(shè)計(jì)要求。
[0015] 實(shí)現(xiàn)上述分布式文件存儲(chǔ)系統(tǒng)的方法,包括如下步驟:
[0016] 初始化,預(yù)配置虛擬集群控制器;
[0017] 判斷所述虛擬集群控制器是否出現(xiàn)數(shù)據(jù)熱點(diǎn)或訪問高峰;
[0018] 若出現(xiàn)數(shù)據(jù)熱點(diǎn)或訪問高峰,則虛擬資源調(diào)度器執(zhí)行增加虛擬集群控制器的數(shù)量 的操作;
[0019] 數(shù)據(jù)熱點(diǎn)或訪問高峰結(jié)束之后,則虛擬資源調(diào)度器執(zhí)行減少虛擬集群控制器的數(shù) 量的操作。
[0020] 進(jìn)一步,預(yù)配置虛擬集群控制器包括:
[0021] 選擇虛擬機(jī)的硬件格式;
[0022] 選擇要?jiǎng)?chuàng)建的虛擬機(jī)類型及要運(yùn)行的操作系統(tǒng);
[0023] 選擇虛擬機(jī)中CPU的數(shù)量;
[0024] 設(shè)置虛擬機(jī)使用的內(nèi)存;
[0025] 設(shè)置虛擬機(jī)網(wǎng)卡。
[0026] 進(jìn)一步,判斷是否出現(xiàn)數(shù)據(jù)熱點(diǎn)或訪問高峰包括:
[0027] 獲取系統(tǒng)核心資源的分配、使用、和剩余情況,通過算法得出系統(tǒng)使用狀態(tài)表征數(shù) 值;
[0028] 將系統(tǒng)使用狀態(tài)表征數(shù)值與閾值比較,若其大于閾值,判定為系統(tǒng)出現(xiàn)數(shù)據(jù)熱點(diǎn) 或訪問高峰;若系統(tǒng)使用狀態(tài)表征數(shù)值不大于該閾值,判定為系統(tǒng)數(shù)據(jù)熱點(diǎn)或訪問高峰未 出現(xiàn)或是系統(tǒng)數(shù)據(jù)熱點(diǎn)或訪問高峰結(jié)束。若判定系統(tǒng)數(shù)據(jù)熱點(diǎn)或訪問高峰未出現(xiàn),則保持 系統(tǒng)原有的虛擬集群控制器的數(shù)量;若判定系統(tǒng)數(shù)據(jù)熱點(diǎn)或訪問高峰出現(xiàn),則需虛擬資源 調(diào)度器執(zhí)行增加虛擬集群控制器的數(shù)量的操作,且判定系統(tǒng)數(shù)據(jù)熱點(diǎn)或訪問高峰結(jié)束后, 虛擬資源調(diào)度器執(zhí)行減少虛擬集群控制器的數(shù)量的操作。
[0029] 虛擬資源調(diào)度器執(zhí)行增加虛擬集群控制器的數(shù)量的操作具體包括,虛擬資源調(diào)度 器調(diào)用程序啟動(dòng)更多的虛擬集群控制器來分擔(dān)原有虛擬集群控制器的工作負(fù)載,達(dá)到平衡 優(yōu)化的目的。
[0030] 虛擬資源調(diào)度器執(zhí)行減少虛擬集群控制器的數(shù)量的操作具體包括,虛擬資源調(diào)度 器調(diào)用程序回收和關(guān)閉過量的虛擬集群控制器,不僅平衡了工作負(fù)載,同時(shí)達(dá)到了節(jié)能的 目的。
[0031] 進(jìn)一步,獲取系統(tǒng)核心資源的分配、使用和剩余情況包括:獲取虛擬集群控制器的 CPU的線程和進(jìn)程、內(nèi)存或磁盤狀態(tài)的負(fù)載數(shù)據(jù)。
[0032] 本發(fā)明的有益效果如下:本發(fā)明的分布式文件存儲(chǔ)系統(tǒng),參照虛擬化設(shè)計(jì)思路,弓丨 入虛擬資源調(diào)度器和虛擬集群控制器的概念,搭建了一個(gè)虛擬化平臺(tái)系統(tǒng),更大地發(fā)揮所 有物理機(jī)的計(jì)算和處理能力,提高了 CPU的利用率;將集群控制器本身作為一種虛擬資源 調(diào)度,可利用虛擬資源調(diào)度器動(dòng)態(tài)分配、使用、回收以及再分配,資源調(diào)度方式更靈活;在邏 輯上,虛擬集群控制器將原有的多節(jié)點(diǎn)集群的規(guī)模擴(kuò)大數(shù)倍甚至數(shù)十倍,也大大的提升了 分布式文件存儲(chǔ)系統(tǒng)的整體處理能力;通過虛擬資源調(diào)度器能夠在磁盤容量不變以及互聯(lián) 網(wǎng)絡(luò)不變的情況下,彈性的擴(kuò)展虛擬集群控制器的處理能力,可以滿足計(jì)算密集型文件存 儲(chǔ)應(yīng)用的性能要求。
【專利附圖】
【附圖說明】
[0033] 圖1是本發(fā)明第一實(shí)施例的一種分布式文件存儲(chǔ)系統(tǒng)示意圖;
[0034] 圖2是本發(fā)明第二實(shí)施例的一種分布式文件存儲(chǔ)系統(tǒng)示意圖;
[0035] 圖3是本發(fā)明第三實(shí)施例的一種分布式文件存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法的流程圖;
[0036] 圖4是本發(fā)明第四實(shí)施例的一種分布式文件存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法的流程圖;
[0037] 圖5是當(dāng)前常用的分布式文件存儲(chǔ)系統(tǒng)示意圖。
[0038] 圖中:
[0039] 1、客戶端 2、集群存儲(chǔ)池 3、虛擬集群控制器
[0040] 4、虛擬資源調(diào)度器5、磁盤
【具體實(shí)施方式】
[0041] 下面結(jié)合附圖并通過【具體實(shí)施方式】來進(jìn)一步說明本發(fā)明的技術(shù)方案。
[0042] 實(shí)施例1 :
[0043] 圖1給出本發(fā)明第一實(shí)施例的一種分布式文件存儲(chǔ)系統(tǒng)示意圖。如圖1所示,所述 系統(tǒng)包括客戶端1,用于發(fā)送數(shù)據(jù)對(duì)象的操作請(qǐng)求并接收數(shù)據(jù)內(nèi)容;集群存儲(chǔ)池2,用于操 作所述客戶端1發(fā)送的數(shù)據(jù)對(duì)象;傳輸網(wǎng)絡(luò),用于連接所述客戶端1和所述集群存儲(chǔ)池2 ; 該集群存儲(chǔ)池2包括多臺(tái)傳統(tǒng)的X86服務(wù)器,且在每臺(tái)服務(wù)器上部署虛擬化平臺(tái)系統(tǒng),將單 個(gè)集群控制器演變?yōu)槎鄠€(gè)虛擬化集群控制器。其中,虛擬化平臺(tái)系統(tǒng)包括虛擬集群控制器 3和虛擬資源調(diào)度器4 ;該虛擬集群控制器3,用于承擔(dān)集群內(nèi)的計(jì)算工作;該虛擬資源調(diào)度 器4,用于集群內(nèi)虛擬化管理和虛擬資源調(diào)度。
[0044] 本系統(tǒng)將集群控制器本身作為一種虛擬資源調(diào)度,可利用虛擬資源調(diào)度器4動(dòng)態(tài) 分配、使用、回收以及再分配,資源調(diào)度方式更靈活;在邏輯上,虛擬集群控制器3將原有的 多節(jié)點(diǎn)集群的規(guī)模擴(kuò)大數(shù)倍甚至數(shù)十倍,也大大的提升了分布式文件存儲(chǔ)系統(tǒng)的整體處理 能力。
[0045] 實(shí)施例2 :
[0046] 圖2是本發(fā)明第二實(shí)施例的一種分布式文件存儲(chǔ)系統(tǒng)示意圖。如圖2所示,本系 統(tǒng)包括客戶端1、傳輸網(wǎng)絡(luò)和集群存儲(chǔ)池2,該集群存儲(chǔ)池2包括多臺(tái)傳統(tǒng)的X86服務(wù)器,且 在每臺(tái)服務(wù)器上部署虛擬化平臺(tái)系統(tǒng),將單個(gè)集群控制器演變?yōu)槎鄠€(gè)虛擬集群控制器3。其 中,虛擬集群控制器3的底層共享所有磁盤的存儲(chǔ)資源;其上層包括CPU、內(nèi)存和總線。虛擬 資源調(diào)度器4是資源管理和分配的模塊,用于動(dòng)態(tài)分配、使用或回收虛擬集群控制器3。虛 擬集群控制器3中設(shè)有角色控制器,用于賦予該虛擬集群控制器3以不同的邏輯標(biāo)簽,比如 存儲(chǔ)虛擬機(jī),計(jì)算虛擬機(jī),管理虛擬機(jī),仲裁虛擬機(jī)等。虛擬集群控制器3按功能不同,進(jìn)一 步可以分為,元數(shù)據(jù)控制虛擬控制器,協(xié)議服務(wù)虛擬控制器,數(shù)據(jù)優(yōu)化虛擬控制器,遷移歸 檔虛擬控制器等多種"角色"虛擬控制器,每種角色也可以按需動(dòng)態(tài)擴(kuò)展為集群模式。
[0047] 虛擬資源調(diào)度器4是一個(gè)以KVM(Kernel-based Virtual Machine,基于核心的虛 擬機(jī))為基礎(chǔ)的監(jiān)控和資源配置的模塊,通過對(duì)虛擬集群控制器3 (本質(zhì)是一個(gè)特殊功能的 虛擬機(jī))CPU、內(nèi)存和磁盤負(fù)載情況的檢測,決定是否需要增加或減少新的虛擬集群控制器 3。使用虛擬資源調(diào)度器4可以動(dòng)態(tài)的改變虛擬集群控制器3的數(shù)量:當(dāng)檢測到系統(tǒng)處于 處理高峰時(shí),啟動(dòng)更多的虛擬集群控制器3來分擔(dān)原有虛擬集群控制器3的工作負(fù)載,將處 理工作均分,可以達(dá)到平衡負(fù)載的效果。因計(jì)算和存儲(chǔ)在某一個(gè)或某幾個(gè)時(shí)間點(diǎn)需要極高 的性能,其他時(shí)間點(diǎn)的性能需求則相對(duì)較低,如按照最低性能匹配無法滿足特定時(shí)刻的資 源需求,按照最高性能匹配則存在明顯的投資浪費(fèi)。本設(shè)計(jì)不再需要考慮根據(jù)系統(tǒng)計(jì)算和 存儲(chǔ)匹配固定資源的難度,利用虛擬資源調(diào)度器4可以實(shí)現(xiàn)匹配資源的動(dòng)態(tài)啟動(dòng)或回收關(guān) 閉。
[0048] 虛擬資源調(diào)度器4動(dòng)態(tài)調(diào)整虛擬集群控制器3,并實(shí)施虛擬集群控制器3和負(fù)載遷 移,以達(dá)到最佳的平衡狀態(tài)。具體包括:在虛擬集群控制器3數(shù)量偏少和平均負(fù)載偏低的情 況下,將虛擬集群控制器3集中遷移到較少的物理機(jī)上,并將一部分物理機(jī)停機(jī),以達(dá)到節(jié) 能和提高計(jì)算或能耗比的目的;在虛擬機(jī)數(shù)量偏多和平均負(fù)載偏高的情況下,啟動(dòng)更多的 備用物理機(jī)并進(jìn)行負(fù)載平衡。同時(shí),由于虛擬集群控制器3中的應(yīng)用負(fù)載會(huì)隨時(shí)間變化,因 此應(yīng)及時(shí)響應(yīng)虛擬集群控制器3負(fù)載的變化,適當(dāng)為高負(fù)載的虛擬集群控制器3分配更充 裕的資源,以適應(yīng)虛擬集群控制器3對(duì)資源的需求。
[0049] 通過虛擬資源調(diào)度器4可以手動(dòng)或自動(dòng)的動(dòng)態(tài)分配、使用或回收虛擬集群控制器 3。通過虛擬資源調(diào)度器4能夠在磁盤容量不變以及互聯(lián)網(wǎng)絡(luò)不變的情況下,彈性的擴(kuò)展虛 擬集群控制器3的處理能力,可以滿足計(jì)算密集型文件存儲(chǔ)應(yīng)用的性能要求。
[0050] 在虛擬資源調(diào)度器4的控制下,控制邏輯虛擬機(jī)和數(shù)據(jù)邏輯虛擬機(jī)完全分離,并 且均可實(shí)現(xiàn)集群化的擴(kuò)展。
[0051] 虛擬集群控制器3包括的底層共享所有磁盤5的存儲(chǔ)資源;上層包括CPU、內(nèi)存和 總線。在共享磁盤存儲(chǔ)結(jié)構(gòu)下,可以通過虛擬機(jī)的遷移機(jī)制改變虛擬集群控制器3所屬的 宿主物理機(jī),以改變虛擬集群控制器3的各類資源的訪問性能。虛擬集群控制器3的CPU、 內(nèi)存和網(wǎng)絡(luò)資源,都可以通過遷移改變訪問性能,還可以通過改進(jìn)和優(yōu)化分布式文件系統(tǒng) 的方式來改進(jìn)I/O性能。
[0052] 角色控制器是虛擬集群控制器3里的一個(gè)功能選項(xiàng),賦予該虛擬集群控制器3以 不同的邏輯標(biāo)簽,比如存儲(chǔ)虛擬機(jī),計(jì)算虛擬機(jī),管理虛擬機(jī),仲裁虛擬機(jī)等,可將虛擬集群 控制器3中功能實(shí)現(xiàn)不同的群組劃分為多個(gè)子集群,實(shí)現(xiàn)控制路徑和數(shù)據(jù)路徑的分離,多 重?cái)?shù)據(jù)路徑單元可以通過一個(gè)或多個(gè)交換平臺(tái)被發(fā)送,一個(gè)或多個(gè)控制路徑(通常是一 簇)單元可以控制數(shù)據(jù)路徑單元,這就可以使一個(gè)小的SAN(Storage Area Network,存儲(chǔ)局 域網(wǎng)絡(luò))擴(kuò)展到最大的SAN,同時(shí)還是單個(gè)應(yīng)用程序。由于數(shù)據(jù)路徑和控制路徑不存在任何 失效點(diǎn),所以可用性也大大提高,符合存儲(chǔ)的開放性設(shè)計(jì)要求。
[0053] 實(shí)施例3 :
[0054] 圖3是本發(fā)明第三實(shí)施例的一種分布式文件存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法的流程圖。如圖 3所示,所述方法包括如下步驟:
[0055] 步驟S301、初始化,預(yù)配置虛擬集群控制器;
[0056] 步驟S302、判斷所述虛擬集群控制器是否出現(xiàn)數(shù)據(jù)熱點(diǎn)或訪問高峰;
[0057] 步驟S303、若出現(xiàn)數(shù)據(jù)熱點(diǎn)或訪問高峰,則虛擬資源調(diào)度器執(zhí)行增加虛擬集群控 制器的數(shù)量的操作;此時(shí)虛擬資源調(diào)度器調(diào)用程序啟動(dòng)更多的虛擬集群控制器來分擔(dān)原有 虛擬集群控制器的工作負(fù)載,達(dá)到平衡優(yōu)化的目的;
[0058] 步驟S304、步驟S303中數(shù)據(jù)熱點(diǎn)或訪問高峰結(jié)束之后,則虛擬資源調(diào)度器執(zhí)行減 少虛擬集群控制器的數(shù)量的操作。在總負(fù)載不變的情況下,則可以通過減少虛擬集群控制 器的數(shù)量,實(shí)現(xiàn)剩余虛擬集群控制器負(fù)載提升,最終達(dá)到資源利用率提升的效果,不僅平衡 了工作負(fù)載,也達(dá)到了節(jié)能的目的。關(guān)閉的動(dòng)作分為刷新緩存數(shù)據(jù),文件系統(tǒng)一致性監(jiān)測, 系統(tǒng)進(jìn)程關(guān)閉,系統(tǒng)關(guān)閉幾個(gè)階段,和正常的操作系統(tǒng)關(guān)機(jī)相似。
[0059] 本方法借助虛擬資源調(diào)度器和虛擬集群控制器的概念,搭建了一個(gè)虛擬化平臺(tái)系 統(tǒng),更大地發(fā)揮所有物理機(jī)的計(jì)算和處理能力,提高了處理器的利用率;將集群控制器本身 作為一種虛擬資源調(diào)度,可利用虛擬資源調(diào)度器動(dòng)態(tài)分配、使用、回收以及再分配,資源調(diào) 度方式更靈活;考慮到峰值計(jì)算和存儲(chǔ)問題,解決了當(dāng)前常用的分布式存儲(chǔ)系統(tǒng)在大部分 計(jì)算機(jī)應(yīng)用系統(tǒng)中,存在峰值計(jì)算的問題,通過虛擬資源調(diào)度器動(dòng)態(tài)的增加或者關(guān)閉虛擬 集群控制器,平衡了工作負(fù)載,關(guān)閉不需要的虛擬集群控制器,達(dá)到了節(jié)能的目的。
[0060] 實(shí)施例4 :
[0061] 圖4是本發(fā)明第四實(shí)施例的一種分布式文件存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法的流程圖。如圖 4所示,所述方法包括如下步驟:
[0062] 步驟S401A、選擇虛擬機(jī)的硬件格式;
[0063] 步驟S401B、選擇要?jiǎng)?chuàng)建的虛擬機(jī)類型及要運(yùn)行的操作系統(tǒng);
[0064] 步驟S401C、選擇虛擬機(jī)中CPU的數(shù)量;
[0065] 步驟S401D、設(shè)置虛擬機(jī)使用的內(nèi)存;
[0066] 步驟S401E、設(shè)置虛擬機(jī)網(wǎng)卡。
[0067] 步驟S402A :獲取系統(tǒng)核心資源的分配、使用和剩余情況,通過算法得出系統(tǒng)使用 狀態(tài)表征數(shù)值;系統(tǒng)中的sar,iostat,vmstat,free,top等命令可輸出系統(tǒng)核心資源的分 配、使用和剩余情況,上述輸出值通過加權(quán)平均算法得出系統(tǒng)使用狀態(tài)表征數(shù)值。其中,獲 取系統(tǒng)核心資源的分配、使用和剩余情況包括獲取虛擬集群控制器的CPU的線程和進(jìn)程、 內(nèi)存或磁盤狀態(tài)的負(fù)載數(shù)據(jù)。
[0068] 步驟S402B :將系統(tǒng)使用狀態(tài)表征數(shù)值與閾值比較(也可以使用nmon,cacti等工 具進(jìn)行輔助判斷)。若系統(tǒng)使用狀態(tài)表征數(shù)值大于閾值,判定為系統(tǒng)出現(xiàn)數(shù)據(jù)熱點(diǎn)或訪問高 峰,虛擬資源調(diào)度器執(zhí)行增加虛擬集群控制器的數(shù)量的操作。具體包括,虛擬資源調(diào)度器調(diào) 用程序啟動(dòng)更多的虛擬集群控制器來分擔(dān)原有虛擬集群控制器的工作負(fù)載,達(dá)到平衡優(yōu)化 的目的。
[0069] 步驟S403A :若出現(xiàn)數(shù)據(jù)熱點(diǎn)或訪問高峰,則虛擬資源調(diào)度器執(zhí)行增加虛擬集群 控制器的數(shù)量的操作,到步驟S404。
[0070] 步驟S403B :若未出現(xiàn)數(shù)據(jù)熱點(diǎn)或訪問高峰,則執(zhí)行步驟S402A獲取系統(tǒng)核心資源 的分配、使用和剩余情況,通過算法得出系統(tǒng)使用狀態(tài)表征數(shù)值。
[0071] 步驟S404 :在步驟S403A中的數(shù)據(jù)熱點(diǎn)或訪問高峰結(jié)束之后,虛擬資源調(diào)度器執(zhí) 行減少虛擬集群控制器的數(shù)量的操作。虛擬資源調(diào)度器執(zhí)行減少虛擬集群控制器的數(shù)量的 操作具體包括,虛擬資源調(diào)度器調(diào)用程序回收和關(guān)閉過量的虛擬集群控制器。
[0072] 當(dāng)前常用的分布式文件存儲(chǔ)系統(tǒng),如圖5所示,采用多個(gè)X86服務(wù)器作為1個(gè)分布 式集群節(jié)點(diǎn),每個(gè)集群節(jié)點(diǎn)上配置單路或雙路CPU,內(nèi)存和磁盤等資源,在操作系統(tǒng)和分布 式系統(tǒng)調(diào)度下,形成一個(gè)單節(jié)點(diǎn)的集群控制器,承擔(dān)該集群內(nèi)部的所有計(jì)算任務(wù)。當(dāng)前常用 的分布式文件存儲(chǔ)系統(tǒng)未考慮數(shù)據(jù)熱點(diǎn)或訪問高峰的問題,在大部分計(jì)算機(jī)應(yīng)用系統(tǒng)中, 存在峰值計(jì)算問題,即計(jì)算和存儲(chǔ)在某一個(gè)或某幾個(gè)時(shí)間點(diǎn)需要極高的性能,其他時(shí)間點(diǎn) 的性能需求則相對(duì)較低,如按照最低性能匹配無法滿足特定時(shí)刻的資源需求,按照最高性 能匹配則存在明顯的投資浪費(fèi)。
[0073] 本系統(tǒng)引入虛擬資源調(diào)度器和虛擬集群控制器的概念,借鑒虛擬化設(shè)計(jì)思路,將 傳統(tǒng)的X86硬件資源進(jìn)行虛擬化控制,將單個(gè)集群控制器演變?yōu)槎鄠€(gè)虛擬化集群控制器, 更大地發(fā)揮所有物理機(jī)的計(jì)算和處理能力,提高了 CPU的利用率;將集群控制器本身作為 一種虛擬資源調(diào)度,可利用虛擬資源調(diào)度器動(dòng)態(tài)分配、使用、回收以及再分配,資源調(diào)度方 式更靈活。除此之外,本方法考慮到峰值計(jì)算和存儲(chǔ)問題,可判斷數(shù)據(jù)熱點(diǎn)或訪問高峰是否 出現(xiàn),若出現(xiàn),則動(dòng)態(tài)增加虛擬集群控制器來分擔(dān)原有虛擬集群控制器的工作負(fù)載,達(dá)到平 衡優(yōu)化的目的;當(dāng)數(shù)據(jù)熱點(diǎn)或訪問高峰結(jié)束,減少虛擬集群控制器的數(shù)量,實(shí)現(xiàn)剩余虛擬集 群控制器負(fù)載提升,最終達(dá)到資源利用率提升的效果,不僅平衡了工作負(fù)載,也達(dá)到了節(jié)能 的目的。解決了當(dāng)前常用的分布式存儲(chǔ)系統(tǒng)在大部分計(jì)算機(jī)應(yīng)用系統(tǒng)中存在峰值計(jì)算的問 題。
[0074] 以上對(duì)本發(fā)明的一個(gè)實(shí)施例進(jìn)行了詳細(xì)說明,但所述內(nèi)容僅為本發(fā)明的較佳實(shí)施 例,不能被認(rèn)為用于限定本發(fā)明的實(shí)施范圍。凡依本發(fā)明申請(qǐng)范圍所作的均等變化與改進(jìn) 等,均應(yīng)仍歸屬于本發(fā)明的專利涵蓋范圍之內(nèi)。
【權(quán)利要求】
1. 一種分布式文件存儲(chǔ)系統(tǒng),包括客戶端,用于發(fā)送數(shù)據(jù)對(duì)象的操作請(qǐng)求并接收數(shù)據(jù) 內(nèi)容;集群存儲(chǔ)池,用于操作所述客戶端發(fā)送的數(shù)據(jù)對(duì)象;其特征在于,所述集群存儲(chǔ)池包 括多臺(tái)物理機(jī),每臺(tái)物理機(jī)均部署虛擬化平臺(tái)系統(tǒng);所述虛擬化平臺(tái)系統(tǒng)包括虛擬集群控 制器和虛擬資源調(diào)度器; 所述虛擬集群控制器,用于承擔(dān)集群內(nèi)的計(jì)算工作; 所述虛擬資源調(diào)度器,用于集群內(nèi)虛擬化管理和虛擬資源調(diào)度。
2. 根據(jù)權(quán)利要求1所述的分布式文件存儲(chǔ)系統(tǒng),其特征在于,所述虛擬集群控制器的 底層共享所有磁盤的存儲(chǔ)資源;其上層包括CPU、內(nèi)存和總線。
3. 根據(jù)權(quán)利要求1所述的分布式文件存儲(chǔ)系統(tǒng),其特征在于,所述虛擬資源調(diào)度器是 資源管理和分配的模塊,用于動(dòng)態(tài)分配、使用或回收虛擬集群控制器。
4. 根據(jù)權(quán)利要求1所述的分布式文件存儲(chǔ)系統(tǒng),其特征在于,所述虛擬集群控制器中 設(shè)有角色控制器,用于賦予該虛擬集群控制器以不同的邏輯標(biāo)簽。
5. -種分布式文件存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)方法,其特征在于,包括如下步驟: 初始化,預(yù)配置虛擬集群控制器; 判斷所述虛擬集群控制器是否出現(xiàn)數(shù)據(jù)熱點(diǎn)或訪問高峰; 若出現(xiàn)數(shù)據(jù)熱點(diǎn)或訪問高峰,則虛擬資源調(diào)度器執(zhí)行增加虛擬集群控制器的數(shù)量的操 作; 數(shù)據(jù)熱點(diǎn)或訪問高峰結(jié)束之后,則虛擬資源調(diào)度器執(zhí)行減少虛擬集群控制器的數(shù)量的 操作。
6. 根據(jù)權(quán)利要求5所述的實(shí)現(xiàn)方法,其特征在于,預(yù)配置虛擬集群控制器包括: 選擇虛擬機(jī)的硬件格式; 選擇要?jiǎng)?chuàng)建的虛擬機(jī)類型及要運(yùn)行的操作系統(tǒng); 選擇虛擬機(jī)中CPU的數(shù)量; 設(shè)置虛擬機(jī)使用的內(nèi)存; 設(shè)置虛擬機(jī)網(wǎng)卡。
7. 根據(jù)權(quán)利要求5所述的實(shí)現(xiàn)方法,其特征在于,判斷是否出現(xiàn)數(shù)據(jù)熱點(diǎn)或訪問高峰 包括: 獲取系統(tǒng)核心資源的分配、使用和剩余情況,通過算法得出系統(tǒng)使用狀態(tài)表征數(shù)值; 將系統(tǒng)使用狀態(tài)表征數(shù)值與閾值比較,若其大于閾值,判定為系統(tǒng)出現(xiàn)數(shù)據(jù)熱點(diǎn)或訪 問高峰;若系統(tǒng)使用狀態(tài)表征數(shù)值不大于該閾值,判定為系統(tǒng)數(shù)據(jù)熱點(diǎn)或訪問高峰未出現(xiàn) 或是系統(tǒng)數(shù)據(jù)熱點(diǎn)或訪問高峰結(jié)束。
8. 根據(jù)權(quán)利要求7所述的實(shí)現(xiàn)方法,其特征在于,獲取系統(tǒng)核心資源的分配、使用和剩 余情況包括:獲取虛擬集群控制器的CPU的線程和進(jìn)程、內(nèi)存或磁盤狀態(tài)的負(fù)載數(shù)據(jù)。
【文檔編號(hào)】H04L29/08GK104219318SQ201410468455
【公開日】2014年12月17日 申請(qǐng)日期:2014年9月15日 優(yōu)先權(quán)日:2014年9月15日
【發(fā)明者】阮薛平 申請(qǐng)人:北京聯(lián)創(chuàng)信安科技有限公司