本發(fā)明涉及云計(jì)算虛擬化存儲(chǔ)領(lǐng)域,特別涉及一種存儲(chǔ)池的構(gòu)建方法及系統(tǒng)。
背景技術(shù):
隨著信息化技術(shù)的快速發(fā)展,傳統(tǒng)的數(shù)據(jù)中心建設(shè)模式越來越無法滿足高度整合、快速靈活部署、按需分配等需求。為了適應(yīng)用戶需求,新一代的數(shù)據(jù)中心利用虛擬化技術(shù)將所有設(shè)備及資源統(tǒng)一“池”化,屏蔽了不同設(shè)備和資源的異構(gòu)性,通過構(gòu)建存儲(chǔ)池、計(jì)算池、網(wǎng)絡(luò)池以滿足虛擬化場(chǎng)景下不同資源的應(yīng)用需求。此技術(shù)不僅可以實(shí)現(xiàn)資源共享、按需分配,同時(shí)也降低了維護(hù)成本,提升管理效率。但是如何高效,便捷的實(shí)現(xiàn)對(duì)輕量級(jí)的存儲(chǔ)池構(gòu)建,是本領(lǐng)域技術(shù)人員需要解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種存儲(chǔ)池的構(gòu)建方法及系統(tǒng),實(shí)現(xiàn)了一種輕量級(jí)的存儲(chǔ)池構(gòu)建方法;存儲(chǔ)虛擬化是將存儲(chǔ)硬件資源抽象化表現(xiàn),將零散的存儲(chǔ)空間整合起來,重新分割分配滿足不同應(yīng)用在性能和容量的需求。
為解決上述技術(shù)問題,本發(fā)明提供一種存儲(chǔ)池的構(gòu)建方法,包括:
搭建存儲(chǔ)環(huán)境;其中,所述存儲(chǔ)環(huán)境包括FC SAN或IP SAN;
根據(jù)所述存儲(chǔ)環(huán)境創(chuàng)建LUN映射,使主機(jī)掃描所述LUN映射進(jìn)行初始化;
利用sanlock服務(wù)及agent代理服務(wù)進(jìn)行存儲(chǔ)池的管理服務(wù);
利用LVM創(chuàng)建存儲(chǔ)池命令為每個(gè)LUN分別創(chuàng)建相應(yīng)的物理卷及卷組,使得所述LUN與LVM存儲(chǔ)池一一對(duì)應(yīng),并創(chuàng)建邏輯卷,根據(jù)傳入的邏輯卷的路徑初始化所述sanlock服務(wù)的lockspace;其中,所述邏輯卷為Delta Lease服務(wù)邏輯卷和Paxos Lease服務(wù)邏輯卷。
其中,主機(jī)掃描所述LUN映射進(jìn)行初始化,包括:
主機(jī)根據(jù)存儲(chǔ)環(huán)境利用iscsi或fc掃描所述LUN映射;
當(dāng)掃描到所述LUN映射時(shí),所述主機(jī)將配置文件中的use_lvmetad的配置項(xiàng)設(shè)置為0,并關(guān)閉lvmetad的lvm2-lvmetad.socket服務(wù)和lvm2-lvmetad.service服務(wù)。
其中,利用sanlock服務(wù)及agent代理服務(wù)進(jìn)行存儲(chǔ)池的管理服務(wù),包括:
上層業(yè)務(wù)發(fā)起鎖請(qǐng)求時(shí),agent代理服務(wù)向sanlock服務(wù)發(fā)起鎖請(qǐng)求,sanlock服務(wù)執(zhí)行對(duì)應(yīng)的鎖請(qǐng)求服務(wù);
當(dāng)上層業(yè)務(wù)的多個(gè)應(yīng)用同時(shí)對(duì)同一資源發(fā)起鎖請(qǐng)求時(shí),agent代理服務(wù)通過排隊(duì)機(jī)制依次向sanlock服務(wù)發(fā)起鎖請(qǐng)求,sanlock服務(wù)執(zhí)行對(duì)應(yīng)的鎖請(qǐng)求服務(wù)。
其中,還包括:
確定主機(jī)的host_id;
調(diào)用所述sanlock服務(wù)中的add_lockspace命令掛載所述LVM存儲(chǔ)池。
其中,掛載所述LVM存儲(chǔ)池之后,還包括:
利用qemu-img命令將邏輯卷的映射文件轉(zhuǎn)變?yōu)閝cow2文件格式,并掛載給虛擬機(jī)作為虛擬磁盤使用。
其中,掛載所述LVM存儲(chǔ)池之后,還包括:
調(diào)用所述sanlock服務(wù)中的rem_lockspace命令卸載所述LVM存儲(chǔ)池。
其中,卸載所述LVM存儲(chǔ)池之后,還包括:
刪除所述LVM存儲(chǔ)池。
其中,還包括:
查看所述LVM存儲(chǔ)池的基本信息;其中,所述基本信息包括LVM存儲(chǔ)池提供的可用空間、總?cè)萘俊⒁咽褂每臻g、是否已掛載。
本發(fā)明提供一種存儲(chǔ)池的構(gòu)建系統(tǒng),包括:
搭建存儲(chǔ)環(huán)境模塊,用于搭建存儲(chǔ)環(huán)境;其中,所述存儲(chǔ)環(huán)境包括FC SAN或IP SAN;
連接存儲(chǔ)模塊,用于根據(jù)所述存儲(chǔ)環(huán)境創(chuàng)建LUN映射,使主機(jī)掃描所述LUN映射進(jìn)行初始化;
啟動(dòng)存儲(chǔ)池管理模塊,用于利用sanlock服務(wù)及agent代理服務(wù)進(jìn)行存儲(chǔ)池的管理服務(wù);
創(chuàng)建存儲(chǔ)池模塊,用于利用LVM創(chuàng)建存儲(chǔ)池命令為每個(gè)LUN分別創(chuàng)建相應(yīng)的物理卷及卷組,使得所述LUN與LVM存儲(chǔ)池一一對(duì)應(yīng),并創(chuàng)建邏輯卷,根據(jù)傳入的邏輯卷的路徑初始化所述sanlock服務(wù)的lockspace;其中,所述邏輯卷為Delta Lease服務(wù)邏輯卷和Paxos Lease服務(wù)邏輯卷。
其中,還包括:
掛載模塊,用于確定主機(jī)的host_id;調(diào)用所述sanlock服務(wù)中的add_lockspace命令掛載所述LVM存儲(chǔ)池。
本發(fā)明所提供的存儲(chǔ)池的構(gòu)建方法,包括:搭建存儲(chǔ)環(huán)境;其中,所述存儲(chǔ)環(huán)境包括FC SAN或IP SAN;根據(jù)所述存儲(chǔ)環(huán)境創(chuàng)建LUN映射,使主機(jī)掃描所述LUN映射進(jìn)行初始化;利用sanlock服務(wù)及agent代理服務(wù)進(jìn)行存儲(chǔ)池的管理服務(wù);利用LVM創(chuàng)建存儲(chǔ)池命令為每個(gè)LUN分別創(chuàng)建相應(yīng)的物理卷及卷組,使得所述LUN與LVM存儲(chǔ)池一一對(duì)應(yīng),并創(chuàng)建邏輯卷,根據(jù)傳入的邏輯卷的路徑初始化所述sanlock服務(wù)的lockspace;其中,所述邏輯卷為Delta Lease服務(wù)邏輯卷和Paxos Lease服務(wù)邏輯卷;
可見,該方法基于LVM和sanlock的存儲(chǔ)池構(gòu)建方法,可以應(yīng)用于存儲(chǔ)虛擬化場(chǎng)景之中;以LVM為上層數(shù)據(jù)的容器載體,以sanlock管理LVM在集群環(huán)境中的元數(shù)據(jù)一致性,實(shí)現(xiàn)了輕量級(jí)的存儲(chǔ)池構(gòu)建;存儲(chǔ)虛擬化是將存儲(chǔ)硬件資源抽象化表現(xiàn),將零散的存儲(chǔ)空間整合起來,重新分割分配滿足不同應(yīng)用在性能和容量的需求。同時(shí)在存儲(chǔ)數(shù)據(jù)的備份、故障恢復(fù)等數(shù)據(jù)安全性也可以做到統(tǒng)一規(guī)劃;本發(fā)明還提供了一種存儲(chǔ)池的構(gòu)建系統(tǒng),具有上述有益效果,在此不再贅述。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例所提供的一種存儲(chǔ)池的構(gòu)建方法的流程圖;
圖2為本發(fā)明實(shí)施例所提供的LVM存儲(chǔ)池的組網(wǎng)示意圖;
圖3為本發(fā)明實(shí)施例所提供的另一存儲(chǔ)池的構(gòu)建方法的流程示意圖;
圖4為本發(fā)明實(shí)施例所提供的存儲(chǔ)池的構(gòu)建系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種存儲(chǔ)池的構(gòu)建方法及系統(tǒng),實(shí)現(xiàn)了一種輕量級(jí)的存儲(chǔ)池構(gòu)建方法;存儲(chǔ)虛擬化是將存儲(chǔ)硬件資源抽象化表現(xiàn),將零散的存儲(chǔ)空間整合起來,重新分割分配滿足不同應(yīng)用在性能和容量的需求。
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參考圖1,圖1為本發(fā)明實(shí)施例所提供的存儲(chǔ)池的構(gòu)建方法的流程圖;該方法可以包括:
S100、搭建存儲(chǔ)環(huán)境;其中,所述存儲(chǔ)環(huán)境包括FC SAN或IP SAN;
其中,請(qǐng)參考圖2,LVM存儲(chǔ)池的組網(wǎng)方式是建立在FC/IP SAN環(huán)境的基礎(chǔ)之上,該FC/IP SAN環(huán)境主要是提供一個(gè)穩(wěn)定、可靠的共享存儲(chǔ),以供主機(jī)掃描、映射使用。另外在主機(jī)上需要安裝必備的LVM及sanlock安裝包。
主機(jī)HOST上有對(duì)應(yīng)的sanlock服務(wù)及agent代理服務(wù)通過SAN/IP網(wǎng)絡(luò)與LUN映射單元連接,LUN包含元數(shù)據(jù)區(qū)域和數(shù)據(jù)區(qū)域。由于LVM和sanlock依賴于共享存儲(chǔ),因此首先創(chuàng)建共享存儲(chǔ)池是必備條件。兩者之間的主要差別就是選用不同的網(wǎng)絡(luò)設(shè)備及傳輸介質(zhì)。若需要節(jié)省成本且對(duì)性能無特別高的需求推薦選用IP SAN,反之若對(duì)性能要求較高,則推薦選用FC SAN。同時(shí),為了保障環(huán)境的可靠性需要安裝多路徑服務(wù)。
S110、根據(jù)所述存儲(chǔ)環(huán)境創(chuàng)建LUN映射,使主機(jī)掃描所述LUN映射進(jìn)行初始化;
其中,該步驟主要完成連接LVM存儲(chǔ)并進(jìn)行主機(jī)初始化;具體可以包括:
根據(jù)不同的存儲(chǔ)環(huán)境,在存儲(chǔ)后端創(chuàng)建LUN映射給主機(jī)。主機(jī)根據(jù)存儲(chǔ)環(huán)境利用iscsi或fc掃描所述LUN映射;
當(dāng)掃描到所述LUN映射時(shí),開始主機(jī)初始化操作,即所述主機(jī)將/etc/lvm/lvm.conf配置文件中的use_lvmetad的配置項(xiàng)設(shè)置為0,并關(guān)閉lvmetad相關(guān)的服務(wù),如lvm2-lvmetad.socket服務(wù)和lvm2-lvmetad.service服務(wù)。
S120、利用sanlock服務(wù)及agent代理服務(wù)進(jìn)行存儲(chǔ)池的管理服務(wù);
其中,這里的管理服務(wù)可以包括創(chuàng)建LVM存儲(chǔ)池、掛載LVM存儲(chǔ)池、卸載LVM存儲(chǔ)池、刪除LVM存儲(chǔ)池、查看LVM存儲(chǔ)池等管理服務(wù)。其中,以sanlock中的Delta Lease作為L(zhǎng)VM存儲(chǔ)池的新型掛載、卸載方式。
其中,LVM(Logical Volume Manager,邏輯卷管理)是linux環(huán)境下對(duì)磁盤分區(qū)進(jìn)行管理的一種機(jī)制。它在磁盤和分區(qū)之上建立一個(gè)邏輯層,屏蔽了硬件設(shè)備的差異性,靈活管理磁盤區(qū)間。用戶可以根據(jù)需求靈活創(chuàng)建物理卷(Physical Volume,PV)、卷組(Volume Group,VG)及邏輯卷(Logical Volume,LV)。Sanlock是一個(gè)程序?qū)崿F(xiàn)的輕量級(jí)的分布式鎖管理器,它是利用Disk Paxos基于SAN環(huán)境對(duì)基礎(chǔ)Paxos協(xié)議的一種變體實(shí)現(xiàn)。在集群環(huán)境中,通過共享存儲(chǔ)實(shí)現(xiàn)分布式鎖的獲取、釋放和超時(shí)。Sanlock一個(gè)軟件實(shí)現(xiàn)的輕量靈活的分布式鎖管理器,提供Delta Lease和Paxos Lease兩種類型,分別保證節(jié)點(diǎn)成員唯一和鎖租約的獲取、續(xù)租和釋放。
在分布式環(huán)境中,節(jié)點(diǎn)和進(jìn)程都可能崩潰或者出現(xiàn)網(wǎng)絡(luò)故障,因此鎖都有一個(gè)租期,以便持有鎖的節(jié)點(diǎn)的崩潰時(shí),能自動(dòng)釋放鎖。進(jìn)程從sanlock請(qǐng)求上鎖之后,sanlock會(huì)自動(dòng)每隔一段時(shí)間就對(duì)鎖續(xù)租,所以在sanlock的文檔中使用的術(shù)語租約(Lease)來代稱鎖。在sanlock中有兩種不同的租約:Paxos Lease和Delta Lease。一個(gè)Paxos Lease就是一個(gè)帶有時(shí)間戳的鎖,用來保護(hù)一項(xiàng)抽象的資源。應(yīng)用程序從sanlock獲取的租約就是一個(gè)Paxos Lease的實(shí)例。Paxos Lease是根據(jù)Disk Paxos算法實(shí)現(xiàn)的,這個(gè)算法是Paxos算法在SAN環(huán)境下的變種,它通過對(duì)共享存儲(chǔ)的特定的順序的讀寫操作實(shí)現(xiàn)對(duì)租約的獲取、續(xù)租和釋放。一旦獲取了Paxos Lease后,sanlock就自動(dòng)為其續(xù)租。共享存儲(chǔ)上的Paxos Lease實(shí)例被劃分為與sanlock集群節(jié)點(diǎn)數(shù)相同數(shù)量的塊。集群中的每個(gè)節(jié)點(diǎn)都可以寫自己ID對(duì)應(yīng)的塊,但只能讀其他節(jié)點(diǎn)對(duì)應(yīng)的塊。某節(jié)點(diǎn)要占有一個(gè)租約,只需要將請(qǐng)求寫入自己對(duì)應(yīng)的塊,然后讀取所有其他節(jié)點(diǎn)的塊,查看是否有沖突。想要知道租約的當(dāng)前所有者,只需要讀取所有的塊,找到最后被修改過的塊并解析數(shù)據(jù)即可。
可選的,利用sanlock服務(wù)及agent代理服務(wù)進(jìn)行存儲(chǔ)池的管理服務(wù),包括:
上層業(yè)務(wù)發(fā)起鎖請(qǐng)求時(shí),agent代理服務(wù)向sanlock服務(wù)發(fā)起鎖請(qǐng)求,sanlock服務(wù)執(zhí)行對(duì)應(yīng)的鎖請(qǐng)求服務(wù);
當(dāng)上層業(yè)務(wù)的多個(gè)應(yīng)用同時(shí)對(duì)同一資源發(fā)起鎖請(qǐng)求時(shí),agent代理服務(wù)通過排隊(duì)機(jī)制依次向sanlock服務(wù)發(fā)起鎖請(qǐng)求,sanlock服務(wù)執(zhí)行對(duì)應(yīng)的鎖請(qǐng)求服務(wù)。
即存儲(chǔ)池的管理服務(wù)主機(jī)包括兩個(gè)方面sanlock服務(wù)及agent代理服務(wù)。其中sanlock服務(wù)主要提供兩Delta Lease及Paxos Lease兩種類型。Delta Lease主要保證節(jié)點(diǎn)唯一,屬于sanlock內(nèi)部鎖,而Paxos Lease主要為上層應(yīng)用提供建議鎖服務(wù)。Agent代理服務(wù)處于sanlock與上層應(yīng)用之間。當(dāng)上層業(yè)務(wù)發(fā)起鎖請(qǐng)求時(shí),agent向sanlock服務(wù)發(fā)起鎖請(qǐng)求,當(dāng)多個(gè)應(yīng)用同時(shí)對(duì)一個(gè)資源添加鎖請(qǐng)求時(shí),agent還提供排隊(duì)機(jī)制。
S130、利用LVM創(chuàng)建存儲(chǔ)池命令為每個(gè)LUN分別創(chuàng)建相應(yīng)的物理卷及卷組,使得所述LUN與LVM存儲(chǔ)池一一對(duì)應(yīng),并創(chuàng)建邏輯卷,根據(jù)傳入的邏輯卷的路徑初始化所述sanlock服務(wù)的lockspace;其中,所述邏輯卷為Delta Lease服務(wù)邏輯卷和Paxos Lease服務(wù)邏輯卷。
其中,創(chuàng)建LVM存儲(chǔ)池是首先使用LVM自帶的命令對(duì)掃描得到的LUN,創(chuàng)建相應(yīng)物理卷(PV)、卷組(VG)和邏輯卷(LV)。為了隔離業(yè)務(wù)和管理方便,每個(gè)LUN單獨(dú)作為一個(gè)PV和VG,即一個(gè)LUN對(duì)應(yīng)一個(gè)LVM存儲(chǔ)池。另外,為了給sanlock提供共享存儲(chǔ)空間,需要?jiǎng)?chuàng)建兩個(gè)邏輯卷(ids和leases),默認(rèn)大小為128MB和2GB,這兩個(gè)邏輯卷(LV)分別為Delta Lease和Paxos Lease服務(wù)。傳入創(chuàng)建的邏輯卷路徑,調(diào)用sanlock的init lockspace和init resource lockspace命令初始化sanlock的lockspace,保存所有對(duì)host_id的Delta Lease數(shù)據(jù)的一塊存儲(chǔ)區(qū)域。
基于上述技術(shù)方案,在創(chuàng)建LVM存儲(chǔ)池之后還可以對(duì)其進(jìn)行掛載,卸載,刪除,查看等操作;請(qǐng)參考圖3,LVM存儲(chǔ)池的主要流程包括4個(gè)部分,構(gòu)建FC/IP SAN存儲(chǔ)環(huán)境、連接存儲(chǔ)并主機(jī)初始化、啟動(dòng)存儲(chǔ)池的管理服務(wù)、LVM存儲(chǔ)池的創(chuàng)建/連接等存儲(chǔ)池服務(wù)。具體的掛載操作可以包括:
確定主機(jī)的host_id;
調(diào)用所述sanlock服務(wù)中的add_lockspace命令掛載所述LVM存儲(chǔ)池。
其中,主機(jī)掛載LVM存儲(chǔ)池前,首先確定主機(jī)的host_id,host_id是主機(jī)的唯一標(biāo)識(shí),它可以是1,2,3…2000之間的任一值。然后調(diào)用sanlock服務(wù)中的add_lockspace命令,該命令的原理是將該主機(jī)的host_id寫入lockspace的相應(yīng)區(qū)域。寫入之后,每隔相應(yīng)時(shí)間(默認(rèn)是20s)對(duì)該存儲(chǔ)區(qū)域更新時(shí)間戳,若更新異常,則觸發(fā)sanlock的fence機(jī)制,重啟主機(jī)。
可選的,掛載所述LVM存儲(chǔ)池之后,還包括:
利用qemu-img命令將邏輯卷的映射文件轉(zhuǎn)變?yōu)閝cow2文件格式,并掛載給虛擬機(jī)作為虛擬磁盤使用。
其中,掛載LVM存儲(chǔ)池之后,可以利用LVM提供的邏輯卷,使用qemu-img將其轉(zhuǎn)變?yōu)閝cow2文件格式,掛載給虛擬機(jī)作為虛擬磁盤使用。對(duì)于虛擬機(jī)的系統(tǒng)盤,需要單實(shí)例使用,即一個(gè)虛擬機(jī)一個(gè)系統(tǒng)盤,不能共享使用。針對(duì)這種場(chǎng)景,可以使用sanlock的Paxos Lease鎖接口,獲得該虛擬磁盤的獨(dú)占鎖。
具體的卸載操作可以包括:
調(diào)用所述sanlock服務(wù)中的rem_lockspace命令卸載所述LVM存儲(chǔ)池。
其中,主機(jī)卸載LVM存儲(chǔ)池是調(diào)用sanlock服務(wù)中的_lockspace命令,該命令是該主機(jī)的host_id移出lockspace存儲(chǔ)區(qū)域。
具體的刪除操作可以包括:
刪除所述LVM存儲(chǔ)池。
其中,刪除LVM存儲(chǔ)池是刪除LUN上面的邏輯卷、卷組及物理卷。刪除之前首先確定主機(jī)已卸載存儲(chǔ)池,否則無法刪除LVM存儲(chǔ)池。
具體的查看操作可以包括:
查看所述LVM存儲(chǔ)池的基本信息;其中,所述基本信息包括LVM存儲(chǔ)池提供的可用空間、總?cè)萘?、已使用空間、是否已掛載。
其中,通過查看操作可以使用戶隨時(shí)掌握LVM存儲(chǔ)池的基本信息,為用戶的使用提供信息。
基于上述技術(shù)方案,本發(fā)明實(shí)施例提供的提出了一種新型的輕量級(jí)存儲(chǔ)池構(gòu)建方法;該方法以LVM為上層應(yīng)用數(shù)據(jù)的容器載體,以sanlock管理LVM在集群環(huán)境中的元數(shù)據(jù)一致性。在存儲(chǔ)池被主機(jī)掛載使用之后,可以通過創(chuàng)建虛擬磁盤(底層以LV承載)應(yīng)用于虛擬機(jī)場(chǎng)景,從而滿足用戶輕量級(jí)存儲(chǔ)池定制需求。
下面對(duì)本發(fā)明實(shí)施例提供的存儲(chǔ)池的構(gòu)建系統(tǒng)進(jìn)行介紹,下文描述的存儲(chǔ)池的構(gòu)建系統(tǒng)與上文描述的存儲(chǔ)池的構(gòu)建方法可相互對(duì)應(yīng)參照。
請(qǐng)參考圖4,圖4為本發(fā)明實(shí)施例所提供的存儲(chǔ)池的構(gòu)建系統(tǒng)的結(jié)構(gòu)框圖;該系統(tǒng)可以包括:
搭建存儲(chǔ)環(huán)境模塊100,用于搭建存儲(chǔ)環(huán)境;其中,所述存儲(chǔ)環(huán)境包括FC SAN或IP SAN;
連接存儲(chǔ)模塊200,用于根據(jù)所述存儲(chǔ)環(huán)境創(chuàng)建LUN映射,使主機(jī)掃描所述LUN映射進(jìn)行初始化;
啟動(dòng)存儲(chǔ)池管理模塊300,用于利用sanlock服務(wù)及agent代理服務(wù)進(jìn)行存儲(chǔ)池的管理服務(wù);
創(chuàng)建存儲(chǔ)池模塊400,用于利用LVM創(chuàng)建存儲(chǔ)池命令為每個(gè)LUN分別創(chuàng)建相應(yīng)的物理卷及卷組,使得所述LUN與LVM存儲(chǔ)池一一對(duì)應(yīng),并創(chuàng)建邏輯卷,根據(jù)傳入的邏輯卷的路徑初始化所述sanlock服務(wù)的lockspace;其中,所述邏輯卷為Delta Lease服務(wù)邏輯卷和Paxos Lease服務(wù)邏輯卷。
可選的,連接存儲(chǔ)模塊200包括:
掃描單元,用于主機(jī)根據(jù)環(huán)境采用iscsi或fc掃描所述LUN映射;
主機(jī)初始化單元,用于當(dāng)掃描到所述LUN映射時(shí),所述主機(jī)將配置文件中的use_lvmetad的配置項(xiàng)設(shè)置為0,并關(guān)閉lvmetad的lvm2-lvmetad.socket服務(wù)和lvm2-lvmetad.service服務(wù)。
可選的,啟動(dòng)存儲(chǔ)池管理模塊300具體用于上層業(yè)務(wù)發(fā)起鎖請(qǐng)求時(shí),agent代理服務(wù)向sanlock服務(wù)發(fā)起鎖請(qǐng)求,sanlock服務(wù)執(zhí)行對(duì)應(yīng)的鎖請(qǐng)求服務(wù);當(dāng)上層業(yè)務(wù)的多個(gè)應(yīng)用同時(shí)對(duì)同一資源發(fā)起鎖請(qǐng)求時(shí),agent代理服務(wù)通過排隊(duì)機(jī)制依次向sanlock服務(wù)發(fā)起鎖請(qǐng)求,sanlock服務(wù)執(zhí)行對(duì)應(yīng)的鎖請(qǐng)求服務(wù)。
可選的,基于上述技術(shù)方案,該系統(tǒng)還包括:
掛載模塊,用于確定主機(jī)的host_id;調(diào)用所述sanlock服務(wù)中的add_lockspace命令掛載所述LVM存儲(chǔ)池。
可選的,基于上述技術(shù)方案,該系統(tǒng)還包括:
格式轉(zhuǎn)換模塊,用于利用qemu-img命令將邏輯卷的映射文件轉(zhuǎn)變?yōu)閝cow2文件格式,并掛載給虛擬機(jī)作為虛擬磁盤使用。
可選的,基于上述技術(shù)方案,該系統(tǒng)還包括:
卸載模塊,用于調(diào)用所述sanlock服務(wù)中的rem_lockspace命令卸載所述LVM存儲(chǔ)池。
可選的,基于上述技術(shù)方案,該系統(tǒng)還包括:
刪除模塊,用于刪除所述LVM存儲(chǔ)池。
可選的,基于上述技術(shù)方案,該系統(tǒng)還包括:
查看模塊,用于查看所述LVM存儲(chǔ)池的基本信息;其中,所述基本信息包括LVM存儲(chǔ)池提供的可用空間、總?cè)萘?、已使用空間、是否已掛載。
說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(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ì)中。
以上對(duì)本發(fā)明所提供的存儲(chǔ)池的構(gòu)建方法及系統(tǒng)進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。