Knowledge Base

Search the Knowledge Base:

Products:
Search In:
 

Converting a GSX Server Virtual IDE Disk to a Virtual SCSI Disk

Details

I am trying to migrate a virtual machine from GSX Server to ESX Server, as described in the ESX Server administration guide under "Migrating VMware Workstation and VMware GSX Server Virtual Machines." One of the requirements is that the virtual machine must have a virtual SCSI disk, but my virtual machine on GSX Server has a preallocated IDE disk. How can I convert this disk to a virtual SCSI disk?

Solution

Follow the steps listed below to make this conversion from a virtual IDE disk to a virtual SCSI disk. Perform these steps on the virtual machine in GSX Server before you migrate the virtual machine.

Note: Aside from backing up your virtual machine, there is nothing special you need to do to transfer your data in the virtual disk from IDE to SCSI. The data stays with the disk when it is converted.

  1. Power off the virtual machine.

  2. Back up the virtual machine. See "Backing Up Virtual Machines and the GSX Server Host" in the GSX Server administration guide for the version of GSX Server that you use.

    At a minimum, your backup should include all the VMDK files for your virtual machine. This may include a single disk descriptor file like winxp.vmdk, or the disk descriptor file and its associated files. For example:

    winxp.vmdk              < - text disk descriptor file ~1k in size 
    winxp-S001.vmdk
    winxp-S003.vmdk
    winxp-S004.vmdk


  3. If your virtual machine is using a single growable virtual disk (Type 0), you will need to create a growable virtual disk split into 2GB chucks (Type 1) using the virtual disk from your virtual machine.

    vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 1 destinationDisk.vmdk

  4. Open the disk descriptor file from the original virtual machine virtual disk or the one created in step 3 with a text editor like Notepad. Below is an example of a disk descriptor file.

    # Disk DescriptorFile
    version=1
    CID=145e239e
    parentCID=ffffffff
    createType="twoGbMaxExtentSparse"

    # Extent description
    RW 4192256 SPARSE "myIdeDisk-s001.vmdk"
    RW 4192256 SPARSE "myIdeDisk-s002.vmdk"
    RW 4192256 SPARSE "myIdeDisk-s003.vmdk"
    RW 6144 SPARSE "myIdeDisk-s004.vmdk"

    # The Disk Data Base
    #DDB

    ddb.virtualHWVersion = "3"
    ddb.geometry.cylinders = "12483"
    ddb.geometry.heads = "16"
    ddb.geometry.sectors = "63"
    ddb.adapterType = "ide"


    You need the disk size in sectors, so you have to sum up the sector size of all four myIdeDisk-s00<N>.vmdk files in this example.

    4192256 + 4192256 + 4192256 + 6144 = 12582912

    Make a note of the total sector size of your virtual disk, because it will be used later to create a virtual SCSI disk using this number.

  5. Create a virtual SCSI disk using vmware-vdiskmanger.

    If you are using Windows 2000 or Windows NT as your virtual machine guest operating system, specify buslogic as the adapter type. If you are using Windows 2003 or Windows XP, specify lsilogic as the adapter type. If you have a Linux guest, you need to use the type of SCSI controller supported by your operating system. Don't use a pre-allocated type of virtual disk, because this disk will be discarded later.

    vmware-vdiskmanager.exe -c -s 12582912 -a lsilogic -t 1 scsidisk.vmdk

  6. Use the Virtual Machine Hardware wizard to add this SCSI virtual disk to the exiting virtual machine configuration.  Power on the virtual machine to make sure it boots with the LSI Logic or BusLogic controller driver and recognizes the SCSI drive that you just added. Verify in the device manager that there is a SCSI LSI Logic or BusLogic controller.

  7. Power off the virtual machine and remove both virtual drives. In other words, remove the drives from the virtual machine's configuration. Don't delete any files.

  8. Open the file scsidisk.vmdk with a text editor and copy the following lines:

    ddb.adapterType = "lsilogic"
    ddb.geometry.cylinders = "522"
    ddb.geometry.heads = "255"
    ddb.geometry.sectors = "63"

  9. Open the IDE virtual disk descriptor file and replace the c/h/s entries for the ide-geometry with the scsi-geometry values so that your descriptor file looks like this:

    # Disk DescriptorFile
    version=1
    CID=145e239e
    parentCID=ffffffff
    createType="twoGbMaxExtentSparse"

    # Extent description
    RW 4192256 SPARSE "myIdeDisk-s001.vmdk"
    RW 4192256 SPARSE "myIdeDisk-s002.vmdk"
    RW 4192256 SPARSE "myIdeDisk-s003.vmdk"
    RW 6144 SPARSE "myIdeDisk-s004.vmdk"

    # The Disk Data Base
    #DDB

    ddb.virtualHWVersion = "3"
    ddb.adapterType = "lsilogic"
    ddb.geometry.cylinders = "522"
    ddb.geometry.heads = "255"
    ddb.geometry.sectors = "63"

  10. Add this converted virtual disk to the virtual machine configuration using the virtual hardware wizard. Use the option to use an existing virtual disk and browse to this disk descriptor file.

  11. Power on the virtual machine.

Keywords

1881

Feedback

Rating: 1 - Lowest 2 3 4 5 - Highest (5 Ratings)   

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.
What can we do to improve this information? (2000 or fewer characters)
Submit
Rating: 1 - Lowest 2 3 4 5 - Highest (5 Ratings)   
Actions