CN105573671A - 一种获取虚拟机磁盘对应磁盘文件的方法 - Google Patents
一种获取虚拟机磁盘对应磁盘文件的方法 Download PDFInfo
- Publication number
- CN105573671A CN105573671A CN201510923289.9A CN201510923289A CN105573671A CN 105573671 A CN105573671 A CN 105573671A CN 201510923289 A CN201510923289 A CN 201510923289A CN 105573671 A CN105573671 A CN 105573671A
- Authority
- CN
- China
- Prior art keywords
- disk
- virtual machine
- pci
- file
- host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及云计算技术领域,特别是一种获取虚拟机磁盘对应磁盘文件的方法。本发明所述方法包括:在虚拟机里面通过简单工具得到各个磁盘逻辑地址;在宿主机中执行命令查看虚拟机PCI设备信息,并根据所述磁盘逻辑地址找到磁盘设备ID;最后根据所述磁盘设备ID,在宿主机上利用虚拟化工具找到磁盘对应的磁盘文件。本发明可确保精确无误的找到各个虚拟机磁盘对应在宿主机中的磁盘文件,方便管理员更加有效的控制自己的虚拟机;可以用于虚拟机管理。
Description
技术领域
本发明涉及云计算技术领域,特别是一种获取虚拟机磁盘对应磁盘文件的方法。
背景技术
在云计算环境下,虚拟机全面取代物理机成为用户的计算机资源,在这种情况下,用户尤其是云平台管理员强烈希望自己能够像原先管理物理机一样的方式管理自己的虚拟机,这就要求云平台技术人员从虚拟机的各个方面提供对应功能供管理员使用。
虚拟机像物理机一样存在磁盘存储资源,只不过虚拟机的磁盘一般是通过在宿主机里面创建多个对应格式的磁盘文件,然后将其挂载给虚拟机进行使用的。当某台虚拟机存在多个虚拟磁盘的时候,虚拟机管理员如果需要获取各个磁盘对应的哪个磁盘文件的时候,通常的方法步骤如下:
1、开始创建磁盘文件的时候,给每个磁盘文件分配不一样的空间大小;
2、当需要查看虚拟机里面磁盘对应的磁盘文件时,首先读取磁盘空间大小;然后在宿主机上面利用virshdumpxml将虚拟机的配置文件导出来;最后针对配置文件里面的磁盘文件一个一个进行qemu-img命令查看其空间找到磁盘对应文件。
这种方法存在如下的弊端:
1、管理员创建磁盘文件的时候必须保证每个磁盘文件的空间大小不一样,这个要求很难保证,而且也不合理;另外当磁盘文件空间大小相差不是很大的时候,得到的结果也不准确可靠;
2、后续的寻找磁盘对应磁盘文件的过程太繁琐,需要依次读取虚拟机配置文件里面的每个磁盘文件空间大小;当虚拟机存在很多个磁盘的时候,这种方法很难有高效性可言。
为了简单可靠的实现对虚拟机的磁盘进行更细粒度的管理维护,需要一种简单有效的获取虚拟机磁盘对应磁盘文件的方法。
PCI与PCI地址
PCI是PeripheralComponentInterconnect(外围设备互联)的简称,是普遍使用在桌面及更大型的计算机上的外设总线。PCI架构被设计为ISA标准的替代品,它有三个主要目标:获得在计算机和外设之间传输数据时更好的性能;尽可能的平台无关;简化往系统中添加和删除外设的工作。
PCI是一种外设总线规范,该允许单个系统拥有高达256个总线,所以总线编号是8位。但对于大型系统而言,这是不够的,所以,引入了域的概念,每个PCI域可以拥有最多256个总线,每个总线上可支持32个设备,所以设备号是5位,而每个设备上最多可有8种功能,所以功能号是3位。由此,我们可以得出一个诸如0000:00:1f.1的PCI设备的地址是0号域0号总线上的31号设备上的1号功能。
发明内容
本发明解决的技术问题在于提供一种获取虚拟机磁盘对应磁盘文件的方法,解决了现阶段云平台环境下获取虚拟机磁盘对应磁盘文件方法存在的繁琐且不合理、不可靠的问题。
本发明解决上述技术问题的技术方案是:
所述的方法包括:
在虚拟机里面通过简单工具得到各个磁盘逻辑地址;
在宿主机中执行命令查看虚拟机PCI设备信息,并根据所述磁盘逻辑地址找到磁盘设备ID;
最后根据所述磁盘设备ID,在宿主机上利用虚拟化工具找到磁盘对应的磁盘文件。
所述的虚拟机磁盘是指利用宿主机上面自创建的相应格式文件;
所述的相应格式文件根据虚拟化类型的不同而有所差别,XEN虚拟化类型下的vhd格式文件,KVM虚拟化类型下的qcow2格式文件,还包括了通用的raw格式文件等;
所述的各种格式文件之间只是在存储方式上面存在一定的差异性,在一定条件下都可以相互间进行转换。
所述的简单工具可以是一个工具命令,或者一段简单程序,也可以是像在windows操作系统里面手动的点击查看设备管理器属性等;
所述的工具命令可以是linux系统中的lspci及其附加命令。
所述的逻辑地址是指计算机所有PCI设备的外设地址,它以冒号和逗号分隔为4个部分,第一个16位表示域,第二个8位表示一个总线编号,第三个5位表示一个设备号,最后是3位,表示功能号;
所述的磁盘逻辑地址是指磁盘作为计算机里面的一个PCI设备,在计算机里面存在唯一的PCI外设地址。
所述的在宿主机中执行命令查看虚拟机PCI设备信息,并根据所述磁盘逻辑地址找到磁盘设备ID包括:
在宿主机中执行virshqemu-monitor-command...“infopci”等libvirt命令查看指定虚拟机的PCI设备信息;
根据每个PCI设备显示的信息找到上述步骤在虚拟机里面获取到的磁盘PCI逻辑地址;
PCI地址一致的PCI设备即为虚拟机磁盘,接着即可得到该磁盘对应的磁盘ID。
本发明方案的有益效果如下:
1、提供一种新的、更加简单可靠且高效的获取虚拟机磁盘对应磁盘文件的方法,本发明提供的获取磁盘对应文件方法原理简单、结果精确,方法也易实现。
2、本发明提供的方法具有通用性,不仅是虚拟机磁盘可以用该方法,虚拟机上面的网卡、显卡等只要是PCI类型资源都可以使用本发明提供的方法。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,为本发明实施例提供的一种获取虚拟机磁盘对应磁盘文件的方法的流程示意图,所述方法包括:
管理员实现在虚拟机里面通过简单工具得到各个磁盘逻辑地址。
具体的我们以linux虚拟机为例,执行如下命令获取磁盘逻辑地址:
[rootcontroller~]#lspci|grepSATA
00:1f.2SATAcontroller:IntelCorporation82801JI(ICH10Family)SATAAHCIController
如上,我们通过执行lspci将linux虚拟机里面所有的PCI设备列举出来,然后通过grepSATA过滤出来SATA类型磁盘。当然,这里需要根据用户虚拟机具体磁盘类型进行指定。
我们获取到该虚拟机里面有一个硬盘,其逻辑地址为00:1f.2,即0号域0号总线上的31号设备上的1号功能。
接着管理员在宿主机中执行命令查看虚拟机PCI设备信息,并根据所述磁盘逻辑地址找到磁盘设备ID。
具体的我们在宿主机上面执行如下libvirt命令:
#virshqemu-monitor-commandi-xxxxxxxx--hmp″infopci″
其中i-xxxxxxxx为虚拟机的名称,当然也可以用虚拟机ID代替。
这里我们得到的结果如下(只列出部分):
BUS0,device31,function1:
SCSIcontroller:PCIdevice1af4:1001
IRQ10.
BAR0:I/Oat0xff40[0xff7f].
BAR1:32bitmemoryatoxfebfd000[0xfebfdfff].
id″disk1″
如上,我们得到0号域0号总线31号设备上的1号功能对应的设备ID为“disk1”。
最后根据所述磁盘设备ID:“disk”,在宿主机上利用虚拟化工具找到磁盘对应的磁盘文件,执行如下命令:
#virshqemu-monitor-commandi-xxxxxxxx--hmp″infoblock″
得到的结果如下(部分列出):
disk1:removable=0io-status=okfile=/work/add1.qcow2ro=0drv=qcow2encrypted=0
如上,我们很容易的得出设备ID为disk1的磁盘对应的磁盘文件是宿主机上面的/work/add1.qcow2。
Claims (7)
1.一种获取虚拟机磁盘对应磁盘文件的方法,其特征在于,所述的方法包括:
在虚拟机里面通过简单工具得到各个磁盘逻辑地址;
在宿主机中执行命令查看虚拟机PCI设备信息,并根据所述磁盘逻辑地址找到磁盘设备ID;
最后根据所述磁盘设备ID,在宿主机上利用虚拟化工具找到磁盘对应的磁盘文件。
2.根据权利要求1所述的方法,其特征在于:所述的虚拟机磁盘是指利用宿主机上面自创建的相应格式文件;
所述的相应格式文件根据虚拟化类型的不同而有所差别,XEN虚拟化类型下的vhd格式文件,KVM虚拟化类型下的qcow2格式文件,还包括了通用的raw格式文件等;
所述的各种格式文件之间只是在存储方式上面存在一定的差异性,在一定条件下都可以相互间进行转换。
3.根据权利要求1所述的方法,其特征在于,所述的简单工具可以是一个工具命令,或者一段简单程序,也可以是像在windows操作系统里面手动的点击查看设备管理器属性等;
所述的工具命令可以是linux系统中的lspci及其附加命令。
4.根据权利要求2所述的方法,其特征在于,所述的简单工具可以是一个工具命令,或者一段简单程序,也可以是像在windows操作系统里面手动的点击查看设备管理器属性等;
所述的工具命令可以是linux系统中的lspci及其附加命令。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述的逻辑地址是指计算机所有PCI设备的外设地址,它以冒号和逗号分隔为4个部分,第一个16位表示域,第二个8位表示一个总线编号,第三个5位表示一个设备号,最后是3位,表示功能号;
所述的磁盘逻辑地址是指磁盘作为计算机里面的一个PCI设备,在计算机里面存在唯一的PCI外设地址。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述的在宿主机中执行命令查看虚拟机PCI设备信息,并根据所述磁盘逻辑地址找到磁盘设备ID包括:
在宿主机中执行virshqemu-monitor-command...“infopci”等libvirt命令查看指定虚拟机的PCI设备信息;
根据每个PCI设备显示的信息找到上述步骤在虚拟机里面获取到的磁盘PCI逻辑地址;
PCI地址一致的PCI设备即为虚拟机磁盘,接着即可得到该磁盘对应的磁盘ID。
7.根据权利要求5所述的方法,其特征在于,所述的在宿主机中执行命令查看虚拟机PCI设备信息,并根据所述磁盘逻辑地址找到磁盘设备ID包括:
在宿主机中执行virshqemu-monitor-command...“infopci”等libvirt命令查看指定虚拟机的PCI设备信息;
根据每个PCI设备显示的信息找到上述步骤在虚拟机里面获取到的磁盘PCI逻辑地址;
PCI地址一致的PCI设备即为虚拟机磁盘,接着即可得到该磁盘对应的磁盘ID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510923289.9A CN105573671B (zh) | 2015-12-11 | 2015-12-11 | 一种获取虚拟机磁盘对应磁盘文件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510923289.9A CN105573671B (zh) | 2015-12-11 | 2015-12-11 | 一种获取虚拟机磁盘对应磁盘文件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105573671A true CN105573671A (zh) | 2016-05-11 |
CN105573671B CN105573671B (zh) | 2020-02-14 |
Family
ID=55883865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510923289.9A Active CN105573671B (zh) | 2015-12-11 | 2015-12-11 | 一种获取虚拟机磁盘对应磁盘文件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105573671B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106803794A (zh) * | 2017-01-22 | 2017-06-06 | 郑州云海信息技术有限公司 | 一种用于主机的kvm虚拟机网卡直通方法及其装置 |
CN107463427A (zh) * | 2017-06-29 | 2017-12-12 | 北京北信源软件股份有限公司 | 一种虚拟机操作系统类型与版本的获取方法与装置 |
CN109086099A (zh) * | 2018-07-25 | 2018-12-25 | 浪潮(北京)电子信息产业有限公司 | 一种启动虚拟机的方法、装置、设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944043A (zh) * | 2010-09-27 | 2011-01-12 | 公安部第三研究所 | Windows平台下Linux虚拟机磁盘文件访问方法 |
CN102289513A (zh) * | 2011-09-05 | 2011-12-21 | 盛乐信息技术(上海)有限公司 | 获取虚拟机内部文件的方法及系统 |
CN104899071A (zh) * | 2015-04-29 | 2015-09-09 | 深圳市深信服电子科技有限公司 | 集群中虚拟机的恢复方法和系统 |
-
2015
- 2015-12-11 CN CN201510923289.9A patent/CN105573671B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944043A (zh) * | 2010-09-27 | 2011-01-12 | 公安部第三研究所 | Windows平台下Linux虚拟机磁盘文件访问方法 |
CN102289513A (zh) * | 2011-09-05 | 2011-12-21 | 盛乐信息技术(上海)有限公司 | 获取虚拟机内部文件的方法及系统 |
CN104899071A (zh) * | 2015-04-29 | 2015-09-09 | 深圳市深信服电子科技有限公司 | 集群中虚拟机的恢复方法和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106803794A (zh) * | 2017-01-22 | 2017-06-06 | 郑州云海信息技术有限公司 | 一种用于主机的kvm虚拟机网卡直通方法及其装置 |
CN107463427A (zh) * | 2017-06-29 | 2017-12-12 | 北京北信源软件股份有限公司 | 一种虚拟机操作系统类型与版本的获取方法与装置 |
CN109086099A (zh) * | 2018-07-25 | 2018-12-25 | 浪潮(北京)电子信息产业有限公司 | 一种启动虚拟机的方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105573671B (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9760447B2 (en) | One-click backup in a cloud-based disaster recovery system | |
US10222983B2 (en) | Storage management computer and management method of storage apparatus | |
CN103890728B (zh) | 虚拟机热迁移的方法和服务器 | |
US10515020B2 (en) | Marking storage keys to indicate memory used to back address translation structures | |
US10802986B2 (en) | Marking to indicate memory used to back address translation structures | |
US10089186B1 (en) | Method and apparatus for file backup | |
US10248573B2 (en) | Managing memory used to back address translation structures | |
US10275157B2 (en) | Metadata storage in unused portions of a virtual disk file | |
US20110029713A1 (en) | Data volume sparseness | |
US11709692B2 (en) | Hot growing a cloud hosted block device | |
CN102194010A (zh) | 虚拟文件系统碎片的零拷贝整理方法 | |
US8977825B1 (en) | Techniques for abstract profile definition to support information hiding | |
US20160210198A1 (en) | One-click backup in a cloud-based disaster recovery system | |
US11307934B1 (en) | Virtual backup and restore of virtual machines | |
US9411513B2 (en) | Sensitive data file attribute | |
CN105573671A (zh) | 一种获取虚拟机磁盘对应磁盘文件的方法 | |
US9588792B2 (en) | Method and system for sorting and bucketizing alerts in a virtualization environment | |
US10466656B2 (en) | Operation automation apparatus and method, and storage medium | |
CN105607869B (zh) | 一种快速格式化与使用虚拟机磁盘的方法 | |
US20200110666A1 (en) | Data recovery of guest virtual machines | |
US10922305B2 (en) | Maintaining storage profile consistency in a cluster having local and shared storage | |
CN109729071A (zh) | 一种适用于多云管理的vmware多租户管理方法 | |
US20170185444A1 (en) | System for batch processing of workflows for virtualized infrastructure | |
US10216433B2 (en) | Accessing a virtual volume on a storage array | |
US10482071B1 (en) | Systems and methods for providing metrics for a plurality of storage entities of a multi-array data storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 523808 19th Floor, Cloud Computing Center, Chinese Academy of Sciences, No. 1 Kehui Road, Songshan Lake Hi-tech Industrial Development Zone, Dongguan City, Guangdong Province Applicant after: G-Cloud Technology Co., Ltd. Address before: 523808 Guangdong province Dongguan City Songshan Lake Science and Technology Industrial Park Building No. 14 Keyuan pine Applicant before: G-Cloud Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |