Wednesday, September 30, 2009

Error during the configuration of the host: Failed to update disk partition information

I was getting following error when I was trying to create VMFS datastore on ESX host.

Some background:

1. Lun was created on FAS3050 filer.

2. Lun were mapped using S/W ISCSI.

3. Lun were visible under storage adapter.

When I  tried creating datastore I was getting error

clip_image002

I found following document on VMware site which tells how to fix the error message. In nut shell I did this

1. 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 whatever. 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.

2. 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).

3. 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.

4. 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.

5. 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.

6. 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.

7. 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.

8. 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.

9. 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 the ESX host

10. 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.

11. 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.

Problem which I faced:

When I start following last step "vmkfstool -C vmfs3 /vmfs/device/disks/vmhba0:0:0:#"

I was getting error

“Error: Invalid handle”

I was wondering what I was doing wrong. One discussion on VMTM suggested to do the following :

Run the command mkfs.ext3, so I ran the command and got following outout

clip_image004

It basically sits at some inode and never move forward. Host was in hung state. So I decided to check the host by using ILO and found PSOD.

clip_image006

I rebooted and tried the above steps again but still same PSOD.

Finally I logged into filer and found that the volume presented by SAN admin was replicated volume . This volume was snap mirror copy of protected site used for SRM.

Crap ☺ ……

Not sure why he have mapped SRM replicated volume to recovery site.

1 comment:

Dan said...

While creating a vm datastore on an iSCSI volume I had the same error. The fdisk command was useful, because I discovered my iSCSI host had a 4k/sector volume instead of 512bytes. Changing the iSCSI drive to 512bytes fixed the error. No other changes needed.