CN106168885A - 一种基于lvm的逻辑卷动态扩容的方法及系统 - Google Patents

一种基于lvm的逻辑卷动态扩容的方法及系统 Download PDF

Info

Publication number
CN106168885A
CN106168885A CN201610566099.0A CN201610566099A CN106168885A CN 106168885 A CN106168885 A CN 106168885A CN 201610566099 A CN201610566099 A CN 201610566099A CN 106168885 A CN106168885 A CN 106168885A
Authority
CN
China
Prior art keywords
logical volume
capacity
dilatation
virtual machine
lvm
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
Application number
CN201610566099.0A
Other languages
English (en)
Other versions
CN106168885B (zh
Inventor
方浩
马怀旭
苏广峰
赵祯龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201610566099.0A priority Critical patent/CN106168885B/zh
Publication of CN106168885A publication Critical patent/CN106168885A/zh
Application granted granted Critical
Publication of CN106168885B publication Critical patent/CN106168885B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems

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

本发明公开了基于LVM的逻辑卷动态扩容的方法,包括:利用qemu命令将逻辑卷的映射文件转变为qcow2文件格式,并通过下发的写IO,触发底层逻辑卷的容量最大上限值;获取libvirt中虚拟磁盘上报的容量不足错误,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径;根据所述虚拟磁盘路径查找对应的逻辑卷,判断是否满足扩容条件;若满足,则对所述逻辑卷执行扩容操作,并根据所述虚拟机名称及所述虚拟机id重启虚拟机;该方法能根据上层业务实时动态扩容,动态按需分配底层逻辑卷的容量大小,从而提高磁盘空间利用率;本发明还公开了基于LVM的逻辑卷动态扩容的系统。

Description

一种基于LVM的逻辑卷动态扩容的方法及系统
技术领域
本发明涉及云计算存储虚拟化领域,特别涉及一种基于LVM的逻辑卷动态扩容的方法及系统。
背景技术
KVM(Kernel Virtual Machine)虚拟化已经在大多数的Linux系统上得到应用支持。它是基于硬件的完全虚拟化,需要硬件支持(如Inter VT技术或AMDV技术),主要支持CPU和内存的虚拟化管理。qemu主要模拟磁盘、网卡等IO设备。基于qemu-KVM的技术是一个完整的模拟器,它可以提供完整的CPU、内存、网络、IO等模拟环境。libvirt是一个软件集全,提供一种单一的方式为多种不同的虚拟化管理提供方式和hypervisor,同时为开发或管理人员提供了多种多样的API库和命令行工具用于管理虚拟机、存储和网络等。
随着云计算技术的快速发展,逻辑卷管理器(LVM)逐渐应用于云存储的各个领域。LVM隐藏物理硬件之间的差异性和异构性,在物理存储上构建抽象层,向文件系统或直接向应用程序提供逻辑卷使用。基于LVM技术提供的逻辑卷,经过qemu技术转换为qcow2格式文件后可以被虚拟机挂载使用。但是由于底层逻辑卷的容量大小不能根据上层业务实时动态扩容分配,从而无法提高磁盘空间利用率。
发明内容
本发明的目的是提供一种基于LVM的逻辑卷动态扩容的方法及系统,能根据上层业务实时动态扩容,动态按需分配底层逻辑卷的容量大小,从而提高磁盘空间利用率。
为解决上述技术问题,本发明提供一种基于LVM的逻辑卷动态扩容的方法,包括:
利用qemu命令将逻辑卷的映射文件转变为qcow2文件格式,并通过下发的写IO,触发底层逻辑卷的容量最大上限值;
获取libvirt中虚拟磁盘上报的容量不足错误,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径;
根据所述虚拟磁盘路径查找对应的逻辑卷,判断是否满足扩容条件;
若满足,则对所述逻辑卷执行扩容操作,并根据所述虚拟机名称及所述虚拟机id重启虚拟机。
其中,利用qemu命令将逻辑卷的映射文件转变为qcow2文件格式,并通过下发的写IO,触发底层逻辑卷的容量最大上限值之后,还包括:
当libvirt中虚拟磁盘上报容量不足错误时,利用libvirt触发虚拟机保护机制,暂停对应虚拟机的上层业务。
其中,利用qemu命令将逻辑卷的映射文件转变为qcow2文件格式,并通过下发的写IO,触发底层逻辑卷的容量最大上限值之前,还包括:
设置逻辑卷容量值,逻辑卷的容量最大上限值,卷组容量值,各业务对应的扩容步长值。
其中,判断是否满足扩容条件,包括:
根据所述虚拟机的上层业务,确定扩容步长值;
根据所述虚拟磁盘路径查找对应的逻辑卷,判断所述逻辑卷的容量加上扩容步长值是否大于所述容量最大上限值;
若不大于,则判断扩容步长值是否大于卷组剩余容量值;
若不大于,则满足扩容条件。
其中,获取libvirt中虚拟磁盘上报的容量不足错误,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径,包括:
LMD的第一线程获取libvirt中虚拟磁盘上报的容量不足错误,将需要执行的扩容任务放入到任务队列中;
LMD的第二线程从所述任务队列中读取扩容任务,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径。
其中,当多个虚拟机的多个虚拟磁盘同时执行扩容操作时,在执行扩容操作之前对卷组添加独占锁;虚拟磁盘获得独占锁之后,对对应的逻辑卷执行扩容操作。
本发明还提供一种基于LVM的逻辑卷动态扩容的系统,包括:
格式转换模块,用于利用qemu命令将逻辑卷的映射文件转变为qcow2文件格式,并通过下发的写IO,触发底层逻辑卷的容量最大上限值;
容量错误获取模块,用于获取libvirt中虚拟磁盘上报的容量不足错误,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径;
判断模块,用于根据所述虚拟磁盘路径查找对应的逻辑卷,判断是否满足扩容条件;
扩容模块,用于当满足扩容条件时,对所述逻辑卷执行扩容操作,并根据所述虚拟机名称及所述虚拟机id重启虚拟机。
其中,还包括:
暂停业务模块,用于当libvirt中虚拟磁盘上报容量不足错误时,利用libvirt触发虚拟机保护机制,暂停对应虚拟机的上层业务。
其中,所述判断模块包括:
扩容步长值单元,用于根据所述虚拟机的上层业务,确定扩容步长值;
第一判断单元,用于根据所述虚拟磁盘路径查找对应的逻辑卷,判断所述逻辑卷的容量加上扩容步长值是否大于所述容量最大上限值;
第二判断单元,用于当所述逻辑卷的容量加上扩容步长值不大于所述容量最大上限值,则判断扩容步长值是否大于卷组剩余容量值;若不大于,则满足扩容条件。
其中,所述容量错误获取模块包括:
第一线程单元,用于LMD的第一线程获取libvirt中虚拟磁盘上报的容量不足错误,将需要执行的扩容任务放入到任务队列中;
第二线程单元,用于LMD的第二线程从所述任务队列中读取扩容任务,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径。
本发明所提供的基于LVM的逻辑卷动态扩容的方法,包括:利用qemu命令将逻辑卷的映射文件转变为qcow2文件格式,并通过下发的写IO,触发底层逻辑卷的容量最大上限值;获取libvirt中虚拟磁盘上报的容量不足错误,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径;根据所述虚拟磁盘路径查找对应的逻辑卷,判断是否满足扩容条件;若满足,则对所述逻辑卷执行扩容操作,并根据所述虚拟机名称及所述虚拟机id重启虚拟机;
可见,该方法能根据上层业务实时动态扩容,动态按需分配底层逻辑卷的容量大小,从而无法提高磁盘空间利用率满足上层业务需求;本发明还提供了基于LVM的逻辑卷动态扩容的系统,具有上述效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的基于LVM的逻辑卷动态扩容的方法的流程图;
图2为本发明实施例所提供的基于LVM的逻辑卷动态扩容的示意图;
图3为本发明实施例所提供的基于LVM的逻辑卷动态扩容的系统的结构框图。
具体实施方式
本发明的核心是提供一种基于LVM的逻辑卷动态扩容的方法及系统,能根据上层业务实时动态扩容,动态按需分配底层逻辑卷的容量大小,从而提高磁盘空间利用率。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的基于LVM的逻辑卷动态扩容的方法的流程图;该方法可以包括:
S100、利用qemu命令将逻辑卷的映射文件转变为qcow2文件格式,并通过下发的写IO,触发底层逻辑卷的容量最大上限值;
其中,请参考图2,LVM的数据布局主要是将LUN存储空间分为两部分:元数据区域meta data section和数据区域data section。为了方便元数据将每个LUN制作成为一个物理卷和卷组,即元数据和数据区域存在同一个LUN上。使用数据区域创建逻辑卷后,使用qemu命令将逻辑卷的映射文件转换为qcow2格式。原理是将qcow2格式的头文件header写在逻辑卷之上。执行扩容的操作只是更改底层的逻辑卷大小,而不更改上层的qcow2文件大小。即qcow2文件挂载给虚拟机使用之后,虚拟机并不会感知底层逻辑卷的扩容操作。
其中,虚拟机挂载的qcow2虚拟磁盘,经过qemu-kvm下发的写IO,触发了底层LV的最大值上限即底层逻辑卷的容量最大上限值。这里的容量最大上限值的设定可以由用户根据上层业务的实际需要进行设定。例如,对容量需求量不是很大的业务场景可以设置小点的容量;对容量需求量很大的业务场景可以设置大点的容量;这样可以根据实际需求分配容量值,使得不会出现大量资源闲置的情况。
S110、获取libvirt中虚拟磁盘上报的容量不足错误,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径;
其中,由于并不是在一开始就已经给底层的逻辑卷分配容量最大上限值对应的容量,只是给分配基本容量给用户,因此,当这部分基本容量已经不能满足用户需求时,就需要给该逻辑卷进行扩容。即需要监测上层业务是否容量不足。因此可以利用libvirt技术来监测上层业务是否出现IO Error,即libvirt统一虚拟化管理平台捕获qcow2上报的IOError;当出现该错误时即表明上层业务容量不足。
这里为了保证扩容操作时,不会出现混乱现象而造成元数据的一致性被破坏,这里可以使用逻辑卷服务管理方法LMD(Logical Volume Manager Daemon),它是以消费者-生产者模型实现的守护进程服务,主要应用于LVM动态扩容方法之中。具体过程可以是:
LMD的第一线程获取libvirt中虚拟磁盘上报的容量不足错误即No Space Error,将需要执行的扩容任务放入到任务队列中;
LMD的第二线程从所述任务队列中读取扩容任务,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径。
为了保证元数据的一致性,当多个虚拟机的多个虚拟磁盘同时执行扩容操作时,在执行扩容操作之前对卷组添加独占锁;虚拟磁盘获得独占锁之后,对对应的逻辑卷执行扩容操作。
其中,LMD主要包括两个线程,一个线程主要负责监控捕获libvirt上报的“NOSPACE”错误,将需要执行的扩容任务放入到任务队列中;另一个线程从队列中读取任务,执行扩容。由于需要保护LVM元数据的数据一致性,当多个虚拟机的多个虚拟磁盘同时执行扩容操作,在执行扩容之前需要对卷组(VG)添加独占锁。获得独占锁之后,对逻辑卷(LV)执行扩容操作。最后是重新启动挂载该虚拟磁盘的虚拟机。
其中,为了保证在容量不足时,可以保护虚拟机以及虚拟机对应的上层业务,当libvirt中虚拟磁盘上报容量不足错误时或捕获qcow2上报的IO Error时,利用libvirt触发虚拟机保护机制,暂停对应虚拟机的上层业务。
S120、根据所述虚拟磁盘路径查找对应的逻辑卷,判断是否满足扩容条件;
其中,这里的扩容条件可以根据实际用户的需求进行制定;影响扩容条件的参数可以包括逻辑卷容量值,逻辑卷的容量最大上限值,卷组容量值,各业务对应的扩容步长值,或每种业务对应同样的扩容步长。这里值的设定也可以由用户进行设定,且可以有用户根据需求对设置的值进行修改。扩容策略即扩容条件可以根据用户制定的扩容步长、LUN值大小、虚拟磁盘大小、逻辑卷大小等评估是否达到扩容条件。
由于扩容值与用户设置的虚拟磁盘大小、底层逻辑卷大小有着必然的联系,因此在扩容之前需要判断是否达到扩容条件。只有达到扩容条件才会允许扩容。同时用户根据业务模型(如数据库场景、数据归档、邮箱服务器等)、底层的LUN读写速率、内存、缓存等基础信息,设置属于的业务场景。根据业务场景指定不同的扩容步长,即逻辑卷每次扩容增加值。然后根据逻辑卷当前容量与扩容步长,与虚拟磁盘大小和卷组可用容量比较,判定是否达到扩容条件,只能达到扩容条件,才能触发LMD的扩容操作。
优选的,判断是否满足扩容条件,包括:
根据所述虚拟机的上层业务,确定扩容步长值;
根据所述虚拟磁盘路径查找对应的逻辑卷,判断所述逻辑卷的容量加上扩容步长值是否大于所述容量最大上限值;
若不大于,则判断扩容步长值是否大于卷组剩余容量值;
若不大于,则满足扩容条件。
其中,这里的每种上层业务可以设定不同的扩容步长,这样可以满足用户根据每种业务的实际容量需求或者容量增长需求进行设定,避免容量闲置。
S130、若满足,则对所述逻辑卷执行扩容操作,并根据所述虚拟机名称及所述虚拟机id重启虚拟机。
下面通过一个具体实施过程说明上述方法:
第1步,虚拟机挂载的qcow2虚拟磁盘,经过qemu-kvm下发的写IO,触发了底层LV的最大值上限。
第2步,libvirt统一虚拟化管理平台捕获qcow2上报的IO Error。
第3步,libvirt触发虚拟机保护机制,暂停虚拟机上层业务。
第4步,LMD捕获libvirt中虚拟磁盘上报的No Space Error,并记录虚拟机名称、虚拟机对应id及虚拟磁盘路径。
第5步,根据虚拟磁盘路径查找对应的逻辑卷,对逻辑卷执行扩容操作。
第6步,重新开启虚拟机,继续下发业务。直至扩容队列中没有任务。
基于上述技术方案,本发明实施例提供的基于LVM的逻辑卷动态扩容的方法,以LVM的逻辑卷(Logical Volume)为底层载体,以qemu技术对文件进行格式转换,在虚拟化场景下通过监控libvirt告警作为扩容触发点,判断是否达到扩容条件后,最后实现动态扩容。实现根据上层业务规划,预先分配,自动扩容;从而提高磁盘空间利用率。
本发明实施例提供了基于LVM的逻辑卷动态扩容的方法,能根据上层业务实时动态扩容,动态按需分配底层逻辑卷的容量大小。
下面对本发明实施例提供的基于LVM的逻辑卷动态扩容的系统进行介绍,下文描述的基于LVM的逻辑卷动态扩容的系统与上文描述的基于LVM的逻辑卷动态扩容的方法可相互对应参照。
请参考图3,图3为本发明实施例所提供的基于LVM的逻辑卷动态扩容的系统的结构框图;该系统可以包括:
格式转换模块100,用于利用qemu命令将逻辑卷的映射文件转变为qcow2文件格式,并通过下发的写IO,触发底层逻辑卷的容量最大上限值;
容量错误获取模块200,用于获取libvirt中虚拟磁盘上报的容量不足错误,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径;
判断模块300,用于根据所述虚拟磁盘路径查找对应的逻辑卷,判断是否满足扩容条件;
扩容模块400,用于当满足扩容条件时,对所述逻辑卷执行扩容操作,并根据所述虚拟机名称及所述虚拟机id重启虚拟机。
基于上述技术方案,该系统还包括:
暂停业务模块,用于当libvirt中虚拟磁盘上报容量不足错误时,利用libvirt触发虚拟机保护机制,暂停对应虚拟机的上层业务。
可选的,所述判断模块300包括:
扩容步长值单元,用于根据所述虚拟机的上层业务,确定扩容步长值;
第一判断单元,用于根据所述虚拟磁盘路径查找对应的逻辑卷,判断所述逻辑卷的容量加上扩容步长值是否大于所述容量最大上限值;
第二判断单元,用于当所述逻辑卷的容量加上扩容步长值不大于所述容量最大上限值,则判断扩容步长值是否大于卷组剩余容量值;若不大于,则满足扩容条件。
可选的,所述容量错误获取模块200包括:
第一线程单元,用于LMD的第一线程获取libvirt中虚拟磁盘上报的容量不足错误,将需要执行的扩容任务放入到任务队列中;
第二线程单元,用于LMD的第二线程从所述任务队列中读取扩容任务,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径。
基于上述技术方案,该系统还包括:
设置模块,用于设置逻辑卷容量值,逻辑卷的容量最大上限值,卷组容量值,各业务对应的扩容步长值。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的基于LVM的逻辑卷动态扩容的方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种基于LVM的逻辑卷动态扩容的方法,其特征在于,包括:
利用qemu命令将逻辑卷的映射文件转变为qcow2文件格式,并通过下发的写IO,触发底层逻辑卷的容量最大上限值;
获取libvirt中虚拟磁盘上报的容量不足错误,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径;
根据所述虚拟磁盘路径查找对应的逻辑卷,判断是否满足扩容条件;
若满足,则对所述逻辑卷执行扩容操作,并根据所述虚拟机名称及所述虚拟机id重启虚拟机。
2.根据权利要求1所述的基于LVM的逻辑卷动态扩容的方法,其特征在于,利用qemu命令将逻辑卷的映射文件转变为qcow2文件格式,并通过下发的写IO,触发底层逻辑卷的容量最大上限值之后,还包括:
当libvirt中虚拟磁盘上报容量不足错误时,利用libvirt触发虚拟机保护机制,暂停对应虚拟机的上层业务。
3.根据权利要求1所述的基于LVM的逻辑卷动态扩容的方法,其特征在于,利用qemu命令将逻辑卷的映射文件转变为qcow2文件格式,并通过下发的写IO,触发底层逻辑卷的容量最大上限值之前,还包括:
设置逻辑卷容量值,逻辑卷的容量最大上限值,卷组容量值,各业务对应的扩容步长值。
4.根据权利要求3所述的基于LVM的逻辑卷动态扩容的方法,其特征在于,判断是否满足扩容条件,包括:
根据所述虚拟机的上层业务,确定扩容步长值;
根据所述虚拟磁盘路径查找对应的逻辑卷,判断所述逻辑卷的容量加上扩容步长值是否大于所述容量最大上限值;
若不大于,则判断扩容步长值是否大于卷组剩余容量值;
若不大于,则满足扩容条件。
5.根据权利要求1所述的基于LVM的逻辑卷动态扩容的方法,其特征在于,获取libvirt中虚拟磁盘上报的容量不足错误,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径,包括:
LMD的第一线程获取libvirt中虚拟磁盘上报的容量不足错误,将需要执行的扩容任务放入到任务队列中;
LMD的第二线程从所述任务队列中读取扩容任务,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径。
6.根据权利要求5所述的基于LVM的逻辑卷动态扩容的方法,其特征在于,当多个虚拟机的多个虚拟磁盘同时执行扩容操作时,在执行扩容操作之前对卷组添加独占锁;虚拟磁盘获得独占锁之后,对对应的逻辑卷执行扩容操作。
7.一种基于LVM的逻辑卷动态扩容的系统,其特征在于,包括:
格式转换模块,用于利用qemu命令将逻辑卷的映射文件转变为qcow2文件格式,并通过下发的写IO,触发底层逻辑卷的容量最大上限值;
容量错误获取模块,用于获取libvirt中虚拟磁盘上报的容量不足错误,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径;
判断模块,用于根据所述虚拟磁盘路径查找对应的逻辑卷,判断是否满足扩容条件;
扩容模块,用于当满足扩容条件时,对所述逻辑卷执行扩容操作,并根据所述虚拟机名称及所述虚拟机id重启虚拟机。
8.根据权利要求7所述的基于LVM的逻辑卷动态扩容的系统,其特征在于,还包括:
暂停业务模块,用于当libvirt中虚拟磁盘上报容量不足错误时,利用libvirt触发虚拟机保护机制,暂停对应虚拟机的上层业务。
9.根据权利要求7所述的基于LVM的逻辑卷动态扩容的系统,其特征在于,所述判断模块包括:
扩容步长值单元,用于根据所述虚拟机的上层业务,确定扩容步长值;
第一判断单元,用于根据所述虚拟磁盘路径查找对应的逻辑卷,判断所述逻辑卷的容量加上扩容步长值是否大于所述容量最大上限值;
第二判断单元,用于当所述逻辑卷的容量加上扩容步长值不大于所述容量最大上限值,则判断扩容步长值是否大于卷组剩余容量值;若不大于,则满足扩容条件。
10.根据权利要求7所述的基于LVM的逻辑卷动态扩容的系统,其特征在于,所述容量错误获取模块包括:
第一线程单元,用于LMD的第一线程获取libvirt中虚拟磁盘上报的容量不足错误,将需要执行的扩容任务放入到任务队列中;
第二线程单元,用于LMD的第二线程从所述任务队列中读取扩容任务,并记录对应的虚拟机名称、虚拟机id及虚拟磁盘路径。
CN201610566099.0A 2016-07-18 2016-07-18 一种基于lvm的逻辑卷动态扩容的方法及系统 Active CN106168885B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610566099.0A CN106168885B (zh) 2016-07-18 2016-07-18 一种基于lvm的逻辑卷动态扩容的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610566099.0A CN106168885B (zh) 2016-07-18 2016-07-18 一种基于lvm的逻辑卷动态扩容的方法及系统

Publications (2)

Publication Number Publication Date
CN106168885A true CN106168885A (zh) 2016-11-30
CN106168885B CN106168885B (zh) 2019-09-24

Family

ID=58065472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610566099.0A Active CN106168885B (zh) 2016-07-18 2016-07-18 一种基于lvm的逻辑卷动态扩容的方法及系统

Country Status (1)

Country Link
CN (1) CN106168885B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897029A (zh) * 2017-02-24 2017-06-27 郑州云海信息技术有限公司 一种lvm数据一致性的控制方法及装置
CN107168793A (zh) * 2017-05-10 2017-09-15 郑州云海信息技术有限公司 一种虚拟存储空间的动态流动方法
CN107479837A (zh) * 2017-08-30 2017-12-15 郑州云海信息技术有限公司 云数据系统中虚拟机扩容的方法和装置
CN107861790A (zh) * 2017-10-27 2018-03-30 新华三云计算技术有限公司 虚拟机磁盘空间扩展方法、装置、宿主机及可读存储介质
CN108874317A (zh) * 2018-06-07 2018-11-23 郑州云海信息技术有限公司 一种Linux系统下逻辑卷分区自动扩容装置及方法
CN109614053A (zh) * 2018-12-17 2019-04-12 郑州云海信息技术有限公司 一种扩展kvm虚拟机磁盘分区的方法和装置
CN109697187A (zh) * 2017-10-24 2019-04-30 阿里巴巴集团控股有限公司 基于顺序消息的扩、缩容方法和装置以及电子设备
CN109753342A (zh) * 2018-11-19 2019-05-14 顺丰科技有限公司 虚拟机在线扩容方法、装置、设备及存储介质
CN110622478A (zh) * 2018-04-08 2019-12-27 华为技术有限公司 数据同步处理的方法和装置
CN110990356A (zh) * 2019-12-04 2020-04-10 厦门市美亚柏科信息股份有限公司 一种用于逻辑镜像的实时自动扩容方法和系统
CN112256661A (zh) * 2020-10-16 2021-01-22 苏州浪潮智能科技有限公司 一种基于统一存储的文件系统性能优化方法及装置
CN112799602A (zh) * 2021-02-24 2021-05-14 浪潮云信息技术股份公司 一种云硬盘在线扩容方法
CN113672173A (zh) * 2021-07-31 2021-11-19 济南浪潮数据技术有限公司 一种存储卷扩容方法、系统、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009619A1 (en) * 2001-07-05 2003-01-09 Yoshiki Kano Automated on-line capacity expansion method for storage device
CN102073464A (zh) * 2011-01-14 2011-05-25 南开大学 一种按需分配增量卷的创建方法
CN103324446A (zh) * 2013-06-07 2013-09-25 曙光信息产业(北京)有限公司 一种高性能弹性容量虚拟机磁盘的实现方法
CN103513940A (zh) * 2013-10-21 2014-01-15 北京华胜天成科技股份有限公司 虚拟机在线扩展磁盘容量的方法和虚拟系统控制台

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009619A1 (en) * 2001-07-05 2003-01-09 Yoshiki Kano Automated on-line capacity expansion method for storage device
CN102073464A (zh) * 2011-01-14 2011-05-25 南开大学 一种按需分配增量卷的创建方法
CN103324446A (zh) * 2013-06-07 2013-09-25 曙光信息产业(北京)有限公司 一种高性能弹性容量虚拟机磁盘的实现方法
CN103513940A (zh) * 2013-10-21 2014-01-15 北京华胜天成科技股份有限公司 虚拟机在线扩展磁盘容量的方法和虚拟系统控制台

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897029A (zh) * 2017-02-24 2017-06-27 郑州云海信息技术有限公司 一种lvm数据一致性的控制方法及装置
CN107168793A (zh) * 2017-05-10 2017-09-15 郑州云海信息技术有限公司 一种虚拟存储空间的动态流动方法
CN107479837A (zh) * 2017-08-30 2017-12-15 郑州云海信息技术有限公司 云数据系统中虚拟机扩容的方法和装置
CN109697187B (zh) * 2017-10-24 2022-10-21 阿里巴巴集团控股有限公司 基于顺序消息的扩、缩容方法和装置以及电子设备
CN109697187A (zh) * 2017-10-24 2019-04-30 阿里巴巴集团控股有限公司 基于顺序消息的扩、缩容方法和装置以及电子设备
CN107861790B (zh) * 2017-10-27 2020-05-15 新华三云计算技术有限公司 虚拟机磁盘空间扩展方法、装置、宿主机及可读存储介质
CN107861790A (zh) * 2017-10-27 2018-03-30 新华三云计算技术有限公司 虚拟机磁盘空间扩展方法、装置、宿主机及可读存储介质
CN110622478B (zh) * 2018-04-08 2020-11-06 华为技术有限公司 数据同步处理的方法和装置
CN110622478A (zh) * 2018-04-08 2019-12-27 华为技术有限公司 数据同步处理的方法和装置
CN108874317A (zh) * 2018-06-07 2018-11-23 郑州云海信息技术有限公司 一种Linux系统下逻辑卷分区自动扩容装置及方法
CN109753342A (zh) * 2018-11-19 2019-05-14 顺丰科技有限公司 虚拟机在线扩容方法、装置、设备及存储介质
CN109614053A (zh) * 2018-12-17 2019-04-12 郑州云海信息技术有限公司 一种扩展kvm虚拟机磁盘分区的方法和装置
CN110990356A (zh) * 2019-12-04 2020-04-10 厦门市美亚柏科信息股份有限公司 一种用于逻辑镜像的实时自动扩容方法和系统
CN110990356B (zh) * 2019-12-04 2022-05-24 厦门市美亚柏科信息股份有限公司 一种用于逻辑镜像的实时自动扩容方法和系统
CN112256661A (zh) * 2020-10-16 2021-01-22 苏州浪潮智能科技有限公司 一种基于统一存储的文件系统性能优化方法及装置
CN112256661B (zh) * 2020-10-16 2022-10-18 苏州浪潮智能科技有限公司 一种基于统一存储的文件系统性能优化方法及装置
CN112799602A (zh) * 2021-02-24 2021-05-14 浪潮云信息技术股份公司 一种云硬盘在线扩容方法
CN112799602B (zh) * 2021-02-24 2023-03-28 浪潮云信息技术股份公司 一种云硬盘在线扩容方法
CN113672173A (zh) * 2021-07-31 2021-11-19 济南浪潮数据技术有限公司 一种存储卷扩容方法、系统、设备及可读存储介质

Also Published As

Publication number Publication date
CN106168885B (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
CN106168885B (zh) 一种基于lvm的逻辑卷动态扩容的方法及系统
US11094031B2 (en) GPU resource usage display and dynamic GPU resource allocation in a networked virtualization system
US10489215B1 (en) Long-range distributed resource planning using workload modeling in hyperconverged computing clusters
Jeong et al. {I/O} Stack Optimization for Smartphones
CN102255962B (zh) 一种分布式存储方法、装置和系统
US7925491B2 (en) Simulation of installation and configuration of distributed software
US20100070544A1 (en) Virtual block-level storage over a file system
CN106681842A (zh) 一种多进程系统中共享内存的管理方法及装置
CN107092541A (zh) 一种运用虚拟机进行存储性能测试的方法
CN103389884A (zh) 处理输入/输出请求的方法、宿主机、服务器和虚拟机
CN110427284A (zh) 数据处理方法、分布式系统、计算机系统和介质
JP2009110346A (ja) 性能履歴の管理方法および性能履歴の管理システム
CN104486255A (zh) 业务资源调度方法和装置
US9854037B2 (en) Identifying workload and sizing of buffers for the purpose of volume replication
JP2008108020A (ja) 計算機システム、データ移行方法、およびストレージ管理サーバ
CN107590075A (zh) 一种软件测试方法及装置
CN103856547A (zh) 多虚拟机的映射方法、系统及客户端设备
CN103218305B (zh) 存储空间的分配方法
CN114089926B (zh) 分布式存储空间的管理方法、计算设备及存储介质
US20150277789A1 (en) Placement engine for a block device
CN107423110A (zh) 一种基于libvirt的虚拟机实时监测方法及其装置
CN103365926A (zh) 在文件系统中用于保存快照的方法和装置
US9971785B1 (en) System and methods for performing distributed data replication in a networked virtualization environment
CN104778087B (zh) 一种信息处理方法以及信息处理装置
CN108932155A (zh) 虚拟机存储管理方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant