Microsoft Virtualization Discussions

How do I connect to a Cluster Mode filer using Connect-NcController

ernest_brant
25,675 Views

Hello All

 

Can someone help me with what my first appear to be a daft question

 
I have written PowerShell scripts in the past to connect to a NetApp 7 mode filer (using the cmdlets in the NetApp PowerShell Toolkit)
 
This was straight forward enough e.g.
 
$Connection1 = connect-NaController  MyNetAppFiler
 
Now with cDOT (Cluster mod) I have just started to read about it, as far as I understand it you have
 
ClusterName
SVM (storage vertical machine e.g. -vserver)
Namespace (e.g. replaced /vol/)
Filer pairs (Head/Storage e.g. the traditional two heads/and their disc shelf's  as ith 7 mode)
 
 If I understand it I would now use Connect-NcController (rather than Na) and specify the 'Cluster Name' and optionally the -vserver I want to connect to
 
So for example Connect-NcController -Name MyCluster1 -vserver MySVM1
 
I understand (again my understanding my be all wrong) you need to make the initial connection to the 'Admin' connection on the Cluster, and from then on point your commends (if preference not already set with -vserver on the initial connection)  to the vServer (storage virtual machine) you want the command to run against. in other words you do not connect direct to a given filer name any more.
 
The trouble is when I try the above command  I get 'invalid credentials' even though the NetApp guys tell me they have given rights to the SVM for the account I am using. Do they also need to give the account rights a the cluster level in order to authenticate to/work with a SVM owned by the cluster?
 
Any advise most welcome

 

EB

1 ACCEPTED SOLUTION

Aparajita
25,669 Views

tl; dr: Run the command 'Connect-NcController <IP of vserver-management-lif>' instead of 'Connect-NcController <cluster-name or cluster-management-ip>'.

 

>> you do not connect direct to a given filer name any more.

 

In cluster-mode, you can connect directly to a filername if you want to perform certain cluster administration tasks - like creating a vserver. For most data-related tasks (any operation on volumes for example), should be directed against a vserver.

    In PowerShell Toolkit, if you run Get-NcCommand <command name>, you will see a 'Family' field in the output. If this field says "cluster", that means it must be directed to a filer, not to a vserver. If the family is "vserver", it can not be directed against a filer and must be directed against a vserver.

 

Now the connection semantics.

If you intend to run a command of family 'cluster', you must connect via Connect-NcController <cluster-name>. You may or may not have set a preferred vserver while connecting.

If you intend to run a command of family 'vserver', you must do one of three things

    1. Connect as Connect-NcController <vserver-fqdn or ip>

    2. Connect via Connect-NcController <cluster-name> -Vserver <vserver-name>

    3. Connect via Connect-NcController <cluster-name> and specify your chosen vserver via VserverContext parameter of the cmdlet (the preferred vserver over-rides this choice).

 

>> The trouble is when I try the above command  I get 'invalid credentials' even though the NetApp guys tell me they have given rights to the SVM for the account I am using.

 

In cluster-mode there are two different user accounts - an SVM administrator and a cluster administrator. The cluster administrator can connect via Connect-NcController <cluster-name or ip> and optionally set a vserver preference via the -Vserver parameter. But the vserver administrator can connect only as Connect-NcController <vserver-fqdn or ip>.

    I suspect  your credentials are vserver credentials - that is, you have access rights to everything within your vserver, but you can not access any other vservers on the same cluster.

 

When you run Connect-NcController <cluster-name>, the credentials should be the cluster admin credentials. But you are supplying the vserver admin credentials. Hence the complaint of incorrect credentials.

 

Hope this helps!

 

View solution in original post

10 REPLIES 10
Public