[發明專利]一種虛擬機配置中設備地址的分配方法和裝置在審
| 申請號: | 201611238077.8 | 申請日: | 2016-12-28 |
| 公開(公告)號: | CN106648836A | 公開(公告)日: | 2017-05-10 |
| 發明(設計)人: | 解琰;曾鵬;龐慷宇 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455 |
| 代理公司: | 北京集佳知識產權代理有限公司11227 | 代理人: | 羅滿 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 虛擬機 配置 設備 地址 分配 方法 裝置 | ||
技術領域
本發明屬于云計算技術領域,特別是涉及一種虛擬機配置中設備地址的分配方法和裝置。
背景技術
在虛擬機的配置中,會有很多虛擬設備,包括磁盤、網卡、顯卡及聲卡等,在這些設備的配置文件描述中,有一個可供選擇的子選項設備地址(address),用來描述對應的虛擬機設備在虛擬總線上的位置,每一個設備地址都有一個必須的參數type,表示該設備在何種總線上,設備的地址類型是根據設備本身以及虛擬機的架構來決定的,例如控制器、網卡、顯卡、virtio接口類型的磁盤等的地址類型為pci,而ide以及scsi接口類型的磁盤的地址類型為drive。pci類型的地址有如下可選參數,分別為domain(兩位十六進制整數,qemu一般不用這一參數,默認為0x00)、bus(一個介于0~0xff的十六進制整數)、slot(一個介于0x0~0x1f的十六進制整數)、function(一個介于0~7的整數);drive類型的地址有如下可選參數:controller(控制器號)、bus(總線號)、target(目的號)、(總線上的單位編號)。控制器分為兩種,模式分別為pci-root和pci-bridge,pci-root控制器有且只有一個,并且虛擬機的一些基礎設備都位于最初的這個pci-root的控制器上,它相當于虛擬機最初的一個控制設備,而模式為pci-bridge的控制器用來擴展pci-root,由于pci-root最大只支持32個設備地址(它本身沒有設備地址),因此為了能夠讓虛擬機支持更多的硬件設備,利用pci-bridge模式的控制器,便可以將pci-root的其中一個設備地址擴展成額外的32個地址,以此來實現虛擬機硬件設備的擴展。
如果在建立虛擬機時沒有對設備地址中的各項屬性進行指定,libvirt會在虛擬機開機時自動生成一個合適的地址,來描述該設備所在位置,然而對自動生成設備地址的虛擬機進行內存快照的操作時,由于快照中的設備地址已經由libvirt自動分配,與最初的虛擬機配置文件(還沒有指定具體設備地址)不相匹配,會出現內存快照恢復失敗的問題,還會導致scsi磁盤作為系統盤無法開機,因此需要在虛擬機創建之前,手動指定虛擬機中各項設備的總線地址,然而在虛擬機創建之后各項硬件配置會有改動,例如熱添加磁盤、網卡設備等,還可能造成設備地址管理混亂。
發明內容
為解決上述問題,本發明提供了一種虛擬機配置中設備地址的分配方法和裝置,將虛擬機中的各個設備地址按照規則進行分配,能夠避免內存快照恢復失敗和scsi磁盤作為系統盤無法開機的問題。
本發明提供的一種虛擬機配置中設備地址的分配方法,包括:
根據計劃添加的設備的數量,確定安裝到PCI總線上的控制器的種類和數量;
為固有硬件設備分配固定設備地址;
為ide和scsi接口類型的磁盤分配設備地址;
為網卡和virtio接口類型的磁盤分配設備地址。
優選的,在上述虛擬機配置中設備地址的分配方法中,所述根據計劃添加的設備的數量,確定安裝到PCI總線上的控制器的種類和數量為:
根據計劃添加的設備的數量,確定安裝到PCI總線上的控制器的種類包括pci-root控制器、pci-bridge控制器、提供ide類型設備地址的控制器以及提供scsi類型設備地址的控制器。
優選的,在上述虛擬機配置中設備地址的分配方法中,所述為固有硬件設備分配固定設備地址為:
將bus=0,slot=0x01~0x10,function=0,domain=0的地址分配給所述固有硬件設備。
優選的,在上述虛擬機配置中設備地址的分配方法中,所述為ide和scsi接口類型的磁盤分配設備地址包括:
為所述ide接口類型的磁盤分配的設備地址為controller=0,target=0,bus=0,unit=0;controller=0,target=0,bus=0,unit=1;controller=0,target=0,bus=1,unit=0;controller=0,target=0,bus=1,unit=1;
為所述scsi接口類型的磁盤分配的設備地址為controller=0,target=0,bus=0,unit=0~31,而且,當所述scsi接口類型的磁盤為虛擬機系統盤時,則將其設備地址分配為controller=0,target=0,bus=0,unit=0。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611238077.8/2.html,轉載請聲明來源鉆瓜專利網。





