本申請(qǐng)涉及計(jì)算領(lǐng)域,并且更具體地,涉及一種系統(tǒng)節(jié)能的方法和節(jié)能系統(tǒng)。
背景技術(shù):
虛擬化與云計(jì)算技術(shù)正在引領(lǐng)IT技術(shù)的發(fā)展方向,越來越多的企業(yè)采用虛擬化與云計(jì)算技術(shù)來構(gòu)建新一代IT系統(tǒng),以提升IT系統(tǒng)的資源利用率,并在保證服務(wù)級(jí)別水平的前提下降低成本,同時(shí)使得業(yè)務(wù)更加具有敏捷性,加速新業(yè)務(wù)的上線時(shí)間。
然而,虛擬化與云計(jì)算技術(shù)的廣泛應(yīng)用也給后端的存儲(chǔ)系統(tǒng)提出更加嚴(yán)峻的挑戰(zhàn),如:需要存儲(chǔ)系統(tǒng)能夠承載更多的業(yè)務(wù)、更高的性能與可靠性、更好的擴(kuò)展性、保證關(guān)鍵業(yè)務(wù)服務(wù)級(jí)別水平并降低成本等。在上述背景下,基于標(biāo)準(zhǔn)X86服務(wù)器+存儲(chǔ)軟件的軟件定義存儲(chǔ)架構(gòu)出現(xiàn),將多個(gè)通用X86服務(wù)器通過部署分布式存儲(chǔ)軟件的方式,把所有服務(wù)器的本地硬盤組織成一個(gè)虛擬的分布式存儲(chǔ)資源池,為業(yè)務(wù)提供具有良好性價(jià)比和擴(kuò)展性的存儲(chǔ)系統(tǒng),從而能夠更好地為用戶提供塊存儲(chǔ)、對(duì)象存儲(chǔ)、文件存儲(chǔ)、歸檔存儲(chǔ)。
然而,當(dāng)分布式存儲(chǔ)資源池用于對(duì)文件進(jìn)行歸檔存儲(chǔ)時(shí),由于硬盤與電源系統(tǒng)采用總線式連接,電源系統(tǒng)依然會(huì)對(duì)歸檔存儲(chǔ)后的硬盤供電,在用于歸檔存儲(chǔ)的硬盤中的數(shù)據(jù)長期不被訪問的情況下,造成電力資源的浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┝艘环N系統(tǒng)節(jié)能的方法和節(jié)能系統(tǒng),可以對(duì)用于歸檔存儲(chǔ)的硬盤有選擇性地單獨(dú)下電,能夠避免電力資源的浪費(fèi)。
第一方面,提供了一種系統(tǒng)節(jié)能的方法,該方法包括:獲取歸檔存儲(chǔ)請(qǐng)求,該歸檔存儲(chǔ)請(qǐng)求用于請(qǐng)求對(duì)待歸檔存儲(chǔ)數(shù)據(jù)進(jìn)行歸檔存儲(chǔ);根據(jù)該歸檔存儲(chǔ)請(qǐng)求確定用于歸檔存儲(chǔ)的至少一個(gè)硬盤;將待歸檔存儲(chǔ)數(shù)據(jù)存儲(chǔ)到所述至少一個(gè)硬盤中;檢測(cè)所述至少一個(gè)硬盤的使用狀態(tài);根據(jù)使用狀態(tài)和預(yù)設(shè)的下電條件從所述至少一個(gè)硬盤中確定需要進(jìn)行下電處理的目標(biāo)硬盤;對(duì)該目標(biāo)硬盤進(jìn)行下電處理。
第一方面提供的系統(tǒng)節(jié)能的方法,通過比較用于歸檔存儲(chǔ)的至少一個(gè)硬盤的使用狀態(tài)和預(yù)設(shè)的下電條件,對(duì)用于歸檔存儲(chǔ)的硬盤進(jìn)行下電控制,使符合下電條件的硬盤單獨(dú)下電,能夠達(dá)到節(jié)能效果。
結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,該使用狀態(tài)包括空間使用量和/或每秒輸入/輸出次數(shù)I/OPS。
結(jié)合第一方面第一種可能的實(shí)現(xiàn)方式,在第一發(fā)明的第二種可能的實(shí)現(xiàn)方式中,該下電條件包括硬盤達(dá)到滿載狀態(tài)且硬盤的每秒輸入/輸出次數(shù)I/OPS等于零所持續(xù)的時(shí)長大于或等于預(yù)設(shè)的第一時(shí)長閾值;所述根據(jù)使用狀態(tài)和預(yù)設(shè)的下電條件從所述至少一個(gè)硬盤中確定需要進(jìn)行下電處理的目標(biāo)硬盤,包括:檢測(cè)所述至少一個(gè)硬盤中的第一硬盤的空間使用量;檢測(cè)第一硬盤的I/OPS等于零所持續(xù)的第一時(shí)長;在第一硬盤達(dá)到滿載狀態(tài)且第一時(shí)長大于或等于該第一時(shí)長閾值時(shí),確定該第一硬盤為目標(biāo)硬盤。在該可能的實(shí)現(xiàn)方式中,下電條件的判斷參數(shù)包括硬盤的空間使用量和每秒輸入/輸出次數(shù)I/OPS等于零所持續(xù)的時(shí)長,系統(tǒng)可以判斷滿足下電條件的目標(biāo)硬盤,從而對(duì)其進(jìn)行下電處理,能夠達(dá)到節(jié)能效果。
結(jié)合第一方面第二種可能的實(shí)現(xiàn)方式,在第一發(fā)明的第三種可能的實(shí)現(xiàn)方式中,該方法還包括:在第一硬盤沒有達(dá)到滿載狀態(tài)時(shí),將所述至少一個(gè)硬盤中的第二硬盤中的數(shù)據(jù)轉(zhuǎn)移至第一硬盤,以使得第一硬盤達(dá)到滿載狀態(tài)。在該可能的實(shí)現(xiàn)方式中,在第一硬盤沒有達(dá)到滿載狀態(tài)時(shí),系統(tǒng)通過數(shù)據(jù)流動(dòng)的方式使得某些硬盤更快的達(dá)到滿載狀態(tài),能夠加快下電調(diào)度的進(jìn)程,可以達(dá)到更好地節(jié)能效果。
結(jié)合第一方面第三種可能的實(shí)現(xiàn)方式,在第一方面第四種可能的實(shí)現(xiàn)方式中,該將所述至少一個(gè)硬盤中的第二硬盤中的數(shù)據(jù)轉(zhuǎn)移至第一硬盤,包括:檢測(cè)第二硬盤的I/OPS等于零持續(xù)的第二時(shí)長;在該第二時(shí)長大于或等于預(yù)設(shè)的第二時(shí)長閾值時(shí),將第二硬盤中的該數(shù)據(jù)轉(zhuǎn)移至第一硬盤。該可能的實(shí)現(xiàn)方式可以判斷能夠相互流動(dòng)數(shù)據(jù)的硬盤,即只有對(duì)于沒有讀取操作和寫入操作的硬盤,才能控制其中存儲(chǔ)數(shù)據(jù)流動(dòng)至別的硬盤。
結(jié)合第一方面或第一種至第四種可能的實(shí)現(xiàn)方式中任一種可能的實(shí)現(xiàn)方式,在第一方面第五種可能的實(shí)現(xiàn)方式中,該檢測(cè)所述至少一個(gè)硬盤的使用狀態(tài),包括:通過虛擬塊存儲(chǔ)管理組件VBS檢測(cè)所述至少一個(gè)硬盤的該使用狀態(tài)。
結(jié)合第二方面或第一種至第五種可能的實(shí)現(xiàn)方式中任一種可能的實(shí)現(xiàn)方式,在第一方面第六種可能的實(shí)現(xiàn)方式中,所述對(duì)目標(biāo)硬盤進(jìn)行下電處理,包括:通過對(duì)象存儲(chǔ)設(shè)備OSD對(duì)目標(biāo)硬盤進(jìn)行下電處理。
結(jié)合第一方面或第一種至第六種可能的實(shí)現(xiàn)方式中任一種可能的實(shí)現(xiàn)方式,在第一方面第七種可能的實(shí)現(xiàn)方式中,在所述根據(jù)歸檔存儲(chǔ)請(qǐng)求確定用于歸檔存儲(chǔ)的至少一個(gè)硬盤之后,該方法還包括:將所述至少一個(gè)硬盤標(biāo)注為節(jié)電模式,該節(jié)電模式用于表明可以對(duì)所述至少一個(gè)硬盤進(jìn)行下電。在該可能的實(shí)現(xiàn)方式中,系統(tǒng)將用于歸檔存儲(chǔ)的至少一個(gè)硬盤標(biāo)注為節(jié)電模式,使所述至少一個(gè)硬盤處于滿足下電條件后即可以被下電的狀態(tài),同時(shí)能夠維持不用于歸檔存儲(chǔ)的硬盤的正常工作。
結(jié)合第一方面或第一種至第七種可能的實(shí)現(xiàn)方式中任一種可能的實(shí)現(xiàn)方式,在第一方面第八種可能的實(shí)現(xiàn)方式中,所述至少一個(gè)硬盤中的每個(gè)硬盤與所屬服務(wù)器的硬盤背板之間采用單獨(dú)走線的方式進(jìn)行連接。該可能的實(shí)現(xiàn)方式中,通過將所述至少一個(gè)硬盤中的每個(gè)硬盤與所屬服務(wù)器的硬盤背板之間采用單獨(dú)走線的方式連接,能夠確保目標(biāo)硬盤需要進(jìn)行下電時(shí)即可單獨(dú)下電,不影響其他硬盤的供電。
第二方面,提供了一種節(jié)能系統(tǒng),包括獲取模塊、第一確定模塊、歸檔模塊、檢測(cè)模塊、第二確定模塊、下電模塊。該節(jié)能系統(tǒng)的各個(gè)模塊可以用于執(zhí)行第一方面及第一方面任一種可能的實(shí)現(xiàn)方式中的系統(tǒng)節(jié)能的方法。該節(jié)能系統(tǒng)還可以包括轉(zhuǎn)移模塊和標(biāo)注模塊,以用于執(zhí)行第一方面相應(yīng)的實(shí)現(xiàn)方式。節(jié)能系統(tǒng)的各個(gè)模塊的功能可以通過硬件實(shí)現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。
第三方面,提供了一種節(jié)能系統(tǒng),所述節(jié)能系統(tǒng)包括至少一個(gè)服務(wù)器,其特征在于,所述至少一個(gè)服務(wù)器中的每個(gè)服務(wù)器包括至少一個(gè)處理器、存儲(chǔ)器和通信接口;
在任一服務(wù)器中,該服務(wù)器中的至少一個(gè)處理器、存儲(chǔ)器和通信接口均通過總線連接,該服務(wù)器的存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)執(zhí)行指令,該服務(wù)器的至少一個(gè)處理器用于執(zhí)行該服務(wù)器的存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)執(zhí)行指令,使得該服務(wù)器通過該服務(wù)器的通信接口與所述節(jié)能系統(tǒng)中的其它服務(wù)器進(jìn)行數(shù)據(jù)交互來執(zhí)行第一方面或者第一方面的任一可能實(shí)現(xiàn)方式提供的系統(tǒng)節(jié)能的方法。。
第二方面、第三方面以及第二方面和第三方面的各可能的實(shí)現(xiàn)方式的有益效果可以參照第一方面以及第一方面相應(yīng)的特征對(duì)應(yīng)的有益效果,此處不再進(jìn)行贅述。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為分布式存儲(chǔ)系統(tǒng)的示意性框圖。
圖2為分布式存儲(chǔ)系統(tǒng)中VBS和OSD進(jìn)程的部署方式的示意圖。
圖3為根據(jù)本發(fā)明一個(gè)實(shí)施例的系統(tǒng)節(jié)能的方法的示意性流程圖。
圖4為根據(jù)本發(fā)明一個(gè)實(shí)施例的硬盤與硬盤背板之間連接方式的示意性框圖。
圖5為根據(jù)本發(fā)明一個(gè)實(shí)施例的節(jié)能系統(tǒng)的示意性框圖。
圖6為根據(jù)本發(fā)明實(shí)施例的檢測(cè)模塊的示意性框圖。
圖7為根據(jù)本發(fā)明一個(gè)實(shí)施例的節(jié)能系統(tǒng)的示意性框圖。
圖8為根據(jù)本發(fā)明又一個(gè)實(shí)施例的節(jié)能系統(tǒng)的示意性框圖。
圖9為根據(jù)本發(fā)明再一個(gè)實(shí)施例的節(jié)能系統(tǒng)的示意性框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都應(yīng)屬于本發(fā)明保護(hù)的范圍。
為了適應(yīng)現(xiàn)代存儲(chǔ)對(duì)高容量、高可靠性、高擴(kuò)展性和低成本等方面的要求,在上述背景下,基于標(biāo)準(zhǔn)X86服務(wù)器+存儲(chǔ)軟件的軟件定義存儲(chǔ)架構(gòu)具有良好的性價(jià)比和擴(kuò)展性。通過在標(biāo)準(zhǔn)X86服務(wù)器上部署分布式存儲(chǔ)軟件,把所有服務(wù)器的本地硬盤組織成一個(gè)虛擬存儲(chǔ)資源池,形成分布式存儲(chǔ)系統(tǒng),通過網(wǎng)絡(luò)互聯(lián)將數(shù)據(jù)分散存儲(chǔ)在多個(gè)獨(dú)立的服務(wù)器上。
圖1為分布式存儲(chǔ)系統(tǒng)的整體架構(gòu)示意圖。如圖1所示,分布式存儲(chǔ)系統(tǒng)主要包括多臺(tái)獨(dú)立的服務(wù)器和分布式存儲(chǔ)軟件,所述分布式存儲(chǔ)軟件部署在每個(gè)服務(wù)器的虛擬機(jī)上面,通過網(wǎng)絡(luò)將多臺(tái)服務(wù)器的存儲(chǔ)硬盤組織成一個(gè)存儲(chǔ)資源池。分布式存儲(chǔ)系統(tǒng)具有如下的特點(diǎn):第一,高性能:數(shù)據(jù)分散存放,實(shí)現(xiàn)全局負(fù)載均衡,不存在集中數(shù)據(jù)熱點(diǎn),大容量分布式緩存;第二,高可靠:采用集群式管理方式,不存在單點(diǎn)故障,靈活配置多數(shù)據(jù)副本,不同數(shù)據(jù)副本存放在不同的機(jī)架、服務(wù)器和硬盤上,單個(gè)物理設(shè)備故障不影響業(yè)務(wù)的使用,系統(tǒng)遇到設(shè)備故障后可以自動(dòng)重建數(shù)據(jù)副本;第三,高擴(kuò)展:沒有集中式機(jī)頭,支持平滑擴(kuò)容,容量幾乎不受限制;第四,易管理:存儲(chǔ)軟件直接部署在服務(wù)器上,沒有單獨(dú)的存儲(chǔ)專用硬件設(shè)備,配置簡單。由此,采用可擴(kuò)展的系統(tǒng)結(jié)構(gòu),利用多臺(tái)存儲(chǔ)服務(wù)器分擔(dān)存儲(chǔ)負(fù)荷,利用位置服務(wù)器定位存儲(chǔ)信息,不但提高了系統(tǒng)的可靠性、可用性和存取效率,還易于擴(kuò)展。
在分布式存儲(chǔ)系統(tǒng)中,還包括虛擬塊存儲(chǔ)管理組件(Virtual Block System,簡稱“VBS”)和對(duì)象存儲(chǔ)設(shè)備(Object Storage Device,簡稱“OSD”)。
圖2為在分布式存儲(chǔ)系統(tǒng)中VBS和OSD的部署示意圖。如圖2所示,在分布式存儲(chǔ)系統(tǒng)中,VBS部署在中心節(jié)點(diǎn)的虛擬機(jī)(Virtual Machine,簡稱“VM”)上,而OSD部署在邊緣節(jié)點(diǎn)的物理服務(wù)器上,每個(gè)硬盤對(duì)應(yīng)一個(gè)相應(yīng)的OSD。具體地,所述VBS和所述OSD均為分布式存儲(chǔ)軟件的軟件進(jìn)程,共同完成分布式存儲(chǔ)軟件的存儲(chǔ)功能,其中,VBS是無狀態(tài)機(jī)頭集群,負(fù)責(zé)卷元數(shù)據(jù)的管理,提供分布式集群接入點(diǎn)服務(wù),使計(jì)算資源能夠通過VBS訪問分布式存儲(chǔ)資源,每個(gè)服務(wù)器上部署一個(gè)VBS進(jìn)程,形成VBS集群,VBS通過計(jì)算確定數(shù)據(jù)存放在哪個(gè)服務(wù)器的哪塊硬盤上;OSD執(zhí)行具體的I/O操作,在每個(gè)服務(wù)器上部署多個(gè)OSD進(jìn)程,一塊磁盤對(duì)應(yīng)部署一個(gè)OSD進(jìn)程,OSD通過計(jì)算確定數(shù)據(jù)存放在硬盤的具體位置。
基于以上特征,分布式存儲(chǔ)系統(tǒng)可以提供的存儲(chǔ)方式有塊存儲(chǔ)、對(duì)象存儲(chǔ)、文件存儲(chǔ)和歸檔存儲(chǔ)等。隨著虛擬化和云計(jì)算技術(shù)的廣泛應(yīng)用,數(shù)據(jù)庫越來越大,待處理數(shù)據(jù)越來越多,對(duì)于管理和使用都是一個(gè)大的問題,為了使數(shù)據(jù)庫盡可能的小,加快用戶響應(yīng)時(shí)間,并且對(duì)于用戶對(duì)于數(shù)據(jù)庫的查詢來說,盡可能加載多的表到內(nèi)存中。歸檔存儲(chǔ)就是上面兩個(gè)要求的平衡點(diǎn),首先把不需要經(jīng)常使用的對(duì)象數(shù)據(jù)從數(shù)據(jù)庫中提取出來寫到一個(gè)歸檔文件中,然后把相關(guān)對(duì)象從數(shù)據(jù)庫刪除,可以減小數(shù)據(jù)庫大小。
數(shù)據(jù)的歸檔存儲(chǔ)是將不再經(jīng)常使用的數(shù)據(jù)移到一個(gè)單獨(dú)的存儲(chǔ)設(shè)備來進(jìn)行長期保存的過程。歸檔存儲(chǔ)數(shù)據(jù)由舊的數(shù)據(jù)組成,但它是以后參考所必需且很重要的數(shù)據(jù),其數(shù)據(jù)必須遵從規(guī)則來保存,并且數(shù)據(jù)的歸檔存儲(chǔ)具有索引和搜索功能,這樣文件可以很容易地找到。
總體來說,數(shù)據(jù)的歸檔存儲(chǔ)大致可以分為以下三個(gè)步驟進(jìn)行:
1)創(chuàng)建歸檔文件:在第一步過程中,創(chuàng)建一個(gè)或者多個(gè)歸檔文件,然后從數(shù)據(jù)庫讀取將要被歸檔存儲(chǔ)的數(shù)據(jù)并且寫到這些歸檔文件中;
2)存儲(chǔ)歸檔文件:在完成將數(shù)據(jù)寫入所創(chuàng)建的歸檔文件之后,這些歸檔文件被存儲(chǔ)起來;
3)刪除數(shù)據(jù):刪除首先讀取歸檔文件中的數(shù)據(jù),然后輸出數(shù)據(jù)中對(duì)應(yīng)記錄。
應(yīng)理解,數(shù)據(jù)歸檔存儲(chǔ)的存儲(chǔ)介質(zhì)除了磁盤存儲(chǔ)以外,還包括其他多種存儲(chǔ)介質(zhì),如磁帶存儲(chǔ)介質(zhì)、光學(xué)存儲(chǔ)介質(zhì)、移動(dòng)磁盤存儲(chǔ)介質(zhì)和云存檔存儲(chǔ)介質(zhì)等。
圖3示出了本發(fā)明實(shí)施例的系統(tǒng)節(jié)能的方法100的示意圖。如圖3所示,該方法可以由分布式存儲(chǔ)系統(tǒng)執(zhí)行,該方法100包括:
S110,獲取歸檔存儲(chǔ)請(qǐng)求,所述歸檔存儲(chǔ)請(qǐng)求用于請(qǐng)求對(duì)待歸檔存儲(chǔ)數(shù)據(jù)進(jìn)行歸檔存儲(chǔ);
S120,根據(jù)所述歸檔存儲(chǔ)請(qǐng)求確定用于歸檔存儲(chǔ)的至少一個(gè)硬盤;
S130,將所述待歸檔存儲(chǔ)數(shù)據(jù)存儲(chǔ)到所述至少一個(gè)硬盤中;
S140,檢測(cè)所述至少一個(gè)硬盤的使用狀態(tài);
S150,根據(jù)所述使用狀態(tài)和預(yù)設(shè)的下電條件從所述至少一個(gè)硬盤中確定需要進(jìn)行下電處理的目標(biāo)硬盤;
S160,對(duì)所述目標(biāo)硬盤進(jìn)行下電處理。
由此,相比于傳統(tǒng)對(duì)用于歸檔存儲(chǔ)的硬盤不下電,導(dǎo)致資源的浪費(fèi),本發(fā)明通過比較用于歸檔存儲(chǔ)的硬盤的使用狀態(tài)和預(yù)設(shè)的下電條件,可以實(shí)現(xiàn)有選擇性地對(duì)用于歸檔存儲(chǔ)的硬盤進(jìn)行單獨(dú)下電,可以達(dá)到節(jié)能的效果。
S110中,獲取歸檔存儲(chǔ)請(qǐng)求,歸檔存儲(chǔ)請(qǐng)求用于請(qǐng)求對(duì)待歸檔存儲(chǔ)數(shù)據(jù)進(jìn)行歸檔存儲(chǔ)。
可選地,用戶可以通過系統(tǒng)呈現(xiàn)出來的界面向系統(tǒng)輸入指令的方式對(duì)數(shù)據(jù)的歸檔存儲(chǔ)進(jìn)行設(shè)置。例如,用戶需要對(duì)一些文件進(jìn)行歸檔,根據(jù)文件的大小在界面輸入需要進(jìn)行歸檔存儲(chǔ)的存儲(chǔ)資源的大小如100G,系統(tǒng)獲得此指令后即行對(duì)內(nèi)部資源進(jìn)行調(diào)度以提供歸檔存儲(chǔ)服務(wù)。
應(yīng)理解,分布式存儲(chǔ)系統(tǒng)還可以通過其它的方式獲取歸檔存儲(chǔ)請(qǐng)求。例如,計(jì)算機(jī)系統(tǒng)可以通過設(shè)置冷數(shù)據(jù)的方式選擇需要進(jìn)行歸檔存儲(chǔ)的數(shù)據(jù),冷數(shù)據(jù)即在一定周期內(nèi)沒有被訪問或者訪問頻率低于預(yù)設(shè)的頻率閾值的數(shù)據(jù),系統(tǒng)即對(duì)于該冷數(shù)據(jù)進(jìn)行歸檔存儲(chǔ)。
在S120中,分布式存儲(chǔ)系統(tǒng)根據(jù)獲取的歸檔存儲(chǔ)請(qǐng)求確定用于歸檔存儲(chǔ)的至少一個(gè)硬盤。
應(yīng)理解,分布式存儲(chǔ)系統(tǒng)選擇用于歸檔存儲(chǔ)的至少一個(gè)硬盤時(shí),可以根據(jù)磁盤介質(zhì)類型、硬盤距離、硬盤空間余量等指標(biāo)進(jìn)行選擇。例如,固態(tài)硬盤(Solid Storage Disk,簡稱“SSD”)由于其高成本缺陷通常不會(huì)成為歸檔存儲(chǔ)的備選硬盤;優(yōu)先選擇距離待歸檔數(shù)據(jù)較近的硬盤作為歸檔存儲(chǔ)硬盤,以降低數(shù)據(jù)存儲(chǔ)故障的概率;根據(jù)硬盤的空間余量優(yōu)選整塊空閑的硬盤用作歸檔存儲(chǔ)。
總之,分布式存儲(chǔ)系統(tǒng)在選擇可以用于歸檔存儲(chǔ)數(shù)據(jù)的硬盤時(shí),會(huì)優(yōu)先選擇與原存儲(chǔ)硬盤距離相近且整塊空閑的非固態(tài)硬盤??蛇x地,在根據(jù)歸檔存儲(chǔ)請(qǐng)求確定用于歸檔存儲(chǔ)的至少一個(gè)硬盤之后,系統(tǒng)即將所述至少一個(gè)硬盤標(biāo)注為節(jié)電模式,表示系統(tǒng)可以對(duì)所述至少一個(gè)硬盤進(jìn)行下電。應(yīng)理解,分布式存儲(chǔ)系統(tǒng)還可以對(duì)所述至少一塊硬盤標(biāo)注為獨(dú)占模式,表明所述至少一個(gè)硬盤僅能用于歸檔存儲(chǔ)服務(wù),不接受其他的數(shù)據(jù)服務(wù)請(qǐng)求,可以確保所述至少一個(gè)硬盤的可靠性。
應(yīng)理解,所述至少一塊硬盤可以分布于一臺(tái)服務(wù)器上,也可以分布于多臺(tái)服務(wù)器上。當(dāng)所述至少一塊硬盤位于同一臺(tái)服務(wù)器上時(shí),自然可以進(jìn)行數(shù)據(jù)流動(dòng)以及對(duì)其中的硬盤進(jìn)行下電控制;當(dāng)所述至少一塊硬盤位于不同的服務(wù)器上時(shí),例如位于3臺(tái)服務(wù)器,由于這三臺(tái)服務(wù)器均處于分布式存儲(chǔ)系統(tǒng)當(dāng)中,系統(tǒng)可以調(diào)控不同服務(wù)器的不同硬盤之間進(jìn)行數(shù)據(jù)流動(dòng)以及不同服務(wù)器對(duì)各自硬盤的下電處理。
在S130中,在分布式存儲(chǔ)系統(tǒng)確定了能夠用于歸檔存儲(chǔ)的至少一個(gè)硬盤之后,系統(tǒng)即開始將待歸檔數(shù)據(jù)存儲(chǔ)進(jìn)所述至少一個(gè)硬盤中,關(guān)于歸檔存儲(chǔ)的步驟已在前述部分做出過說明,在此不作贅述。
應(yīng)理解,系統(tǒng)可以根據(jù)存儲(chǔ)的需要利用所述至少一個(gè)硬盤中的所有硬盤進(jìn)行歸檔存儲(chǔ)操作,也可以在其中的若干塊當(dāng)中進(jìn)行存儲(chǔ)操作,其余硬盤留作備用歸檔存儲(chǔ),例如,在所述至少一塊硬盤中,可以將待歸檔存儲(chǔ)數(shù)據(jù)存儲(chǔ)到其中一塊硬盤中,剩余硬盤留作備用;也可以存儲(chǔ)到其中兩塊硬盤中,剩余硬盤留作備用等等,本發(fā)明在此不作限定。
在S140中,在數(shù)據(jù)歸檔存儲(chǔ)的過程中,分布式存儲(chǔ)系統(tǒng)通過檢測(cè)用于歸檔存儲(chǔ)的至少一塊硬盤的使用狀態(tài),分布式存儲(chǔ)系統(tǒng)接收到檢測(cè)模塊返回的硬盤使用狀態(tài)信息后,即對(duì)硬盤下電處理做出調(diào)度。
可選地,系統(tǒng)還可以指示系統(tǒng)內(nèi)的服務(wù)器對(duì)服務(wù)器上用于進(jìn)行歸檔存儲(chǔ)的硬盤進(jìn)行二次標(biāo)記,以便于系統(tǒng)檢測(cè)用于歸檔存儲(chǔ)的至少一塊硬盤的使用狀態(tài)。
應(yīng)理解,分布式存儲(chǔ)系統(tǒng)可以通過多種方式檢測(cè)所述至少一塊硬盤的使用狀態(tài),例如系統(tǒng)可以通過周期性檢測(cè)的方式檢測(cè)使用狀態(tài),例如設(shè)置為系統(tǒng)每隔2個(gè)小時(shí)檢測(cè)一次;也可以通過定時(shí)檢測(cè)的方式檢測(cè),例如,設(shè)置為每天的8點(diǎn)、12點(diǎn)、16點(diǎn)和20點(diǎn)進(jìn)行檢測(cè);系統(tǒng)還可以通過接收用戶輸入的檢測(cè)指令對(duì)所述至少一個(gè)硬盤的使用狀態(tài)進(jìn)行檢測(cè)。凡是可以檢測(cè)所述至少一個(gè)硬盤的使用狀態(tài)的檢測(cè)方式均在本發(fā)明的保護(hù)范圍以內(nèi),本發(fā)明在此不作限定。
可選地,分布式存儲(chǔ)系統(tǒng)可以至少檢測(cè)硬盤的空間使用量和/或每秒輸入/輸出次數(shù)(Input/Output Per Second,簡稱“I/OPS”)等信息。應(yīng)理解,分布式存儲(chǔ)系統(tǒng)可以僅檢測(cè)用于歸檔存儲(chǔ)的至少一個(gè)硬盤的空間使用量,也可以僅檢測(cè)用于歸檔存儲(chǔ)的至少一個(gè)硬盤的I/OPS,還可以同時(shí)檢測(cè)所述至少一個(gè)硬盤的空間使用量和I/OPS。例如,若某一個(gè)硬盤的空間使用量大于零且每秒輸入/輸出次數(shù)I/OPS大于零,則確定所述硬盤為正在數(shù)據(jù)對(duì)進(jìn)行歸檔存儲(chǔ)操作,相反若某一個(gè)硬盤的空間使用量等于零且每秒輸入/輸出次數(shù)I/OPS也為零,則表示該硬盤為留作備用歸檔存儲(chǔ)的空閑硬盤。
S150中,根據(jù)使用狀態(tài)和預(yù)設(shè)的下電條件從所述至少一個(gè)硬盤中確定需要進(jìn)行下電處理的目標(biāo)硬盤。
具體地,系統(tǒng)根據(jù)接收到的使用狀態(tài)信息判斷使用狀態(tài)是否符合下電條件的要求,若第一硬盤的使用狀態(tài)符合下電條件的要求,則確定第一硬盤即為需要進(jìn)行下電處理的目標(biāo)硬盤。
其中,使用狀態(tài)包括硬盤的空間使用量和/或每秒輸入/輸出次數(shù)I/OPS。
下電條件包括:
在硬盤達(dá)到滿載狀態(tài),且硬盤的每秒輸入/輸出次數(shù)I/OPS等于零持續(xù)的時(shí)長大于或等于第一時(shí)長閾值,系統(tǒng)即確定所述硬盤為需要進(jìn)行下電處理的目標(biāo)硬盤;即達(dá)到滿載狀態(tài)后硬盤內(nèi)的數(shù)據(jù)距離最近一次被訪問持續(xù)的時(shí)長大于或等于第一時(shí)長閾值時(shí),確定所述硬盤為需要進(jìn)行下電處理的目標(biāo)硬盤。
可選地,當(dāng)?shù)谝挥脖P沒有達(dá)到滿載狀態(tài)時(shí),確定第一硬盤不下電。
應(yīng)理解,下電條件既可以是用戶根據(jù)分布式存儲(chǔ)軟件呈現(xiàn)的界面輸入第一時(shí)長閾值等參數(shù)預(yù)設(shè)的,也可以是分布式存儲(chǔ)系統(tǒng)自身預(yù)設(shè)的參數(shù)和條件,本發(fā)明在此不作限定。
可選地,當(dāng)所述至少一塊硬盤中的硬盤正在進(jìn)行歸檔存儲(chǔ)操作,則在系統(tǒng)確定需要進(jìn)行下電處理的目標(biāo)硬盤之前,還應(yīng)當(dāng)先確認(rèn)達(dá)到滿載狀態(tài)的硬盤。具體地,一方面,當(dāng)正在進(jìn)行歸檔存儲(chǔ)操作的至少一塊硬盤中存在達(dá)到滿載狀態(tài)的一塊或多塊硬盤時(shí),若其中若干塊滿足下電條件,則確定所述若干塊硬盤為需要進(jìn)行下電處理的目標(biāo)硬盤;另一方面,當(dāng)正在進(jìn)行歸檔存儲(chǔ)操作的至少一塊硬盤均沒有達(dá)到滿載狀態(tài)的硬盤時(shí),則系統(tǒng)將其中第二硬盤中的數(shù)據(jù)轉(zhuǎn)移至第一硬盤,以使得第一硬盤達(dá)到滿載狀態(tài)。
因此,在第一硬盤沒有達(dá)到滿載狀態(tài)時(shí),分布式存儲(chǔ)系統(tǒng)通過數(shù)據(jù)流動(dòng)的方式使得某些硬盤更快的達(dá)到滿載狀態(tài),加快了下電調(diào)度的進(jìn)程,能夠達(dá)到更好的節(jié)能效果。
可選地,當(dāng)正在進(jìn)行歸檔存儲(chǔ)操作的至少一塊硬盤均沒有達(dá)到滿載狀態(tài)時(shí),系統(tǒng)檢測(cè)第二硬盤的I/OPS等于零持續(xù)的第二時(shí)長;在所述第二時(shí)長大于或等于預(yù)設(shè)的第二時(shí)長閾值時(shí),將第二硬盤中的數(shù)據(jù)轉(zhuǎn)移至所述第一硬盤。即若距離第二硬盤最近一次存儲(chǔ)操作的第二時(shí)長大于或等于第二時(shí)長閾值,將第二硬盤中的數(shù)據(jù)轉(zhuǎn)移至所述第一硬盤。
因此,分布式存儲(chǔ)系統(tǒng)通過判斷硬盤的狀態(tài)能夠控制硬盤中的數(shù)據(jù)相互流動(dòng),即只有在硬盤沒有進(jìn)行讀取操作和寫入操作的情況下才能控制其中存儲(chǔ)數(shù)據(jù)流動(dòng)至別的硬盤。
例如,假設(shè)分布式存儲(chǔ)系統(tǒng)檢測(cè)到系統(tǒng)內(nèi)的總硬盤數(shù)為12塊,這12塊硬盤可以分布于同一服務(wù)器上,也可以分布于不同的服務(wù)器上,且其中4塊硬盤正在使用,即內(nèi)部存儲(chǔ)有數(shù)據(jù),另外8塊硬盤處于空閑狀態(tài),然后所述系統(tǒng)在這8塊空閑的硬盤中確定能夠用于歸檔存儲(chǔ)的至少一個(gè)硬盤。假設(shè)選擇了8塊空閑硬盤中的4塊硬盤用于歸檔存儲(chǔ)數(shù)據(jù),且對(duì)這4塊歸檔存儲(chǔ)硬盤標(biāo)注為節(jié)電模式,表示可以對(duì)這4塊硬盤進(jìn)行下電處理,使得這4塊硬盤在滿足下電條件后即可被下電,維持了不用于歸檔存儲(chǔ)的硬盤的正常工作。同時(shí),系統(tǒng)還可以將這4塊硬盤標(biāo)注為獨(dú)占模式,表明這4塊硬盤僅能用于歸檔存儲(chǔ)服務(wù),不接受其他數(shù)據(jù)服務(wù)請(qǐng)求,確保了用于歸檔存儲(chǔ)的硬盤的可靠性。應(yīng)理解,這4塊硬盤可以分布于同一服務(wù)器上,也可以分布于不同的服務(wù)器上。
在系統(tǒng)將待歸檔存儲(chǔ)數(shù)據(jù)存儲(chǔ)到能夠用于歸檔存儲(chǔ)的這4塊硬盤當(dāng)中時(shí),會(huì)周期性檢測(cè)這4塊硬盤的使用狀態(tài),包括空間使用量和每秒輸入/輸出次數(shù)I/OPS。假設(shè)4塊硬盤中第一硬盤的硬盤容量為200G,分布式存儲(chǔ)系統(tǒng)檢測(cè)到第一硬盤的當(dāng)前空間使用量已經(jīng)為200G,說明此時(shí)第一硬盤已經(jīng)達(dá)到滿載狀態(tài),此時(shí)系統(tǒng)繼續(xù)檢測(cè)在90天內(nèi)的每秒輸入/輸出次數(shù)I/OPS,若在90天內(nèi)每秒輸入/輸出次數(shù)I/OPS均為零,即說明在大小為90天的第一時(shí)長內(nèi)第一硬盤沒有進(jìn)行新的數(shù)據(jù)存儲(chǔ)操作,此時(shí)分布式存儲(chǔ)系統(tǒng)則控制確定第一硬盤為需要進(jìn)行下電處理的目標(biāo)硬盤。
另一方面,假設(shè)第一硬盤的硬盤容量為200G,分布式存儲(chǔ)系統(tǒng)檢測(cè)到第一硬盤的當(dāng)前空間使用量已經(jīng)為100G,即第一硬盤未達(dá)到滿載狀態(tài),第一硬盤暫時(shí)不下電,等到后續(xù)的新的數(shù)據(jù)寫入進(jìn)去后,再根據(jù)策略進(jìn)行下電調(diào)度。
可選地,在用于歸檔存儲(chǔ)的4塊硬盤中,假設(shè)其中2塊正在進(jìn)行歸檔存儲(chǔ),另外2塊處于空閑狀態(tài),留作備用,如果在正在進(jìn)行歸檔存儲(chǔ)的2塊硬盤之中,第一硬盤的空間使用量為150G,未達(dá)到滿載狀態(tài),同時(shí)第二硬盤的空間使用量為100G,也未達(dá)到滿載狀態(tài),此時(shí)系統(tǒng)可以將第二硬盤中的數(shù)據(jù)轉(zhuǎn)移其中的50G大小至第一硬盤中,使得第一硬盤達(dá)到滿載狀態(tài),接著系統(tǒng)檢測(cè)到在所述第一時(shí)長內(nèi)第一硬盤的每秒輸入/輸出次數(shù)I/OPS,若符合下電條件,則確定第一硬盤為需要進(jìn)行下電處理的目標(biāo)硬盤。
可選地,系統(tǒng)在控制第二硬盤中的數(shù)據(jù)轉(zhuǎn)移到第一硬盤之前,還可以檢測(cè)第二硬盤在30天內(nèi)的每秒輸入/輸出次數(shù)I/OPS,若在長度為30天的第二時(shí)長內(nèi)第二硬盤的每秒輸入/輸出次數(shù)I/OPS均為零,即在距離最近一次進(jìn)行存儲(chǔ)操作的30天內(nèi)沒有新的數(shù)據(jù)讀取和寫入操作發(fā)生,則確定將第二硬盤中的數(shù)據(jù)轉(zhuǎn)移其中的50G大小至第一硬盤中,使得第一硬盤達(dá)到滿載狀態(tài),系統(tǒng)繼續(xù)檢測(cè)在第一時(shí)長內(nèi)第一硬盤的每秒輸入/輸出次數(shù)I/OPS,若符合下電條件,則確定第一硬盤為需要進(jìn)行下電處理的目標(biāo)硬盤。
應(yīng)理解,系統(tǒng)也可以轉(zhuǎn)移第一硬盤中100G的數(shù)據(jù)至第二硬盤,使得第二硬盤達(dá)到滿載狀態(tài),同樣系統(tǒng)檢測(cè)到在所述第一時(shí)長閾值內(nèi)的第二硬盤的每秒輸入/輸出次數(shù)I/OPS,若符合下電條件,則確定所述第二硬盤為需要進(jìn)行下電處理的目標(biāo)硬盤。
應(yīng)理解,系統(tǒng)也同樣可以檢測(cè)第一硬盤在30天內(nèi)的每秒輸入/輸出次數(shù)I/OPS,若在長度為30天的第二時(shí)長內(nèi)第一硬盤的每秒輸入/輸出次數(shù)I/OPS等于零,即在距離最近一次進(jìn)行存儲(chǔ)操作的30天內(nèi)沒有新的數(shù)據(jù)讀取和寫入操作發(fā)生,則確定將第一硬盤中的數(shù)據(jù)轉(zhuǎn)移其中的50G大小至第二硬盤中,使得第二硬盤達(dá)到滿載狀態(tài),接著系統(tǒng)檢測(cè)在所述第一時(shí)長內(nèi)的第二硬盤的每秒輸入/輸出次數(shù)I/OPS,若符合下電條件,則確定所述第二硬盤為需要進(jìn)行下電處理的目標(biāo)硬盤。
可選地,如果使用狀態(tài)僅包括硬盤的空間使用量,則下電條件還可以包括在硬盤的空間使用量達(dá)到第一使用量閾值時(shí)即確定所述硬盤為需要進(jìn)行下電處理的目標(biāo)硬盤。
可選地,如果使用狀態(tài)僅包括硬盤的每秒輸入/輸出次數(shù)I/OPS,則下電條件包括在硬盤的I/OPS小于或等于第一I/OPS閾值時(shí)即確定所述硬盤為需要進(jìn)行下電處理的目標(biāo)硬盤。
應(yīng)理解,除了檢測(cè)硬盤的空間使用量和/或每秒輸入/輸出次數(shù)I/OPS以外,還可以檢測(cè)硬盤的其他指標(biāo),比如硬盤的空間余量、硬盤的轉(zhuǎn)速和磁頭擱置時(shí)間等。
例如,在在硬盤的空間余量等于零即滿載狀態(tài)且硬盤的轉(zhuǎn)速小于或等于預(yù)設(shè)的第一轉(zhuǎn)速閾值所持續(xù)的時(shí)長大于或等于第一時(shí)長閾值時(shí),硬盤即符合下電條件;同時(shí)對(duì)于沒有達(dá)到滿載狀態(tài)的硬盤如果硬盤的轉(zhuǎn)速小于或等于預(yù)設(shè)的第一轉(zhuǎn)速閾值所持續(xù)的時(shí)長大于或等于第二時(shí)長閾值時(shí),即將所述硬盤中的數(shù)據(jù)轉(zhuǎn)移至別的硬盤。
又例如在硬盤的空間余量等于零即滿載狀態(tài)且硬盤的磁頭處于擱置狀態(tài)所持續(xù)的時(shí)長大于或等于第一時(shí)長閾值時(shí),硬盤即符合下電條件;同時(shí)對(duì)于沒有達(dá)到滿載狀態(tài)的硬盤如果硬盤的磁頭處于擱置狀態(tài)所持續(xù)的時(shí)長大于或等于第二時(shí)長閾值時(shí),即將所述硬盤中的數(shù)據(jù)轉(zhuǎn)移至別的硬盤。
由此,凡是能夠表示硬盤的使用狀態(tài)的指標(biāo)都可以用來作為下電的參考因素,本發(fā)明在此不作限定。
S160,系統(tǒng)確定需要進(jìn)行下電處理的目標(biāo)硬盤后,即控制對(duì)目標(biāo)硬盤進(jìn)行下電。
由此,相比于傳統(tǒng)對(duì)用于歸檔存儲(chǔ)的硬盤不進(jìn)行下電處理,導(dǎo)致資源的浪費(fèi),本發(fā)明通過比較用于歸檔存儲(chǔ)的硬盤的使用狀態(tài)和預(yù)設(shè)的下電條件,能夠?qū)崿F(xiàn)有選擇性地對(duì)用于歸檔存儲(chǔ)的硬盤進(jìn)行單獨(dú)下電,可以達(dá)到節(jié)能的效果。
VBS將所述至少一個(gè)硬盤標(biāo)注為節(jié)電模式后,將標(biāo)注信息發(fā)送給位于邊緣節(jié)點(diǎn)處的OSD,各服務(wù)器的相應(yīng)硬盤對(duì)應(yīng)的OSD則對(duì)該硬盤進(jìn)行二次標(biāo)記,并且在該硬盤為需要進(jìn)行下點(diǎn)處理的目標(biāo)硬盤時(shí)通過OSD對(duì)該目標(biāo)硬盤控制下電。
應(yīng)理解,檢測(cè)所述至少一個(gè)硬盤的使用狀態(tài)以及將所述至少一個(gè)硬盤標(biāo)注為節(jié)電模式和獨(dú)占模式等步驟均可以由系統(tǒng)內(nèi)的虛擬塊存儲(chǔ)管理組件VBS執(zhí)行,同時(shí)對(duì)服務(wù)器上用于進(jìn)行歸檔存儲(chǔ)的硬盤進(jìn)行二次標(biāo)記以及對(duì)目標(biāo)硬盤進(jìn)行下電等步驟均由部署在服務(wù)器上的對(duì)象存儲(chǔ)設(shè)備OSD執(zhí)行。
優(yōu)選地,如果在分布式存儲(chǔ)系統(tǒng)中的一個(gè)或多個(gè)服務(wù)器中的全部硬盤均被用作歸檔存儲(chǔ)且滿足下電條件,對(duì)服務(wù)器的全部硬盤進(jìn)行下電處理后,系統(tǒng)即對(duì)整個(gè)服務(wù)器進(jìn)行下電處理,能夠最大程度地達(dá)到節(jié)能效果。
當(dāng)然,應(yīng)理解,上述對(duì)硬盤下電的策略的執(zhí)行都是建立在硬盤能夠被單獨(dú)下電的基礎(chǔ)上的,而傳統(tǒng)的硬盤與硬盤背板的連接方式不能支持對(duì)硬盤進(jìn)行單獨(dú)下電,因此本發(fā)明實(shí)施例對(duì)服務(wù)器上的硬盤與硬盤背板的連接方式進(jìn)行了改進(jìn),能夠確保目標(biāo)硬盤需要進(jìn)行下電時(shí)即可單獨(dú)下電,不影響其他硬盤的供電。
可選地,圖4示出了服務(wù)器上硬盤與硬盤背板的連接圖。系統(tǒng)用作歸檔存儲(chǔ)的每塊硬盤均應(yīng)當(dāng)與所屬服務(wù)器中的硬盤背板通過單獨(dú)走線連接方式連接。應(yīng)理解,傳統(tǒng)獨(dú)立磁盤冗余陣列(Redundant Arrays of Independent Disks,簡稱“RAID”)技術(shù)通過將多塊獨(dú)立的物理磁盤按照不同組合方式組合起來形成一個(gè)邏輯磁盤,從而能夠提供比單個(gè)磁盤有著更高的性能和提供冗余數(shù)據(jù)。另外在保證數(shù)據(jù)安全方面,當(dāng)其中某一磁盤出現(xiàn)故障時(shí),可以通過RAID中的其他磁盤來恢復(fù)磁盤中的數(shù)據(jù)。在傳統(tǒng)服務(wù)器架構(gòu)中,RAID卡一般不和磁盤直接相連,而是通過磁盤背板與磁盤相連,以方便磁盤的插拔,同時(shí)硬盤背板與硬盤之間是通過總線式連接后與RAID卡進(jìn)行連接。由此,如果為節(jié)約資源需要對(duì)其中某一個(gè)硬盤單獨(dú)下電,由于硬盤與硬盤背板之間是總線式連接,則服務(wù)器上所有的硬盤勢(shì)必都會(huì)被下電,影響設(shè)備正常運(yùn)行。
在本發(fā)明實(shí)施例中,如圖4所示,去除了RAID卡,通過分布式存儲(chǔ)系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),同時(shí)將分布式存儲(chǔ)系統(tǒng)內(nèi)用作歸檔存儲(chǔ)的硬盤與所屬服務(wù)器的硬盤背板之間均采用單獨(dú)走線連接方式進(jìn)行連接,即每個(gè)硬盤與所屬服務(wù)器的硬盤背板之間單獨(dú)連接,匯總于硬盤背板接口上,由此能夠?qū)崿F(xiàn)系統(tǒng)對(duì)某一個(gè)硬盤單獨(dú)下電而不影響其它硬盤的正常運(yùn)行,從而節(jié)約了資源。分布式存儲(chǔ)系統(tǒng)本身可以通過多副本的方式保證數(shù)據(jù)安全,即同一份數(shù)據(jù)可以復(fù)制保存多個(gè)副本,在數(shù)據(jù)存儲(chǔ)前,對(duì)數(shù)據(jù)進(jìn)行分片,分片后的數(shù)據(jù)按照一定的規(guī)則保存在不同的存儲(chǔ)節(jié)點(diǎn)上,在硬件發(fā)生故障時(shí),由于數(shù)據(jù)被分散到多個(gè)不同的存儲(chǔ)節(jié)點(diǎn)上保存,可以在不同的存儲(chǔ)節(jié)點(diǎn)上同時(shí)啟動(dòng)修復(fù),每個(gè)節(jié)點(diǎn)上只需修復(fù)一小部分?jǐn)?shù)據(jù),多個(gè)節(jié)點(diǎn)并行工作,做到對(duì)上層業(yè)務(wù)的影響最小化。
應(yīng)理解,硬盤與硬盤背板之間除了采用上述單獨(dú)走線的方式實(shí)現(xiàn)單獨(dú)下電的目的以外,還可以通過其他的方式達(dá)到上述目的。例如,可以對(duì)硬盤設(shè)置控制電路,比如每兩個(gè)硬盤之間設(shè)置一個(gè)第一開關(guān)組件,同時(shí)每個(gè)硬盤與總線之間設(shè)置第二開關(guān)組件,當(dāng)確定第一硬盤需要進(jìn)行單獨(dú)下電處理后,通過控制電路控制第一開關(guān)組件斷開,同時(shí)第二開關(guān)組件閉合,實(shí)現(xiàn)了對(duì)第一硬盤的單獨(dú)下電而其余硬盤不受影響。當(dāng)然,還有很多種方式能夠?qū)崿F(xiàn)上述功能,本發(fā)明在此不作限定。
應(yīng)理解,分布式存儲(chǔ)系統(tǒng)對(duì)在存儲(chǔ)及下電過程中會(huì)對(duì)系統(tǒng)的各服務(wù)器的運(yùn)行情況如CPU和內(nèi)存進(jìn)行監(jiān)控,當(dāng)用作歸檔存儲(chǔ)的硬盤滿足下電條件進(jìn)入下電狀態(tài)后,該硬盤所占用的CPU/內(nèi)存重新進(jìn)入計(jì)算資源池,以供分布式存儲(chǔ)系統(tǒng)通過虛擬機(jī)重新調(diào)度給其它的硬盤。
應(yīng)理解,在所述目標(biāo)硬盤下電后,若用戶需要訪問所述目標(biāo)硬盤內(nèi)已經(jīng)歸檔的數(shù)據(jù)時(shí),系統(tǒng)首先會(huì)對(duì)以下電的硬盤首先上電,接著系統(tǒng)為所述目標(biāo)硬盤分配相匹配的計(jì)算資源,以使得尋找到對(duì)應(yīng)的目標(biāo)數(shù)據(jù)。
應(yīng)理解,上述對(duì)硬盤與硬盤背板之間連接方式的改進(jìn)應(yīng)當(dāng)不局限于用作歸檔存儲(chǔ)的硬盤與硬盤背板之間,上述分布式存儲(chǔ)系統(tǒng)內(nèi)的所有硬盤與所屬服務(wù)器的硬盤背板之間均可以通過上述方式進(jìn)行連接,凡是能夠?qū)崿F(xiàn)對(duì)歸檔存儲(chǔ)硬盤進(jìn)行下電的布局范圍都應(yīng)當(dāng)在本發(fā)明的保護(hù)范圍以內(nèi),本發(fā)明再次不作限定。
由此,相比于傳統(tǒng)對(duì)歸檔存儲(chǔ)硬盤不進(jìn)行下電處理,導(dǎo)致資源的浪費(fèi),本發(fā)明通過比較用于歸檔存儲(chǔ)的硬盤的使用狀態(tài)和預(yù)設(shè)的下電條件實(shí)現(xiàn)了有選擇性地對(duì)用于歸檔存儲(chǔ)的硬盤進(jìn)行單獨(dú)下電,從而節(jié)約了資源。
上文結(jié)合圖1至圖4,詳細(xì)描述了根據(jù)本發(fā)明實(shí)施例的一種系統(tǒng)節(jié)能的方法,下面將結(jié)合圖5至圖9,詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的節(jié)能系統(tǒng)。
圖5為根據(jù)本發(fā)明的節(jié)能系統(tǒng)200的示意性框圖。如圖5所示,該系統(tǒng)200包括:
獲取模塊201,用于獲取歸檔存儲(chǔ)請(qǐng)求,歸檔存儲(chǔ)請(qǐng)求用于請(qǐng)求對(duì)待歸檔存儲(chǔ)數(shù)據(jù)進(jìn)行歸檔存儲(chǔ);
第一確定模塊202,用于根據(jù)獲取模塊201獲取的歸檔模塊獲取的歸檔存儲(chǔ)請(qǐng)求確定用于歸檔存儲(chǔ)的至少一個(gè)硬盤;
歸檔模塊203,用于將待歸檔存儲(chǔ)數(shù)據(jù)存儲(chǔ)到第一確定模塊202確定的所述至少一個(gè)硬盤中;
檢測(cè)模塊204,用于檢測(cè)第一確定模塊202確定的所述至少一個(gè)硬盤的使用狀態(tài);
第二確定模塊205,用于根據(jù)檢測(cè)模塊204檢測(cè)到的使用狀態(tài)和預(yù)設(shè)的下電條件確定需要進(jìn)行下電處理的目標(biāo)硬盤;
下電模塊206,用于對(duì)第二確定模塊205確定的目標(biāo)硬盤進(jìn)行下電處理。
由此,本發(fā)明提供的節(jié)能系統(tǒng),相比于傳統(tǒng)對(duì)歸檔存儲(chǔ)硬盤不下電,導(dǎo)致資源的浪費(fèi),通過比較用于歸檔存儲(chǔ)的硬盤的使用狀態(tài)和預(yù)設(shè)的下電條件可以實(shí)現(xiàn)有選擇性地對(duì)用于歸檔存儲(chǔ)的硬盤進(jìn)行單獨(dú)下電,能夠達(dá)到節(jié)能效果。
其中,使用狀態(tài)包括所述至少一個(gè)硬盤的空間使用量和/或每秒輸入/輸出次數(shù)I/OPS;下電條件包括硬盤達(dá)到滿載狀態(tài)且硬盤的I/OPS等于零所持續(xù)的時(shí)長大于或等于第一時(shí)長閾值;
可選地,如圖6所示,檢測(cè)模塊204還包括:
第一檢測(cè)單元2041,用于檢測(cè)所述至少一個(gè)硬盤中的第一硬盤的空間使用量;
第二檢測(cè)單元2042,用于檢測(cè)所述第一硬盤的I/OPS等于零所持續(xù)的第一時(shí)長。
第二確定模塊205具體用于在第一檢測(cè)單元2041確定第一硬盤達(dá)到滿載狀態(tài),且在第二檢測(cè)單元2042確定第一時(shí)長大于或等于第一時(shí)長閾值時(shí),確定第一硬盤為所述目標(biāo)硬盤。
可選地,如圖7所示,系統(tǒng)還包括:
轉(zhuǎn)移模塊207,用于在第一硬盤沒有達(dá)到滿載狀態(tài)時(shí),將所述至少一個(gè)硬盤中的第二硬盤中的數(shù)據(jù)轉(zhuǎn)移至第一硬盤,以使得第一硬盤達(dá)到滿載狀態(tài)。
可選地,在檢測(cè)模塊204檢測(cè)的第二硬盤的I/OPS等于零持續(xù)的第二時(shí)長大于或等于預(yù)設(shè)的第二時(shí)長閾值時(shí),將第二硬盤中的數(shù)據(jù)轉(zhuǎn)移至第一硬盤。
可選地,如果使用狀態(tài)僅包括硬盤的空間使用量,則下電條件還可以包括在硬盤的空間使用量達(dá)到第一使用量閾值時(shí)即確定所述硬盤為需要進(jìn)行下電處理的目標(biāo)硬盤。
可選地,如果使用狀態(tài)僅包括硬盤的每秒輸入/輸出次數(shù)I/OPS,則下電條件包括在硬盤的I/OPS小于或等于第一I/OPS閾值時(shí)即確定所述硬盤為需要進(jìn)行下電處理的目標(biāo)硬盤。
可選地,如圖8所示,系統(tǒng)還包括:
標(biāo)注模塊208,用于將所述至少一個(gè)硬盤標(biāo)注為節(jié)電模式,節(jié)電模式用于表明可以對(duì)所述至少一個(gè)硬盤進(jìn)行下電。
可選地,標(biāo)注模塊208還可以將所述至少一個(gè)硬盤標(biāo)注為獨(dú)占模式,表明所述至少一個(gè)硬盤僅能用于對(duì)數(shù)據(jù)進(jìn)行歸檔存儲(chǔ),不接受其他數(shù)據(jù)服務(wù)請(qǐng)求。
可選地,檢測(cè)模塊204和標(biāo)注模塊208可以是虛擬塊存儲(chǔ)管理組件VBS。
可選地,下電模塊206可以是對(duì)象存儲(chǔ)設(shè)備OSD。
可選地,所述至少一個(gè)硬盤中的每個(gè)硬盤與所屬服務(wù)器的硬盤背板之間采用單獨(dú)走線的方式進(jìn)行連接。
優(yōu)選地,如果在分布式存儲(chǔ)系統(tǒng)中的一個(gè)或多個(gè)服務(wù)器中的全部硬盤均被用作歸檔存儲(chǔ)且滿足下電條件,對(duì)服務(wù)器的全部硬盤進(jìn)行下電處理后,系統(tǒng)即對(duì)整個(gè)服務(wù)器進(jìn)行下電處理,能夠最大程度地達(dá)到節(jié)能效果。
應(yīng)理解,根據(jù)本發(fā)明實(shí)施例的節(jié)能的系統(tǒng)200可以對(duì)應(yīng)于本發(fā)明實(shí)施例中的方法的執(zhí)行主體,并且系統(tǒng)200中的各個(gè)模塊的上述和其它操作和/或功能分別為了實(shí)現(xiàn)圖2的方法100的相應(yīng)流程,為了簡介,再次不再贅述。
因此,本發(fā)明提供的節(jié)能系統(tǒng),相比于傳統(tǒng)對(duì)歸檔存儲(chǔ)硬盤不進(jìn)行下電處理,導(dǎo)致資源的浪費(fèi),通過比較用于歸檔存儲(chǔ)的硬盤的使用狀態(tài)和預(yù)設(shè)的下電條件,可以實(shí)現(xiàn)有選擇性地對(duì)用于歸檔存儲(chǔ)的硬盤進(jìn)行單獨(dú)下電,能夠節(jié)約資源。
圖9為根據(jù)本發(fā)明實(shí)施例的節(jié)能系統(tǒng)300的示意圖。如圖9所示,該節(jié)能系統(tǒng)300包括至少一個(gè)服務(wù)器,其中至少一個(gè)服務(wù)器包括服務(wù)器310、服務(wù)器320…服務(wù)器N等。至少一個(gè)服務(wù)器中的服務(wù)器310包括處理器311、存儲(chǔ)器312、總線系統(tǒng)313和通信接口314,其中,處理器311存儲(chǔ)器312和通信接口314通過總線系統(tǒng)313相連,存儲(chǔ)器312用于存儲(chǔ)指令,處理器311用于執(zhí)行存儲(chǔ)器312存儲(chǔ)的指令,以實(shí)現(xiàn)與所述節(jié)能系統(tǒng)300中的其它服務(wù)器進(jìn)行數(shù)據(jù)交互來執(zhí)行上述實(shí)施例提供的系統(tǒng)節(jié)能的方法。
具體地,處理器311可以用于:
獲取歸檔存儲(chǔ)請(qǐng)求,歸檔存儲(chǔ)請(qǐng)求用于請(qǐng)求對(duì)待歸檔存儲(chǔ)數(shù)據(jù)進(jìn)行歸檔存儲(chǔ);
根據(jù)歸檔存儲(chǔ)請(qǐng)求確定用于歸檔存儲(chǔ)的至少一個(gè)硬盤;
將待歸檔存儲(chǔ)數(shù)據(jù)存儲(chǔ)到所述至少一個(gè)硬盤中;
檢測(cè)所述至少一個(gè)硬盤的使用狀態(tài);
根據(jù)使用狀態(tài)和預(yù)設(shè)的下電條件從所述至少一個(gè)硬盤中確定需要進(jìn)行下電處理的目標(biāo)硬盤;
對(duì)目標(biāo)硬盤進(jìn)行下電處理。
可選地,使用狀態(tài)包括空間使用量和/或每秒輸入/輸出次數(shù)I/OPS。
可選地,下電條件包括硬盤達(dá)到滿載狀態(tài)且硬盤的每秒輸入/輸出次數(shù)I/OPS等于零所持續(xù)的時(shí)長大于或等于預(yù)設(shè)的第一時(shí)長閾值;
處理器根據(jù)使用狀態(tài)和預(yù)設(shè)的下電條件從所述至少一個(gè)硬盤中確定需要進(jìn)行下電處理的目標(biāo)硬盤,包括:
檢測(cè)所述至少一個(gè)硬盤中的第一硬盤的空間使用量;
檢測(cè)第一硬盤的I/OPS等于零所持續(xù)的第一時(shí)長;
在第一硬盤達(dá)到滿載狀態(tài)且第一時(shí)長大于或等于第一時(shí)長閾值時(shí),確定第一硬盤為目標(biāo)硬盤。
可選地,處理器還用于:在第一硬盤沒有達(dá)到滿載狀態(tài)時(shí),將所述至少一個(gè)硬盤中的第二硬盤中的數(shù)據(jù)轉(zhuǎn)移至第一硬盤,以使得第一硬盤達(dá)到滿載狀態(tài)。
可選地,處理器將所述至少一個(gè)硬盤中的第二硬盤中的數(shù)據(jù)轉(zhuǎn)移至第一硬盤,包括:
檢測(cè)第二硬盤的I/OPS等于零持續(xù)的第二時(shí)長;
在第二時(shí)長大于或等于預(yù)設(shè)的第二時(shí)長閾值時(shí),將第二硬盤中的數(shù)據(jù)轉(zhuǎn)移至所述第一硬盤。
可選地,處理器包括虛擬塊存儲(chǔ)管理組件VBS。
可選地,處理器還包括對(duì)象存儲(chǔ)設(shè)備OSD。
在根據(jù)歸檔存儲(chǔ)請(qǐng)求確定用于歸檔存儲(chǔ)的至少一個(gè)硬盤之后,處理器還用于:
將所述至少一個(gè)硬盤標(biāo)注為節(jié)電模式,節(jié)電模式用于表明可以對(duì)所述至少一個(gè)硬盤進(jìn)行下電。
可選地,至少一個(gè)硬盤中的每個(gè)硬盤與所屬服務(wù)器的硬盤背板之間采用單獨(dú)走線的方式進(jìn)行連接。
圖5至8中所述的節(jié)能系統(tǒng)200或圖9中所述的節(jié)能系統(tǒng)300能夠?qū)崿F(xiàn)圖2至圖4的實(shí)施例中所述的節(jié)能方法,為避免重復(fù),這里不再贅述。
應(yīng)理解,服務(wù)器310僅僅是至少一個(gè)服務(wù)器中的任意一個(gè)服務(wù)器,至少一個(gè)服務(wù)器中的其它服務(wù)器,如服務(wù)器320到服務(wù)器N中的任意一個(gè)服務(wù)器,均可以包含服務(wù)器310包括的處理器和存儲(chǔ)器。
應(yīng)理解,在本發(fā)明實(shí)施例中,該處理器311可以是中央處理單元(Central Processing Unit,簡稱為“CPU”),該處理器311還可以是其他通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
該存儲(chǔ)器312可以包括只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,并向處理器311提供指令和數(shù)據(jù)??梢岳斫猓景l(fā)明實(shí)施例中的存儲(chǔ)器可以是易失性存儲(chǔ)器或非易失性存儲(chǔ)器,或可包括易失性和非易失性存儲(chǔ)器兩者。其中,非易失性存儲(chǔ)器可以是只讀存儲(chǔ)器(read-only memory,簡稱“ROM”)、可編程只讀存儲(chǔ)器(programmable ROM,簡稱“PROM”)、可擦除可編程只讀存儲(chǔ)器(erasable PROM,簡稱“EPROM”)、電可擦除可編程只讀存儲(chǔ)器(electrically EPROM,簡稱“EEPROM”)或閃存。易失性存儲(chǔ)器可以是隨機(jī)存取存儲(chǔ)器(random access memory,簡稱“RAM”),其用作外部高速緩存。通過示例性但不是限制性說明,許多形式的RAM可用,例如靜態(tài)隨機(jī)存取存儲(chǔ)器(static RAM,簡稱“SRAM”)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dynamic RAM,簡稱“DRAM”)、同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(synchronous DRAM,簡稱“SDRAM”)、雙倍數(shù)據(jù)速率同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(souble sata rate SDRAM,簡稱“DDR SDRAM”)、增強(qiáng)型同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(enhanced SDRAM,簡稱“ESDRAM”)、同步連接動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(synchlink DRAM,簡稱“SLDRAM”)和直接內(nèi)存總線隨機(jī)存取存儲(chǔ)器(direct rambus RAM,簡稱“DR RAM”)。應(yīng)注意,本文描述的系統(tǒng)和方法的存儲(chǔ)器旨在包括但不限于這些和任意其它適合類型的存儲(chǔ)器。
該總線系統(tǒng)313除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號(hào)總線等。但是為了清楚說明起見,在圖中將各種總線都標(biāo)為總線系統(tǒng)313。
在實(shí)現(xiàn)過程中,上述方法的各步驟可以通過處理器312中的硬件的集成邏輯電路或者軟件形式的指令完成。結(jié)合本發(fā)明實(shí)施例所公開的方法的步驟可以直接體現(xiàn)為硬件處理器執(zhí)行完成,或者用處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器312,處理器311讀取存儲(chǔ)器312中的信息,結(jié)合其硬件完成上述方法的步驟。為避免重復(fù),這里不再詳細(xì)描述。
因此,本發(fā)明實(shí)施例的節(jié)能系統(tǒng),根據(jù)歸檔存儲(chǔ)硬盤的使用狀態(tài)和預(yù)設(shè)的下電條件對(duì)歸檔存儲(chǔ)的硬盤有選擇性地單獨(dú)下電,從而在保證系統(tǒng)正常工作的同時(shí)達(dá)到節(jié)能效果。
應(yīng)理解,在本發(fā)明實(shí)施例中,“與A相應(yīng)的B”表示B與A相關(guān)聯(lián),根據(jù)A可以確定B。但還應(yīng)理解,根據(jù)A確定B并不意味著僅僅根據(jù)A確定B,還可以根據(jù)A和/或其它信息確定B。
另外,本文中術(shù)語“系統(tǒng)”和“網(wǎng)絡(luò)”在本文中常被可互換使用。本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:單獨(dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例中描述的各方法步驟和單元,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各實(shí)施例的步驟及組成。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。本領(lǐng)域普通技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實(shí)施例描述的方法或步驟可以用硬件、處理器執(zhí)行的軟件程序,或者二者的結(jié)合來實(shí)施。軟件程序可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
盡管通過參考附圖并結(jié)合優(yōu)選實(shí)施例的方式對(duì)本發(fā)明進(jìn)行了詳細(xì)描述,但本發(fā)明并不限于此。在不脫離本發(fā)明的精神和實(shí)質(zhì)的前提下,本領(lǐng)域普通技術(shù)人員可以對(duì)本發(fā)明的實(shí)施例進(jìn)行各種等效的修改或替換,而這些修改或替換都應(yīng)在本發(fā)明的涵蓋范圍內(nèi)。