ESX / VI Client / vSphere

  • In ESX 4.1, you can extend and add virtual disks to a virtual machine when it is powered on (after installing VMware Tools).

  • Ensure the user has sufficient permissions to carry out this task.

  • Warning: If the disks are clustered, they cannot be expanded through vSphere Client but instead through CLI.

    Please use the following command as an example:

    # vmkfstools -X 6G -d eagerzeroedthick /vmfs/volumes/cs-ee-symmlun-001A/xxx.vmdk

This error may occur because of a number of different issues:

Failed to open the disk 'vm.vmdk' : A file was not found (0x1900000004)

If you experience this error, ensure that you can power on the virtual machine successfully and ensure that you remove all snapshots. For additional information, see Determining if a virtual machine is using snapshots (1004343). If the error persists, contact VMware Support.
For ESX 3.5 or later:
  1. Open VMware Infrastructure (VI) Client and connect to VirtualCenter or the ESX host.
  2. Right-click the virtual machine.
  3. Click Edit Settings.
  4. Select Virtual Disk.
  5. Increase the size of the disk.

    Note: If this option is greyed out, the disk may be running on snapshots or the disk may be at the maximum allowed size depending on the block size of the datastore.

  6. Follow the steps in Increasing the size of a disk partition (1004071) so the guest operating system is aware of the change in disk size.

To extend the logical volume:

Note: These steps only apply to EXT3 file systems.
Caution: VMware recommends having a complete backup of the virtual machine prior making these changes.
  1. Power off the virtual machine.
  2. Edit the virtual machine settings and extend the virtual disk size. For more information, see Increasing the size of a virtual disk (1004047).
  3. Power on the virtual machine.
  4. Identify the device name, which is by default /dev/sda, and confirm the new size by running the command:

    # fdisk -l

  5. Create a new primary partition:
    1. Run the command:

      # fdisk /dev/sda (depending the results of the step 4)

    2. Press p to print the partition table to identify the number of partitions. By default there are 2: sda1 and sda2.

    3. Press n to create a new primary partition.

    4. Press p for primary.

    5. Press 3 for the partition number, depending the output of the partition table print.

    6. Press Enter two times.

    7. Press t to change the system's partition ID

    8. Press 3 to select the newly creation partition

    9. Type 8e to change the Hex Code of the partition for Linux LVM

    10. Press w to write the changes to the partition table.

  6. Restart the virtual machine.

  7. Run this command to verify that the changes were saved to the partition table and that the new partition has an 8e type:

    # fdisk -l

  8. Run this command to convert the new partition to a physical volume:

    # pvcreate /dev/sda3

  9. Run this command to extend the physical volume:

    # vgextend VolGroup00 /dev/sda3

    Note: To determine which volume group to extend, use the command vgdisplay.

  10. Run this command to verify how many physical extents are available to the Volume Group:

    # vgdisplay VolGroup00 | grep "Free"

  11. Run the following command to extend the Logical Volume:

    # lvextend -L+#G /dev/VolGroup00/LogVol00

    Where # is the number of Free space in GB available as per the previous command. Use the full number output from Step 10 including any decimals.

    Note: to determine which logical volume to extend, use the command lvdisplay.

  12. Run the following command to expand the ext3 filesystem online, inside of the Logical Volume:

    # ext2online /dev/VolGroup00/LogVol00

    Note: Use resize2fs instead of ext2online if it is not a Red Hat virtual machine.

  13. Run the following command to verify that the / filesystem has the new space available:

    # df -h /