CN113568714A - 磁盘管理方法、装置、电子设备及存储介质 - Google Patents
磁盘管理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113568714A CN113568714A CN202111138574.1A CN202111138574A CN113568714A CN 113568714 A CN113568714 A CN 113568714A CN 202111138574 A CN202111138574 A CN 202111138574A CN 113568714 A CN113568714 A CN 113568714A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- disk
- monitoring agent
- module
- agent module
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种磁盘管理方法、装置、电子设备及存储介质。磁盘管理方法包括:首先扫描虚拟化平台上的虚拟机,获取并保存虚拟机的虚拟机信息;其次在虚拟机上安装监控代理模块,通过监控代理模块获取虚拟机的磁盘使用情况;然后当磁盘使用情况达到预设条件时,获取磁盘对应的虚拟机信息;再根据虚拟机信息确定对应的虚拟机以及虚拟化平台的宿主机;通过宿主机创建并挂载扩容磁盘;最后向监控代理模块发送扩容指令,以使监控代理模块将扩容磁盘分配给虚拟机。本发明采用上述方法可以实时掌握虚拟机磁盘的使用情况,根据虚拟机磁盘具体的使用情况,自动进行虚拟机磁盘扩容,适用于大部分虚拟化平台,无需人工操作和干预,降低数据库运维成本。
Description
技术领域
本发明涉及虚拟机的技术领域,尤其涉及一种磁盘管理方法、装置、电子设备及存储介质。
背景技术
随着数据库中数据量的增长,其对应虚拟的磁盘也需要经常扩容,以满足数据库增长的需求。但是目前针对虚拟机磁盘扩容的技术方案普遍存在技术复杂,需要较多的人工操作,运维成本较高的问题。
发明内容
为了解决上述现有技术存在的问题和不足,本发明的目的是提供一种磁盘管理方法、装置、电子设备及存储介质,可以实现虚拟机磁盘自动扩容,减少人工操作,降低运维成本。
本发明首先提供一种磁盘管理方法,包括:
扫描虚拟化平台上的虚拟机,获取并保存虚拟机的虚拟机信息;
在虚拟机上安装监控代理模块,通过监控代理模块获取虚拟机的磁盘使用情况;
当磁盘使用情况达到预设条件时,获取磁盘对应的虚拟机信息;
根据虚拟机信息确定对应的虚拟机以及虚拟化平台的宿主机;
通过宿主机创建并挂载扩容磁盘;
向监控代理模块发送扩容指令,以使监控代理模块将扩容磁盘分配给虚拟机。
可选地,在虚拟机上安装监控代理模块的步骤,包括:
创建宿主机的网络存储器;
将网络存储器作为存储介质挂载到虚拟机上;
将监控代理模块传输到存储介质上,并启动监控代理模块。
可选地,在将监控代理模块传输到所述存储介质上,并启动所述监控代理模块的步骤之后,还包括:
卸载虚拟机上已挂载的存储介质;
删除网络存储器。
可选地,通过宿主机创建并挂载磁盘的步骤,包括:
通过虚拟化平台的应用程序接口与宿主机的虚拟机管理模块连接;
通过虚拟机管理模块为虚拟机创建并挂载扩容磁盘。
可选地,通过虚拟机管理模块为虚拟机创建并挂载磁盘的步骤,包括:
通过应用程序接口向虚拟机管理模块传输磁盘扩容的配置信息,以使得虚拟机管理模块根据磁盘扩容的配置信息,为虚拟机创建并挂载磁盘。
可选地,在扫描虚拟化平台上的虚拟机的步骤之前,还包括:
添加至少一个虚拟化平台,并记录各虚拟化平台的登录信息;
根据登录信息登陆对应的虚拟化平台。
可选地,当磁盘使用情况达到预设条件时,获取磁盘对应的虚拟机信息的步骤,包括:
当磁盘的使用率超过第一阈值时,获取磁盘对应的虚拟机信息;
当磁盘的剩余空间小于第二阈值时,获取磁盘对应的虚拟机信息。
本发明同时提供一种磁盘管理装置,包括:
第一获取模块,用于扫描虚拟化平台上的虚拟机,获取并保存虚拟机的虚拟机信息;
监控代理管理模块,用于在虚拟机上安装监控代理模块,通过监控代理模块获取虚拟机的磁盘使用情况;
第二获取模块,用于当磁盘使用情况达到预设条件时,获取磁盘对应的虚拟机信息;
确定模块,用于根据虚拟机信息确定对应的虚拟机,以及虚拟机对应的宿主机;
磁盘创建模块,用于通过宿主机创建并挂载磁盘;
磁盘扩容模块,用于向监控代理模块发送扩容指令,以使监控代理模块将已挂载的磁盘分配给虚拟机。
本发明还提供一种电子设备,包括存储介质和处理器,存储介质存储有计算机程序,处理器执行计算机程序时实现上述任一项的磁盘管理方法的步骤。
本发明还提供一种计算机可读的存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项的磁盘管理方法的步骤。
与现有技术相比,本发明的有益效果包括:首先扫描虚拟化平台上的虚拟机,获取并保存虚拟机的虚拟机信息;其次在虚拟机上安装监控代理模块,通过监控代理模块获取虚拟机的磁盘使用情况;然后当磁盘使用情况达到预设条件时,获取磁盘对应的虚拟机信息;再根据虚拟机信息确定对应的虚拟机以及虚拟化平台的宿主机;通过宿主机创建并挂载扩容磁盘;最后向监控代理模块发送扩容指令,以使监控代理模块将扩容磁盘分配给虚拟机。本发明采用上述方法可以实时掌握虚拟机磁盘的使用情况,根据虚拟机磁盘具体的使用情况,自动进行虚拟机磁盘扩容,适用于大部分虚拟化平台,无需人工操作和干预,降低数据库运维成本。
附图说明
为了更清楚地说明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图仅仅是发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例磁盘管理方法的流程图一;
图2是本发明实施例云计算平台的工作流程图;
图3是本发明实施例磁盘管理方法的流程图二;
图4是本发明实施例磁盘管理方法的流程图三;
图5是本发明实施例磁盘管理方法的流程图四;
图6是本发明实施例磁盘管理装置的架构图;
图7是本发明实施例电子设备的架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,本发明实施例中,术语“第一”、“第二”、“第三”、“第四”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在本发明实施例中,“例如”、“例子”和“比如”用来表示“用作例子、例证或说明”。本发明中被描述为“例如”、“例子”和“比如”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本发明所公开的原理和特征的最广范围相一致。
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分磁盘和内存容量作为虚拟机的磁盘和内存容量。每个虚拟机都有独立的CMOS、磁盘和操作系统,可以像使用实体机一样对虚拟机进行操作。虚拟机的仿真引擎(称为管理程序)处理虚拟硬件,包括CPU、内存、硬盘驱动器、网络接口和其他设备。虚拟机管理程序提供的虚拟硬件设备映射到物理机器上的实际硬件,表现为虚拟机的虚拟硬盘存储在硬盘驱动器上的文件中。可以在系统上安装多台虚拟机,且只受到提供的存储量的限制。一旦安装了多个操作系统,就可以打开虚拟机程序并选择要引导的虚拟机,一般用户只需能通过启动操作系统,并在主机操作系统上的一个窗口中即可运行。虚拟机具有非常多的优点:
提高效率,同时运行多个系统可以显著增加开发效率。
降低开销,减少硬件,增加使用率能够显著降低开销。
简化管理,动态配置、方便备份和恢复能够提高敏捷性,并降低管理复杂度。
安全隔离,利用虚机和沙盒技术,隔离不同的系统,以提高安全性。
应用兼容,部分应用对系统由较强的依赖,可以通过虚拟技术下新系统上运行。
当虚拟机的磁盘容量不足,会导致其性能大大降低,不能满足正常的工作需求,因此虚拟机磁盘扩容是一项非常重要的技术方案。
本发明实施例提供一种磁盘管理方法,可以应用于云计算管理平台,如图1所示,包括以下步骤:
步骤100,扫描虚拟化平台上的虚拟机,获取并保存虚拟机的虚拟机信息。
其中,虚拟机信息包括虚拟机的ip地址、虚拟机名称、虚拟机特定的唯一id标识等等。虚拟化平台可以包括但不限于vmware平台、H3C平台及KVM平台。
步骤200,在虚拟机上安装监控代理模块,通过监控代理模块获取虚拟机的磁盘使用情况。其中,监控代理模块可以是jar程序编写的提供可访问的网络接口的程序。
上述步骤中,可以在虚拟机上创建定时任务,使虚拟机定时将磁盘使用情况通过监控代理模块进行反馈。
如图2所示,本实施例中监控代理模块会通过redis(redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库)的订阅、推送功能将监控数据发送给云计算管理平台,云计算管理平台根据监控获取到的数据判断是否需要给虚拟机磁盘扩容。
一种实施例中,如图3所示,在虚拟机上安装监控代理模块的步骤具体包括:
步骤210,创建宿主机的网络存储器。
步骤220,将网络存储器作为存储介质挂载到虚拟机上。
步骤230,将监控代理模块传输到存储介质上,并启动监控代理模块。
通过上述步骤可以完成监控代理模块的安装。
一种实施例中,在步骤230之后,还可以包括:
步骤240,卸载虚拟机上已挂载的存储介质。
步骤250,删除网络存储器。网络存储器可以为云计算管理平台配置的NFS(Network File System,网络文件系统)存储。
通过上述步骤可以在安装外监控代理模块后,释放存储资源。
一种实施例中,监控代理模块的安装过程具体如下,以vmware平台为例:
若虚拟机安装了vmware平台的vmware tools工具,即可实现监控代理自动化部署,云计算管理平台配置了NFS(Network File System,网络文件系统)存储用来存储监控代理模块的安装文件,当需要进行监控代理模块安装时,可从NFS存储中获取监控代理模块的安装文件,快速完成监控代理模块的安装工作。具体包括以下步骤:
(1) 通过vmware平台的api(Application Programming Interface,应用程序接口)连接Esxi主机或vcenter管理机器,其中,Exsi是一种运行在物理服务器和操作系统之间的软件层,可以允许多个操作系统和应用共享一套基础物理硬件;vcenter用于监控和管理物理和虚拟基础架构,可用于将多个虚拟主机的资源加入池中并管理这些资源;使用createNasDatastore()方法将云计算管理平台的NFS存储创建为Esxi主机的网络存储。
(2) 使用reconfigVM_Task()方法将监控代理当为CD/DVD挂载到虚拟机上。
(3) 调用startProgramInGuest()方法将监控代理模块传输进去,并启动代理监控模块。
(4) 最后使用reconfigVM_Task()方法将CD/DVD卸载,并使用removeDatastore()方法将挂载的NFS网络存储进行删除。
步骤300,当磁盘使用情况达到预设条件时,获取磁盘对应的虚拟机信息。具体地,当磁盘的使用率超过第一阈值时,获取磁盘对应的虚拟机信息。第一阈值可以为90%、95%等等。例如,当虚拟机磁盘的使用率超过90%时,则触发了磁盘容量报警机制,通过监控代理模块接收虚拟机反馈磁盘当前使用情况,然后获取此虚拟机的虚拟机信息。
亦或,当磁盘的剩余空间小于第二阈值时,获取磁盘对应的虚拟机信息。第二阈值可以是10G、15G、20G等。例如,当虚拟机磁盘的剩余空间不足10G时,则触发了磁盘容量报警机制,通过监控代理模块接收虚拟机反馈磁盘当期使用情况,然后获取此虚拟机的虚拟机信息。
步骤400,根据虚拟机信息确定对应的虚拟机以及虚拟化平台的宿主机。通过虚拟机信息可以确定虚拟机所在的宿主机。
步骤500,通过宿主机创建并挂载扩容磁盘。
步骤600,向监控代理模块发送扩容指令,以使监控代理模块将扩容磁盘分配给虚拟机。其中,扩容指令中包含了磁盘空间的大小。虚拟机根据扩容指令执行自动化扩容脚本,完成磁盘扩容。
具体地,当磁盘挂载成功后,向虚拟机安装的监控代理模块发送扩容请求,监控代理会根据操作系统的不同,采用不同的方式执行对应的脚本命令,将挂载的磁盘空间分配给对应的虚拟机磁盘。Windows系统主要是使用Windows自带的DiskPart工具完成磁盘空间的分配,linux系统则使用LVM(Logical Volume Manager,逻辑卷管理)技术进行磁盘空间的分配。
(1)Windows操作系统中的磁盘扩容的命令和代码如下:
①将添加的磁盘转换为动态磁盘:
Select disk 3(磁盘标号);
Convert dynamoic;
②将需扩容的磁盘转换为动态磁盘,进行扩容:
select volume D;
Convert dynamoic;
extend size=50 disk=3。
(2)linux操作系统中的磁盘扩容的命令和代码如下:
①扫描新加的卷:
//会看到有host0、host1...hostN,对每个host进行如下操作:
ls /sys/class/scsi_host/
//依次执行以下操作
echo "- - -" > /sys/class/scsi_host/host0/scan
②创建物理卷:
pvcreate /dev/sdb
③将物理卷添加到卷组:
vgextend centos_ryancent(VG组) /dev/sdb
④扩容逻辑卷:
lvextend --l +100%FREE /dev/centos_ryancent/root(逻辑卷)
⑤更新大小:
xfs_growfs /dev/centos_ryancent/root(逻辑卷地址)。
一种实施例中,如图4所示,步骤500具体,包括以下步骤:
步骤510,通过虚拟化平台的应用程序接口与宿主机的虚拟机管理模块连接。
步骤520,通过虚拟机管理模块为虚拟机创建并挂载扩容磁盘。具体地,通过应用程序接口向虚拟机管理模块传输磁盘扩容的配置信息,以使得虚拟机管理模块根据磁盘扩容的配置信息,为虚拟机创建并挂载磁盘。
下面以 vmware平台、KVM平台、 H3C平台为例,分别说明调用API为对应的虚拟机创建与挂载磁盘的方法:
(1) vmware平台:在云计算平台上,通过vmware平台的API连接esxi主机或vcenter管理机器,通过存储的虚拟机唯一性id标识查找到对应的虚拟机,根据配置信息中的磁盘扩容的大小,调用reconfigVM_Task()方法实现添加指定大小的磁盘给对应的虚拟机。
(2) KVM:在使用ssh(远程连接工具)远程连接KVM宿主机,参照配置信息中虚拟机磁盘自动扩容的大小,首先使用qemu-img create命令创建指定大小的磁盘,然后使用virsh attach-disk命令附加磁盘到虚拟机上,最后使用virsh edit命令修改磁盘的xml文件,使其永久生效。
(3) H3C:根据存储的H3C平台登录账号与密码登陆H3C平台,根据记录的虚拟机唯一性id调用H3C平台的接口 /cas/casrs/vm/addDevice,为虚拟机挂载指定大小的磁盘。
一种实施例中,步骤100之前,还包括以下步骤:
首先,添加至少一个虚拟化平台,并记录各虚拟化平台的登录信息。虚拟化平台可以包括vmware平台、H3C平台及KVM平台等。
然后,根据登录信息登陆对应的虚拟化平台。
其中,虚拟化平台包括登录信息包括虚拟化平台的登陆账号和密码。然后在虚拟化平台上添加宿主机。例如当虚拟化平台是vmware平台时,可以添加Exsi主机或vcenter。
如图5所示,本发明实施例的具体方法流程如下:
S1,云计算管理平台调用虚拟化平台的API扫描虚拟化平台上的虚拟机,并保存虚拟机信息,云计算管理平台配置虚拟机磁盘扩容信息。
S2,虚拟机安装监控代理模块,并创建定时任务,获取其磁盘使用情况,并根据定时任务定时向云计算管理平台推送磁盘使情况。
S3,云计算管理平台判断虚拟机磁盘使用率是否从超过第一阈值,或磁盘剩余空间是否小于第二阈值。
S4,当虚拟机磁盘使用率超过第一阈值,或剩余空间小于第二阈值时,查找对应的虚拟机信息,根据虚拟机信息,调用虚拟化平台的API,在虚拟化平台上创建及挂载磁盘到对应的虚拟机上。
S5,虚拟化平台将磁盘挂载成功后,向云计算管理平台返回消息。
S6,云计算管理平台发送自动扩容指令给监控代理模块。
S7,虚拟机上的监控代理模块执行自动化扩容脚本,完成磁盘扩容,并向云计算平台返回扩容完成的信息。
本实施例通过上述方法,基于vmware、H3C、KVM等虚拟化平台,实现对虚拟机Windows系统的非系统盘,与Linux系统逻辑卷的扩容,通过监控代理模块实时监控虚拟机磁盘使用情况,通过虚拟化平台的API与基于LVM与DiskPart工具实现磁盘扩容。本实施例可以在减少运维成本的前提下满足市面上大部分虚拟化平台虚拟机磁盘使用空间增长带来的问题。
本实施例的磁盘扩容方法适用于大部分操作系统,例如Windows操作系统的Windows2008r2、20012r2、2016、2019、Window7、Windows10、Linux操作系统的CentOS6、CentOS7、Redhat6、Redhat7、Ubuntu14、Ubuntu16等。适用范围广泛。
本发实施例明同时提供一种磁盘管理装置,如图6图所示,包括第一获取模块1、监控代理管理模块2、第二获取模块3、确定模块4、磁盘创建模块5及磁盘扩容模块6。
第一获取模块1用于扫描虚拟化平台上的虚拟机,获取并保存虚拟机的虚拟机信息;其中,虚拟机信息包括虚拟机的ip地址、虚拟机名称、虚拟机特定的唯一id标识等等。虚拟化平台可以包括但不限于vmware平台、H3C平台及KVM平台。
监控代理管理模块2用于在虚拟机上安装监控代理模块,通过监控代理模块获取虚拟机的磁盘使用情况。其中,监控代理模块可以是jar程序编写的提供可访问的网络接口的程序。监控代理模块可以在虚拟机上创建定时任务,使虚拟机定时将磁盘使用情况通过监控代理模块进行反馈。监控代理模块会通过redis(redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库)的订阅、推送功能将监控数据发送给云计算管理平台,云计算管理平台根据监控获取到的数据判断是否需要给虚拟机磁盘扩容。
第二获取模块3用于当磁盘使用情况达到预设条件时,获取磁盘对应的虚拟机信息。具体地,当磁盘的使用率超过第一阈值时,获取磁盘对应的虚拟机信息。第一阈值可以为90%、95%等等。例如,当虚拟机磁盘的使用率超过90%时,则触发了磁盘容量报警机制,通过监控代理模块接收虚拟机反馈磁盘当前使用情况,然后获取此虚拟机的虚拟机信息。
亦或,当磁盘的剩余空间小于第二阈值时,获取磁盘对应的虚拟机信息。第二阈值可以是10G、15G、20G等。例如,当虚拟机磁盘的剩余空间不足10G时,则触发了磁盘容量报警机制,通过监控代理模块接收虚拟机反馈磁盘当期使用情况,然后获取此虚拟机的虚拟机信息。
确定模块4用于根据虚拟机信息确定对应的虚拟机,以及虚拟机对应的宿主机。
磁盘创建模块5用于通过宿主机创建并挂载磁盘。
磁盘扩容模块6用于向监控代理模块发送扩容指令,以使监控代理模块将已挂载的磁盘分配给虚拟机。具体地,当磁盘挂载成功后,向虚拟机安装的监控代理模块发送扩容请求,监控代理会根据操作系统的不同,采用不同的方式执行对应的脚本命令,将挂载的磁盘空间分配给对应的虚拟机磁盘。Windows系统主要是使用Windows自带的DiskPart工具完成磁盘空间的分配,Linux系统则使用LVM(Logical Volume Manager,逻辑卷管理)技术进行磁盘空间的分配。
本实施例磁盘管理装置采用上述实施提供的磁盘管理方法,可以实时掌握虚拟机磁盘的使用情况,根据虚拟机磁盘具体的使用情况,自动进行虚拟机磁盘扩容,适用于大部分虚拟化平台,无需人工操作和干预,降低数据库运维成本。
本发明实施例同时提供一种电子设备,如图7所示,包括处理器和计算机可读的存储介质,存储介质上存储有计指令或计算机程序。
本发明实施例的电子设备可以实现如下方法:
首先扫描虚拟化平台上的虚拟机,获取并保存虚拟机的虚拟机信息;其次在虚拟机上安装监控代理模块,通过监控代理模块获取虚拟机的磁盘使用情况;然后当磁盘使用情况达到预设条件时,获取磁盘对应的虚拟机信息;再根据虚拟机信息确定对应的虚拟机以及虚拟化平台的宿主机;通过宿主机创建并挂载扩容磁盘;最后向监控代理模块发送扩容指令,以使监控代理模块将扩容磁盘分配给虚拟机。
本实施例电子设备采用上述方法可以实时掌握虚拟机磁盘的使用情况,根据虚拟机磁盘具体的使用情况,自动进行虚拟机磁盘扩容,适用于大部分虚拟化平台,无需人工操作和干预,降低数据库运维成本。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令(计算机程序)来完成,或通过指令(计算机程序)控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例的硬件设备的存储介质中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的磁盘管理方法中任一实施例的步骤。
存储介质和处理器之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可以通过一条或者多条通信总线或信号线电性连接,如可以通过总线连接。存储介质中存储有实现数据访问控制方法的计算机执行指令,包括至少一个可以软件或固件的形式存储于存储介质中的软件功能模块,处理器通过运行存储在存储介质内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储介质可以是,但不限于,随机存取存储介质(RandomAccessMemory,简称:RAM),只读存储介质(ReadOnlyMemory,简称:ROM),可编程只读存储介质(ProgrammableRead-OnlyMemory,简称:PROM),可擦除只读存储介质(ErasableProgrammableRead-OnlyMemory,简称:EPROM),电可擦除只读存储介质(ElectricErasableProgrammableRead-OnlyMemory,简称:EEPROM)等。其中,存储介质用于存储程序,处理器在接收到执行指令后,执行程序。进一步地,上述存储介质内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。处理器可以是一种集成电路芯片,具有信号的处理能力。所述的处理器可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称:CPU)、网络处理器(NetworkProcessor,简称:NP)等。可以实现或者执行本实施例中公开的各方法、步骤及逻辑流程框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
由于该存储介质中所存储的指令(计算机程序),可以执行本发明实施例所提供的任一磁盘管理方法实施例中的步骤,因此,可以实现本发明实施例所提供的任一磁盘管理方法所能实现的有益效果。本发明实施例存储介质中的指令或计算机程序可以实现如下步骤:
(1)云计算管理平台调用虚拟化平台的API扫描虚拟化平台上的虚拟机,并保存虚拟机信息。
(2)云计算管理平台配置虚拟机磁盘扩容信息。
(3)虚拟机安装监控代理模块,并创建定时任务,获取其磁盘使用情况,并根据定时任务定时向云计算管理平台推送磁盘使情况。
(4)云计算管理平台判断虚拟机磁盘使用率是否从超过第一阈值,或磁盘剩余空间是否小于第二阈值。
(5)当虚拟机磁盘使用率超过第一阈值,或剩余空间小于第二阈值时,查找对应的虚拟机信息,根据虚拟机信息,调用虚拟化平台的API,在虚拟化平台上创建及挂载磁盘到对应的虚拟机上。
(6)磁盘挂载成功后,发送自动扩容指令给监控代理模块。
(7)虚拟机上的监控代理模块执行自动化扩容脚本,完成磁盘扩容。
本实施例执行上述方法,基于vmware、H3C、kvm等虚拟化平台,实现对虚拟机Windows系统的非系统盘,与Linux系统逻辑卷的扩容,通过监控代理模块实时监控虚拟机磁盘使用情况,通过虚拟化平台的API与基于LVM与DiskPart工具实现磁盘扩容。本实施例可以在减少运维成本的前提下满足市面上大部分虚拟化平台虚拟机磁盘使用空间增长带来的问题。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种磁盘管理方法,其特征在于,包括:
扫描虚拟化平台上的虚拟机,获取并保存所述虚拟机的虚拟机信息;
在所述虚拟机上安装监控代理模块,通过所述监控代理模块获取所述虚拟机的磁盘使用情况;
当磁盘使用情况达到预设条件时,获取所述磁盘对应的虚拟机信息;
根据所述虚拟机信息确定对应的虚拟机以及所属虚拟化平台的宿主机;
通过所述宿主机创建并挂载扩容磁盘;
向所述监控代理模块发送扩容指令,以使所述监控代理模块将所述扩容磁盘分配给所述虚拟机。
2.根据权利要求1所述的磁盘管理方法,其特征在于,所述在所述虚拟机上安装监控代理模块的步骤,包括:
创建宿主机的网络存储器;
将网络存储器作为存储介质挂载到虚拟机上;
将所述监控代理模块传输到所述存储介质上,并启动所述监控代理模块。
3.根据权利要求2所述的磁盘管理方法,其特征在于,在所述将所述监控代理模块传输到所述存储介质上,并启动所述监控代理模块的步骤之后,还包括:
卸载所述虚拟机上已挂载的所述存储介质;
删除所述网络存储器。
4.根据权利要求1所述的磁盘管理方法,其特征在于,所述通过所述宿主机创建并挂载磁盘的步骤,包括:
通过所述虚拟化平台的应用程序接口与所述宿主机的虚拟机管理模块连接;
通过所述虚拟机管理模块为所述虚拟机创建并挂载扩容磁盘。
5.根据权利要求4所述的磁盘管理方法,其特征在于,所述通过所述虚拟机管理模块为所述虚拟机创建并挂载磁盘的步骤,包括:
通过所述应用程序接口向所述虚拟机管理模块传输磁盘扩容的配置信息,以使得所述虚拟机管理模块根据所述磁盘扩容的配置信息,为所述虚拟机创建并挂载磁盘。
6.根据权利要求1所述的磁盘管理方法,其特征在于,在所述扫描虚拟化平台上的虚拟机的步骤之前,还包括:
添加至少一个虚拟化平台,并记录各虚拟化平台的登录信息;
根据登录信息登陆对应的虚拟化平台。
7.根据权利要求1所述的磁盘管理方法,其特征在于,所述当磁盘使用情况达到预设条件时,获取所述磁盘对应的虚拟机信息的步骤,包括:
当磁盘的使用率超过第一阈值时,获取所述磁盘对应的虚拟机信息;
当磁盘的剩余空间小于第二阈值时,获取所述磁盘对应的虚拟机信息。
8.一种磁盘管理装置,其特征在于,包括:
第一获取模块,用于扫描虚拟化平台上的虚拟机,获取并保存所述虚拟机的虚拟机信息;
监控代理管理模块,用于在所述虚拟机上安装监控代理模块,通过监控代理模块获取虚拟机的磁盘使用情况;
第二获取模块,用于当磁盘使用情况达到预设条件时,获取所述磁盘对应的虚拟机信息;
确定模块,用于根据所述虚拟机信息确定对应的虚拟机,以及所述虚拟机对应的宿主机;
磁盘创建模块,用于通过所述宿主机创建并挂载磁盘;
磁盘扩容模块,用于向所述监控代理模块发送扩容指令,以使所述监控代理模块将已挂载的磁盘分配给所述虚拟机。
9.一种电子设备,包括存储介质和处理器,所述存储介质存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的磁盘管理方法的步骤。
10.一种计算机可读的存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的磁盘管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111138574.1A CN113568714A (zh) | 2021-09-27 | 2021-09-27 | 磁盘管理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111138574.1A CN113568714A (zh) | 2021-09-27 | 2021-09-27 | 磁盘管理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113568714A true CN113568714A (zh) | 2021-10-29 |
Family
ID=78174910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111138574.1A Pending CN113568714A (zh) | 2021-09-27 | 2021-09-27 | 磁盘管理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113568714A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327275A (zh) * | 2021-12-29 | 2022-04-12 | 奇安信科技集团股份有限公司 | 云手机存储空间的扩展方法、装置、存储介质及设备 |
WO2023236745A1 (zh) * | 2022-06-08 | 2023-12-14 | 中兴通讯股份有限公司 | 磁盘的处理方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060149899A1 (en) * | 2004-12-30 | 2006-07-06 | Zimmer Vincent J | Method and apparatus for ongoing block storage device management |
US20100235831A1 (en) * | 2009-03-12 | 2010-09-16 | Arend Erich Dittmer | Method for dynamic configuration of virtual machine |
CN105573819A (zh) * | 2015-12-11 | 2016-05-11 | 国云科技股份有限公司 | 一种直接通过宿主机获取虚拟机磁盘容量信息的方法 |
CN106569741A (zh) * | 2016-10-18 | 2017-04-19 | 汉柏科技有限公司 | 磁盘空间扩容方法及装置 |
CN109445706A (zh) * | 2018-10-30 | 2019-03-08 | 紫光华山信息技术有限公司 | 磁盘分区扩容方法、装置及服务端 |
-
2021
- 2021-09-27 CN CN202111138574.1A patent/CN113568714A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060149899A1 (en) * | 2004-12-30 | 2006-07-06 | Zimmer Vincent J | Method and apparatus for ongoing block storage device management |
US20100235831A1 (en) * | 2009-03-12 | 2010-09-16 | Arend Erich Dittmer | Method for dynamic configuration of virtual machine |
CN105573819A (zh) * | 2015-12-11 | 2016-05-11 | 国云科技股份有限公司 | 一种直接通过宿主机获取虚拟机磁盘容量信息的方法 |
CN106569741A (zh) * | 2016-10-18 | 2017-04-19 | 汉柏科技有限公司 | 磁盘空间扩容方法及装置 |
CN109445706A (zh) * | 2018-10-30 | 2019-03-08 | 紫光华山信息技术有限公司 | 磁盘分区扩容方法、装置及服务端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327275A (zh) * | 2021-12-29 | 2022-04-12 | 奇安信科技集团股份有限公司 | 云手机存储空间的扩展方法、装置、存储介质及设备 |
WO2023236745A1 (zh) * | 2022-06-08 | 2023-12-14 | 中兴通讯股份有限公司 | 磁盘的处理方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10656877B2 (en) | Virtual storage controller | |
KR102236522B1 (ko) | 정보를 처리하기 위한 방법 및 장치 | |
US8997090B2 (en) | Installing an operating system in a host system | |
US8484431B1 (en) | Method and apparatus for synchronizing a physical machine with a virtual machine while the virtual machine is operational | |
US20160092261A1 (en) | Method and system for physical computer system virtualization | |
JP6516730B2 (ja) | アプリケーションをバックアップ及び復元するための方法及び装置 | |
US20070174033A1 (en) | Remote control device and method for accessing peripheral device remotely | |
US20180018116A1 (en) | Containerizing a block storage service | |
CN109168328B (zh) | 虚拟机迁移的方法、装置和虚拟化系统 | |
US20210223978A1 (en) | Updating operating system images of inactive compute instances | |
US11886902B2 (en) | Physical-to-virtual migration method and apparatus, and storage medium | |
US9501296B2 (en) | Hypervisor automation manager for starting an operation system with customization data from a disk image | |
CN113568714A (zh) | 磁盘管理方法、装置、电子设备及存储介质 | |
CN101753594B (zh) | 一种激活虚拟机的方法和装置 | |
CN106777394B (zh) | 一种集群文件系统 | |
US10754675B2 (en) | Identifying entities in a virtualization environment | |
CN104636159B (zh) | 对虚拟机中的软件进行升级的方法和装置 | |
CN114595038A (zh) | 数据处理方法、计算设备及计算机存储介质 | |
CN113242175B (zh) | 一种基于spdk的存储网关及其实现方法 | |
US20130097412A1 (en) | Performing A Boot Sequence In A Multi-Processor System | |
CN117311627A (zh) | 容器卷热扩容系统、方法及介质 | |
CN109495298B (zh) | 在OpenStack系统中管理节点的方法和装置 | |
US9292396B2 (en) | System and method for secure remote diagnostics | |
US11467779B2 (en) | Dynamic storage provisioning for nested clusters | |
CN112527192B (zh) | 数据获取方法、装置及服务设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211029 |