前因:客户搭建了VMware ESX企业版的测试平台;有一天接到一个需求,是测试数据库的,需要一个300G的磁盘。
解决过程:
1、按照操作手册,找到磁盘修改选项,准备调整磁盘大小由原来的150G调整为300G,当修改完数值时,确定后却出现错误提示,说可分配最大空间为256G。
2、与VMware工程师联系,提供的解决方案是:vmkfstools 磁盘扩容命令
2.1 vmkfstools -X 300G 1.Windows\ 2003\(hezt\)-flat.vmdk
参数说明:
-X 扩容参数
300G 扩容后整个磁盘的大小,而不是磁盘增加的大小
1.Windows\ 2003\(hezt\)-flat.vmdk 需要扩容的磁盘
2.2 在输入命令时,空格的地方需要在其前面加反斜杠“\”进行转义,否则会报错
2.3 执行结果依然报错,提示错误信息和用图形界面操作一样
3、思考:图形界面的修改其实也是调用vmkfstools 命令来执行,这个肯定不是最终解
4、查资料:其实VMware以它独有的格式来存放这些虚拟机文件,即VMFS,安装时 默认的VMFS块大小是1M,单个文件最大支持256G。这个是不能分配300G的最终根源
5、解决-思路:重新格式化VMFS盘,将块大小调大
5.1 注:此操作其实就是重建VMFS盘,上面原有数据会失去,所以先将重要的数据备份,再执行此操作;我觉得最好在安装完ESX后首先就执行,免去以后执行的不便。
5.2 块大小与支持的最大文件大小对应关系
Block size Max VMDK size
1 256 GB
2 512 GB
4 1024 GB
8 2048 GB
6、备份之后执行:
vmkfstools -C vmfs3 -b 4M -S esx03:storage1 vmhba1:0:0:3
参数说明:
-C vmfs3 指定磁盘格式为 vmfs3
-b 4M 将块大小调整为 4M,这样支持单个最大文件为1T
-S esx03:storage1 将格式化后的盘命名为esx03:storage1
vmhba1:0:0:3 目的磁盘路径,这个可在配置——存储——中的Device很方便的看到
7、执行过程稍长…… (2~3分钟)
8、问题解决。
--转自