CN105573822A - 一种缩减虚拟机磁盘空间的方法 - Google Patents

一种缩减虚拟机磁盘空间的方法 Download PDF

Info

Publication number
CN105573822A
CN105573822A CN201510973845.3A CN201510973845A CN105573822A CN 105573822 A CN105573822 A CN 105573822A CN 201510973845 A CN201510973845 A CN 201510973845A CN 105573822 A CN105573822 A CN 105573822A
Authority
CN
China
Prior art keywords
virtual machine
storage volume
volume
reduction
space
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
Application number
CN201510973845.3A
Other languages
English (en)
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.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud Technology 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 G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201510973845.3A priority Critical patent/CN105573822A/zh
Publication of CN105573822A publication Critical patent/CN105573822A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及云平台存储虚拟化技术领域,特别是一种缩减虚拟机磁盘空间的方法。本发明首先在基于存储卷创建虚拟机;虚拟机卸载存储卷;查看存储卷已用空间;目标缩减大小是否大于卷已用空间,若是进行下一步,否则缩减失败;检查存储卷的文件系统是否正常,若是进行下一步,否则缩减失败;缩减存储卷的文件块大小;缩减存储卷的文件系统;最后重新挂载给虚拟机使用,缩减磁盘空间成功。本发明解决了虚拟机磁盘空间只能扩展不能缩减的问题;可应用于云平台存储虚拟化。

Description

