一種虛擬化環(huán)境下密碼卡資源動態(tài)控制方法
【技術領域】
[0001]本發(fā)明屬于云計算技術領域,更具體地,涉及一種虛擬化環(huán)境下密碼卡資源動態(tài)控制方法。
【背景技術】
[0002]虛擬化技術逐漸成為云計算中的核心技術,它提供了對物理服務器上資源最大化利用的一個切實可行的解決方案。另一方面,現(xiàn)在高性能的硬件設備價格昂貴,在沒有虛擬化技術的前提下,這中昂貴的硬件設備,性能并沒有得到最大程度上的利用。PC1-E密碼設備就是其中的一種。
[0003]已有的專利發(fā)明已經(jīng)給出了在虛擬化環(huán)境下,虛擬機中虛擬化PC1-E密碼卡設備的方法,而且也成功實現(xiàn)了 PC1-E密碼卡設備的虛擬化。這為本發(fā)明提供了基礎。
[0004]然而,在這種PC1-E密碼卡設備虛擬化方法中,存在兩點不足。一是沒有考慮到單臺物理機上有多塊PC1-E密碼設備時該如何在多個DomU之間分配使用該物理密碼卡,做到密碼設備的負載均衡;二是對該物理密碼的狀態(tài)信息,包括各個PC1-E密碼設備當前在為哪臺虛擬化服務器服務、各個PC1-E密碼設備加密解密的數(shù)據(jù)量等信息進行實時監(jiān)控。
【發(fā)明內(nèi)容】
[0005]針對現(xiàn)有發(fā)明技術的缺陷,本發(fā)明目的在于找出一種適應多服務器多加密卡的情況下,對密碼卡資源的控制方法,能夠將硬件加密卡資源動態(tài)的分配給虛擬化服務器。
[0006]為了實現(xiàn)上述目的,本發(fā)明提供了一種虛擬化環(huán)境下密碼卡資源動態(tài)控制方法,包括如下步驟:
[0007](I)對硬件PC1-E密碼卡設備,進行數(shù)據(jù)結構的封裝,該封裝的數(shù)據(jù)結構中包含了該硬件PC1-E密碼卡設備的引用計數(shù)、累積加密數(shù)據(jù)量和累積解密數(shù)據(jù)量,以及綁定到該密碼卡設備上的虛擬機序列;在單臺物理服務器引導完成之后,加載驅動層的內(nèi)核模塊,完成該數(shù)據(jù)結構的初始化,建立硬件PC1-E密碼卡設備序列Gi1, kfkn),其中Ici表示第i塊PC1-E密碼卡,η表示硬件PC1-E密碼卡設備的數(shù)量,并且把硬件PC1-E密碼卡設備的累積加密數(shù)據(jù)量G1, e2,…,e”…,en)和累積解密數(shù)據(jù)量;(Cl1, d2,…,φ,..., dn)初始化為(O, O,…,…,O),ejP d i分別表示第i塊硬件PC1-E密碼卡設備的累積加密數(shù)據(jù)量和累積解密數(shù)據(jù)量,η表示硬件PC1-E加密卡設備的數(shù)量,初始化硬件PC1-E加密卡設備的引用計數(shù)序列((^c2,…,Ci,…,cn)為(0,0,…,…,O),其中Ci為第i塊硬件PC1-E密碼設備,你表示硬件PC1-E密碼卡設備的數(shù)量;
[0008](2)在虛擬化服務器DomUi啟動時,運行PC1-E密碼卡資源分配算法,為該啟動的虛擬化服務器分配并綁定一塊硬件PC1-E密碼卡設備;
[0009](3)虛擬化服務器DomUi啟動之后,設根據(jù)PC1-E密碼卡資源分配算法為其分配的硬件PC1-E密碼卡設備為Ici,硬件PC1-E密碼卡設備引用計數(shù)序列變?yōu)?C1, C2,…,Ci+1,…,cn),將新的硬件PC1-E密碼卡設備的引用計數(shù)序列和該綁定的虛擬機序列信息從該單臺物理服務器上發(fā)送到需要監(jiān)控的物理服務器;
[0010](4)記錄物理PC1-E密碼卡的資源累計加密數(shù)據(jù)量為(ei,e2,…,…,en),在虛擬化服務器00!1^請求一次加密后,更新硬件PC1-E密碼卡設備累計加密數(shù)據(jù)量為(e 1; e2,…,θ?+ρ,…,en),其中P為設加密數(shù)據(jù)量;
[0011](5)記錄物理PC1-E密碼卡資源的累計解密數(shù)據(jù)量為(d” d2,…,φ,…,dn),在虛擬化服務器DomUi請求一次解密后,更新硬件PC1-E密碼卡設備累計解密數(shù)據(jù)量為(Cl1, d2,...,di+q,...,dn),其中 q 為解密數(shù)據(jù)量;
[0012](6)在虛擬化服務器DomUi關機時,取消加密卡綁定,更新(c ” C2,...,Cj+1,...,cn)為(C1, c2,…,Ci,…,cn);但是該密碼卡的加密數(shù)據(jù)量序列(e” e2,…,e^p,…,en)和解密數(shù)據(jù)量序列(屯,d2,…,di+q,…,dn)不變,同時將新的硬件PC1-E密碼卡設備的引用計數(shù)序列和該綁定的虛擬機序列信息從該單臺物理服務器上發(fā)送到需要監(jiān)控的物理服務器;
[0013](7)驅動加載之后,在驅動層創(chuàng)建內(nèi)核線程,負責實時將硬件PC1-E加密卡設備的引用計數(shù)序列、綁定的虛擬機序列和累積加密數(shù)據(jù)量和累積解密數(shù)據(jù)量發(fā)送給應用層。
[0014]通過本發(fā)明所構思的以上技術方案,與現(xiàn)有技術相比,本發(fā)明具有以下的有益效果:
[0015](I)、由于步驟(1)、步驟(2)和步驟(3),本發(fā)明專利滿足了在單臺物理服務器上對多塊硬件PC1-E密碼卡設備動態(tài)地分配給虛擬化服務器,給出了一個負載均衡的解決方案。
[0016](3)、由于步驟(3)和步驟(6),本發(fā)明給出了在多臺物理服務器的情況下,對各臺物理服務器上的硬件PC1-E加密卡與虛擬化服務器之間的綁定信息進行實時監(jiān)控。
[0017](2)、由于步驟(4)和步驟(5),本發(fā)明給出了對于多臺物理服務器的情況下,對于各臺物理服務器上的硬件PC1-E密碼卡設備的累積加密和解密數(shù)據(jù)量進行實時的監(jiān)控。
【附圖說明】
[0018]圖1為本發(fā)明實施例中單臺服務器上多塊密碼卡設備動態(tài)綁定示意圖;
[0019]圖2為本發(fā)明實施例中多服務器情況下物理密碼卡資源狀態(tài)監(jiān)控示意圖。圖中從服務器在實際情況中有多臺。
【具體實施方式】
[0020]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術特征只要彼此之間未構成沖突就可以相互組合。
[0021]本發(fā)明提供了一種虛擬化環(huán)境下密碼卡資源動態(tài)控制方法,該方法用于虛擬化平臺下,包括Xen、KVM,VMWARE但不限于這三種虛擬化平臺,在不同系統(tǒng)下均可行。具體地,所述方法包括如下步驟:
[0022](I)對硬件PC1-E密碼卡設備,進行數(shù)據(jù)結構的封裝,該封裝的數(shù)據(jù)結構中包含了該硬件PC1-E密碼卡設備的引用計數(shù)、累積加密數(shù)據(jù)量和累積解密數(shù)據(jù)量,以及綁定到該密碼卡設備上的虛擬機序列。在單臺物理服務器引導完成之后,加載驅動層的內(nèi)核模塊,完成該數(shù)據(jù)結構的初始化,建立硬件PC1-E密碼卡設備序列Gi1, lv..kn),其中Iii表示第i塊PC1-E密碼卡,并且把硬件PC1-E密碼卡設備的累積加密數(shù)據(jù)量(ei,e2,…,e”…,en)和累積解密數(shù)據(jù)量((I1, d2,…,(Ii,…,dn)初始化為(O, O,…,…,O), ejP (^分別表不第i塊硬件PC1-E密碼卡設備的累積加密數(shù)據(jù)量和累積解密數(shù)據(jù)量。
[0023]具體地,在驅動層的實現(xiàn)上,采用內(nèi)核鏈表保存硬件加密卡的數(shù)據(jù)結構。
[0024](2)在虛擬化服務器DomUi啟動時,運行PC1-E密碼卡資源分配算法,為該啟動的虛擬化服務器分配并綁定一塊硬件PC1-E密碼卡設備。
[0025]如圖1所示,為本發(fā)明實施例中單臺服務器上多塊密碼卡設備動態(tài)綁定示意圖。圖中所示為DomO中只有兩塊PC1-E密碼卡的情形。途中實線表示在虛擬機啟動時動態(tài)綁定的加密卡,虛線表示系統(tǒng)管理員指定的綁定關系。圖中所示表示為DomUl和DomUk+1分配兩塊密碼卡。
[0026]具體地,PC1-E密碼卡資源綁定具體步驟為:
[0027](2.1)搜尋硬件PC1-E密碼設備引用計數(shù)序列(C1, C2,…,C」,…,cn),其中C」表示第j塊密碼卡的引用計數(shù),找到最小的引用計數(shù)Ci,PC1-E密碼卡資源分配算法本次運行所選擇出的硬件PC1-E密碼卡設備為Iv
[0028](2.2)更新硬件PC1-E密碼卡設備的引用計數(shù)序列(C1, C2,…,Ci+1,…,cn),并且將需要綁定硬件PC1-E密碼卡設備匕的虛擬化服務器DomU ,加入到k i的虛擬機列表中。
[0029](3)虛擬化服務器0011^啟動之后,根據(jù)PC1-E密碼卡資源分配算法,為其分配的硬件PC1-E密碼卡設備為Ici,硬件PC1-E密碼卡設備引用計數(shù)序列變?yōu)?C1, C2,…,Ci+1,…,cn)。此時硬件PC1-E密碼卡狀態(tài)已經(jīng)發(fā)生改變,將新的硬件PC1-E密碼卡設備的引用計數(shù)序列和該綁定的虛擬機序列信息從該單臺物理服務器上發(fā)送到需要監(jiān)控的物理服務器。
[0030](4)虛擬化服務器啟動之后,系統(tǒng)管理員可以根據(jù)虛擬化服務器的業(yè)務需求為虛擬化服務器另外再指派虛加密卡。系統(tǒng)管理員在在監(jiān)控服務器上為指定的虛擬機選擇添加硬件PC1-E密碼卡設備,該添加指令(DomUi, η),表示為虛擬化服務器DomUi添加η塊硬件PC1-E密碼卡設備。虛擬機所在單臺物理服務器接收到該指令后,將其傳遞至驅動層。驅動層執(zhí)行密碼卡指派算法。
[0031]具體地,密碼卡指派算法:
[0032](4.1)驅動層接收到(DomUi, η