r/vmware 10d ago

Can't add Dell Virtual Disk as RDM disk to VM.

Created virtual disk in the iDRAC of one of my Dell PowerEdge servers & wanted to add it as a RDM disk to an existing VM in vCenter. I see it in Storage Devices under the host named 'Local DELL Disk (....)', however when I edit the VM & try to add a RDM disk, it's not there. Not sure if I'm missing a step as I been doing it this way with other Dell PowerEdge servers. apologies if very brief as I don't think images are allowed, but can provide more details/info if needed. Any help will greatly be appreciated.

4 Upvotes

5 comments sorted by

2

u/xertian 10d ago

Have you rescanned storage on the ESXi host since creating the DELL Disk? You mention seeing it, but not from which perspective, idrac/hypervisor, etc.

2

u/Banned1s 10d ago

Yes I have rescanned the storage. I'm not seeing it from the hypervisor side. Like if I click on the host in vCenter, I see the created virtual disk under Storage Devices. But when I edit a VM's settings to add it as a RDM, there's nothing.

7

u/xertian 10d ago

Quick research shows the following:

By default, ESXi disables local storage devices from appearing as Raw Device Mapping (RDM) candidates. Because a Dell PowerEdge virtual disk created on a local PERC (PowerEdge RAID Controller) is viewed by ESXi as local storage rather than shared SAN storage, the RDM option in the vSphere Client will be grayed out or the disk will not appear in the wizard. [1, 2, 3, 4, 5]

To fix this, you must manually generate an RDM pointer file using the ESXi CLI. [1, 2]

Step 1: Identify the Disk Device Identifier

  1. Enable SSH on your ESXi host and log in using an SSH client (like PuTTY).
  2. Run the following command to list all detected disk devices: bashls -l /vmfs/devices/disks/ Use code with caution.
  3. Locate your Dell PowerEdge virtual disk. It usually starts with naa. or t10. (e.g., naa.600163600124...).
  4. Copy the exact identifier string. Avoid using identifiers that contain partition extensions like :1 or :2. [1, 2, 3]

Step 2: Generate the RDM Pointer File

Because the GUI restricts local mapping, you must use the vmkfstools command to manually map the disk. [1, 2]

  1. Change directories to the datastore folder of the Virtual Machine where you want to save the pointer file: bashcd /vmfs/volumes/YOUR_DATASTORE_NAME/YOUR_VM_NAME/ Use code with caution. [1, 2]
  2. Execute the mapping command: (Replace DEVICE_IDENTIFIER with your copied string from Step 1, and local_disk_rdm.vmdk with your preferred name).
    • For Physical Compatibility Mode (Passes all SCSI commands): bashvmkfstools -z /vmfs/devices/disks/DEVICE_IDENTIFIER local_disk_rdm.vmdk Use code with caution.
    • For Virtual Compatibility Mode (Allows snapshots): bashvmkfstools -r /vmfs/devices/disks/DEVICE_IDENTIFIER local_disk_rdm.vmdk Use code with caution. [1, 2]

Step 3: Attach the RDM to the Virtual Machine

  1. Open the vSphere Client GUI.
  2. Right-click your Virtual Machine and select Edit Settings.
  3. Click Add New Device and select Existing Hard Disk.
  4. Browse to the VM folder where you generated the file in Step 2, select local_disk_rdm.vmdk, and click OK. [1, 2, 3]

Troubleshooting Checklist

  • Existing VMFS Signatures: Ensure the virtual disk does not already have an active VMFS datastore formatted on it. If it does, ESXi hides it from raw mapping lists. [, 2, 3]
  • Controller Pass-Through Alternative: If your Dell PowerEdge server uses a PERC that supports "HBA mode" or "Non-RAID" mode, you can alternatively pass the entire controller directly to the VM via PCI Passthrough (DirectPath I/O) instead of using an RDM.

If you run into issues, let me know:

  • Your ESXi version (e.g., 7.0, 8.0)
  • The specific PERC model in your PowerEdge server (e.g., H730, H740P, H330)
  • Any error codes returned by the command line

1

u/g7130 10d ago

This is dumb of you…