一种缩减虚拟机磁盘空间的方法
技术领域
本发明涉及云平台存储虚拟化技术领域,特别是一种缩减虚拟机磁盘空间的方法。
背景技术
一般的云计算平台有多个虚拟机,而每个虚拟机都要有磁盘。磁盘类型目前常用的有系统盘和数据盘两种。客户一般开始的时候就购买一定存储大小的虚拟机磁盘,有些客户发现后续的使用过程中,并不需要那么多的磁盘空间,他们想好像手机套餐那样通过降低套餐来达到降低费用的目的,这样会带来以下问题:
一是云平台不支持虚拟机磁盘缩减。
二是用户随时切换不同的磁盘空间。
三是不能赚取更高的利润。系统不能把这些磁盘空间卖给另外的客户。而磁盘空间越小性价比越低,所以云平台反而可以赚钱更高的利润。
为了解决上述问题,需要有一种缩减虚拟机磁盘空间的方法。本地存储或SAN网络存储的虚拟机,通过一种缩减虚拟机磁盘空间的方法,成功将虚拟机磁盘缩减。
发明内容
本发明解决的技术问题在于提供一种缩减虚拟机磁盘空间的方法;解决云平台不支持虚拟机磁盘缩减、用户随时切换不同的磁盘空间、云平台不能赚取更高的利润的问题。
本发明解决上述技术问题的技术方案是:
所述的方法包括如下步骤:
步骤1:基于存储卷创建虚拟机;
步骤2:虚拟机卸载存储卷;
步骤3:查看存储卷已用空间;
步骤4:目标缩减大小是否大于卷已用空间,若是执行步骤5,否则执行步骤10;
步骤5:检查存储卷的文件系统是否正常,若是执行步骤6,否则执行步骤10;
步骤6:缩减存储卷的文件块大小;
步骤7:缩减存储卷的文件系统;
步骤8:重新挂载给虚拟机使用;
步骤9:缩减磁盘空间成功,执行步骤11;
步骤10:缩减磁盘空间失败;
步骤11:流程结束。
所述的基于存储卷创建虚拟机,通过卷组VolumeGroup的LogicVolume存储卷来创建虚拟机。虚拟机把存储卷作为系统盘或数据盘使用;
卷组VolumeGroup是卷组将多个物理卷PhysicalVolume组合在一起,形成一个可管理的单元;
所述的物理卷PhysicalVolume,是一个物理卷PhysicalVolume对应一个物理磁盘或分区。
所述的虚拟机卸载存储卷,如果是虚拟机系统盘,先对虚拟机关机然后卸载,如果是数据盘,则可以直接卸载。
所述的查看存储卷已用空间,使将存储卷挂载到宿主机文件系统上,通过df-h命令查看其已用空间;
所述的缩减存储卷的文件块大小,通过lvreduce命令缩减存储卷文件块的大小。
所述的缩减存储卷的文件系统,根据虚拟机的操作系统类型,通过resize2fs或ntfsresize命令缩减存储卷的文件系统大小。
本发明通过一种缩减虚拟机磁盘空间的方法,用户根据实际情况需要随时切换的虚拟机磁盘空间、云平台将空间回收之后可以卖给其他客户,从而赚取更高的利润的问题。本发明适应于缩减Windows或者Linux虚拟机磁盘空间,本发明适用于本地存储或SAN网络存储的虚拟机磁盘。本发明提供缩减虚拟机磁盘的方法,区别于一般扩展虚拟机磁盘的方法。本发明提供不但是文件块的缩减,还包括文件块上文件系统的缩减,缩减后虚拟机能直接使用,区域一般的存储卷缩减。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明流程图;
图2为本发明逻辑结构图。
具体实施方式
本发明的实施方式有多种,这里以云平台为例说明其中一种实现方法,如图1、2所示,具体实施过程如下:
1、基于存储卷创建虚拟机,代码如下:
/**
*基于存储卷创建虚拟机
*paramvolumeId卷ID
*paramname卷名称
*return无返回值
*/
publicvoidcreateVm(StringvolumeId,Stringname){
returnVmService.createVm(volumeId,name);
}
2、虚拟机卸载存储卷,代码如下:
/**
*虚拟机卸载存储卷
*paramvolumeId卷ID
*return无返回值
*/
publicvoiddetach(StringvolumeId){
returnVmService.detach(volumeId);
}
3、查看存储卷已用空间,代码如下:
/**
*查看存储卷已用空间.
*paramvolumeId卷ID
*returnLong已用空间
*/
publicLonggetVolumeUsed(StringvolumeId){
returnVolumeGroup.getVolumeUsed(volumeId);
}
4、目标缩减大小是否大于卷已用空间,若是执行步骤5,否则执行步骤10,代码如下:
/**
*目标缩减大小是否大于卷已用空间.
*paramusedSize卷已用空间
*paramdstSize目标缩减大小
*returnboolean返回结果
*/
publicbooleancheckIsEnough(LongusedSizeLongdstSize){
returnManager.checkIsEnough(usedSize,dstSize);
}
5、检查存储卷的文件系统是否正常,若是执行步骤6,否则执行步骤10,代码如下:
/**
*检查存储卷的文件系统是否正常.
*parampath存储卷所在路径
*returnboolean返回结果
*/
publicStringcheckFS(Stringpath){
returnManager.checkFS(path);
}
6、缩减存储卷的文件块大小,代码如下:
/**
*缩减存储卷的文件块大小.
*paramvolumeId卷ID
*returnString返回结果
*/
publicStringreduceVolume(StringvolumeId){
returnManager.reduceVolume(volumeId);
}
7、缩减存储卷的文件系统,代码如下:
/**
*缩减存储卷的文件系统.
*paramvolumeId卷ID
*returnString返回结果
*/
publicStringreduceVolumeFSSize(StringvolumeId){
returnManager.reduceVolumeFSSize(volumeId);
{
8、重新挂载给虚拟机使用,代码如下:
/**
*重新挂载给虚拟机使用.
*paramvolumeId卷ID
*return无返回值
*/
publicvoidattach(StringvolumeId){
returnVmService.attach(volumeId);}
9、缩减磁盘空间成功;
整个流程结束。

Claims (5)

1.一种缩减虚拟机磁盘空间的方法,其特征在于:所述的方法包括如下步骤:
步骤1:基于存储卷创建虚拟机;
步骤2:虚拟机卸载存储卷;
步骤3:查看存储卷已用空间;
步骤4:目标缩减大小是否大于卷已用空间,若是执行步骤5,否则执行步骤10;
步骤5:检查存储卷的文件系统是否正常,若是执行步骤6,否则执行步骤10;
步骤6:缩减存储卷的文件块大小;
步骤7:缩减存储卷的文件系统;
步骤8:重新挂载给虚拟机使用;
步骤9:缩减磁盘空间成功,执行步骤11;
步骤10:缩减磁盘空间失败;
步骤11:流程结束。
2.根据权利要求1所述的方法,其特征在于:所述的基于存储卷创建虚拟机,通过卷组VolumeGroup的LogicVolume存储卷来创建虚拟机。虚拟机把存储卷作为系统盘或数据盘使用;
卷组VolumeGroup是卷组将多个物理卷PhysicalVolume组合在一起,形成一个可管理的单元;
所述的物理卷PhysicalVolume,是一个物理卷PhysicalVolume对应一个物理磁盘或分区。
3.根据权利要求1所述的方法,其特征在于:所述的虚拟机卸载存储卷,如果是虚拟机系统盘,先对虚拟机关机然后卸载,如果是数据盘,则可以直接卸载。
4.根据权利要求2所述的方法,其特征在于:所述的虚拟机卸载存储卷,如果是虚拟机系统盘,先对虚拟机关机然后卸载,如果是数据盘,则可以直接卸载。
5.根据权利要求1至4任一项所述的方法,其特征在于:所述的查看存储卷已用空间,使将存储卷挂载到宿主机文件系统上,通过df–h命令查看其已用空间;
所述的缩减存储卷的文件块大小,通过lvreduce命令缩减存储卷文件块的大小。
所述的缩减存储卷的文件系统,根据虚拟机的操作系统类型,通过resize2fs或ntfsresize命令缩减存储卷的文件系统大小。
CN201510973845.3A 2015-12-21 2015-12-21 一种缩减虚拟机磁盘空间的方法 Pending CN105573822A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510973845.3A CN105573822A (zh) 2015-12-21 2015-12-21 一种缩减虚拟机磁盘空间的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510973845.3A CN105573822A (zh) 2015-12-21 2015-12-21 一种缩减虚拟机磁盘空间的方法

Publications (1)

Publication Number Publication Date
CN105573822A true CN105573822A (zh) 2016-05-11

Family

ID=55883994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510973845.3A Pending CN105573822A (zh) 2015-12-21 2015-12-21 一种缩减虚拟机磁盘空间的方法

Country Status (1)

Country Link
CN (1) CN105573822A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113126912A (zh) * 2021-03-15 2021-07-16 新华三大数据技术有限公司 一种个人磁盘的挂载方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930403A (zh) * 2009-06-19 2010-12-29 英业达股份有限公司 硬盘系统及其存取方法
US20120110293A1 (en) * 2010-11-03 2012-05-03 Yang Xiaowei Method and system for managing virtual machine storage space and physical host
US20120239896A1 (en) * 2011-03-15 2012-09-20 Sobel William E Optimized Shrinking of Virtual Disks
CN103226448A (zh) * 2013-03-21 2013-07-31 华为技术有限公司 固态硬盘的驱动方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930403A (zh) * 2009-06-19 2010-12-29 英业达股份有限公司 硬盘系统及其存取方法
US20120110293A1 (en) * 2010-11-03 2012-05-03 Yang Xiaowei Method and system for managing virtual machine storage space and physical host
US20120239896A1 (en) * 2011-03-15 2012-09-20 Sobel William E Optimized Shrinking of Virtual Disks
CN103226448A (zh) * 2013-03-21 2013-07-31 华为技术有限公司 固态硬盘的驱动方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
小牛牛: "KVM初探之一——存储池与存储卷,使用virt-install创建虚拟机", 《新浪博客》 *
无: "Linux-NTFS", 《程序员》 *
李爱武: "《基于LINUX的ORACLE数据库管理》", 31 March 2008, 北京邮电大学出版社 *
赵凯: "《Linux网络服务与管理》", 31 January 2013, 清华大学出版社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113126912A (zh) * 2021-03-15 2021-07-16 新华三大数据技术有限公司 一种个人磁盘的挂载方法及装置

Similar Documents

Publication Publication Date Title
CN103810058B (zh) 虚拟机备份方法、设备及系统
EP2318927B1 (en) Systems and methods for tracking changes to a volume
CN104239166A (zh) 一种对运行中虚拟机实现文件备份的方法
CN103513940A (zh) 虚拟机在线扩展磁盘容量的方法和虚拟系统控制台
CN106959927B (zh) 获取虚拟机中的逻辑分区的位置信息的方法及装置
US20140032959A1 (en) System and Method of Replicating Virtual Machines for Live Migration Between Data Centers
US20200183789A1 (en) Installation file processing method and device, and server
US10055160B2 (en) Systems and methods for BIOS emulation of PCIe device
US20120198443A1 (en) Storage reclamation systems and methods
CN105573819A (zh) 一种直接通过宿主机获取虚拟机磁盘容量信息的方法
CN103440204B (zh) 一种更新文件系统的方法和存储设备
CN103677870A (zh) 系统升级方法及采用该方法升级的系统
CN103870298A (zh) 切换方法和电子设备
WO2015116197A1 (en) Storing data based on a write allocation policy
US7747893B2 (en) Method and system for managing resources during system initialization and startup
CN104536852A (zh) 数据恢复方法及装置
CN104484132A (zh) 数据缩减的方法及装置
CN102393838B (zh) 数据处理方法及装置、pci-e总线系统、服务器
CN104268032A (zh) 一种多控制器的快照处理方法及装置
CN106341448A (zh) 分布式存储方法、装置及系统
CN105573822A (zh) 一种缩减虚拟机磁盘空间的方法
CN101853194B (zh) 数据备份方法
CN104598243A (zh) 应用于智能终端的多用户应用程序管理方法和装置
CN106250082B (zh) 一种终端控制方法及终端
CN103713952A (zh) 一种基于ufs的虚拟磁盘分布式存储方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20160511