Real Application Cluster 11gR2 – qui est le "master node" ?

Contexte

Vous venez d’installer un « Real Application Cluster  » ou « RAC » en version 11gR2.
Vous utilisez « Recovery Manager » ou « RMAN » pour sauvegarder les bases de données hébergées sur ce « RAC ».
Avez-vous pensé à sauvegarder la base de registre du « RAC » appelée « OCR » ?
Avez-vous pensé à sauvegarder les « voting disks » (normalement au nombre de 3 ou plus) utilisés par le « RAC » ?
Si vous souhaitez sauvegarder l’ « OCR » et les « Voting disks » vous devez savoir 2 choses :

  • En 11gR2 les « voting disks » sont sauvegardés en même temps que l’ « OCR », il suffit donc de sauvegarder l’ « OCR » pour sauvegarder les « Voting disks »
  • La sauvegarde de l’ « OCR » (et donc des « Voting disks ») se fait par défaut en local sur le « Master Node »

D’où la question suivante (en cas de restauration notamment) : qui est le « Master Node » ?

Master Node

Tout d’abord nous avons besoin de connaitre les numéros associés aux nœuds de notre « RAC » :

Commande : « olsnodes –n »
rac01 1
rac02 2

Ici le nœud « rac01 » porte le numéro « 1 » et le nœud « rac02 » porte le numéro « 2 ».
4 solutions s’offrent à nous pour déterminer qui est le « master » :

# Solution Commande Résultat Conclusion
1 Récupérer l’information dans les « Logs » du « clusterware » grep –i « master node » ocssd.log | tail -1  sur chaque noeud [CSSD]2012-02-05 03:26:03.320 [3861] >TRACE: clssgmEstablishMasterNode: MASTER for 63 is node(2) birth(58) Le numéro le plus élevé (en rouge) parmi l’ensemble des résultats (pour chaque nœud) détermine le « master »
2 grep –i « master » crsd.log | tail -1 sur chaque noeud 2010-02-05 02:32:32.139: [ OCRMAS][3348]th_master:13: I AM THE NEW OCR MASTER at incar 67. Node Number 2 Le numéro le plus élevé (en rouge) parmi l’ensemble des résultats (pour chaque nœud) détermine le « master »
3 Utiliser la commande « ocrconfig » ocrconfig –showbackup rac01     2012/02/21 12:44:43    /u01/app/oracle/product/11.2.0/crs/cdata/PROD
rac01     2012/02/21 08:44:43     /u01/app/oracle/product/11.2.0/crs/cdata/PROD
rac01     2012/02/21 04:44:43     /u01/app/oracle/product/11.2.0/crs/cdata/PROD
rac01     2012/02/20 12:44:42     /u01/app/oracle/product/11.2.0/crs/cdata/PROD
rac01     2012/02/09 00:44:33     /u01/app/oracle/product/11.2.0/crs/cdata/PROD
La première colonne indique quel nœud a sauvegardé l’ « OCR » et à quelle date
4 Utiliser la vue « v$ges_resource » Select master_node from v$ges_resource Le résultat est le numéro du nœud. Méthode la plus simple, le résultat est exploitable de suite

Rediriger les backups de l’ « OCR »

Tout l’intérêt de savoir qui est le « master » est de pouvoir identifier où sont les sauvegardes de l’ « OCR » (et donc des « Voting disk ») et que ce soit pour des besoins de restauration, ou pour rediriger ces sauvegardes dans un emplacement « mutualisé » (à des fin évidentes de centralisation indépendamment du nœud « master » en cours).
Pour rediriger ces sauvegardes, il suffit d’exécuter la commande suivante sur l’ensemble des nœuds :
ocrconfig –backuploc “emplacement” (ex : « ocrconfig –backup /nfsbck/oracle/rac/prod/»)
Ici « emplacement » peut être un partage « NFS » ou un « filesystem » visible des 2 nœuds.

1 réflexion sur “Real Application Cluster 11gR2 – qui est le "master node" ?”

  1. Salut,
    Merci beaucoup pour le partage. Voici quelques remarques par rapport à l’article.
    Solution 1:
    À cause de la rotation des logs, il faut chercher aussi dans les anciens logs. En évitant de mettre l’option -i du grep, la commande est beaucoup plus rapide (je peux me permettre d’éviter l’option -i car je connais la casse des mots recherchés dans les logs):
    for x in `ls -tr $ORACLE_HOME/log//cssd/ocssd.l* `; do grep « master node » $x ; done|tail -1
    Resultat obtenu (grid infra 11.2.0.3):
    2012-10-15 06:33:42.772: [ CSSD][1080965440]clssgmCMReconfig: reconfiguration successful, incarnation 231246482 with 2 nodes, local node number 1, master node number 1
    Solution 2:
    Avec la version 11gr2 c’est la solution recommandée.
    Meme remarque que la solution 1:
    for x in `ls -tr $ORACLE_HOME/log//crsd/crsd.l* `; do grep « OCR MASTER » $x ; done|tail -1
    Résultat obtenu:
    2012-10-15 06:26:19.137: [ OCRMAS][1113065792]th_master:13: I AM THE NEW OCR MASTER at incar 22. Node Number 1
    Solution 3:
    Il faut savoir que le backup de l’OCR est fait à chaque intervalle de 4h. Donc cette commande peut donner un resultat erroné si le dernier master a redémarré depuis le dernier backup de l’OCR.
    A cause de la rotation des logs, si le master ne figure plus dans les logs, ça veut dire que le dernier démarrage date de longtemps donc le resultat de cette commande est forcement valable.
    Solution 4:
    Dans mon cas, cette requete me donne 2 numeros (0 et 1). Je suppose que je ne dois pas tenir compte du 0, mais il fallait le préciser dans l’article.
    Cette solution nécessite aussi l’existence du base de données 11gR2 dans le cluster pour pouvoir exécuter la requete.
    Je vous propose une 5eme solution qui pourrait servir:
    Utiliser le cluster health monitor (la commande oclumon):
    [oracle@node2 ~]$ $GRID_HOME/bin/oclumon manage -get master
    Master = node1
    Done
    [oracle@node2 ~]$

Les commentaires sont fermés.