Changer les adresses IP publiques et virtuelles d’un cluster

Cluster RAC Ajouter un commentaire

Sources

1. “How to Change Interconnect/Public Interface IP or Subnet in Oracle Clusterware”, Doc ID: 283684.1
2. “Modifying the VIP or VIP Hostname of a 10g or 11g Oracle Clusterware Node”, DOC ID: 276434.1
3. “How to change Public and VIP component address in case of RAC?”

Je veux changer le vlan de mes adresses publiques et virtuelles de mon cluster RAc 11.2.0.3.
Sur ce cluster, il y a une base SETRA active/active et une base BLACK active/passive.

Pour commenecr on arrête les ressources correspondantes aux bases.

[root@lrac1 bin]# srvctl stop database -d SETRA

[root@lrac1 bin]# ./crs_stop black.db
Tentative d’arrêt de ‘black.db’ sur le membre ‘lrac2′
‘black.db’ a été arrêté sur le membre ‘lrac2′.
[root@lrac1 bin]# ./crs_stop black.listener
Tentative d’arrêt de ‘black.listener’ sur le membre ‘lrac2′
‘black.listener’ a été arrêté sur le membre ‘lrac2′.
[root@lrac1 bin]# ./crs_stop black.vip
Tentative d’arrêt de ‘black.vip’ sur le membre ‘lrac2′
‘black.vip’ a été arrêté sur le membre ‘lrac2′.
[root@lrac1 bin]# ./crs_stop black.group
Tentative d’arrêt de ‘black.group’ sur le membre ‘lrac2′
‘black.group’ a été arrêté sur le membre ‘lrac2′.
[root@lrac1 bin]#

On arrête les ressources sur lequelles sont montées les VIP

[root@lrac1 bin]# srvctl stop nodeapps -n lrac1 -f
PRKO-2426 : ONS (Oracle Notification Service) est déjà arrêté sur les noeuds : lrac1

[root@lrac1 bin]# srvctl stop nodeapps -n lrac2 -f

Vérifications

[root@lrac1 bin]# crs
HA Resource                                   Target     State
———–                                   ——     —–
black.db                                      ONLINE     OFFLINE
black.group                                   ONLINE     OFFLINE
black.listener                                ONLINE     OFFLINE
black.vip                                     ONLINE     OFFLINE
ora.DGDATA.dg                                 ONLINE     ONLINE on lrac1
ora.DGFRA.dg                                  ONLINE     ONLINE on lrac1
ora.LISTENER.lsnr                             ONLINE     OFFLINE
ora.LISTENER_SCAN1.lsnr                       OFFLINE    OFFLINE
ora.OCRVOTING.dg                              ONLINE     ONLINE on lrac1
ora.asm                                       ONLINE     ONLINE on lrac1
ora.cvu                                       OFFLINE    OFFLINE
ora.gsd                                       OFFLINE    OFFLINE
ora.lrac1.ASM1.asm                            ONLINE     ONLINE on lrac1
ora.lrac1.LISTENER_LRAC1.lsnr                 ONLINE     OFFLINE
ora.lrac1.gsd                                 OFFLINE    OFFLINE
ora.lrac1.ons                                 OFFLINE    OFFLINE
ora.lrac1.vip                                 OFFLINE    OFFLINE
ora.lrac2.ASM2.asm                            ONLINE     ONLINE on lrac2
ora.lrac2.LISTENER_LRAC2.lsnr                 ONLINE     OFFLINE
ora.lrac2.gsd                                 OFFLINE    OFFLINE
ora.lrac2.ons                                 OFFLINE    OFFLINE
ora.lrac2.vip                                 OFFLINE    OFFLINE
ora.net1.network                              OFFLINE    OFFLINE
ora.oc4j                                      ONLINE     ONLINE on lrac2
ora.ons                                       OFFLINE    OFFLINE
ora.registry.acfs                             ONLINE     ONLINE on lrac1
ora.scan1.vip                                 OFFLINE    OFFLINE
ora.setra.db                                  OFFLINE    OFFLINE
[root@lrac1 bin]#

Editer les fichiers /etc/hosts et les mettre à jour avec les nouvelles adresses publiques et virtuelles.

Ensuite on change le vlan pour l’interface eth0 dans le clusterware.

[oracle@lrac1 bin]$ ./oifcfg getif
eth1  192.168.1.0  global  cluster_interconnect
eth0  10.1.0.0  global  public

[oracle@lrac1 bin]$ ./oifcfg delif -global eth0

[oracle@lrac1 bin]$ ./oifcfg setif -global eth0/192.168.255.0:public

On modifie les adresses virtuelles dans le clusterware

[root@lrac1 bin]# ./srvctl modify nodeapps -n lrac1 -A 192.168.255.112/255.255.255.0/eth0
[root@lrac1 bin]# ./srvctl modify nodeapps -n lrac2 -A 192.168.255.113/255.255.255.0/eth0

