本發明專利技術實施例涉及一種基于虛擬機的設備熱替換方法及裝置,包括:接收熱替換命令,該熱替換命令攜帶有虛擬磁盤標識,其中,該虛擬磁盤標識對應一個需要被替換的邏輯設備。生成模擬邏輯設備,該模擬邏輯設備具有標識。將熱替換命令對應的待替換邏輯設備的控制信息發送給模擬邏輯設備,以使模擬邏輯設備能夠代理代替換的邏輯設備響應控制指令。根據熱替換命令,將對應的虛擬磁盤的標識與待替換的邏輯設備的標識之間的映射關系刪除,并建立對應的虛擬磁盤與模擬邏輯設備之間的映射關系。由此,邏輯設備出現故障時,通過模擬邏輯設備來代理邏輯設備,已響應相應的控制指令,進而,虛擬機能夠正常的對設備進行控制操作。
【技術實現步驟摘要】
本專利技術涉及虛擬機
,尤其涉及一種基于虛擬機的設備熱替換方法及裝置。
技術介紹
虛擬機(Virtual Machine,VM),指通過軟件模擬的具有完整硬件系統功能的、運行在一個完全隔離環境中的完整計算機系統。虛擬機通過生成現有操作系統的全新虛擬鏡像,它具有真實操作系統完全一樣的功能,進入虛擬系統后,所有操作都是在這個全新的獨立的虛擬系統里面進行,可以獨立安裝運行軟件,保存數據等等。熱插拔(hot-plugging或Hot Swap)即帶電插拔,還可以稱為熱替換(Hotreplacement)。熱插拔功能就是允許用戶在不關閉系統,不切斷電源的情況下取出和更換損壞的硬盤、電源或板卡等部件,從而提高了系統對災難的及時恢復能力、擴展性和靈活性等。虛擬機設備熱插拔,由于從VM外的角度來看,VM看到的所有“硬件”均是由VMM (virtual machine monitor,虛擬機監視器)提供的軟件模擬,故針對VM的“硬件”熱插拔,實際上是針對的VMM層的軟件模擬體?,F有技術中VMM通過命令行界面接收待熱插拔的虛擬磁盤對應的熱插拔操作請求,觸發熱插拔操作,VMM將熱插拔操作請求發送給對應的虛擬機操作系統;虛擬機操作系統通過熱插拔事件驅動找到對應的虛擬設備驅動,通過虛擬設備驅動回收分配給待熱插拔虛擬磁盤的資源,實現對待熱插拔虛擬磁盤的熱拔出操作。通過這種方式,能夠有效的進行熱插拔操作,但是,當物理磁盤故障(例如磁頭損壞導致VMM不能正常訪問)等原因,進一步導致設備驅動異常,致使該邏輯設備實現熱插拔操作的設備驅動也出現異常,導致在VM運行的情況下,不能夠對該設備進行熱拔出操作。所以如果設備出現故障導致設備驅動異常,那么只能關閉VM ;從VM的定義(Definit1n)中刪除已經故障的“設備”;然后再修復VM故障“設備”在VMM層對應的邏輯設備或文件。但是,一般情況下,VM是相對龐大的,重新啟動VM需要很長的時間,損失較大;若是處于服務器端的VM,關閉VM可能會影響與該服務器關聯的客戶端,從而極大影響用戶的體驗(例如,關閉網絡游戲服務的VM,可能會影響登錄該服務器的所有用戶的游戲體驗)。所以如何實現對虛擬機中已故障的“設備”進行熱插拔操作成為本領域技術人員迫切需要解決的技術問題。
技術實現思路
本專利技術實施例提供了一種基于虛擬機的設備熱替換方法及裝置,可以實現在邏輯設備出現故障時,通過模擬邏輯設備來代理邏輯設備,已響應相應的控制指令,進而,虛擬機能夠正常的對設備進行控制操作。第一方面,本專利技術實施例提供了一種基于虛擬機的設備熱替換方法,該方法包括,接收熱替換命令,該熱替換命令攜帶有虛擬磁盤標識,其中,該虛擬磁盤標識對應一個需要被替換的邏輯設備(如已發生故障的邏輯設備)。生成模擬邏輯設備,該模擬邏輯設備具有標識(如描述符、或者句柄等等)。將熱替換命令對應的待替換邏輯設備的控制信息發送給模擬邏輯設備,以使模擬邏輯設備能夠代理代替換的邏輯設備響應控制指令。根據熱替換命令,將對應的虛擬磁盤的標識與待替換的邏輯設備的標識之間的映射關系刪除,并建立對應的虛擬磁盤與模擬邏輯設備之間的映射關系,此時,通過模擬邏輯設備來響應對于虛擬磁盤的控制指令(例如熱拔出指令,關閉電源指令)。通過上述方法可以實現即使由于物理磁盤出現故障導致了邏輯設備不能夠響應指令,在將不能夠響應指令的邏輯設備與模擬邏輯設備替換后,此時,在虛擬機層面,并不能發現邏輯設備已經故障,依然能夠對該邏輯設備對應的虛擬磁盤進行拔出操作。在第一方面的一種可能實現方式中,該方法還可以包括,在建立虛擬磁盤的標識與模擬邏輯設備的標識之間的映射關系之后,可以根據前述接收到的熱替換命令,或者新接收到的拔出命令(包括需要拔出的虛擬磁盤的標識),回收分配給虛擬磁盤的資源。刪除虛擬磁盤的標識與模擬邏輯設備的標識之間的映射關系。通過該方法可以實現對已故障的邏輯設備對應的虛擬磁盤進行刪除。在第一方面的一些可能實現方式中,當需要插入已修復好的邏輯設備或者另一個新的邏輯設備時,在還未刪除虛擬邏輯磁盤的標識與模擬邏輯設備的標識之間的映射關系的前提下,該方法還可以包括,接收熱插入命令,該熱插入命令包括虛擬磁盤(前述被替換的邏輯設備對應的虛擬磁盤)的標識以及待插入邏輯設備的標識。刪除虛擬磁盤的標識與模擬邏輯磁盤之間的映射關系,并建立虛擬磁盤與待插入的邏輯設備的標識之間的映射關系。通過該方法可以實現在通過模擬邏輯設備代理邏輯設備后,在虛擬機層面不用對設備進行刪除,便可以直接對邏輯設備進行修復,然后將修復后的邏輯設備重新插入,或者新換一個邏輯設備來替換已故障的邏輯設備,換句話說,在虛擬機層面并不知道已經將已故障的邏輯設備修復或者替換了邏輯設備,從而在不影響虛擬機正常運行的情況下,完成了對設備的熱插拔以及修復。第二方面,本專利技術實施例提供了一種基于虛擬機的設備熱替換裝置用于實現第一方面提供的方法,具體的裝置包括:接收單元,用于接收熱替換命令。生成單元,用于生成模擬邏輯設備,該模擬邏輯設備具有標識。發送單元,用于將待替換的邏輯設備的控制信息發送給模擬邏輯設備。刪除單元,用于刪除虛擬磁盤的標識與邏輯設備的標識之間的映射關系。建立單元,用于建立虛擬磁盤的標識與模擬邏輯設備的標識之間的映射關系。通過本專利技術實施例可以實現對于已故障設備,對于虛擬機透明的替換,進而,不影響虛擬機的正常工作。在第二方面的一個可能的實現方式中,該裝置還可以包括回收單元,當需要刪除虛擬磁盤時,通過回收單元回收分配給虛擬磁盤的資源。在第二方面的另一個可能的實現方式中,在需要重新插入邏輯設備時,接收單元還用于接收第一熱插入命令,該第一熱插入命令包括虛擬磁盤的標識。上述裝置還包括創建單元,用于根據第一熱插入命令創建一個對應的虛擬磁盤,此時,再通過建立單元建立新創建的虛擬磁盤的標識與新插入的邏輯設備的標識之間的映射關系。通過該裝置能夠實現刪除虛擬磁盤后,從新插入該虛擬磁盤對應的邏輯設備。在第二方面的一些實現方式中,當需要插入已修復好的邏輯設備或者另一個新的邏輯設備時,在還未刪除虛擬邏輯磁盤的標識與模擬邏輯設備的標識之間的映射關系的前提下,接收單元還用于接收第二熱插入命令,該第二熱插入命令包括第一虛擬磁盤的標識以及待插入邏輯設備的標識。刪除單元還用于刪除第一虛擬磁盤的標識與模擬邏輯設備的標識之間的映射關系。建立單元還用于建立第一虛擬磁盤的標識與邏輯設備的標識之間的映射關系。通過該裝置可以實現一些在第一方面中的實施方式。通過本專利技術實施例,在VMM中引入虛擬邏輯設備,當需要進行熱插拔操作時,通過虛擬邏輯設備與虛擬磁盤之間的映射,替換需要進行熱插拔的邏輯設備與虛擬磁盤的映射,用虛擬邏輯設備響應VM對邏輯設備的操作請求,所以,即使邏輯設備出現故障,那么對該故障設備進行熱插拔,不影響VM的正常工作,從而使虛擬機的熱插拔技術更完善?!靖綀D說明】圖1為本專利技術實施例提供的運行系統的結構示意圖;圖2為本專利技術一個實施例提供的基于虛擬機的設備熱替換裝置的示意圖;圖3為本專利技術一個實施例提供的一種基于虛擬機的設備熱替換方法的流程圖;圖4為VM到物理硬件層的映射關系示意圖;圖5為已刪除模擬邏輯設備與虛擬磁盤的映射關系示意圖;圖6為本專利技術實施例提供的替換操作流程圖;本文檔來自技高網...

【技術保護點】
一種基于虛擬機的設備熱替換方法,其特征在于,所述方法包括:接收熱替換命令,所述熱替換命令包括第一虛擬磁盤的標識,所述第一虛擬磁盤對應一個待替換的邏輯設備;生成模擬邏輯設備,所述模擬邏輯設備具有標識;將所述待替換的邏輯設備的控制信息發送給所述模擬邏輯設備;刪除所述第一虛擬磁盤的標識與所述待替換的邏輯設備的標識之間的映射關系;建立所述第一虛擬磁盤的標識與所述模擬邏輯設備的標識之間的映射關系,使得所述模擬邏輯設備根據所述控制信息響應針對所述第一虛擬磁盤的控制指令。
【技術特征摘要】
【專利技術屬性】
技術研發人員:肖慶航,
申請(專利權)人:華為技術有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。