[发明专利]一种虚拟机配置中设备地址的分配方法和装置在审
申请号: | 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.vipzhuanli.com/pat/books/201611238077.8/2.html,转载请声明来源钻瓜专利网。