VMware Cloud Community
DBThomson
Contributor
Contributor

Can I change the block size from 1 MB on an ESX 3.5 server initial vmfs3 volume?

We have a ESX 3.5 server we are building with all internal drives in a Raid 5 configuration.

When I installed the ESX 3.5 software I noticed I could not create a VM with a disk size larger than 256 GB. I realized this was because the vmfs3 volumes Block Size is set to 1 MB.

I would like to create a disk file greater than 562 GB but can't dut to this limitation.

Is there a way to change the Block size ot 4MB or 8 MB?

What would be the steps?

Your help is greatly appreciated.

TIA!

Tags (2)
0 Kudos
3 Replies
RParker
Immortal
Immortal

Delete the vmfs volume then follow these steps:

1. Log on to the console or use putty to connect to the ESX host remotely. If you have not created a user for yourself you will not be able to log in through putty.

2. SU to root. This must be done using the su - root command. If you do not use the - then you will not get root's path and thus get error messages that say that commands cannot be found.

3. Run fdisk -l. This will give you a list of all of your current partitions. This is important because they are numbered. If you are using SCSI you should see that all partitions start with /dev/sda# where # is a number from 1 to what ever. Remember this list of number as you are going to be adding at least one more and will have to refer to the new partition by it's number.

4. Run fdisk /dev/sda. This will allow you to create a partition on the the first drive. If you have more than one SCSI drive (usually the case with more than one RAID container) then you will have to type the letter value for the device you wish to create the partition on (sdb, sdc, and so on).

5. You are now in the fdisk program. If you get confused type "m" for menu. This will list all of your options. There are a lot of them. You will be ignoring most of them.

6. Type "n". This will create a new partition. It will ask you for the starting cylinder. Unless you have a very good reason hit "enter" for default. The program will now offer you a second option that says ending cylinder. If you press enter you will select the rest of the space. In most cases this is what you want.

7. Once you have selected start and end cylinder you should get a success message. Now you must set the partition type or it's ID. This is option "t" on the menu.

8. Type "t". It will ask you for partition number. This is where that first fdisk is useful. You need to know what the new partition number is. It will be one more than the last number on fdisk. Type this number in.

9. You will now be prompted for the hex code for the partition type. You can also type "L" for a list of codes. The code you want is "fb". So type "fb" in the space. This will return that the partition has been changed to fb (unknown). That is what you want.

10. Now that you have configured everything you want to save it. To do so choose the "w" option to write the table to disk and exit.

11. Because the drive is being used by the console OS you will probably get an error that says "WARNING: Re-reading the partition table failed with error 16: device or resource busy." This is normal. You will need to reboot.

12. To reboot the server type "reboot" at the prompt.

13. Once you have rebooted you can now format the partition VMFS. DO NOT do this from the GUI. You must once again log into the console or remote in through putty.

14. Once you have su'd to root you must type in "vmkfstool -C vmfs3 /vmfs/device/disks/vmhba0:0:0:#" Were # is the number of the new partition. You shoulder now get a "successfully created new volume" message. If you get an error you probably chose the wrong partition. Do an fdisk - l and choose the number with the "unknown" partition type. Note: IF you have more than one SCSI disk or more than one container the first 0 may need to be a 1 as well.

15. Go to the GUI and in configuration/storage select refresh. You should now see your new VMFS volume.

MikeGill
Contributor
Contributor

There is a much simpler way of performing this, copied from:

To change the block size of a vmfs filesystem, you need to use vmkfstools to reformat the partition. The command is:

vmkfstools --createfs vmfs3 --blocksize 8M vmhba0:0:0:3

It is important to note that like any other formatting procedure, this will destroy any data on the partition, so make sure you move your data before you do this. The "vmhba0:0:0:3″ is where you specify which partition to reformat. According to the VMWare server configuration guide, the format is:

vmhbaA:T:L:P format, where A, T, L, and P are integers representing adapter, target, LUN, and partition number respectively. The partition digit must be greater than zero and should correspond to a valid VMFS partition of type fb
For example, vmhba0:2:3:1 refers to the first partition on LUN 3, target 2, HBA 0.

If you're reformatting a current vmfs filesystem just to increase the blocksize, you can get that information from the storage section in the configuration tab of the Virtual Infrastructure Client.

0 Kudos
echelondk
Contributor
Contributor

It does sound very easy to perfrom these steps for converting the VMFS volume.

I do have some questions before i will try these steps.

1. I just installed ESX 4.0 on a brand new HP ProLiant DL380 G6 with 1,7TB diskspace. Everything works fine, its installed an running.

2. I can see a VMFS volume at 1,6TB from my vCenter server on the hosts. This volume needs to be reformatted with blocksize of 8M (its 1MB now). When browsing the store, i can see there is a folder named "esx-console.." which i belive is the service console?

My question is. Do i have to backup this folder? The files is in use, which makes it hard for me just to backup them up. Or is it not needed? Can i just delete the partition from console, which is a 1,6TB VMFS volume and recreate it with new blocksize. This would ofcause erase the service console.

0 Kudos