There
was a time when Disk Auto Assignment on NetApp FAS systems was either stack based
or nothing. Then, in a version of ONTAP, we got 3 different autoassign
policies:
[-autoassign-policy
{default|bay|shelf|stack}] - Auto Assignment
Policy
This parameter defines the
granularity at which auto assign should work. This option is ignored if the
-autoassign option is off. Auto assignment can be done at the stack/loop,
shelf, or bay level. The possible values for the option are default, stack, shelf,
and bay. The default value is platform dependent. It is stack for all non-entry
platforms and single-node systems, whereas it is bay for entry-level platforms.
And that doesn’t tell the full story. Of course, there
were some very good reasons why just having Auto Assign at a stack level was
sub-optimal, since for a lot of systems you didn’t always have the luxury of
dedicating entire disk stacks to nodes, then there were small HA pairs with a single
internal shelf of disks, and AFF came along.
The following post is my understanding through 5
different scenarios.
Note: This is
covered officially (differently) in the NetApp library - How
automatic ownership assignment works for disks - which links to - Which
disk autoassignment policy to use - and there’s a table:
Scenario 1) Bay
This works on Entry-Level systems only (FAS2XXX), and
works by assigning even and odd disks to different nodes (even disks to node 2,
odd disks to node 1), as in the diagram below:
Image: Auto Assignment
Policy of bay
Note: I have tried
to enable “bay” on a non-Entry-Level system, and got the following error:
cluster::> disk option
modify -node * -autoassign-policy bay
Error: command failed on node
"cluster-01": Failed to modify autoassignpolicy.
Error: command failed on node
"cluster-02": Failed to modify autoassignpolicy.
Scenario 2)
Half-Shelf Drive Assignment
This was not listed in the Disk Auto Assignment Policies
above, but it does exist. Half-shelf drive assignment is an automatic policy
for AFF systems only. Best practice (for performance reasons) with AFF is to
assign half a shelf of disks to node 1, and the other half to node 2. See the
diagram below:
Image: AFF
Half-Shelf Drive Assignment
Scenario 3)
Half-Stack
I can’t say for sure if this works or not (needs
testing), but I’ve been informed “When
there is only one stack that is shared between both nodes and an odd number of
shelves, drives in the middle shelf will be assigned 50-50 to each node by
default.”
Image: Half-Stack
Drive Assignment
Scenario 4) Shelf
Shelf disk auto assignment policy works at a per-shelf
level, as in the diagram below:
Image: Disk Auto
Assignment at a Per-Shelf Level
Scenario 5) Stack
Finally, the traditional stack disk auto assignment
policy works on a per-stack level, as in the diagram below:
Image: Disk Auto
Assignment at a Per-Stack Level
UPDATE: Another possibility?
Scenario 6) AFF Quarter Shelf Drive Assignment
There might be a 6th scenario. This is where you start with a half-shelf, 12 SSD AFF, and later expand to 24 SSDs in the shelf. Initially, with 12 SSDs, 0-5 are assigned to Node A, and 6-11 are assigned to Node B. When you expand with 12 more SSDs, 12-17 are assigned to Node A, and 18-23 are assigned to Node B.
Image: Expanding AFF 12-drive system to 24 SSDs
Awesome thanks! This was pretty confusing in the NetApp documentation.
ReplyDeleteThank you very much Neil.
ReplyDeleteThank you Neil
ReplyDeletePerfect and nice Neil.
ReplyDeleteHi guys,
ReplyDeleteJust to let you know this post is from 'Vidad' at the Cosonok blog, I can't take the credit for it unfortunately :-)
Thanks,
Neil
Updated with a 6th possibility...
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteGreat Post,
ReplyDeleteI am wondering if "Half-Stack" policy is also used with AFF MetroClusters?
Thanks,
Sami
Hello Vidad,
ReplyDeleteWhat policy do you advise if i have a single stack with two shelf (One shelf full of SSD and the other shelf full of HDD)