RDMs, Clusters, and Veeam

VMware has the ability to pass through from shared storage the raw settings of a LUN to a single VM.  This Raw Device Mapping (RDM) is achieved using a proxy file inside of a VMFS volume.  The benefits of this include being able to send disk commands to the storage, and support for clustering technologies.  In the Veeam world this has stopped backups from working as Veeam has traditionally accessed VMware snapshots to perform backups.

With the addition of physical agents, centrally managed through either the Veeam console or through Veeam Availability Console, these VM’s can now be protected, providing cluster aware backups on RDMs, inside of the virtual world.

Before we dive into protecting RDMs, lets take a look at what they are, how they are different, and some competing technologies.

For block storage presented to VMware, there are four major ways to use the storage.  RDMs, independent disks, vmdks, and VVols.

RDMs come in two flavours, physical and virtual compatibility modes.  For clarity in this article they’re referred to as pRDM and vRDM. A pRDM is the closest to a traditional disk from a physical array being presented to a VM, whilst vRDM adds the advantages of VMware.

vRDM pRDM
vMotion Yes No
HA Yes No
Snapshot Yes No
svMotion Yes No
Fault Tolerance Yes No
Create Template Yes No
Cloning Yes No
Advanced File Locking for Data Protection Yes No
Maximum Disk size 62TB 64TB
Support for MSCS No Yes
Physical server to virtual server clustering No Yes

Ref: https://www.vmware.com/pdf/vsphere6/r60/vsphere-60-configuration-maximums.pdf

Ref: https://docs.vmware.com/en/VMware-vSphere/6.0/vsphere-esxi-vcenter-server-601-setup-mscs.pdf

A virtual disk can be presented in two ways.  As a virtual disk (vmdk), or as a virtual volume VVOL.

A virtual disk (vmdk) is a file on a file system (VMFS or NTFS) that is presented to a VM as a SCSI volume.  All I/O goes through the virtual SCSI stack.

A VVOL is a volume on the array, and all I/O goes through the virtual SCSI stack.  It is important to note that there is not a file as in the virtual disk, and that the guest does not have direct access to the physical storage.

Protecting RDMs with Veeam

Protecting a vRDM within Veeam is straightforward as a vRDM can be snapshotted by VMware.  With Veeam a pRDM could only be protected by using a physical agent, either the free Endpoint Backup, now the Agent for Windows, or the Agent for Linux.  Veeam Backup and Replication 9.5 update 3 (9.5u3) now has the ability to manage agent workloads directly from the console.

Scenario – a VM with a pRDM

A VM, NOPS01 has been configured with a 40GB physical RDM drive from an iSCSI share on a PX4-300d.

VM HDD Configuration with Physical RDM

The test backup job, pRDM test, has been configured and works for the C drive, however skips the unsupported RDM disk.

pRDM Backup with Warning for Unsupported (RDM) Disk

After deploying the agent to the VM and running and configuring a backup job we can see that the entire VM is now protected.  The other major change required for the Agent based backup was to configure the repository permissions to allow access for backup.  On completion of the backup and investigation using the File Explorer you can see both C and E drives, and the Windows agent executable.

Happy Days!

VBR Agent Job – No permission

VBR Agent Job – Default Repository Settings

VBR Agent Job – Modified Repository Settings

VBR Agent Job – Success for both drives

VBR Agent File Explorer