Start a Conversation

Unsolved

This post is more than 5 years old

1960

July 26th, 2015 21:00

Question for Vplex data migration

I migrated one Vplex extend between 2 Vmax array, and the storage volume size 500G(meta, and thin volume) and used capacity less than 80G, I did full rebuild for this volume.

From Vplex log, the volume claimed as thin rebuild:

storage-volume claim -d /clusters/cluster-1/storage-elements/storage-volumes/VPD83T3:60000970000195900311533031333632 -n V000195900123-01362 --thin-rebuild  --force

and from the rebuild status:

----------------------------------  ------------  ------------------  -------------  ----------------  ----------  --------

EXTENT_MIGRATE_M_150727-021203-062  full          s1_1222_spa             163G/500G            32.54%     26.4M/s    3.63hr

===================================================================================

Just like Vplex tried to copy all blocks of this 500G, but this volume is thin volume, and array side allocated capacity less than 80G, so for these blocks out of the 80G,  how Vplex do the migration?

Thanks!

89 Posts

September 11th, 2015 22:00

How did VPLEX migrate only the used capacity?  Magic :-)  Okay, it's actually not magic, just the way that a thin-rebuild works.

The thin-rebuild attribute is a setting on the storage-volume for it to use a different kind of rebuild vs. the more traditional read-write rebuild.  There are three types of rebuilds - full, thin, and logging.

  • A traditional full rebuild reads all the block from the source (in transfer-size chunks) and then writes the data.
    • In the performance stats you will see an equal amount of reads and writes.

  • A thin-rebuild is perhaps better described as a zero detection rebuild.  When the target volume is marked as thin-rebuild, the source and target volumes are read (again in transfer-size chunks).  If both the source and the target are all zeros, then the write is not necessary and skipped.  But if the data on the source and/or the target is not zeros, then it’s written.
    • So what you see in the performance the case of a thin rebuild is twice as many reads as a normal rebuild (since we’re reading both the source and target volumes), and depending upon the source and target volume contents, some amount of writes to the target.
    • This is essentially how VPLEX preserves the "thin-ness" of the source.
    • This also means that hypothetically speaking a VPLEX migration can do a thick to thin transfer, if the thickly allocated volume returns zeros for not actually written to blocks.
    • A thin rebuild can be slower than a full rebuild.

  • A logging rebuild is used only for distributed-devices when the wan link or a mirror leg goes down.  The logging volumes keep track of blocks not written to either leg of the distributed-device.  Later when the leg is visible again, only the blocks that were missed during the interruption are written to the now visible leg.

The rebuild status output I don't think reports on differences between full and thin rebuilds, so when you see the size progress, it essentially means "blocks processed" and not necessary blocks written.  (It would be nice if the output, or some kind of final rebuild/migration report indicated how much data was actually written to the target.)

Hope that helps,

Gary

No Events found!

Top