本發(fā)明涉及云計算技術(shù)領(lǐng)域,特別是涉及一種基于Cinder的卷跨集群掛載方法及系統(tǒng)。
背景技術(shù):
隨著信息技術(shù)的發(fā)展,云計算已經(jīng)逐步成為了業(yè)界的發(fā)展熱點,云計算技術(shù)也逐漸被應用到教育、科學、文化、公安、政府、衛(wèi)生、高性能計算、電子商務、物聯(lián)網(wǎng)等多個領(lǐng)域,隨之云計算服務平臺的使用量和活躍度也與日俱增。
隨著云管理平臺中租戶數(shù)據(jù)越來越多,租戶對于磁盤的需求越來越大,為了滿足租戶對磁盤的需求,云管理平臺需要根據(jù)用戶的需求為其創(chuàng)建虛擬磁盤供其使用,但是在實際維護過程中,由于受到集群的限制,虛擬機對于其他集群上的卷無法直接掛載,這是因為現(xiàn)有技術(shù)中,云平臺通過調(diào)用虛擬化的接口實現(xiàn)卷的掛載,由于底層虛擬化限制了集群間虛擬機和存儲的互相訪問,因而無法實現(xiàn)卷的跨集群掛載,從而導致了集群間資源無法共享,存在資源分配不均的隱患,帶來了比較大的卷管理操作復雜性和管理邏輯抽象等問題,使得云平臺管理人員進行維護管理的難度變大。
因此,如何解決卷管理操作復雜,管理邏輯抽象,管理效率低下以及存儲資源分配不均的問題,是本領(lǐng)域技術(shù)人員目前需要解決的技術(shù)問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種基于Cinder的卷跨集群掛載方法及系統(tǒng),可以解決卷管理操作復雜,管理邏輯抽象,管理效率低下以及存儲資源分配不均的問題。
為解決上述技術(shù)問題,本發(fā)明提供了如下技術(shù)方案:
一種基于Cinder的卷跨集群掛載方法,包括:
獲取用戶的掛載卷虛擬機的請求信息;
根據(jù)所述請求信息中的所述虛擬機的ID參數(shù)獲取所述虛擬機所在主機的身份信息;
獲取所述主機的iSCSI connector信息;
根據(jù)所述iSCSI connector信息調(diào)用Cinder對云平臺中的卷管理的虛擬化適配信息;
通過SCSI命令,并根據(jù)所述Cinder對云平臺中的卷管理的虛擬化適配信息將卷作為存儲設備掛載到所述主機上;
將掛載成功的所述存儲設備映射到所述虛擬機中。
優(yōu)選地,所述請求信息包括:掛載點參數(shù)、卷ID參數(shù)和所述虛擬機的ID參數(shù)。
優(yōu)選地,所述Cinder對云平臺中的卷管理,包括:卷創(chuàng)建、卷刪除、卷擴容和卷快照。
優(yōu)選地,所述根據(jù)所述iSCSI connector信息調(diào)用Cinder對云平臺中的卷管理的虛擬化適配信息,包括:
根據(jù)所述iSCSI connector信息,調(diào)用Cinder的HTTP接口獲取卷的信息,并獲取該卷所暴露出來的iSCSI Target信息。
優(yōu)選地,通過SCSI命令,并根據(jù)所述Cinder對云平臺中的卷管理的虛擬化適配信息將卷作為存儲設備掛載到所述主機上,為:
通過SCSI命令,并根據(jù)所述iSCSI Target信息將卷作為存儲設備掛載到所述主機上。
一種基于Cinder的卷跨集群掛載系統(tǒng),包括:獲取模塊、Cinder模塊和云平臺;
其中,所述獲取模塊用于響應用戶的操作,獲取用戶的掛載卷虛擬機的請求信息;
所述Cinder模塊用于對云平臺中的卷管理進行虛擬化適配;
所述云平臺用于根據(jù)所述請求信息中的所述虛擬機的ID參數(shù)獲取所述虛擬機所在主機的身份信息,與所述主機進行連接;并獲取所述主機的iSCSI connector信息,根據(jù)所述iSCSI connector信息從所述Cinder模塊中調(diào)取掛載信息,將所述Cinder模塊創(chuàng)建的卷掛載到所述主機上,并將該卷映射到所述虛擬機中。
優(yōu)選地,所述請求信息包括:掛載點參數(shù)、卷ID參數(shù)和所述虛擬機的ID參數(shù)。
優(yōu)選地,所述Cinder模塊包括:
卷創(chuàng)建單元,用于進行卷創(chuàng)建;
卷刪除單元,用于進行卷刪除;
卷擴容單元,用于進行卷擴容;
卷快照單元,用于進行卷快照。
優(yōu)選地,所述云平臺包括:
第一獲取單元,用于獲取所述用戶的掛載卷虛擬機的請求信息;
第一分析單元,用于根據(jù)所述請求信息中的所述虛擬機的ID參數(shù)獲取所述虛擬機所在主機的身份信息;
第二獲取單元,用于獲取所述主機的iSCSI connector信息;
調(diào)用單元,用于根據(jù)所述iSCSI connector信息,調(diào)用Cinder的HTTP接口獲取卷的信息,并獲取該卷所暴露出來的iSCSI Target信息;
掛載單元,用于通過SCSI命令,并根據(jù)所述iSCSI Target信息將所述Cinder模塊創(chuàng)建的卷作為存儲設備掛載到所述主機上;
映射模塊,用于將掛載成功的所述卷映射到所述虛擬機中。
與現(xiàn)有技術(shù)相比,上述技術(shù)方案具有以下優(yōu)點:
本發(fā)明所提供的一種基于Cinder的卷跨集群掛載方法,包括:獲取用戶的掛載卷虛擬機的請求信息;根據(jù)請求信息中的虛擬機的ID參數(shù)獲取虛擬機所在主機的身份信息;獲取主機的iSCSI connector信息;根據(jù)iSCSI connector信息調(diào)用Cinder對云平臺中的卷管理的虛擬化適配信息;通過SCSI命令,并根據(jù)Cinder對云平臺中的卷管理的虛擬化適配信息將卷作為存儲設備掛載到主機上;將掛載成功的存儲設備映射到虛擬機中。通過Cinder對云平臺中的卷管理進行虛擬化適配,其中,Cinder可以屏蔽卷的虛擬化差異,同時也可以屏蔽虛擬化接口的變化,從而弱化了虛擬化的概念,同時使用Cinder強化了卷的管理功能,減少了重復開發(fā)的投入。通過SCSI命令將卷作為存儲設備掛載到主機上,并將掛載成功的存儲設備映射到虛擬機中,以供用戶使用,由于通過Cinder進行卷掛載,解決了卷無法跨集群掛載的問題,只需要保證虛擬機所在的主機與Cinder節(jié)點網(wǎng)絡互通即可實現(xiàn)掛載,簡化了卷管理操作,使得管理邏輯具體化,提高了管理效率,解決了存儲資源分配不均的問題。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一種具體實施方式所提供的基于Cinder的卷跨集群掛載方法流程圖;
圖2為本發(fā)明一種具體實施方式所提供的基于Cinder的卷跨集群掛載系統(tǒng)結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明的核心是提供一種基于Cinder的卷跨集群掛載方法及系統(tǒng),可以解決卷管理操作復雜,管理邏輯抽象,管理效率低下以及存儲資源分配不均的問題。
為了使本發(fā)明的上述目的、特征和優(yōu)點能夠更為明顯易懂,下面結(jié)合附圖對本發(fā)明的具體實施方式做詳細的說明。
在以下描述中闡述了具體細節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以多種不同于在此描述的其它方式來實施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似推廣。因此本發(fā)明不受下面公開的具體實施的限制。
請參考圖1,圖1為本發(fā)明一種具體實施方式所提供的基于Cinder的卷跨集群掛載方法流程圖。
本發(fā)明的一種具體實施方式提供了一種基于Cinder的卷跨集群掛載方法,包括:
S11:獲取用戶的掛載卷虛擬機的請求信息,即用戶發(fā)出請求信息,請求將卷掛載在虛擬機上。
S12:根據(jù)請求信息中的虛擬機的ID參數(shù)獲取虛擬機所在主機的身份信息。
在本實施方式中,該請求信息中包括:掛載點參數(shù)、卷ID參數(shù)和虛擬機的ID參數(shù)等參數(shù)。
S13:獲取主機的iSCSI connector信息。
S14:根據(jù)iSCSI connector信息調(diào)用Cinder對云平臺中的卷管理的虛擬化適配信息。
在本實施方式中,將云平臺的卷管理部分的虛擬化適配工作交由Openstack Cinder進行管理,其中,包括卷創(chuàng)建、卷刪除、卷擴容和卷快照等。利用Openstack中的Cinder可以突破集群限制,實現(xiàn)卷夸集群掛載的特性。
其中,根據(jù)iSCSI connector信息調(diào)用Cinder對云平臺中的卷管理的虛擬化適配信息,包括:根據(jù)iSCSI connector信息,調(diào)用Cinder的HTTP接口獲取卷的信息,并獲取該卷所暴露出來的iSCSI Target信息。
即Cinder對云平臺的卷管理部分進行虛擬化適配,進行卷創(chuàng)建,因而,從Cinder中即可獲取掛載信息-調(diào)用Cinder的HTTP接口獲取卷的信息,并獲取該卷所暴露出來的iSCSI Target信息。
S15:通過SCSI命令,并根據(jù)Cinder對云平臺中的卷管理的虛擬化適配信息將卷作為存儲設備掛載到主機上。
通過SCSI命令,并根據(jù)Cinder對云平臺中的卷管理的虛擬化適配信息將卷作為存儲設備掛載到主機上,為:通過SCSI命令,并根據(jù)iSCSI Target信息將卷作為存儲設備掛載到主機上。
在本實施方式中,模擬Nova的流程,將創(chuàng)建出的卷使用iSCSI掛載在虛擬機所在的主機上,即通過SCSI命令,并根據(jù)iSCSI Target信息將卷作為存儲設備掛載到主機上。
S16:將掛載成功的存儲設備映射到虛擬機中。
優(yōu)選地,采用libvert將主機上掛載的卷,即掛載成功的存儲設備映射到虛擬機上以供用戶使用。
在本實施方式中,通過Cinder對云平臺中的卷管理進行虛擬化適配,其中,Cinder可以屏蔽卷的虛擬化差異,同時也可以屏蔽虛擬化接口的變化,從而弱化了虛擬化的概念,同時使用Cinder強化了卷的管理功能,減少了重復開發(fā)的投入。通過SCSI命令將卷作為存儲設備掛載到主機上,并將掛載成功的存儲設備映射到虛擬機中,以供用戶使用,由于通過Cinder進行卷掛載,解決了卷無法跨集群掛載的問題,只需要保證虛擬機所在的主機與Cinder節(jié)點網(wǎng)絡互通即可實現(xiàn)掛載,簡化了卷管理操作,使得管理邏輯具體化,提高了管理效率,解決了存儲資源分配不均的問題。
請參考圖2,圖2為本發(fā)明一種具體實施方式所提供的基于Cinder的卷跨集群掛載系統(tǒng)結(jié)構(gòu)示意圖。
相應地,本發(fā)明一種實施方式還提供了一種基于Cinder的卷跨集群掛載系統(tǒng),包括:獲取模塊1、Cinder模塊2和云平臺3;
其中,獲取模塊1用于響應用戶的操作,獲取用戶的掛載卷虛擬機的請求信息;
Cinder模塊2用于對云平臺中的卷管理進行虛擬化適配;
云平臺3用于根據(jù)請求信息中的虛擬機的ID參數(shù)獲取虛擬機所在主機的身份信息,與主機進行連接;并獲取主機的iSCSI connector信息,根據(jù)iSCSI connector信息從Cinder模塊中調(diào)取掛載信息,將Cinder模塊創(chuàng)建的卷掛載到主機上,并將該卷映射到虛擬機中。
在本實施方式中,獲取模塊可以設計為用戶UI,即用戶操作界面,獲取模塊可以通過調(diào)用REST API來發(fā)起掛載卷虛擬機的請求,這其中包含掛載點參數(shù)、卷ID參數(shù)和虛擬機的ID參數(shù)等參數(shù)。其中,Cinder模塊包括:卷創(chuàng)建單元,用于進行卷創(chuàng)建;卷刪除單元,用于進行卷刪除;卷擴容單元,用于進行卷擴容;卷快照單元,用于進行卷快照。即通過Cinder進行卷管理的虛擬化適配工作,如進行卷創(chuàng)建、刪除、擴容和快照等。云平臺由Cinder中獲取掛載信息,然后可以模擬Nova的流程將創(chuàng)建出的卷使用iSCSI掛載到虛擬機的主機上。
通過Cinder對云平臺中的卷管理進行虛擬化適配,其中,Cinder可以屏蔽卷的虛擬化差異,同時也可以屏蔽虛擬化接口的變化,從而弱化了虛擬化的概念,同時使用Cinder強化了卷的管理功能,減少了重復開發(fā)的投入。通過SCSI命令將卷作為存儲設備掛載到主機上,并將掛載成功的存儲設備映射到虛擬機中,以供用戶使用,由于通過Cinder進行卷掛載,解決了卷無法跨集群掛載的問題,只需要保證虛擬機所在的主機與Cinder節(jié)點網(wǎng)絡互通即可實現(xiàn)掛載,簡化了卷管理操作,使得管理邏輯具體化,提高了管理效率,解決了存儲資源分配不均的問題。
進一步地,云平臺包括:第一獲取單元,用于獲取用戶的掛載卷虛擬機的請求信息;第一分析單元,用于根據(jù)請求信息中的虛擬機的ID參數(shù)獲取虛擬機所在主機的身份信息;第二獲取單元,用于獲取主機的iSCSI connector信息;調(diào)用單元,用于根據(jù)iSCSI connector信息,調(diào)用Cinder的HTTP接口獲取卷的信息,并獲取該卷所暴露出來的iSCSI Target信息;掛載單元,用于通過SCSI命令,并根據(jù)iSCSI Target信息將Cinder模塊創(chuàng)建的卷作為存儲設備掛載到主機上;映射模塊,用于將掛載成功的卷映射到虛擬機中。
即在本實施方式中,云平臺由獲取模塊處獲取用戶的掛載卷虛擬機的請求信息,然后云平臺根據(jù)虛擬機的ID參數(shù)獲取該虛擬機所在的主機,并獲取主機上的iSCSI connector信息,然后云平臺調(diào)用Cinder的HTTP接口獲取卷的信息,并獲取該卷所暴露出來的iSCSI Target信息,并根據(jù)該iSCSI Target信息將Cinder模塊創(chuàng)建的卷作為存儲設備掛載到主機上,并將掛載成功的卷映射到虛擬機中,以供用戶使用。
綜上所述,本發(fā)明所提供的基于Cinder的卷跨集群掛載方法及系統(tǒng),通過Cinder對云平臺中的卷管理進行虛擬化適配,其中,Cinder可以屏蔽卷的虛擬化差異,同時也可以屏蔽虛擬化接口的變化,從而弱化了虛擬化的概念,同時使用Cinder強化了卷的管理功能,減少了重復開發(fā)的投入。通過SCSI命令將卷作為存儲設備掛載到主機上,并將掛載成功的存儲設備映射到虛擬機中,以供用戶使用,由于通過Cinder進行卷掛載,解決了卷無法跨集群掛載的問題,只需要保證虛擬機所在的主機與Cinder節(jié)點網(wǎng)絡互通即可實現(xiàn)掛載,簡化了卷管理操作,使得管理邏輯具體化,提高了管理效率,解決了存儲資源分配不均的問題。
以上對本發(fā)明所提供的一種基于Cinder的卷跨集群掛載方法及系統(tǒng)進行了詳細介紹。本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。