Changement des adresses au niveau OS.

Aller dans l’OS et changer les adresses publiques d’eth0 sur chaque noeud.
Redémarrer le réseau

service network restart (linux)

Changer les adresses dans les fichiers known_hosts sur chaque noeud pour le user oracle (ou grid si c’est le cas)
su – oracle
cd .ssh
cp known_hosts known_hosts.bak
vi known_hosts
Faire le changement des IP des anciennes vers les nouvelles.

Arrêter les crs sur chaque noeud et les redémarrer

crsctl stop crs
crsctl start crs

Changement de l’adresse scan

[root@lrac1 bin]# srvctl config scan_listener
Le processus d’écoute SCAN LISTENER_SCAN1 existe. Port : TCP:1521
[root@lrac1 bin]#
[root@lrac1 bin]# srvctl config scan
Nom SCAN : lrac-scan, réseau : 1/192.168.255.0/255.255.255.0/eth0
Nom d’adresse IP virtuelle SCAN : scan1, IP : /lrac-scan/10.1.1.14
[root@lrac1 bin]#

Vu que l’ip a été changé dans les /etc/hosts, sur les OS, on n’a plus qu’à redémarrer les ressources scan et listener associé.
Les ressources sont arrêtées.

[root@lrac1 bin]# ./crs_start ora.scan1.vip
Tentative de démarrage de ‘ora.scan1.vip’ sur le membre ‘lrac2′
‘ora.scan1.vip’ a été démarré sur le membre ‘lrac2′.
[root@lrac1 bin]#
[root@lrac1 bin]# ./crs_start ora.LISTENER_SCAN1.lsnr
Tentative de démarrage de ‘ora.LISTENER_SCAN1.lsnr’ sur le membre ‘lrac2′
‘ora.LISTENER_SCAN1.lsnr’ a été démarré sur le membre ‘lrac2′.
[root@lrac1 bin]#

[root@lrac1 bin]# crs
HA Resource                                   Target     State
———–                                   ——     —–
black.db                                      OFFLINE    OFFLINE
black.group                                   ONLINE     OFFLINE
black.listener                                ONLINE     OFFLINE
black.vip                                     ONLINE     OFFLINE
ora.DGDATA.dg                                 ONLINE     ONLINE on lrac1
ora.DGFRA.dg                                  ONLINE     ONLINE on lrac1
ora.LISTENER.lsnr                             ONLINE     ONLINE on lrac1
ora.LISTENER_SCAN1.lsnr                       ONLINE     ONLINE on lrac2
ora.OCRVOTING.dg                              ONLINE     ONLINE on lrac1
ora.asm                                       ONLINE     ONLINE on lrac1
ora.cvu                                       OFFLINE    OFFLINE
ora.gsd                                       OFFLINE    OFFLINE
ora.lrac1.ASM1.asm                            ONLINE     ONLINE on lrac1
ora.lrac1.LISTENER_LRAC1.lsnr                 ONLINE     ONLINE on lrac1
ora.lrac1.gsd                                 OFFLINE    OFFLINE
ora.lrac1.ons                                 ONLINE     ONLINE on lrac1
ora.lrac1.vip                                 ONLINE     ONLINE on lrac1
ora.lrac2.ASM2.asm                            ONLINE     ONLINE on lrac2
ora.lrac2.LISTENER_LRAC2.lsnr                 ONLINE     ONLINE on lrac2
ora.lrac2.gsd                                 OFFLINE    OFFLINE
ora.lrac2.ons                                 ONLINE     ONLINE on lrac2
ora.lrac2.vip                                 ONLINE     ONLINE on lrac2
ora.net1.network                              ONLINE     ONLINE on lrac1
ora.oc4j                                      ONLINE     ONLINE on lrac1
ora.ons                                       ONLINE     ONLINE on lrac1
ora.registry.acfs                             ONLINE     ONLINE on lrac1
ora.scan1.vip                                 ONLINE     ONLINE on lrac2
ora.setra.db                                  OFFLINE    OFFLINE
[root@lrac1 bin]#

Redémarrage de la base SETRA

[root@lrac1 bin]# srvctl start database -d SETRA

Redémarrage de la base standalone BLACK

Si des ressources suite aux redémarrage des crs ont redémarrées, on les arrête proprement et on les relance à la main.

black.db                                      OFFLINE    OFFLINE
black.group                                   OFFLINE    OFFLINE
black.listener                                OFFLINE    OFFLINE
black.vip                                     OFFLINE    OFFLINE

il faut modifier les fichiers /app/oracle/product/11.2.0/db_1/network/admin/listener.ora avec la nouvelle adresse
et faire le changement dans le DNS et/ou le fichier /etc/hosts.

On va maintenant changer l’adresse de la vip spécifique à la base BLACK dans le clusterware.

