Microsoft Virtualization Discussions

Configuring FlexGroups


I am currently trying to configure FlexGroups via the powershell toolkit. I believe the NetApp best practice is to have two aggregates per node, and then create 2 volumes per aggregate per node. In our environment however, we only have one data aggregate per node. Via the gui and command line it is easy enough to select just the aggregates you want to use and the multiplier to create the FlexGroup.


When using the cmdlet "Start-NcVolFlexGroupDeplpoy" however, it abides to the best practice. I was trying to find a way to pass the aggregates and multiplier to the the cmdlet but I am not having any luck. Does anyone know a way to do this? Should I just use the Invoke-SSH command and issue it that way via command line?


Thank you in advance.


Re: Configuring FlexGroups


Hello @drwoodberry,


You'll want to use New-NcVol to create the FlexGroup and specify the "-FlexGroupVolume" parameter.  I haven't updated my test cluster to 9.1 yet, but I believe this will work...


New-NcVol -VserverContext CXE -FlexGroupVolume -AggregateList $aggr1,$aggr2 -AggregateMultiplier 2 -Name $volName -Size 5g

Hope that helps.



If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

View solution in original post

Re: Configuring FlexGroups


Thank you sir. I did not read all the way down to see the FlexGroupVolume. I was able to get it to work with Invoke-NcSSH but I like your method better. In case people where wondering how that syntax went:



Invoke-NcSsh -Command "volume  create -vserver $vserver -volume Users -aggr-list $aggr1name,$aggr2name -aggr-list-multiplier 4 -junction-path /Users -size 2TB -space-guarantee none"


I need the quotes around the entire command. 



Re: Configuring FlexGroups


I wanted to put some information out there to people if they happen to be using FlexGroups and the powershell toolikt. I was beating my head against a wall for a while trying to get certain options enabled on FlexGroups. From my testing, I found out that some options could not be set until others have been set. It was kind strange. Below is what my end result  was that worked. I found I needed to enable volume efficiency first in order to set the fractional reserve or snapshot reserve on the FlexGroup. If I tried to execute the last two lines prior I would get an error saying it could not be done on a mixed volume. Not sure if this is a bug or not, but this was my workaround that worked. 


Just a heads up.





New-NcVol -Name $newvol -FlexGroupVolume -AggregateList $aggr1name,$aggr2name -VserverContext $cifsvserver -AggregateMultiplier 2 -JunctionPath $jpath -Size $x.volumeSize -ErrorVariable volError -ErrorAction stop

Get-NcSnapshot $newVol | Remove-NcSnapshot -Confirm:$false -ErrorVariable +nDeployError #cleans up any snapshots

Invoke-NcSSH volume efficiency on -vserver $cifsVserver -volume $newvol

Set-NcVolOption $newVol -VserverContext $vserver fractional_reserve 0 -ErrorVariable +nDeployError #sets volume fractional reserve

Set-NcSnapshotReserve $newvol -VserverContext $vserver 5
Earn Rewards for Your Review!
GPI Review Banner
All Community Forums