Mirror positions were important back in the day, pre 5874 and Pre TF Clone Every Device had 4 mirror postions _ _ _ _.  When a device was configured 2 way Mirror we would consume at least 2 mirror postions so the mirror set would look like m m _ _ .  This leaves us with 2 free mirror positions.  If we add SRDF this would also consume a Mirror m m F _ leaving one mirror position.  This remaining mirror position could be used for another copy purpose.  e.g. a BCV device would temporarily occupy this space during an establish m m F B, we could only have a single BCV sync at a time when this was the case, so we'd make one copy then another, if we had 2 free positions we could take two copies at a time.  This architecture served it's purpose for many years but there were limitations as you can imagine, when we introduced Clone back in 5671 things changed.  Instead of occupying a mirror position for the clone we use an emulation internally and do everything through pointers,  Freeing up Mirror positions that were once consumed during copies,  this helped us scale the number for concurrent copies we could take for clones etc.   In 5874 code we changed things again, we have a common code path for all Raid Protections (known as Raid Virtual Architecture)so we no longer consume different mirror counts for different RAID protections we just consume a single e.g. RAID 5 looks like 5 _ _ _, RAID 6 looks like 6 _ _ _  We still have the additional mirrors that can be used for SRDF but local protection doesn't consume any.    In summary they are still used internally but they are not as important to the end users as things have changed.  There are a few good KB articles on this, but hopefully you get the idea.
Hi All ,   Naive question ,need some help understanding these mirrors , I've read multiple docs and blogs online and on ECN but the mirror positions ,concept keeps bouncing off my head .I know that prior to 5874 Raid 1/5 occupied 2 (M1,M2)positions each and Raid 6 - one position .  5874 onwards all occupied one mirror position each . That's all I know .  Host I/O > Cache>Mirror>Tdev ? Is this how it works , is the mirror just a temp cache sort of device until the data is destaged to the actual tdevs ?  In simple terms , whats a mirror , why is it there , why won't the data go to the disks directly from cache ?  I would like to know how these work , an example prior 5874 and after will be great .  Edit :(Please attach : Timefinder clone/snap docs , my access is restricted and I can't get any )  Kind Regards   Message was edited by: asceticenergy
Symmetrix Mirror Positions