Home / Redhat-LINUX / How to Map the VMware virtual Disks for Linux VM ?

How to Map the VMware virtual Disks for Linux VM ?

Most of the VMware virtual machines are configured with few virtual disks with different size according to  the project requirement. When it comes to the Linux VM , there will be a dedicated disk for the root filesystem and other disks are used for application/data. So whenever there is request for resizing the existing drive , it is very easy to figure-out with fewer disks with help of  variable size. But how do you map if any VM is running with 50+ virtual disks  and fewer disks are directly mapped from the SAN using RDM(Raw Device Mapping) method. It’s quite complicated thing. In this article , we will find an easy solution to map the Virtual Machine disks to  Linux disks or vise-versa.


Here the my virtual Machine disks details:

VM Disk 1
VM Disk 1
VM Disk 2
VM Disk 2


VM Disk 3
VM Disk 3


Here , I have added one more disk from SCSI controller 3.

VM Disk 4
VM Disk 4


  • Hard Disk 1 – 8GB  (SCSI 0.0)
  • Hard Disk 2 – 1GB  (SCSI 0.1)
  • Hard Disk 3 – 1GB  (SCSI 0.2)
  • Hard Disk 4 – 1GB  (SCSI 3.15)

In the Linux VM:

[root@UA-RHEL7 ~]# df -h |grep u0
/dev/sdb 1014M 33M 982M 4% /u01
/dev/sdc 1014M 33M 982M 4% /u02
/dev/sdd 1014M 33M 982M 4% /u03
[root@UA-RHEL7 ~]#
[root@UA-RHEL7 ~]# fdisk -l /dev/sda

Disk /dev/sda: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000c7226

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    16777215     7875584   8e  Linux LVM
[root@UA-RHEL7 ~]#
  • /dev/sda – 8GB
  • /dev/sdb – 1GB
  • /dev/sdc – 1GB
  • /dev/sdd – 1GB


 Disks Mapping (VMware virtual machine to Linux)

From the above screenshots and Linux disks lists , we are able to map only one disk with the help of size.

  • Hard disk 1 – 8GB  (SCSI 0.0)   (VMware )   =     /dev/sda – 8GB   (Linux)


What about other three disks ? How can we map it ?

1. Login to Linux VM and execute the dmesg command with “grep” function like below.

[root@UA-RHEL7 ~]# dmesg |grep -i attached  |grep disk
[ 1.465282] sd 0:0:1:0: [sdb] Attached SCSI disk
[ 1.465695] sd 0:0:0:0: [sda] Attached SCSI disk
[ 53.458928] sd 0:0:2:0: [sdc] Attached SCSI disk
[ 1818.983728] sd 3:0:15:0: [sdd] Attached SCSI disk
[root@UA-RHEL7 ~]#


2. In the above screenshots , you might seen the SCSI id’s for each disks. Just compare the VMware SCSI ID’s  with Linux guest SCSI id. Apart from the no of digits , both SCSI id’s are identical and this is the easiest way of mapping the disks.

Linux Disk Name Linux SCSI ID VMware SCSI ID Size of the Disk VMware Disk Number
/dev/sda 0:0:0:0 0.0 8GB Hard Disk 1
/dev/sdb 0:0:1:0 0.1 1GB Hard Disk 2
/dev/sdc 0:0:2:0 0.2 1GB Hard Disk 3
/dev/sdd 3:0:15:0 3.15 1GB Hard Disk 4


But in some cases(RDM disk are assigned to VM) , the above mapping is not sufficient to map the  VMware guest disks. You might require another validation prior to confirming the disk mapping.

1. Login back to Linux VM and execute the below command. Just look at the “sgx” numbers . (sg0, sg1, sg2, sg3, sg4)

[root@UA-RHEL7 ~]# dmesg |grep sg |grep Attached
[   10.220942] sd 0:0:0:0: Attached scsi generic sg0 type 0
[   10.220974] sd 0:0:1:0: Attached scsi generic sg1 type 0
[   10.221002] sr 2:0:0:0: Attached scsi generic sg2 type 5
[   53.458334] sd 0:0:2:0: Attached scsi generic sg3 type 0
[ 1818.958156] sd 3:0:15:0: Attached scsi generic sg4 type 0
[root@UA-RHEL7 ~]#


2. The “sgX” numbers will be always stays in the “N-1” to the VMware disk numbers.  So just do N+1 for sgX to match the VMware Disk numbers.  Let me bring up the table for you.

VMware Disk Mapping
VMware Disk Mapping


We have successfully mapped the VMware guest’s virtual disks to Linux OS disks.  Its always recommended to perform multiple checks to confirm the disk mapping. The above testing have been performed on VMware vSphere 6.x and Redhat Linux 7.x .

Hope this article is informative to you .



  1. I was following you up until the end, then I got confused. By comparing the linux guest and vmware scsi id’s, you’ve determined your /dev/sdc is disk 3 in vmware, but in the last part it says sg3, so wouldn’t +1 be sg4, and not correspond with the disk number?

    • When you have RDM (Raw Device Mapping), then the VM disks numbers are distributed. In my case , +1 worked.

      If you do not have RDM ,you can ignore last two steps ..


  2. There is a bug in your logic . is listed as sg3 in dmesg |grep sg |grep Attached

    so should be Hard Disk 4 !! but you map is as Disk3 !!

Leave a Reply

Your email address will not be published. Required fields are marked *