vmkfstools修改磁盘块大小以实现为虚拟机分配超过250G大小的磁盘

来源:互联网 发布:装饰设计软件下载 编辑:程序博客网 时间:2024/06/04 18:35

ESXi 4.1使用随笔之:vmkfstools修改磁盘块大小以实现为虚拟机分配超过250G大小的磁盘

三月 24, 2011 23:31 by FlySky

今天开始第一次使用ESXi来做虚拟化应用,之前一直是使用VMware Server来实现的,听各种朋友均推荐ESXi,咱也换个口味试试。

ESXi安装很简单,下载ISO刻盘重启机器按照提示安装即可,安装完后配置下服务器IP地址和DNS地址,之后在客户机安装VMware vSphere Client即可远程连接服务器进行管理,添加、管理虚拟机,配置系统设置等。

其间一切都顺利,但在我新建虚拟机的时候出现了问题,由于我的ESXi是按照默认模式配置安装的,所以VMFS分配的硬盘块大小默认为1M,因此最大文件大小为250GB,也就是说我分配给虚拟机的硬盘最大空间就是250GB了,这可麻烦了,由于我使用的服务器是大硬盘的,由于我打算把应用和存储存放在一起,所以必须要为虚拟机分配约1TB的空间,后来网上找了很多资料,均说可以通过修改磁盘块大小来实现扩充虚拟机的可分配硬盘大小。

在不断尝试和总结了网上的各种资料后,发现大家都千篇一律,文章就那几篇,点来点去都是那几篇文章,可悲的中国互联网啊!那几篇文章所提出的方法针对我的ESXi版本来说,有些不适用,但也提供了正确的思路,后来在查询综合了很多资料后自己得出结论并最终解决问题,解决方案如下:

首先要确定,修改磁盘块大小需要使用ESXi的命令行来完成,所以第一步需要先开启ESXi服务器的SSH来执行远程命令,开启方法如下:

到安装了ESXi的机器前,按F2,输入root用户名及密码后进入管理台,选中下图中的选项:

按 Enter回车键进入这项,之后可以看到开启SSH的选项,如下图:

选中这项按回车,右侧状态变为 Enable 即为开启SSH服务,实时生效。

开启SSH以后,可以使用SSH连接工具(如:putty,SecureCRT等)连接到远程ESXi服务器执行远程命令。

在这里,我需要执行的操作是修改磁盘的块大小,需要执行的是 vmkfstools 磁盘扩容命令,具体操作如下:

1.先使用 fdisk -l 命令列出所有的磁盘,并找到我们需要扩容的那块,我这里的结果如下:

~ # fdisk -l

Disk /dev/disks/naa.6001ec90d87fc100151deb07135b201e: 999.1 GB, 999116767232 bytes
64 heads, 32 sectors/track, 952832 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

                                           Device Boot      Start         End      Blocks  Id System
/dev/disks/naa.6001ec90d87fc100151deb07135b201ep1             5       900    917504    5  Extended
/dev/disks/naa.6001ec90d87fc100151deb07135b201ep2           901      4995   4193280    6  FAT16
/dev/disks/naa.6001ec90d87fc100151deb07135b201ep3          4996    952832 970585088   fb  VMFS
/dev/disks/naa.6001ec90d87fc100151deb07135b201ep4   *         1         4      4080    4  FAT16 <32M
/dev/disks/naa.6001ec90d87fc100151deb07135b201ep5             5       254    255984    6  FAT16
/dev/disks/naa.6001ec90d87fc100151deb07135b201ep6           255       504    255984    6  FAT16
/dev/disks/naa.6001ec90d87fc100151deb07135b201ep7           505       614    112624   fc  VMKcore
/dev/disks/naa.6001ec90d87fc100151deb07135b201ep8           615       900    292848    6  FAT16

我需要执行修改的磁盘为第三块,即下面这个
/dev/disks/naa.6001ec90d87fc100151deb07135b201ep3 4996 952832 970585088 fb VMFS

执行命令如下:

vmkfstools -C vmfs3 -b 4M -S datastore1 /dev/disks/naa.6001ec90d87fc100151deb07135b201e:3

这里我需要重点补充一下,否则会误导人,我查询到的磁盘位置为:/dev/disks/naa.6001ec90d87fc100151deb07135b201ep3 但在上面的命令中,我使用的磁盘位置是:/dev/disks/naa.6001ec90d87fc100151deb07135b201e:3  其实这也是我多次失败并不断查找原因后得出的结论。我认为这是ESXi集成的Linux环境的问题,它使用p1 p2 p3 p4结尾来标记磁盘的位置,但在执行命令的时候却不能使用这种p1 p2 p3 p4的方式,会提示找不到磁盘位置,所以这里只能按照Linux的常规办法,把p1 p2 p3 p4改写为 :1 :2 :3 :4来标记磁盘位置,这样才能被系统正确识别,这点非常重要,我在这里吃了不少亏,浪费了不少时间。

如果使用p1 p2 p3 p4这样的写法,语句如下:

vmkfstools -C vmfs3 -b 4M -S datastore1 /dev/disks/naa.6001ec90d87fc100151deb07135b201ep3 

则会出现如下错误:

 ~ # vmkfstools -C vmfs3 -b 4M -S datastore1 /dev/disks/naa.6001ec90d87fc100151deb07135b201ep3
Device path name "/dev/disks/naa.6001ec90d87fc100151deb07135b201ep3" is not a valid absolute or relative path
Failed to resolve device name path /dev/disks/naa.6001ec90d87fc100151deb07135b201ep3
Usage: vmkfstools -C vmfs3 /vmfs/devices/disks/vml... or,
       vmkfstools -C vmfs3 /vmfs/devices/disks/naa... or,
       vmkfstools -C vmfs3 /vmfs/devices/disks/mpx.vmhbaA:T:L:P
Error: No such file or directory

所以,正确的写法是:

vmkfstools -C vmfs3 -b 4M -S datastore1 /dev/disks/naa.6001ec90d87fc100151deb07135b201e:3

执行后提示如下:

~ # vmkfstools -C vmfs3 -b 4M -S datastore1 /dev/disks/naa.6001ec90d87fc100151deb07135b201e:3
Checking if remote hosts are using this device as a valid file system. This may take a few seconds...
Creating vmfs3 file system on "naa.6001ec90d87fc100151deb07135b201e:3" with blockSize 4194304 and volume label "datastore1".
Successfully created new volume: 4d8b5d35-c9bc64aa-e633-001c23d9d35e

如此便把磁盘的块大小设置为4M,即最大文件1024GB。


原创粉丝点击