本發(fā)明涉及存儲技術(shù)領(lǐng)域,尤其涉及一種分布式塊存儲系統(tǒng)的管理平臺的部署方法和裝置。
背景技術(shù):
塊存儲主要是將裸磁盤空間整個映射給主機使用。此種方式下,操作系統(tǒng)還需要對掛載的裸硬盤進行分區(qū)、格式化后,才能使用,與平常主機內(nèi)置硬盤的方式完全無異。
分布式塊存儲使用常見的x86服務器,使用高速網(wǎng)絡(一般為萬兆)或者其它方式對服務器進行串聯(lián),將每個服務器上的磁盤統(tǒng)一管理,共同對外提供存儲服務。
分布式塊存儲的管理平臺用于對分布式塊存儲系統(tǒng)進行管理,是管理分布式塊存儲系統(tǒng)的應用系統(tǒng),通過它可以對存儲系統(tǒng)進行日常管理和運維工作,如存儲節(jié)點管理、磁盤管理、卷管理、卷訪問策略管理、系統(tǒng)監(jiān)控等。一般由幾部分組成,包括:前端服務、api(應用程序編程接口)服務、web服務、數(shù)據(jù)庫等幾個部分。一般需要將管理平臺單獨部署,在進行高可用部署時,需要部署兩臺服務器,并安裝高可用軟件。數(shù)據(jù)庫需要建立主備或者主主集群,web服務層需要做無狀態(tài)處理等等。在運維時要監(jiān)控各個服務的狀態(tài),如果發(fā)生故障切換后,要及時處理,解決出問題的服務器或者服務。當集群遇到機房斷電等故障后,系統(tǒng)通電之后往往需要手動恢復。
現(xiàn)有技術(shù)中,常規(guī)的分布式塊存儲的管理平臺高可用的部署方法,需要占用額外的服務器進行部署,使用雙機熱備技術(shù),故障切換時容易發(fā)生問題,恢復比較困難。原有的部署方法存在開發(fā)繁瑣、部署困難、運維困難、服務恢復復雜等問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的實施例提供了一種分布式塊存儲系統(tǒng)的管理平臺的部署方法和裝置,部署方式的實現(xiàn)比較簡單。
為了實現(xiàn)上述目的,本發(fā)明采取了如下技術(shù)方案。
一種分布式塊存儲系統(tǒng)的管理平臺的部署方法,包括:
將分布式塊存儲系統(tǒng)的管理平臺安裝在虛擬機中;
將所述虛擬機保存在所述分布式塊存儲系統(tǒng)中。
一種分布式塊存儲系統(tǒng)的管理平臺的部署裝置,包括:
安裝單元,將分布式塊存儲系統(tǒng)的管理平臺安裝在虛擬機中;
保存單元,將所述虛擬機保存在所述分布式塊存儲系統(tǒng)中。
由上述本發(fā)明的實施例提供的技術(shù)方案可以看出,本發(fā)明中,采用上述的管理平臺的部署方法,實現(xiàn)比較簡單。通過利用分布式塊存儲的服務,結(jié)合服務器虛擬化技術(shù),提供一種實現(xiàn)簡單的管理平臺的部署方法,使得后續(xù)管理平臺維護簡單。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例一提供的一種分布式塊存儲系統(tǒng)的管理平臺的部署方法的處理流程圖;
圖2為本發(fā)明應用場景中管理平臺虛擬機的狀態(tài)處理流程圖;
圖3為本發(fā)明實施例提供的一種分布式塊存儲系統(tǒng)的管理平臺的部署裝置的連接示意圖。
具體實施方式
下面詳細描述本發(fā)明的實施方式,所述實施方式的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
以下對本發(fā)明中的名詞進行簡單解釋。
虛擬機管理軟件:可以安裝在塊存儲服務器的操作系統(tǒng)中,可以管理虛擬機以及管理虛擬機所需的虛擬磁盤和虛擬網(wǎng)絡等。
虛擬機的配置文件:一般虛擬化管理軟件,如libvirt,創(chuàng)建和啟動虛擬機需要提供一個配置文件,此配置文件中包含虛擬機的信息,如虛擬cpu、虛擬內(nèi)存、虛擬磁盤、虛擬網(wǎng)絡等。
虛擬機的鏡像文件:虛擬機鏡像中保存了虛擬機的操作系統(tǒng)、安裝的軟件、數(shù)據(jù)等信息,可以通過虛擬機鏡像文件創(chuàng)建虛擬機,新創(chuàng)建的虛擬機會包含導出虛擬機鏡像時的虛擬機的操作系統(tǒng)、軟件和數(shù)據(jù)等信息。
如圖1所示,為本發(fā)明所述的一種分布式塊存儲系統(tǒng)的管理平臺的部署方法,包括:
步驟11,將分布式塊存儲系統(tǒng)的管理平臺安裝在虛擬機中;
步驟12,將所述虛擬機保存在所述分布式塊存儲系統(tǒng)中。
本發(fā)明中,采用上述的管理平臺的部署方法,實現(xiàn)比較簡單。通過利用分布式塊存儲的服務,結(jié)合服務器虛擬化技術(shù),提供一種實現(xiàn)簡單的管理平臺的,使得后續(xù)管理平臺維護簡單。
步驟12包括:
步驟121,獲取安裝有管理平臺的虛擬機的鏡像文件以及所述虛擬機的配置文件;
步驟122,在所述分布式塊塊存儲系統(tǒng)中,為所述虛擬機的虛擬磁盤分配卷;
步驟123,將所述虛擬機的鏡像文件導入到所述卷中;
步驟124,將所述虛擬機的配置文件拷貝到所述分布式塊存儲系統(tǒng)的各個塊存儲服務器上。
上述實施例中,具體描述了管理平臺和虛擬機在分布式塊存儲系統(tǒng)的部署方式。
所述方法還包括:
步驟13,每隔預定時間,檢查所述分布式塊存儲系統(tǒng)的塊存儲服務是否正常;
步驟14,當所述塊存儲服務出現(xiàn)故障時,并且所述塊存儲服務器中裝載有運行管理平臺的虛擬機時,則停止運行所述塊存儲服務器中的虛擬機;
步驟15,當所述塊存儲服務出現(xiàn)故障時,并且所述塊存儲服務器中沒有裝載有運行管理平臺的虛擬機時,則結(jié)束處理。
步驟16,當所述塊存儲服務的運行狀態(tài)為正常,且所述虛擬機的虛擬硬盤所在的卷正常時,判斷所述塊存儲服務器的當前身份是否為主節(jié)點,生成第一判斷結(jié)果;
步驟17,根據(jù)所述第一判斷結(jié)果,進行相應處理。
步驟18,當所述塊存儲服務的運行狀態(tài)為正常,且所述虛擬機的虛擬硬盤所在的卷異常時,則直接結(jié)束處理;
上述實施例中,步驟13-18可以為每個塊存儲服務器作為執(zhí)行主體執(zhí)行上述步驟,具體實現(xiàn)中,可以為安裝在塊存儲服務器中的腳本,每隔固定時間運行腳本。
步驟17包括:
步驟171,當所述第一判斷結(jié)果為所述塊存儲服務器的當前身份為主節(jié)點時,判斷所述分布式塊存儲系統(tǒng)中是否運行有所述虛擬機,生成第二判斷結(jié)果;
步驟172,根據(jù)所述第二判斷結(jié)果,進行相應處理;
步驟173,當所述第一判斷結(jié)果為所述塊存儲服務器的當前身份為從節(jié)點時,判斷所述虛擬機是否運行在所述塊存儲服務器上,生成第三判斷結(jié)果;
步驟174,根據(jù)所述第三判斷結(jié)果,進行相應處理。
步驟172包括:
步驟1721,當所述分布式塊存儲系統(tǒng)中運行有所述虛擬機時,則結(jié)束處理;
步驟1722,當所述分布式塊存儲系統(tǒng)中沒有運行所述虛擬機時,在所述塊存儲服務器中啟動所述虛擬機,并啟動所述虛擬機上的管理平臺。
可選的,步驟12還包括:
步驟120,在所述分布式塊存儲系統(tǒng)的各個塊存儲服務器上,安裝所述虛擬機的管理軟件;
相應的,所述在塊存儲服務器中啟動所述虛擬機的步驟具體為:所述虛擬機的管理軟件根據(jù)保存在所述塊存儲服務器中的虛擬機的配置文件以及所述卷中的虛擬機的鏡像文件,在所述塊存儲服務器中啟動所述虛擬機。
在本發(fā)明中,所述虛擬機的管理軟件可以啟動或者停止虛擬機的運行。
步驟174包括:
步驟1741,當所述第三判斷結(jié)果為是時,則停止運行所述塊存儲服務器中的虛擬機。
步驟1742,當所述第三判斷結(jié)果為否時,則結(jié)束處理。
上述實施例中,將管理平臺安裝在虛擬機中,將虛擬機存在分布式塊存儲系統(tǒng)里。當運行虛擬機的服務器發(fā)生故障時,包含有管理平臺的虛擬機自動切換到其它服務器上運行。當整個存儲集群斷電恢復之后,首先,系統(tǒng)自動恢復存儲服務;然后,將包含管理平臺的虛擬機啟動起來,實現(xiàn)了自動故障恢復。
以下描述本發(fā)明的應用場景。
本發(fā)明中的分布式存儲系統(tǒng),要求具備主從節(jié)點的概念;同時,要求存儲集群的創(chuàng)建和卷的創(chuàng)建等操作均可通過命令行實現(xiàn)。
本發(fā)明提供一種分布式塊存儲系統(tǒng)的管理平臺的高可用的部署方法,通過充分利用分布式塊存儲的服務,結(jié)合服務器虛擬化技術(shù),提供一種部署簡單、維護簡單、故障自動切換和故障自動恢復的部署方法。
本發(fā)明包括如下步驟:
步驟一:塊存儲服務器的存儲系統(tǒng)使用linux并支持kvm虛擬化技術(shù)的操作系統(tǒng),塊存儲服務器在bios中開啟intelvt或者amd-v技術(shù),使得塊存儲服務器后續(xù)處理過程中能夠提供虛擬機的服務。
步驟二:分布式塊存儲系統(tǒng)的管理平臺安裝在kvm虛擬機中,并導出備用。
步驟三:在分布式塊存儲系統(tǒng)的存儲系統(tǒng)中,為管理平臺虛擬機的虛擬磁盤分配卷。
步驟四:在塊存儲服務器的主節(jié)點上,將步驟三創(chuàng)建的卷掛載,將步驟二導出的虛擬機導入到卷中。
步驟五:拷貝虛擬機的配置文件到每個塊存儲服務器上,使得后續(xù)塊存儲服務器能夠基于所述虛擬機的配置文件來啟動虛擬機。
步驟六:將處理“管理平臺虛擬機狀態(tài)”的腳本拷貝到每個塊存儲服務器上,并利用定時任務(如crontab,unix和類unix的操作系統(tǒng)之中的用于設置周期性被執(zhí)行的指令),周期性觸發(fā)此腳本。
步驟七:操作系統(tǒng)定期執(zhí)行服務器上的處理“管理平臺虛擬機狀態(tài)”的腳本,對管理平臺進行高可用保護。
圖2為本發(fā)明中管理平臺虛擬機的狀態(tài)處理流程,該流程描述了處理“管理平臺虛擬機狀態(tài)”的腳本的具體步驟,也就是說,對于每個服務器,都需要執(zhí)行如下步驟,所述方法包括:
步驟1.1:檢查塊存儲服務是否正常,然后跳入步驟1.2。
步驟1.2:當塊存儲服務出現(xiàn)故障時,則停止塊存儲服務器本地的管理平臺虛擬機vm(如果塊存儲服務器本地有的話);當塊存儲服務正常時,則執(zhí)行步驟2.1。
步驟2.1:判斷管理平臺虛擬機的虛擬硬盤所在的卷是否正常;如果正常,則執(zhí)行步驟3.1;如果不正常,則結(jié)束處理。
步驟3.1:判斷當前塊存儲服務器是否為主節(jié)點,然后分別跳入步驟4.1和4.2。
步驟4.1:如果當前塊存儲服務器為主節(jié)點,判斷分布式塊存儲系統(tǒng)中是否有管理平臺的虛擬機在運行;當判斷結(jié)果為否時,執(zhí)行下一步驟5.1;否則,結(jié)束處理。
步驟4.2:如果當前塊存儲服務器為從節(jié)點,判斷當前塊存儲服務器上是否有管理平臺虛擬機在運行,然后執(zhí)行步驟6.1。
步驟5.1:啟動管理平臺的虛擬機;
步驟6.1:如果當前塊存儲服務器為從節(jié)點,且當前塊存儲服務器本地有管理平臺虛擬機在運行,關(guān)閉本地的管理平臺虛擬機。
至此,腳本執(zhí)行結(jié)束,管理平臺虛擬機得到了妥善的處理。
與現(xiàn)有技術(shù)相比,本發(fā)明結(jié)合分布式塊存儲自有服務特點,具有如下有益效果:
首先,開發(fā)只需要針對單機即可,無需考慮后續(xù)部署問題;
其次,部署簡單,只需要導入虛擬機即可,無需額外的安裝和配置;
另外,維護方便,無需監(jiān)控服務狀態(tài),遇到故障可以自動切換,自動恢復。
如圖3所示,為本發(fā)明所述的一種分布式塊存儲系統(tǒng)的管理平臺的部署裝置,包括:
安裝單元31,將分布式塊存儲系統(tǒng)的管理平臺安裝在虛擬機中;
保存單元32,將所述虛擬機保存在所述分布式塊存儲系統(tǒng)中。
所述的裝置,還包括:
檢查單元33,每隔預定時間,檢查所述分布式塊存儲系統(tǒng)的塊存儲服務是否正常;
停止單元34,當所述塊存儲服務出現(xiàn)故障時,并且所述塊存儲服務器中裝載有運行管理平臺的虛擬機時,則停止運行所述塊存儲服務器中的虛擬機;
判斷單元35,當所述塊存儲服務的運行狀態(tài)為正常,且所述虛擬機的虛擬硬盤所在的卷正常時,判斷所述塊存儲服務器的當前身份是否為主節(jié)點,生成第一判斷結(jié)果;
處理單元36,根據(jù)所述第一判斷結(jié)果,進行相應處理。
所述處理單元36包括:
第一判斷子單元361,當所述第一判斷結(jié)果為所述塊存儲服務器的當前身份為主節(jié)點時,判斷所述分布式塊存儲系統(tǒng)中是否運行有所述虛擬機,生成第二判斷結(jié)果;
第一處理子單元362,根據(jù)所述第二判斷結(jié)果,進行相應處理;
第二判斷子單元363,當所述第一判斷結(jié)果為所述塊存儲服務器的當前身份為從節(jié)點時,判斷所述虛擬機是否運行在所述塊存儲服務器上,生成第三判斷結(jié)果;
第二處理子單元364,當所述第三判斷結(jié)果為是時,則停止運行所述塊存儲服務器中的虛擬機。
所述第一處理子單元362包括:
結(jié)束模塊3621,當所述分布式塊存儲系統(tǒng)中運行有所述虛擬機時,則結(jié)束處理;
啟動模塊3622,當所述分布式塊存儲系統(tǒng)中沒有運行所述虛擬機時,所述塊存儲服務器在本地啟動所述虛擬機,并啟動所述虛擬機上的管理平臺。
以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權(quán)利要求的保護范圍為準。