[發明專利]實現設備虛擬化的方法、裝置及計算機可讀存儲介質在審
| 申請號: | 202010419033.5 | 申請日: | 2020-05-18 |
| 公開(公告)號: | CN111651269A | 公開(公告)日: | 2020-09-11 |
| 發明(設計)人: | 呂爭;劉迅思 | 申請(專利權)人: | 青島镕銘半導體有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 工業和信息化部電子專利中心 11010 | 代理人: | 張然 |
| 地址: | 266100 山東省青*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 實現 設備 虛擬 方法 裝置 計算機 可讀 存儲 介質 | ||
本發明公開了一種實現設備虛擬化的方法、裝置及計算機可讀存儲介質。實現設備虛擬化的方法,包括:基于非易失性內存主機控制器接口規范NVMe存儲協議,將宿主機上的每個NVMe設備枚舉出多個命名空間namespace;將每個namespace枚舉成一個虛擬設備。采用本發明,利用標準的NVMe存儲協議中規定的命名空間的概念,將同一個NVMe設備上的不同命名空間枚舉成不同的虛擬設備,通過NVMe協議規定天然地就將不同虛擬設備做到了隔離,同時由于NVMe協議是標準的存儲協議,所有的虛擬化方案都天然支持,可以保證該方案可以適配不同的虛擬化場景。
技術領域
本發明涉及計算機領域,尤其涉及一種實現設備虛擬化的方法、裝置及計算機可讀存儲介質。
背景技術
虛擬化技術是一種資源管理技術,具體是指將硬件資源虛擬化,實現隔離性、可擴展性、安全性、資源可充分利用等特點的產品。
在虛擬化技術中,通常將物理主機叫做Hypervisor(宿主機)。將在物理主機上面運行的虛擬主機叫做虛擬機或者容器。在一個宿主機上可以跑多個虛擬機或者容器。不同的虛擬機或者容器之間需要完全隔離,互不影響。用戶通過虛擬機或容器來訪問軟件構造出的虛擬設備。而虛擬化軟件構造出的虛擬設備又需要通過一定的接口和實際的物理設備通訊。其中如何實現物理設備和虛擬設備之間的映射是技術核心。其中,如何實現一個物理設備對應多個虛擬設備,多個虛擬設備之間可以共享同一個物理設備的資源是重中之重。
發明內容
本發明實施例提供一種實現設備虛擬化的方法、裝置及計算機可讀存儲介質,用以實現一個物理設備對應多個虛擬設備,多個虛擬設備之間可以共享同一個物理設備的資源。
根據本發明實施例的實現設備虛擬化的方法,包括:
基于非易失性內存主機控制器接口規范NVMe存儲協議,將宿主機上的每個NVMe設備枚舉出多個命名空間namespace;
將每個所述namespace枚舉成一個所述虛擬設備。
根據本發明的一些實施例,所述將宿主機上的每個NVMe設備枚舉出多個命名空間namespace,包括:
為每個所述NVMe設備維護一個namespace鏈表和一個namespace ID table,所述namespace鏈表中的每個所述namespace在所述namespaceIDtable存在一個位置位;
當所述位置位設置為第一數值,則該位置位對應的namespace待分配;
當所述位置位設置為第二數值,則該位置位對應的namespace已分配;
所述第二數值與所述第一數值不同。
根據本發明的一些實施例,所述宿主機具有多個所述NVMe設備。
根據本發明實施例的實現設備虛擬化的裝置,包括:
NVMe驅動,用于基于非易失性內存主機控制器接口規范NVMe存儲協議,將宿主機上的每個NVMe設備枚舉出多個命名空間namespace;
vfio設備,用于將每個所述namespace枚舉成一個所述虛擬設備。
根據本發明的一些實施例,所述NVMe驅動,用于:
為每個所述NVMe設備維護一個namespace鏈表和一個namespace ID table,所述namespace鏈表中的每個所述namespace在所述namespace ID table存在一個位置位;
當所述位置位設置為第一數值,則該位置位對應的namespace待分配;
當所述位置位設置為第二數值,則該位置位對應的namespace已分配;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于青島镕銘半導體有限公司,未經青島镕銘半導體有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010419033.5/2.html,轉載請聲明來源鉆瓜專利網。





