TP PowerShell – Module NetApp DataOnTap

Salut les gens,

Aujourd’hui NetApp : l’éditeur fournit un Module PowerShell propriétaire pour leur administrer leurs bébêtes. Elle se télécharge simplement sur le site du support éditeur pour les clients, les autres passez votre chemin.

Et donc pour commencer importons le module de NetApp, comme pour un n’importe quel module :

PS H :\> Import-Module DataOnTap

Comme tout bon informaticiens, première chose à faire : trouver l’aide (RTFM hein…)

PS H :\> Get-Help DataOnTap
 Data ONTAP PowerShell Toolkit, version 3.2.6.108.

To learn more about the Data ONTAP PowerShell Toolkit, import the DataONTAP module and invoke ‘Show-NaHelp’.

Bref :

PS H :\> Show-NaHelp

Allez on va voir ce qu’il a dans le ventre ce module, La première étape consiste comme avec une base SQL à établir la connexion avec le NetApp, la variable retournée nous indique les informations sur la connexion :

PS H :\> $connect = Connect-NaController "monNetNappA.fq.dn"
PS H :\> $connect | fl *
 Ontapi : 1.17
 Vfiler :
 Mode : Classic
 OntapiMajorVersion : 1
 OntapiMinorVersion : 17
 Version : NetApp Release 1.2.3 4-Mode: Sat Jun 8 08:11:51 PDT 2013
 Protocol : RPC
 Proxy :
 TimeoutMsec : 10000
 RetryCount : 0
 Name : monNetNappA.fq.dn
 Address : 1.2.3.4
 Port : 0
 Credentials :
 ValidateIncoming : False
 ValidateOutgoing : False
 Trace : False

Bon on est connecté, on va chercher son « partner » :

PS H :\> Get-NaCluster -Controller $Connect
State : CONNECTED
 Partner : onNetNappB
 IsEnabled : True
 IsInterconnectUp : True
 TimeMasterStatus : unknown
 TimeUntilTakeoverTS :
 CurrentTimeDT : 13/05/2014 11:16:41

(notez au passage que le paramètre « -Controller $Connect » est optionnel dans toutes les commandes)

Et on continue, je veux voir tous les disques installés :

PS H :\> Get-NaDisk -Controller $connect
Name Shelf Bay Status UsedSpace PhysSpace RPM FW Model Pool Aggregate
 ---- ----- --- ------ --------- --------- --- -- ----- ---- ---------
 entr-sw-metro... 10 22 data 2 TB 3 TB 7.2k NB01 X666_SUITMARK1IM 1 aggr_sata_0
 entr-sw-metro... 8 0 partner 0 638 GB 10k NB00 X999_SUITMARK2IM 0

Combien de disques installé dans le NetApp ? combien à 10K.rpm ?

PS H :\> (Get-NaDisk -Controller $connect).count
 144
 PS H :\> (Get-NaDisk -Controller $connect | Where-Object {$_.RPM -eq 10000}).count
 44

Bon je vous laisse découvrir les autres commandes par vous-même, on va passer aux volumes et aux partages :

j’aimerai connaître les volumes présents sur le NetApp :

PS H :\> Get-NaVol -Controller $connect
Name State TotalSize Used Available Dedupe FilesUsed FilesTotal Aggregate
 ---- ----- --------- ---- --------- ------ --------- ---------- ---------
 vol_cifs_test online 475,0 GB 24% 362,5 GB False 3k 16M aggr_sata_0
 vol_powershell online 18,0 GB 1% 17,8 GB False 2k 623k aggr_sata_0
 [...]

Pour connaître les Qtree existants, par exemple pour le share d’ TEST-SHARE-CIFS :

PS H :\> Get-NaQtree -VolumeName vol_cifs_test -QtreeName TEST-SHARE-CIFS -Controller $connect
Volume Qtree Status Security OpLocks
 ------ ----- ------ -------- -------
 vol_cifs_test TEST-SHARE-CIFS normal ntfs enabled

Si un Qtree subit une règle de quota ?

PS H :\> Get-NaQuotaReport -Controller $connect
Volume Qtree QuotaType DiskLimit DiskUsed FileLimit FilesUsed
 ------ ----- --------- --------- -------- --------- ---------
 vol_cifs_test tree 500,0 MB 0 0
 vol_cifs_test TEST-SHARE-CIFS tree 500,0 MB 109,0 MB 623
 [...]

(voir aussi la commande `Get-NaQuota`)

Une dernière cmd-let intéressante pour la route, car on a vu les quotas et, mais on a pas vu les shares CIFS.

PS H :\> Get-NaCifsShare
MountPoint ShareName Description
 ---------- --------- -----------
 /vol/vol_cifs_test TEST-SHARE-CIFS$ volume de tests
(notez le : $ qui permet de ne pas afficher le share quand on liste les share d’un contrôleur)

Et il y a plus de 600 cmd-let dans le module, ça laisse de quoi scripter 2-3 trucs…
Alors n’hésitez pas à vous faire un Na-Vis…

OK, je sors…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.