I am in the middle of a storage migration and hit a snag while trying to storage vMotion a VM from a VMFS datastore onto a VVOLs. Â When I started the storage vMotion, it would quickly error out. Â As a troubleshooting method, I decided to migrate only the VMX and base OS disk files, leaving the large data disk file on its original datastore. Â Those worked. Â But every time I tried to move its data disk, it failed with a generic error in the UI
<code>A fatal internal error occurred. See the virtual machine’s log for more details.</code>
Investigating the virtual machine’s logs, I see entries for the storage vMotion attempting to begin, but then it logs these errors:
<code>OBJLIB-VVOLOBJ : VVolObjCheckSize: Requested size (######) is not an MB multiple.</code>
<code>VVolObjDetermineSizeInMB: Requested size (#####) is not a MB multiple.</code>
<code>Mirror: scsi0:1: SVMotionLocalDiskCreate: Failed to create destination disk: The requested size is not a multiple of 1MB. Â </code>
Solution
After seeing those 3 errors, I decided to look at the VM’s disk configuration. Â Within the Edit Settings window, the data file showed size of 1,740.7999992370605Â MB. Â That decimal and odd sizing is what was causing my migration to fail.
I increased the disk size to an even MB size, saved the VM configuration and then retried the storage vMotion. Â This time, it moved the disk without any issue. Â Apparently with VVOLs, the disk sizing must be full 1MB sizes –Â so any oddly sized disks will fail to move.
A quick piece of PowerCLI can help you identify these odd shaped disks in your environment:
[code]Get-Datastore | Get-HardDisk | Select Parent, Filename, @{N="Remainder";E={$_.CapacityKB % 1024}} | Where {$_.Remainder -ne 0}[/code]
This post over at Nimble’s community site describes the same issue:Â https://connect.nimblestorage.com/thread/14391