Administration du cluster (NetApp)
| Fiche express | |
|---|---|
| Domaine | Administration système Cluster-Mode |
| Contexte | Clustered Data ONTAP 8.2 |
| Voir aussi | Cluster-Mode (NetApp) · Vserver · Node · Run |
Guide de référence pour l'administration d'un cluster NetApp en Clustered Data ONTAP : accès et shells, privilèges, gestion des nodes, Service Processor, vservers, sécurité/rôles, jobs planifiés, sauvegarde/restauration de la configuration, supervision (EMS) et AutoSupport.
Un Cluster administrator administre le cluster dans son ensemble ; un Vserver administrator administre un ou plusieurs vservers. L'utilisateur par défaut est admin.
Accès SSH
ssh joe@10.72.137.28
ssh -l joe 10.72.137.28 cluster show
ssh 'DOMAINE\john@10.72.137.28'
ssh -l "DOMAINE\john" 10.72.137.28 system services web show
Activer l'accès telnet ou rsh
# création d'une politique firewall dédiée
cluster1::> system services firewall policy clone -policy mgmt -new-policy-name mgmt1
# autoriser telnet et rsh sur cette politique
cluster1::> system services firewall policy create -policy mgmt1 -service telnet -action allow -ip-list 0.0.0.0/0
cluster1::> system services firewall policy create -policy mgmt1 -service rsh -action allow -ip-list 0.0.0.0/0
# affecter la politique à la LIF de management
cluster1::> network interface modify -vserver cluster1 -lif cluster_mgmt -firewall-policy mgmt1
Exemple d'usage :
telnet 10.72.137.28
rsh 10.72.137.28 -l joe:password system services web show
Les shells du mode cluster
- clustershell : shell natif, démarré automatiquement à la connexion CLI (documentation accessible via
man) - nodeshell : shell spécifique donnant accès aux commandes du filer sans s'y connecter directement, via la préfixe
system node run - systemshell : donne accès aux commandes de diagnostic bas niveau
Exemple d'usage du nodeshell :
system node run -node {nodename|local}
cluster1::> system node run -node node2
Type 'exit' or 'Ctrl-D' to return to the CLI
node2> environment help
Systemshell et compte de diagnostic
# se connecter au systemshell
system node systemshell
# ne pas oublier de déverrouiller le compte
security login unlock
La navigation peut être cloisonnée : on peut soit taper la commande complète, soit entrer dans la section demandée :
cluster1::> storage
cluster1::storage> disk
cluster1::storage disk> show
Pour remonter dans l'arborescence : top / up.
Utilisation des commentaires :
cluster1::> vserver create -vserver vs0 -rootvolume root_vs0 -aggregate myaggr -ns-switch nis -nm-switch file -language en_US -rootvolume-security-style unix -comment "My Vserver"
cluster1::> vserver modify -vserver vs0 -comment ""
Utilisateurs et niveaux de privilège
Trois niveaux : admin, advanced, diagnostic.
cluster1::> set -privilege advanced
Warning: These advanced commands are potentially dangerous; use
them only when directed to do so by technical support.
Do you wish to continue? (y or n): y
cluster1::*> set -privilege admin
Méthodes et opérateurs du langage de requête
cluster1::> set -showseparator "," -units GB
cluster1::> rows 50
* : recherche toutes les entrées
! : inverse le sens de l'expression
| : opérateur OR
.. : intervalle, ex. 5..10
< : inférieur à
> : supérieur à
<= : inférieur ou égal à
>= : supérieur ou égal à
{query} : filtre par requête, ex. :
volume modify {-volume *tmp*} -state offline
volume show -size >1GB -percent-used <50 -vserver !vs1
system node image modify {-isdefault true} -isdefault false
system node image modify {-iscurrent false} -isdefault true
volume show -instance
volume show -fields space-guarantee,space-guarantee-enabled
Enregistrer une session CLI
system script start
system script stop
system script show
system script upload
system script delete
Cluster
Statut et attributs
cluster1::> cluster show
cluster1::> set -privilege advanced
cluster1::*> cluster show -node node1
cluster1::> cluster identity show
cluster1::> cluster identity modify -newname cluster2
Epsilon est le paramètre qui indique quel node fait office de maître (tie-breaker) du cluster :
cluster1::*> cluster show -epsilon *
cluster1::*> cluster modify -node node1 -epsilon false
cluster1::*> cluster modify -node node4 -epsilon true
Statut de la réplication (RDB)
cluster1::> set -privilege advanced Warning: These advanced commands are potentially dangerous; use them only when directed to do so by support personnel. Do you wish to continue? (y or n): y cluster1::*> cluster ring show -node node0 -unitname vldb Node: node0 Unit Name: vldb Status: master Epoch: 5 Master Node: node0 Local Node: node0 DB Epoch: 5 DB Transaction: 56 Number Online: 4 RDB UUID: e492d2c1-fc50-11e1-bae3-123478563412
Le paramètre -unitname sélectionne le "ring" concerné :
mgmt - l'application de management vldb - la base de localisation des volumes vifmgr- le gestionnaire d'interfaces virtuelles bcomd - le démon de management SAN
Gestion des nodes
Une node est un contrôleur physique membre du cluster.
cluster1::> system node show -node node1
cluster1::> system node modify -node node1 -owner "Joe Smith" -assettag js1234
cluster1::> system node rename -node node1 -newname node1a
Pour ajouter un node au cluster : au moins la moitié des nodes doivent être dans un état HEALTHY ; dans un cluster à 2 nodes, le HA doit être désactivé pendant l'opération.
# création de la LIF de management
cluster1::> network interface create -vserver node2 -lif mgmt1 -role node-mgmt -home-node node2 -home-port e1a -address 3d20:16fe::101 -netmask-length 64
Penser également à activer le failover sur chaque node et à synchroniser l'heure.
Retirer un node du cluster
Vérifier que la moitié des nodes restent dans un état correct :
cluster1::> cluster show
cluster1::> cluster unjoin
Après le retrait, le node redémarre. Pour l'insérer dans un autre cluster, utiliser l'option 4 du boot menu : « Clean configuration and initialize all disks ».
Accéder aux logs et aux core dumps
network interface show
http(s)://cluster-mgmt-ip/spi/nodename/etc/log/ http(s)://cluster-mgmt-ip/spi/nodename/etc/crash
Libérer de l'espace sur le root volume
system node run -node nodename
priv set advanced
ls /etc/
Si présence de fichiers .trc :
rm /etc/nom_du_fichier.trc
Identifier et supprimer des snapshots au besoin :
vol status
snap list root_vol_name
snap delete root_vol_name snapshot_name
Reboot / halt
system node reboot
system node halt
ssh utilisateur@IP_management_distant
system power on
system console
cluster1::> system node halt -node node1 -reason 'hardware maintenance'
Récupération d'une image corrompue du boot device
ssh utilisateur@IP_management_distant
system reset primary
system reset backup
y
Service Processor (SP)
Réseau du SP
cluster1::> system node service-processor network modify -node local -address-type IPv4 -enable true -ip-address 192.168.123.98 -netmask 255.255.255.0 -gateway 192.168.123.1
cluster1::> system node service-processor network show -instance -node local
Accéder au SP depuis la console série
ssh utilisateur@IP_du_SP
cluster1::> (Press Ctrl-G to access the SP CLI.) Switching console to Service Processor Service Processor Login: Password: SP> SP> help system power system power cycle - power the system off, then on system power off - power the system off system power on - power the system on system power status - print system power status SP> (Press Ctrl-D and then Enter to return to the serial console.) cluster1::>
Accéder à la console série depuis le SP
SP> system console Type Ctrl-D to exit. (Log in to the console when you are prompted.) login: Password: cluster1::> cluster1::> system node image show (Command output is displayed.) (Press Ctrl-D to exit the serial console and return to the SP CLI.) SP>
Commandes SP (niveau admin)
events {all | info | newest number | oldest number | search keyword}
exit
help
priv set {admin | advanced | diag}
priv show
rsa
sp log history show [-archive {latest | all | archive-name}] [-dump {all | filename}]
sp reboot
sp status [-v | -d]
sp uptime
system acp [show | sensors show]
system battery show
system console
system core
system forensics [show | log dump | log clear]
system fru list
system fru show fru_id
system log
system power {on | off | cycle}
system power status
system reset {primary | backup | current}
system sensors
system sensors get sensor_name
Commandes SP (niveau advanced)
sp log audit sp log debug sp log messages system battery auto_update [status | enable | disable] system battery flash image_URL system battery verify [image_URL] system fru log show
SP node1> system sensors
SP node1> system sensors get 5V
Dépannage d'un node via le SP
system sensors show system sensors get sensor_name system console system core system power cycle system log events all events newest number events search keyword system reset backup system fru list
Restreindre l'accès SSH au SP
options sp.ssh.access host=192.168.123.98
options sp.ssh.access host=monhote1,monhote2
options sp.ssh.access host=3FFE:81D0:107:2082::1/64
# déconnexion automatique
options sp.autologout.enable on
options sp.autologout.timeout 30
system node service-processor network modify system node service-processor network show system node service-processor show system node service-processor reboot-sp system node service-processor image show system node service-processor image modify system node image get system node service-processor image update system node service-processor image update-progress show
Vservers
Les vservers permettent l'accès aux données avec une dissociation du matériel physique — voir aussi Vserver.
Création
cluster1::> vserver setup -vserver vs2.exemple.tld -network true
cluster1::> vserver setup -vserver vs2.exemple.tld -services ldap
cluster1::> vserver setup -vserver vs2.exemple.tld -protocols iscsi
cluster1::> vserver show
cluster1::> vserver create -vserver vs0.exemple.tld -rootvolume root_vs0 -aggregate aggr1 -ns-switch nis -rootvolume-security-style unix -language C.UTF-8
cluster1::> vserver create -vserver vs1.exemple.tld -rootvolume root_vs0 -aggregate aggr1 -ns-switch nis -rootvolume-security-style unix -language C.UTF-8 -snapshot-policy default -isrepository true
Modification
cluster1::> vserver modify -vserver vs8.exemple.tld -allowed-protocols nfs,cifs,ndmp -snapshot-policy daily -comment "Accès équipe ventes" -quota-policy pol1
cluster1::> vserver show -instance -vserver vs8.exemple.tld
Déléguer l'administration d'un vserver
vserver show -fields aggr-list
vserver modify -vserver vs1.exemple.tld -aggr-list aggr1,aggr2
vserver modify -vserver vs1.exemple.tld -max-volumes 10
vserver modify -vserver vs1.exemple.tld -disallowed-protocols ndmp
# nouvelle LIF pour le management du vserver
network interface create -vserver vs1.exemple.tld -lif lif3 -data-protocol none -role data -home-node node1-01 -home-port e0c -address 192.0.2.129 -netmask 255.255.255.128
network interface modify -vserver vs1.exemple.tld -lif lif1 -firewall-policy mgmt
# mot de passe
cluster1::> security login password -username vsadmin -vserver vs1.exemple.tld
security login unlock -username vsadmin -vserver vs1.exemple.tld
cluster1::> security login create -username user1 -application ssh -authmethod password
Administration d'un vserver
vserver show
vserver show -instance
vserver show -vserver Vserver_name
vserver delete -vserver vs1.exemple.tld
cluster1::> vserver rename -vserver vs1.exemple.tld -newname vs2.exemple.tld
# administration depuis le contexte du vserver
cluster1::> vserver context -vserver vs1.exemple.tld -username vsadmin-volume
vs1.exemple.tld::> vol show
cluster1::> vserver start -vserver vs1.exemple.tld
cluster1::> vserver stop -vserver vs1.exemple.tld
Restaurer un vserver depuis le root volume
# promouvoir un load-sharing mirror en root volume
cluster1::> set -privilege advanced
cluster1::*> snapmirror promote -destination-path vs1.exemple.tld:vol_dstls
cluster1::*> volume show -volume vol_dstls -instance
vol rename ...
# promouvoir un mirror de type dataprotection
cluster1::> snapmirror break -destination-path vs1.exemple.tld:vol_dstdp
cluster1::> set -privilege advanced
cluster1::*> volume make-vsroot -volume vol_dstdp -vserver vs1.exemple.tld
cluster1::*> volume show -volume vol_dstdp -instance
vol rename ...
# promouvoir un nouveau FlexVol
cluster1::> set -privilege advanced
cluster1::*> vol create -vserver vs3 -volume new_rootvol -aggregate aggr0 -size 1GB
cluster1::*> volume make-vsroot -vserver vs1.exemple.tld -volume new_rootvol
cluster1::*> volume show -volume new_rootvol -instance
volume mount ...
QoS par vserver
cluster1::> qos policy-group create pg-vs1 -vserver vs1 -maxthroughput 5000iops
cluster1::> vserver modify -vserver vs1 -qos-policy-group pg-vs1
cluster1::> qos statistics performance show
cluster1::> qos policy-group modify pg-vs1 -max-throughput 4500iops
Gestion des accès au cluster
system services firewall policy show
security login domain-tunnel show
vserver cifs create
security login domain-tunnel create
cluster1::> vserver cifs create -vserver vs0 -cifs-server vs0cifs -domain domaine.exemple.tld
cluster1::> security login domain-tunnel create -vserver vs0
cluster1::> security login create -vserver cluster1 -username DOMAINE\Administrator -application ssh -authmethod domain
security login create security login show security snmpusers security login modify security login delete security login password security login lock security login unlock security login domain-tunnel create security login domain-tunnel modify security login domain-tunnel show security login domain-tunnel delete
Rôles et contrôle d'accès
Rôles prédéfinis : vsadmin, vsadmin-volume, vsadmin-protocol, vsadmin-backup, vsadmin-readonly. Niveaux d'accès : all, readonly, none.
security login role create -vserver vs1 -role vol_role -cmddirname "volume" -access all
security login role create -vserver vs1 -role vol_role -cmddirname "volume snapshot" -access readonly
security login role create -vserver vs1 -role ssl_role -cmddirname "security ssl" -access readonly
security login role create -vserver cluster1 -role login_role -cmddirname "security login" -access readonly
security login role create -vserver cluster1 -role login_role -cmddirname "security login domain-tunnel" -access none
security login role create -vserver cluster1 -role login_role -cmddirname "security login publickey" -access none
security login role create -vserver cluster1 -role login_role -cmddirname "security login role" -access none
security login role create -vserver cluster1 -role login_role -cmddirname "security login password" -access all
security login role create -vserver cluster1 -role login_role -cmddirname "security login role show-ontapi" -access all
Rôle personnalisé pour un accès restreint :
security login role show
cluster1::> security login role create -vserver vs1 -role vol_snapshot -cmddirname "volume snapshot"
cluster1::> security login role show -vserver vs1 -role vol_snapshot
cluster1::> security login create -vserver vs1 -username snapshot_admin -application ssh -authmethod password -role vol_snapshot
cluster1::> security login role create -vserver cluster1 -role sec_login_readonly -cmddirname "security login" -access readonly
cluster1::> security login role create -vserver cluster1 -role sec_login_readonly -cmddirname "security login domain-tunnel" -access none
cluster1::> security login role create -vserver cluster1 -role sec_login_readonly -cmddirname "security login publickey" -access none
cluster1::> security login role create -vserver cluster1 -role sec_login_readonly -cmddirname "security login role" -access none
cluster1::> security login role show -vserver cluster1 -role sec_login_readonly
cluster1::> security login create -vserver cluster1 -username new_admin -application console -authmethod password -role sec_login_readonly
security login role create security login role modify security login role show security login role show-ontapi security login role delete security login role config modify security login role config show security login role config reset
Firewall
cluster1::> system services firewall policy show
cluster1::> system services firewall policy create -policy data_https -service https -action allow -ip-list 10.10.0.0/16
cluster1::> firewall policy clone -policy mgmt -new-policy-name mgmt1
cluster1::> network interface modify -vserver vs1 -lif data1 -firewall-policy data_https
system services firewall modify system services firewall show system services firewall policy create network interface modify system services firewall policy modify system services firewall policy show system services firewall policy clone system services firewall policy delete
Clés publiques
security login publickey create security login publickey load-from-uri security login publickey show security login publickey modify security login publickey delete
Protocole web
system services web
system services web modify
system services web show
system services web node show
system services firewall policy create
network interface modify
Services web des vservers
vserver services web modify
vserver services web show
vserver services web access create
vserver services web access show
vserver services web access delete
Points de montage sur les nodes
system node root-mount create
system node root-mount show
system node root-mount delete
SSL
security ssl modify
security ssl show
Date et NTP
cluster date modify
cluster date show
system services ntp server create
system services ntp server modify
system services ntp server show
system services ntp server delete
Licences
system license add
system license show
system license status show
system license delete
system license clean-up
Types de licences :
- Standard : gestion node à node (application des licences service par service)
- Site : toutes les nodes possèdent toutes les fonctionnalités
- Demo : expire après une période définie
Jobs
- Server-Affiliated : job lié à un node
- Cluster-Affiliated : job affecté à l'ensemble des nodes du cluster
- Private : job affecté à un node spécifique, n'utilisant pas la RDB (privilège advanced requis)
job show job show-bynode job show-cluster job show-completed job history show job private show job private show-completed job initstate show job watch-progress job private watch-progress job pause job private pause job resume job private resume job stop job private stop job delete job private delete job unclaim
Planification des jobs
job schedule show job schedule show-jobs job schedule cron show job schedule interval show job schedule cron create job schedule interval create job schedule cron modify job schedule interval modify job schedule delete job schedule cron delete job schedule interval delete
Sauvegarde / restauration de la configuration du cluster
Deux types de fichiers de sauvegarde : la configuration des nodes, et la configuration du cluster. La planification par défaut est toutes les 8 heures, quotidienne et hebdomadaire. Les fichiers de configuration sont répartis sur l'ensemble des nodes en bonne santé au moment de la sauvegarde.
system configuration backup settings modify
system configuration backup settings set-password
system configuration backup settings show
system configuration backup create
system configuration backup copy
system configuration backup upload
system configuration backup download
system configuration backup rename
system configuration backup show
system configuration backup delete
Recovery
Retrouver le fichier (URL distante, ou depuis une node du cluster) :
system configuration backup download
system configuration backup show
system configuration backup copy
Processus : si un node est accessible, le déclarer indisponible pour affecter la restauration :
cluster1::> cluster modify -node node2 -eligibility false
Démarrage de la restauration :
cluster1::*> system configuration recovery node restore -backup cluster1.8hour.2011-02-22.18_15_00.7z
Si un node a été placé en mode indisponible :
system configuration recovery cluster sync
Restauration complète (recreate)
cluster1::*> system configuration recovery cluster recreate -from node
Vérifier le nom du cluster avec celui de la sauvegarde :
cluster identity show
Pour chaque node à rejoindre au cluster, depuis un node déjà dans le cluster :
cluster1::*> system configuration recovery cluster rejoin -node node2
Après le reboot, vérifier que le node est bien actif (quorum) :
cluster1::> cluster show -node node2
Synchroniser un node avec le cluster
cluster1::*> system configuration recovery cluster sync -node node2
Core dumps
Trois types de segments de core : primary (Data ONTAP et systemshell), caching module (famille Flash Cache), NVRAM. Il est possible de spécifier l'emplacement de chacun.
system node coredump config modify
system node coredump config show
system node coredump show
# reboot avec les paramètres -dump et -skip-lif-migration
system node reboot
# halt avec les paramètres -dump et -skip-lif-migration
system node halt
system node coredump save
system node coredump save-all
system node coredump upload
system node coredump status
system node coredump delete
system node coredump delete-all
system node coredump reports show
system node coredump reports upload
system node coredump reports delete
Segmentation des core
system node coredump segment config modify
system node coredump segment config show
system node coredump segment start
system node coredump segment show
system node coredump segment delete
system node coredump segment delete-all
system node coredump segment status
system node coredump segment stop
Supervision du système de stockage
dashboard health vserver show
Event Management System (EMS)
Chaque événement comporte un nom, un niveau de sévérité, une description et une action corrective éventuelle. Niveaux de sévérité (ordre décroissant d'urgence) :
- EMERGENCY (système inutilisable)
- ALERT (action immédiate requise)
- CRITICAL
- ERROR
- WARNING
- NOTICE (condition normale mais significative)
- INFORMATIONAL
- DEBUG
Capacités gérées : destination des événements (email, trap SNMP, syslog) et route des événements.
Configuration
cluster1::> event config show
cluster1::> event config modify -mailserver mailhost.exemple.tld -mailfrom admin@node1.exemple.tld
# créer une destination d'événement
cluster1::> event destination create -name test_dest -mail me@exemple.tld
cluster1::> event route add-destinations {-severity <=CRITICAL} -destinations test_dest
cluster1::> event dest show
cluster1::> event route show -severity -CRITICAL
cluster1::> event route modify -messagename adminapi.time.zoneDiff -timethreshold 3600
# trouver les actions correctives sur événements
cluster1::> event log show -time
cluster1::> event route show -messagename adminapi.time.zoneDiff -instance
Gestion des événements
event destination create event destination show event destination modify event destination delete event route modify event route add-destinations event route add-destinations avec le paramètre -messagename event route remove-destinations event route show event route show avec les paramètres -messagename -instance event log show event config show event config modify event status show event mailhistory show event mailhistory delete event snmphistory show event snmphistory delete
AutoSupport
cluster1::> system node autosupport trigger modify -node node1 -autosupport-message shlf.ps.fault -troubleshooting-additional nfs
Contenu des messages AutoSupport
- Event-triggered : données contextuelles sur le sous-système concerné par l'événement
- Daily : fichiers de logs
- Performance : données de performance échantillonnées sur les 24 dernières heures
- Weekly : configuration et état du système
- Déclenchement via
system node autosupport invoke, selon-type:- test : message court déclenchant une réponse automatisée du serveur NetApp, pour confirmer la bonne réception
- performance : envoie les données de performance
- all : envoie un jeu de données proche du message hebdomadaire, avec les données de diagnostic de chaque sous-système
- Déclenchement via AutoSupport On Demand : peut redemander des messages nouveaux ou passés
system node autosupport trigger show
Le corps d'un message AutoSupport contient notamment : date/heure, version d'ONTAP, ID système/numéro de série/hostname du node, numéro de séquence AutoSupport, contact SNMP, ID et hostname du partenaire HA, mode de boot (Cluster-Mode). Les données clés sont compressées dans un fichier body.7z joint au message.
Sévérités AutoSupport
- Critical, Error, Warning, Notice, Info, Debug
system node autosupport modify
system node autosupport show
cluster1::> system node autosupport invoke -type test -node node1
# activer/désactiver globalement l'envoi system node autosupport modify (paramètre -state) # contrôler l'envoi au support technique system node autosupport modify (paramètre -support) # configurer AutoSupport system node autosupport modify system node autosupport trigger modify # afficher la configuration system node autosupport show (paramètre -node) # résumé des destinataires system node autosupport destinations show # messages envoyés au support interne par événement system node autosupport trigger show # historique des 50 derniers messages system node autosupport history show # détail des fichiers collectés et erreurs éventuelles system node autosupport manifest show # retransmettre un message stocké localement system node autosupport history retransmit # générer et envoyer un message (ex. test) system node autosupport invoke
Supervision de la santé du cluster
cluster1::> event destination create -name health_alerts -mail admin@exemple.tld
cluster1::> event route add-destinations -messagename hm.alert* -destinations health_alerts
Maintenance sur système dégradé
cluster1::> system health status show
# => degraded
cluster1::> system health alert show
cluster1::> system health alert show -monitor node-connect -alert-id DualPathToDiskShelf_Alert
cluster1::> system health alert modify -node node1 -alert-id DualPathToDiskShelf_Alert -acknowledge true
cluster1::> system health status show
# => OK
Configuration des switchs de cluster NetApp
system health cluster-switch show
run -node node_name -command options cdpd.enable
run -node node_name -command options cdpd.enable on
system health cluster-switch show
cluster1::> system health cluster-switch create -device switch1 -address 192.0.2.250 -snmp-version SNMPv2c -community <community_string> -discovered false -model NX5020 -type cluster-network
# attendre 5 min
system health cluster-switch show
system health cluster-switch modify
Supervision générale
system health status show
system health subsystem show
system health system-connectivity shelf show
system health node-connectivity shelf show
system health node-connectivity disk show
system health node-connectivity adapter show
Voir aussi
- Cluster-Mode (NetApp) — notions et commandes complémentaires (SNMP, réseau, vserver)
- Vserver — gestion des vservers au quotidien
- Node / Run — navigation et exécution de commandes 7-mode depuis le cluster
- Vol — gestion des volumes et agrégats