DataCore Pass-Thru disk not really transparent

If you ever plan to migrate storage behind a DataCore storage hypervisor and want to use pass-thru disks for a "transparent" migration you have to keep in mind that pass-thru disks are not 100% transparent for specific operating systems.

If a formerly native LUN will be re-presented with the pass-thru disk option in DataCore, the unique identifier (NAA) of the disk will be changed. This is normal behavior and you can't change it back to the original NAA because NAAs are like WWN. They have to be globally unique and are vendor specific in the first digits. So DataCore gives you the ability to change the NAA in a certain degree but you won't be able to change that NAA to reflect the original NAA since the original NAA is bound to the namespace of another vendor.

Because of this it is impossible to have a really 100% transparent pass-thru disk. The NAA will change in any way. Now it only matters how specific operating systems handle such a descriptor change.  

For Windows, pass-thru disks are non problematic since Windows writes it's own signature on the disk and only relies on that information. As soon as Windows sees the former native, now presented via pass-thru, disk(s), it will set them offline and marks them as "foreign". Don't bother, you simply can go to the "Disk Management", right-click on these disks and choose "Import". The disks will be imported and every singel information will be preserved. The disk will even be made available with the same drive letter as before.

This works for every Windows version from 2000 to 2012 and even for clusters.

The story gets a bit more complicated when it comes to VMware ESXi servers. ESXi uses NAA descriptors to uniquely identify volumes. Therefore it writes some special information in the first sectors of the volumes. These information include LUN id, naa descriptor, VMFS header information etc.

If you represent a VMFS volume via pass-thru disk to an ESXi no matter if you keep the original LUN ID or change it to whatever you want, ESXi will scan the first sectors for the information mentioned above. If these information do not exactly match (and this is impossible as described above), ESXi won't mount this volume.

You can see a log entry in the vmkernel logfile mentioning a volume detected as snapshot volume and therefore haven't been mounted.

Thats's okay, for ESXi every volume that has VMFS information in the header but doesn't exactly match the runtime information will be treated as a snapshot volume. Ans snapshot volumes won't be mounted automatically.

Now you have two options:

  • Resignature the VMFS to reflect the changes
  • Keep the original header and manually import the snapshot volume

As you probably want to keep the risk low, you won't use resignaturing. Manually importing a snapshot volume can be easily done with the "Add storage" wizard but this is a one-by-one action and if you have several pass-thru disks this can be very time consuming.

It's much easier to write a simple batch file to import every LUN detected as snapshot. Therefore you only need two different commands:

  • first, list all LUNs detected as snapshots wit the "esxcfg-volume -l" command
  • next, copy the output to a text file, remove everything except the original VMFS datastore names and run the command "esxcfg-volume -M DatastoreName".
    You can only have a single datastore per command so repeat this command for every snapshot LUN. This command imports the snapshot volume and mounts it persistently so the volume will be there even after a host reboot.

That's it. Hope that sheds some light on the pass-thru feature of DataCore and what "problems" could arise when using it for data migration.

Leave your comments

Post comment as a guest

Your comments are subjected to administrator's moderation.
  • No comments found
Powered by Komento
joomla templatesfree joomla templatestemplate joomla
2017   globbers joomla template