[root@lrac1 bin]# ./crs_stat -p black.vip
NAME=black.vip
TYPE=application
ACTION_SCRIPT=/app/grid/bin/usrvip
****
****
****
USR_ORA_LANG=
USR_ORA_NETMASK=255.255.0.0
USR_ORA_OPEN_MODE=
USR_ORA_OPI=false
USR_ORA_PFILE=
USR_ORA_PRECONNECT=none
USR_ORA_SRV=
USR_ORA_START_TIMEOUT=0
USR_ORA_STOP_MODE=immediate
USR_ORA_STOP_TIMEOUT=0
USR_ORA_VIP=10.1.1.15

On modifie l’IP et le netmask si besoin

[root@lrac1 bin]# ./crsctl modify resource black.vip -attr “USR_ORA_VIP=192.168.255.115″
[root@lrac1 bin]# ./crsctl modify resource black.vip -attr “USR_ORA_NETMASK=255.255.255.0″

Redémarrage des ressources

[root@lrac1 bin]# ./crs_start black.group
Tentative de démarrage de ‘black.group’ sur le membre ‘lrac2′
‘black.group’ a été démarré sur le membre ‘lrac2′.
[root@lrac1 bin]# ./crs_start black.vip
Tentative de démarrage de ‘black.vip’ sur le membre ‘lrac2′
‘black.vip’ a été démarré sur le membre ‘lrac2′.
[root@lrac1 bin]#
[root@lrac1 bin]# ./crs_start black.listener
Tentative de démarrage de ‘black.listener’ sur le membre ‘lrac2′
‘black.listener’ a été démarré sur le membre ‘lrac2′.
[root@lrac1 bin]# ./crs_start black.db
Tentative de démarrage de ‘black.db’ sur le membre ‘lrac2′
‘black.db’ a été démarré sur le membre ‘lrac2′.
[root@lrac1 bin]#

Il se peut que la ressource ora.cvu se doit mise en  target OFFLINE et state OFFLINE

on la redémarre à la main.

[oracle@lrac1 bin]$ ./crs_start ora.cvu
Tentative de démarrage de ‘ora.cvu’ sur le membre ‘lrac1′
‘ora.cvu’ a été démarré sur le membre ‘lrac1′.
[oracle@lrac1 bin]$ crs
HA Resource                                   Target     State
———–                                   ——     —–
black.db                                      ONLINE     ONLINE on lrac2
black.group                                   ONLINE     ONLINE on lrac2
black.listener                                ONLINE     ONLINE on lrac2
black.vip                                     ONLINE     ONLINE on lrac2
ora.DGDATA.dg                                 ONLINE     ONLINE on lrac1
ora.DGFRA.dg                                  ONLINE     ONLINE on lrac1
ora.LISTENER.lsnr                             ONLINE     ONLINE on lrac1
ora.LISTENER_SCAN1.lsnr                       ONLINE     ONLINE on lrac2
ora.OCRVOTING.dg                              ONLINE     ONLINE on lrac1
ora.asm                                       ONLINE     ONLINE on lrac1
ora.cvu                                       ONLINE     ONLINE on lrac1
ora.gsd                                       OFFLINE    OFFLINE
ora.lrac1.ASM1.asm                            ONLINE     ONLINE on lrac1
ora.lrac1.LISTENER_LRAC1.lsnr                 ONLINE     ONLINE on lrac1
ora.lrac1.gsd                                 OFFLINE    OFFLINE
ora.lrac1.ons                                 ONLINE     ONLINE on lrac1
ora.lrac1.vip                                 ONLINE     ONLINE on lrac1
ora.lrac2.ASM2.asm                            ONLINE     ONLINE on lrac2
ora.lrac2.LISTENER_LRAC2.lsnr                 ONLINE     ONLINE on lrac2
ora.lrac2.gsd                                 OFFLINE    OFFLINE
ora.lrac2.ons                                 ONLINE     ONLINE on lrac2
ora.lrac2.vip                                 ONLINE     ONLINE on lrac2
ora.net1.network                              ONLINE     ONLINE on lrac1
ora.oc4j                                      ONLINE     ONLINE on lrac2
ora.ons                                       ONLINE     ONLINE on lrac1
ora.registry.acfs                             ONLINE     ONLINE on lrac1
ora.scan1.vip                                 ONLINE     ONLINE on lrac2
ora.setra.db                                  ONLINE     ONLINE on lrac2
[oracle@lrac1 bin]$

Toutes les adresses publiques et virtuelles ont été changées et toutes les ressources du cluster sont à nouveau disponibles.

Temps d’indisponibilité entre 10mns et une demi heure.

Alban lepunk

Une Reponse to “Changer les adresses IP publiques et virtuelles d’un cluster”

  1. polarbear Says:

    En 11gR2, j’aurais arrêté et démarré la base via crsctl, avec le user grid:

    $ crsctl stop resource ora.setra.db
    $ crsctl start resource ora.setra.db

Faire un commentaire