80后技术男
分类: 虚拟化
2011-03-15 17:33:45
最近公司里在使用vmware esxi4.0,发现硬盘最大只能250G
想了很多办法,一直没有解决。后来想到文件系统的限制问题,这时查出原来esxi4.0用得是VMFS版本是3.3.3
默认安装esxi4.0时,vmfs的块大小设置为1M,最大支持256G
如果将块大小设置为4M,最大支持1T.
具体操作如下:
一、利用SSH进入esxi4.0命令行界面,参考如下:
二、相关命令说明与解决过程
命令行界面下格式化VMFS文件系统
vmkfstools -C vmfs3 -b xM -S name vmhbax.x.x.x
-C 添加/格式vmfs分区
-b 设置block size:1M,2M,4M,8M
-S 设置存储的名字
x:表示大小
范例:
[root]#vmkfstools -C vmfs3 -b 4M vmhba0\:0\:0\:2
这里就表示将vmfs3文件系统的block size格式化为4M大小,这样,就可以支持最大1024GB的单个文件;vmhba0\:0\:0\:2表示hba卡的地址,这个可以通过VC看到,同时也可以在命令行界面下输入:esxcfg-vmhbadevs 或者 esxcfg-vmhbadevs -m ,都可以看到hba卡的地址 调整ESX的VMFS磁盘格式的块大小,让单个虚拟磁盘支持更大容量。
解决过程:
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、问题解决。