虚拟化技术带来的很大一个好处就是可以轻松地对虚拟硬件做出修改,在需要的时候关闭虚拟机或者改变虚拟机的设置,就可以轻易地添加或者移除CPU、内存磁盘和网卡(NIC:Network Interface Card)。但是如何增加或者减少已有磁盘的大小呢?在本文中我们将会介绍若干个可以调整虚拟硬盘大小的方法。
VMware Converter:类似于重新分区
发现最初为虚拟机所创建虚拟机磁盘空间不足,这是一个非常常见的问题。通常情况下通过新增虚拟硬盘就可以获得更多的磁盘空间,但往往需要大量新添加的磁盘分区名和驱动器名(并且这些命名并没有实际用处)。同时也有可能出现这样的情况,最初为虚拟机创建的磁盘文件过大。这种情况就需要缩减该虚拟机磁盘文件,节省更多的空间供宿主服务器上面的其它虚拟机使用。
扩大或者缩减一个现有虚拟磁盘最简单的方法就是使用VMware Converter工具。运行这个工具之后,就可以看到重新分配已有磁盘容量的选项,可以把初始磁盘大小扩大或者缩小。Converter并不改动初始磁盘文件,而是根据特定的磁盘大小创建带有该容量虚拟磁盘的新虚拟机,然后把数据从原来的虚拟机拷贝到新创建的虚拟机中。在验证新虚拟机正常运行之后,删除原来的虚拟机。
使用VMware Converter重新规划磁盘大小时遵循以下步骤:
下载并在希望更改容量的虚拟机上安装Converter,当然如果拥有企业版的话,也可以远程运行Converter;
选择源类型:如果直接运行在虚拟机、ESX Server上,选择“物理机”;如果远程运行,选择VirtualCenter虚拟机;
在源登录界面,如果是直接运行在虚拟机上的话,选择“本地机”;如果是远程运行的话,选择ESX/VC服务器登录;另外如果远程运行的话还需要选择源虚拟机;
在源数据完全显示之后,可以看到指定给虚拟机的所有磁盘。在这个界面上可以给磁盘重新分配大小,选择“选择卷和重新分配大小”,然后选择其中的一个选项(如以GB为单位输入大小),再输入新的容量大小。如果是需要缩减磁盘容量的话,就必须输入一个比当前磁盘被占用磁盘空间总量大的值。例如如果在初始服务器上有一个24GB的磁盘,其上面有8GB的数据,则输入的数值就必须比8GB大;
然后,选择“指定ESX主机”,通常情况下该主机就是源虚拟机的宿主主机。对虚拟机命名(名字必须与源虚拟机不同,只有在删除源虚拟机之后,其名字才可以重新使用),选择数据存储的虚拟机、虚拟机使用的网络,最后点击“完成”开始这个流程;
完成这个流程所耗费的时间基于源服务器上存储的数据量而各不相同。在这些完成之后就可以关闭源虚拟机,启动新创建的虚拟机,验证虚拟机是否正常工作。在删除源虚拟机之后,重新以源虚拟机的名字命名新虚拟机;
使用vmkfstool修改磁盘容量
使用第二个方法只能增大虚拟机容量,这个方法使用命令行工具,即vmkfstool。然而如果使用的工作平台是ESX3.5,也可以使用VI客户端。在ESX2.x的早期版本中允许使用vmkfstool命令行缩小磁盘文件的容量,但是在ESX3.x中把这项功能去掉了。
使用vmkfstool增大虚拟磁盘容量的步骤如下:
- 关闭虚拟机;
- 登录到ESX服务控制台;
- 转到存放磁盘文件的虚拟机工作目录;
- 输入“vmkfstool”,然后输入虚拟磁盘文件名以及参数-X,最后输入希望更改的磁盘容量大小(以G为单位),例如“vmkfstools myvm1.vmdk –X 12G”。当然也可以以K(Kilobytes)或者M(Megabytes)为单位更改磁盘容量的大小。
- 使用ESX3.5VI客户端增加容量的步骤如下:
- 关闭虚拟机;
- 使用VI客户端编辑虚拟机的设置;
- 选择要扩大容量的磁盘,在总容量的约束以内输入新容量大小;
- 点击“完成”;
在扩充磁盘容量以后,启动虚拟机;进入磁盘管理工具,确定新的磁盘对于操作系统是可见的。新增的空间将会在已有磁盘上以未分配空间的形式出现。
这样就成功地扩充了虚拟磁盘容量,可以通过改变已有的磁盘分区容量来把新增空间包括进来。这篇文章的第二部分将会介绍如果扩充操作系统分区,可以把新增的未分配空间包括进来,并且我们将会介绍完成这项工作的两种不同方法。