2016-08-15 10:48 AM
We have 48 spare drives spanning two DS4246 shelves (fully populated with 24 x 6TB SATA each) connected to a FAS8080 running cDOT 8.3 and wanted to create a new, Sync Mirrored aggregate of 44 drives across both shelves. Would the diskcount value in the command below need to be 22 or 44? We want this aggregate to have two plexes: one of 22 drives on one shelf, and 22 drives on the other shelf.
node-01> storage aggregate create -aggregate aggr2_01 -node node-01 -diskcount ? -mirror true
2016-08-15 01:58 PM - edited 2016-08-15 01:59 PM
After reading more into the Data Protection Guide it seems there's a lot more to creating a Sync Mirror aggregate than simply specifying "-mirror true" in the aggr create command.
To begin with it looks like the mirror disks have to be in separate pools, which implies they are on separate loops. Does this mean we cannot daisy chain two similar shelves and set the disks in one of the shelves to be in a separate pool? In order to mirror disks does each shelf need to have a separate 'home run' to the heads?
2016-08-15 11:09 PM
DIsk count is total number of disks in both plexes, so it must be even in this case. Pool assignment is responsibility of administrator - system does not enforce any restrictions on which disks are assigned to which pools. Having two shelves on the same stack in separate pools is useful and actually often the only configuration possible in small metrocluster. Of course pools should be as independent as possible to provide maximum redundancy, so if you have enough equipment to distribute them over different stacks - even better. It is up to you to decide.
SyncMirror is always between disks of the same node, if I understand your last question correctly, else please explain what "home run" is.
2016-08-16 02:33 AM
It is OK and supported to have the pool 0 disks of controller A and the pool 1 disks of controller B in the same stack/loop.
However ONTAP will complain in case you would asigne pool 0 and pool 1 disks from the same stack/loop to a _single_ controller.
That's because having both pools on the same stack/loop for one controller violates the purpose of sync-mirror, namely having hardware redundancy.
It's still possible to do it this way with the -force flag but it's not best practice.