一种基于异构存储虚拟机的通用获取磁盘利用率的方法与流程

文档序号:12462615阅读:333来源:国知局
一种基于异构存储虚拟机的通用获取磁盘利用率的方法与流程

本发明涉及云平台存储虚拟化技术领域,特别是一种基于异构存储虚拟机的通用获取磁盘利用率的方法。



背景技术:

一般的云计算平台正在使用的虚拟机,有各种异构存储的虚拟机,有本地存储、网络存储或分布式存储等各种存储,基于这些存储创建了虚拟机,为了统一管理,都通过块文件的方式来统一创建虚拟机,高效管理虚拟机,然而这样会带来以下问题:

一是块文件自身无法获取已用空间。

二是若每种存储都采用单独的方式获取,不够通用,管理复杂。

三是传统的获取方式是以只读的方式将虚拟机磁盘挂载到宿主机上,再获取其已用空间,这种方法容易导致虚拟机磁盘文件系统异常,并且性能差低,每一块虚拟机磁盘都需要几秒钟。

四是传统的获取方式需要区分虚拟机操作系统,区分系统盘格式。



技术实现要素:

本发明解决的技术问题在于提供一种基于异构存储虚拟机的通用获取磁盘利用率的方法;解决云平台获取磁盘利用率不够通用、获取方法复杂、容易引发磁盘文件系统异常、性能差、需要区分虚拟机操作系统、磁盘分区格式的问题。

本发明解决上述技术问题的技术方案是:

所述的方法是异构存储统一创建块文件,基于块文件创建虚拟机;然后获取虚拟机列表和所用的存储设备列表;过滤存储设备;再获取存储设备的块路径;最后获取磁盘的利用率。

所述获取磁盘的利用率,是指获取磁盘虚拟大小和已用空间,通过已用空间除以磁盘虚拟大小计算磁盘利用率;

所述的磁盘虚拟大小,是虚拟机看到的磁盘总大小;通过执行命令:“qemu-img info块文件全路径”,获取其虚拟机大小;

所述的磁盘已用空间,是虚拟机真实已用空间,通过执行命令:“qemu-img check块文件全路径”,获取块文件已写空间位移,也就是虚拟机真实已用空间大小。

所述的异构存储统一创建块文件是指异构存储统一创建块设备文件;

所述的异构存储,包括本地磁盘、网络存储、分布式存储;

所述的块文件,是每个块都能独立于其它块而读写,本地磁盘或网络存储挂载到本地,通过卷组划分多个逻辑卷,每个逻辑卷是一个块文件;分布式存储映射到本地同样是一个块文件;

所述的卷组,是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷;

所述的逻辑卷,是由逻辑磁盘形成的虚拟盘,也可称为磁盘分区。

所述基于块文件创建虚拟机,是指在一个块里面导入一个镜像快照文件;

所述的镜像快照文件,是虚拟机使用的磁盘,也是母镜像的一个快照,其一开始的实际大小为0。

所述获取虚拟机列表,是指获取宿主机下所有正在运行的虚拟机列表。

所述获取虚拟机所用的存储设备列表,是指获取虚拟机所有的存储设备,包括其存储设备名称、类型。

所述过滤存储设备,是指过滤存储设备其中类型不是磁盘的存储设备。

所述获取存储设备的块路径,是指获取存储设备对应在文件系统的全路径。

本发明通过一种基于异构存储虚拟机的通用获取磁盘利用率的方法,统一、简单、稳定和高效获取异构存储虚拟机的磁盘利用率。本发明适应于云平台上通过异构存储创建不同存储类型的虚拟机。本发明提供通用获取磁盘利用率,基于块设备导入镜像快照文件的虚拟机,区别于一般直接基于镜像快照文件的虚拟机。本发明获取的方法在宿主机上执行,并不需要将虚拟机磁盘挂载到宿主机上,区别于一般需要将系统盘挂载到宿主机的方法。本发明获取的方法不需要通过虚拟机代理获取,区别于一般需要代理获取的方法。本发明获取的方法执行需要在宿主机上执行命令行,获取方法性能高,区别于一般需要获取挂载点大小的性能差的方法。本发明获取的方法是不区分虚拟机操作系统,也不区分虚拟机磁盘分区格式,区别于一般需要区别虚拟机操作系统或磁盘分区格式的方法

附图说明

下面结合附图对本发明进一步说明:

图1为流程图;

图2为本发明结构图。

具体实施方式

本发明的实施方式有多种,这里以私有云平台为例说明其中一种实现方法,如图1、2所示,具体实施过程如下:

1、异构存储统一创建块文件,代码如下:

2、基于块文件创建虚拟机,代码如下:

3、获取虚拟机列表,代码如下:

4、获取虚拟机所用的存储设备列表,代码如下:

5、过滤存储设备,代码如下:

6、获取存储设备的块路径,代码如下:

7、获取磁盘的利用率,代码如下:

整个流程结束。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1