调整虚拟磁盘大小的各种方法

云计算 虚拟化
在压缩VHDX文件之前需要调整分区大小,只允许把文件尺寸压缩为分区本身的大小。保留合理的缓冲区间,请牢记,磁盘碎片整理需要至少20%的空闲虚拟磁盘空间才可以进行。如下命令调整分区大小。要注意参数单位包含KB、MB、GB和TB。

   在物理机到虚拟机的转换过程中,通常需要调整物理硬盘和虚拟磁盘的大小。避免存储瓶颈比成功迁移更重要,但是Hyper-V磁盘管理工具包中没有可以调整虚拟磁盘大小的工具。即使没有这些工具,你依然可以通过PowerShell命令、VHDResizer或其它工具设置虚拟磁盘的大小。

  使用PowerShell命令调整VHD大小

  微软的Hyper-V项目经理Ben Armstrong在博客中公布了该方法,似乎可以快速缩小虚拟磁盘空间并缓解管理员压力。下面是主要的步骤:

  打开Microsoft PowerShell:如果没有安装Hyper-V PowerShell cmdlets,使用如下命令:

  Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell

  加载VHD文件:使用如下命令加载VHDX文件,把命令中的路径更换为需要进行压缩的VHDX文件的路径。

  Mount-VHD "C:\VMs\ResizeMe.vhdx" –passthru | get-disk | get-partition | get-volume

  请注意,该过程只适用于Windows Server 2012自带Hyper-V兼容的VHDX文件。从VHD转化为VHDX格式很简单,但在虚拟磁盘文件转换过程中需要停机。

  调整分区大小:在压缩VHDX文件之前需要调整分区大小,只允许把文件尺寸压缩为分区本身的大小。保留合理的缓冲区间,请牢记,磁盘碎片整理需要至少20%的空闲虚拟磁盘空间才可以进行。如下命令调整分区大小。要注意参数单位包含KB、MB、GB和TB。

  Resize-Partition –driveletter D –size 40MB

  卸载VHD:到此为止分区管理就结束了。接下来需要调整VHD虚拟磁盘文件的大小。如下命令把VHDX文件压缩到您***设置的分区大小。

  Resize-VHD "C:\VMs\ResizeMe.vhdx" –ToMinimumSize

  使用下面的命令检查新VHDX文件的大小。

  Get-VHD "C:\VMs\ResizeMe.vhdx" | fl path, vhdformat, vhdtype, size

 

使用PowerShell命令调整VHD大小

 

 

#p#

  通过VHDResizer调整VHD大小

  免费工具VHDResizer可以用来挂载VHD文件并压缩到所选大小。上文提到的Resize-VHD命令只对VHDX文件起作用,而VHDResizer是个老工具,不支持VHDX文件格式。该工具的转换需要时间较长,因为它的原理是把已有虚拟磁盘驱动器以数据块为单位拷贝到新的VHD文件。

  在使用VHDResizer之前,您也要通过上文提到的PowerShell命令先对VHD文件内的分区进行压缩。

  首先,关闭虚机。然后挂载VHD,把下面命令中的路径替换为您的VHD文件路径。

  Mount-VHD "C:\VMs\ResizeMe.vhd" –passthru | get-disk | get-partition | get-volume

  使用以下示例命令调整分区,留出合理的缓冲。

  Resize-Partition –driveletter D –size 40MB

通过VHDResizer调整VHD大小

  如您看到的,尝试用Resize-VHD PowerShell命令出现错误提示,因为只有VHDX文件受支持。此时,我们打开VHDResizer进行VHD压缩并结束整个过程。您可以远程挂载和进行分区大小调整,但是必须在本地系统上运行VHDResizer。

  登录VHDResizer时,系统会询问源VHD。

通过VHDResizer调整VHD大小

  下一个窗口询问您希望创建的VHD路径、大小以及是动态还是静态磁盘。参数设置完成后,点击OK。

通过VHDResizer调整VHD大小

  VHDResizer不会改变已有VHD文件的大小,而是根据您选择的大小创建一个新的VHD。

  完成如上过程后,打开Hyper-V管理器,移除之前较大的磁盘并增加新创建的压缩后的VHD。

通过VHDResizer调整VHD大小

#p#

  调整VHD大小的其它方法

  如果购买了NetApp SAN存储,并在其逻辑磁卷上创建了VHD或VHDX文件,您可以使用Data ONTAP PowerShell Toolkit来调整虚拟磁盘大小。该工具可用于压缩虚拟磁盘文件,或把SAN上的数据块清零,以完成空间的回收。

通过VHDResizer调整VHD大小

  由于依赖网络速度,P2V(物理机到虚拟机)转换时间从30分钟到几个小时不等。使用上述的磁盘压缩选项还会增加额外的时间,使得周期和应用的停机时间更长。Windows Server 2012的PowerShell命令很有潜力,但是不支持VHD,并且在压缩过程中需要停止虚机,为P2V过程增加额外的停机时间。希望该管理过程将来会成为Hyper-V提供的自动化P2V、存储迁移或基于向导的磁盘编辑任务的一部分。

 

责任编辑:贾隆 来源: TechTarget
相关推荐

2013-08-14 09:42:40

虚拟硬盘硬盘大小限制

2013-10-09 15:45:08

Windows SerHyper-v

2010-04-09 15:15:01

Oracle SGA

2009-12-16 14:40:40

Linux调整虚拟机硬

2009-12-25 10:28:10

WPF路由事件

2009-12-25 13:09:49

Linux Vi

2009-12-21 14:31:39

Fedora core

2010-01-27 14:39:58

Android图片大小

2020-11-29 17:00:51

VirtualBox虚拟硬盘Linux

2010-01-15 16:29:47

VB.NET对象存储

2023-08-25 16:37:08

Pandas测试

2011-07-05 09:50:42

JAVA

2021-09-13 09:30:09

Linux调整图像ImageMagick

2021-01-11 13:20:06

Python图像大小编程语言

2021-07-30 23:05:22

Windows 11Windows微软

2009-02-20 11:01:38

Vista字体调整

2015-03-13 13:50:47

Java读取文件夹大小Java读取文件Java读取

2013-05-13 09:25:58

虚拟化数据丢失

2011-07-27 09:41:52

虚拟化

2011-08-22 09:54:40

云计算虚拟化云成本
点赞
收藏

51CTO技术栈公众号