Préparer le niveau intermédiaire sur OCI

Provisionnez et préparez les hôtes de niveau intermédiaire pour la récupération après sinistre sur Oracle Cloud Infrastructure (OCI).

Provisionner les instances de calcul pour les noeuds de niveau intermédiaire

Créez une instance de calcul sur le sous-réseau de niveau intermédiaire Oracle Cloud Infrastructure (OCI) pour chaque hôte Oracle WebLogic Server principal sur place. Les instances de calcul doivent utiliser l'image de système d'exploitation et la forme de calcul qui sont aussi similaires que possible à l'image et à la forme utilisées par les hôtes sur place.

Pour tirer parti de l'octroi de licences Oracle Customer Hub (UCM) pour Oracle WebLogic Server for Oracle Cloud Infrastructure, Oracle recommande d'utiliser WebLogic pour les images OCI pour provisionner les instances de calcul. Vous pouvez provisionner des images Oracle WebLogic Server pour OCI à l'aide de la console d'instance de calcul ou du Cloud Marketplace. Ces images sont disponibles pour les systèmes d'exploitation Oracle Linux version 7.9 et 8.5.

Cet exemple utilise deux instances de calcul dans un seul domaine de disponibilité dans le compartiment, comme indiqué dans le tableau.

Le nom Compartiment Domaine de disponibilité IMAGE SHAPE VCN Sous-réseau
hydrwls1 HyDRCompmt AD1 Image UCM d'Oracle WebLogic Suite (Oracle Linux 7.9) VM.Standard2.2 hydrvcn midTierSubnet
hydrwls2 HyDRCompmt AD1 Image UCM d'Oracle WebLogic Suite (Oracle Linux 7.9) VM.Standard2.2 hydrvcn midTierSubnet

Pour provisionner les instances de calcul à l'aide de la section Instance de calcul de la console OCI :

  1. Connectez-vous à la console OCI pour votre location.
  2. Sélectionnez la région appropriée.
  3. Ouvrez le menu de navigation et cliquez sur Calcul. Sous Calcul, cliquez sur Instances, puis sur Créer une instance.
  4. Indiquez le nom de l'instance de calcul et du compartiment.
  5. Sous Positionnement, sélectionnez le domaine de disponibilité dans lequel créer l'instance.
    Si la région OCI comporte plusieurs domaines de disponibilité, vous pouvez placer les instances de calcul WebLogic dans différents domaines de disponibilité.
  6. Sous Image et forme, cliquez sur Modifier l'image, puis effectuez les étapes suivantes :
    1. Dans la liste déroulante source Image, sélectionnez Images Oracle. Sélectionnez Oracle WebLogic Server Enterprise Edition UCM Image ou Oracle WebLogic Suite UCM Image.
      Vous devez sélectionner la même édition que celle que vous utilisez dans votre instance sur place.

      Note :

      L'utilisation des sources de données GridLink d'Oracle WebLogic Server est un droit disponible uniquement dans le cadre de la licence Oracle WebLogic Suite.

    2. Pour l'image sélectionnée, cliquez sur la flèche à droite, puis sélectionnez la version de création d'image pour les images payantes, soit Oracle Linux 7.9 (étiquette release-ol7.9-build-timestamp) ou Oracle Linux 8.5 (étiquette release-ol8.5-build-timestamp).
      Vous devez sélectionner le système d'exploitation le plus similaire à celui que vous utilisez dans votre instance sur place.
    3. Vérifiez les conditions générales et cochez la case Conditions d'utilisation d'Oracle, puis cliquez sur Sélectionner une image.
  7. Sous Image et forme, cliquez sur Modifier la forme. Sélectionnez le type d'instance et sélectionnez la forme la plus similaire aux hôtes principaux.
    Voir Formes pour les images pour rechercher les formes prises en charge.
  8. Sélectionnez le VCN, le sous-réseau et le domaine de disponibilité de votre environnement.
    Pour spécifier le type de capacité et le domaine d'erreur, cliquez sur Afficher les options avancées.
  9. Configurez le réseau pour l'instance.
    Pour spécifier des paramètres de réseau avancés, cliquez sur Afficher les options avancées.
  10. Sous Ajouter des clés SSH, générez une clé, puis chargez votre clé publique ou collez les clés.
  11. Sous Volume de démarrage, spécifiez les options de taille et de chiffrement pour le volume de démarrage de l'instance.
    Pour configurer des paramètres avancés, cliquez sur Voir les options avancées.
  12. Cliquez sur Créer.
  13. Répétez les étapes pour créer une autre instance de calcul.

Note :

Vous pouvez trouver le code Terraform pour créer ces instances de calcul dans Télécharger le code.

Préparer les utilisateurs et les groupes du système d'exploitation

Les mêmes utilisateur et groupe que ceux utilisés par le logiciel Oracle principal sur place sont nécessaires dans les instances de calcul secondaires.

Les images Oracle WebLogic Server for Oracle Cloud Infrastructure ont déjà un utilisateur et un groupe oracle. Toutefois, ces valeurs (nom d'utilisateur, nom de groupe, uid et gid) peuvent ne pas correspondre aux valeurs que vous avez dans votre instance principale et vous devrez configurer les hôtes secondaires pour qu'ils correspondent aux valeurs de l'utilisateur et du groupe oracle principal. Les exemples suivants montrent comment configurer les hôtes secondaires de ce niveau pour qu'ils correspondent aux valeurs de l'utilisateur et du groupe oracle principal.

Chaque groupe et utilisateur dans les instances de calcul OCI doit avoir le même ID sur chaque noeud et le même que dans l'instance principale.
  1. Identifiez l'utilisateur, le groupe et les ID de l'utilisateur oracle dans les hôtes principaux en vous connectant à un hôte sur place avec l'utilisateur oracle, puis utilisez la commande id.
    [oracle@host3.myopnetwork.com ~]$ id
    uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba)
    
    [oracle@host3.myopnetwork.com ~]$ more /etc/passwd | grep oracle
    oracle:x:1001:1002::/home/oracle:/bin/bash

    Le tableau suivant présente des exemples d'utilisateur et de groupes pour un environnement sur place type.

    Utilisateur ou groupe Le nom ID Description
    Utilisateur oracle 1001 Propriétaire du logiciel Oracle
    Groupes oinstall 1002 Groupe principal de l'utilisateur oracle
    dba 1001 Groupe secondaire de l'utilisateur oracle
  2. Identifiez les utilisateurs, les groupes et les ID qui existent dans les hôtes secondaires à l'aide de SSH pour accéder à l'instance récemment créée en tant qu'utilisateur opc. Connectez-vous à des hôtes secondaires avec l'utilisateur opc, puis sudo avec l'utilisateur oracle et exécutez la commande id.
    [opc@hydrwls1 ~]$ sudo su - oracle
    [oracle@hydrwls1 ~]$ id
    uid=1001(oracle) gid=1001(oracle) groups=1001(oracle),1002(docker) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

    Le tableau suivant présente l'utilisateur et le groupe oracle qui existent déjà dans les instances de calcul secondaires.

    Utilisateur ou groupe Le nom ID Description
    Utilisateur oracle 1001 Propriétaire du logiciel Oracle
    Groupes oracle 1001 Groupe principal de l'utilisateur oracle
    docker 1002 Groupe secondaire de l'utilisateur oracle
  3. Les scénarios et solutions possibles sont les suivants :
    • Les utilisateurs et les groupes dans le secondaire sont des noms et des ID différents de ceux dans le primaire.

      Solution : Créez les utilisateurs et les groupes dans le secondaire tels qu'ils existent dans le primaire.

    • Les utilisateurs et les groupes secondaires portent les mêmes noms, mais des ID différents de ceux de l'instance principale.

      Solution : Modifiez les ID du secondaire pour qu'ils correspondent aux ID du principal.

    • Les utilisateurs et les groupes dans le secondaire sont des noms différents de ceux dans le principal, mais les mêmes ID.

      Solution : Modifiez les noms de l'utilisateur et du groupe dans le secondaire.

    • Il y a des conflits : certains ID de l'utilisateur principal ou des groupes sont utilisés par d'autres utilisateurs ou groupes dans le secondaire.

      Solution : Corrigez le conflit en modifiant l'ID de l'utilisateur ou du groupe en conflit dans le secondaire, puis créez l'utilisateur ou les groupes dans le secondaire pour qu'ils correspondent à ceux qui se trouvent dans le principal.

    Le tableau suivant récapitule les commandes que vous pouvez utiliser pour résoudre les conflits :

    Action Commande (exécuter en tant que racine)
    Pour créer un nouveau groupe groupadd group_name -g group_id

    Par exemple :

    groupadd oinstall -g 1002 groupadd dba -g 1001
    Pour créer un nouvel utilisateur useradd -u user_id user_name -g principal_group -G other groups

    Par exemple :

    useradd -u 1001 oracleuser -g oinstall -G dba
    Pour modifier le groupe principal de l'utilisateur usermod -g new_primary_groupname user_name
    Pour ajouter un utilisateur à un groupe usermod -a -G secondary_groupname user_name
    Pour modifier l'ID d'un utilisateur

    usermod -u new_id user_name

    find / -user old_uid -exec chown -h user_name {} \;

    Par exemple, l'ID de l'utilisateur oracle passe de 1001 à 501 :

    usermod -u 501 oracle

    find / -user 1001 -exec chown -h oracle {} \;

    Pour modifier l'ID d'un groupe

    groupmod -g new_id group_name

    find / -group old_id -exec chgrp -h group_name {} \;

    Par exemple, l'ID du groupe oracle passe de 1001 à 501 :

    groupmod -g 501 oracle

    find / -user 1001 -exec chgrp -h oracle {} \;

    Note :

    Oracle recommande d'effectuer les modifications dans les instances de calcul OCI secondaires. Ne modifiez pas les valeurs d'ID dans l'ID principal.

    Voici un exemple où les ID des groupes utilisés dans les hôtes principaux sont déjà utilisés par d'autres groupes dans les hôtes secondaires. Pour résoudre ce conflit, les actions suivantes sont nécessaires :

    1. Le groupe docker dans le secondaire utilise l'ID 1002, qui est en conflit avec l'ID du groupe principal oinstall.
      Pour résoudre le conflit, remplacez l'ID du groupe docker dans les hôtes secondaires par un ID différent et non conflictuel. Par exemple, sélectionnez 1005 comme nouvel ID et vérifiez qu'il n'est pas utilisé en confirmant qu'il n'apparaît pas dans le fichier /etc/group.
      [opc@hydrwls1 ~]$ sudo -s  
      [root@hydrwls1 ~]$ more /etc/group | grep 1005
      Lorsque vous confirmez que le code n'est pas utilisé, remplacez-le par le nouveau.
      [opc@hydrwls1 ~]$ sudo -s 
      [root@hydrwls1 ~]$ groupmod -g 1005 docker
      [root@hydrwls1 ~]$ find / -group 1002 -exec chgrp -h docker {} \;
    2. Le groupe oracle dans le secondaire utilise l'ID 1001, qui est en conflit avec l'ID du groupe principal dba.
      Pour résoudre le conflit, remplacez l'ID du groupe oracle dans les hôtes secondaires par un ID différent et non conflictuel. Par exemple, sélectionnez 1006 comme nouvel ID et vérifiez qu'il n'est pas utilisé en confirmant qu'il n'apparaît pas dans le fichier /etc/group.
      [opc@hydrwls1 ~]$ sudo -s 
      [root@hydrwls1 ~]$ more /etc/group | grep 1006
      Lorsque vous confirmez que le code n'est pas utilisé, remplacez-le par le nouveau.
      [opc@hydrwls1 ~]$ sudo -s 
      [root@hydrwls1 ~]$ groupmod -g 1006 oracle
      [root@hydrwls1 ~]$ find / -group 1001 -exec chgrp -h oracle {} \;
    3. Créez les groupes d'utilisateurs oracle oinstall et dba dans les hôtes secondaires avec les mêmes ID que les ID principaux.
      [opc@hydrwls1 ~]$ sudo -s
      [root@hydrwls1 ~]$ groupadd oinstall -g 1002
      [root@hydrwls1 ~]$ groupadd dba -g 1001
    4. L'utilisateur oracle a le même nom et le même ID dans la base principale et la base de secours, de sorte qu'aucune modification n'est nécessaire.
      Toutefois, vous devez remplacer le groupe principal de l'utilisateur par oinstall dans les hôtes secondaires.
      [root@hydrwls1 ~]$ usermod -g oinstall oracle
      Puis, ajoutez l'utilisateur au groupe dba.
      [root@hydrwls1 ~]$ usermod -a -G dba oracle
    5. Vérifiez que la sortie de la commande id pour l'utilisateur oracle dans les hôtes secondaires correspond à la sortie principale pour les groupes principal et secondaire.
      Sortie dans la base principale :
      [oracle@host3.myopnetwork.com ~]$ id
      uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba)
      Sortie dans le secondaire (le secondaire peut avoir des groupes supplémentaires) :
      oracle@hydrwls1 ~]$ id
      uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba),1005(docker)
              …
    6. (Recommandé) Effectuez un redémarrage de l'hôte après ces modifications.
  4. (Facultatif, mais recommandé) Activez l'accès SSH à l'utilisateur oracle.
    Elle est utile dans cette topologie de récupération après sinistre car elle permet à l'utilisateur oracle d'avoir une connexion directe pour exécuter les commandes utilisées pour copier le contenu du système de fichiers du système principal vers le système secondaire.
    1. Copiez la clé publique que vous utilisez pour vous connecter aux instances de calcul dans un fichier texte. Vous l'utiliserez plus tard dans cette procédure.
    2. Connectez-vous à l'instance et sudo à l'utilisateur racine.
    3. Créez un répertoire .ssh dans le répertoire de base du nouvel utilisateur.
      mkdir -p /home/oracle/.ssh
    4. Copiez la clé publique SSH que vous utilisez pour vous connecter au service de calcul dans le fichier.
      /home/oracle/.ssh/authorized_keys
    5. Remplacez le responsable et le groupe du répertoire /home/oracle/.ssh par l'utilisateur oracle.
      chown -R oracle:oinstall /home/oracle/.ssh
    6. Vérifiez la connexion en vous connectant avec SSH à l'aide de l'utilisateur oracle et de votre clé privée.
    7. Définissez les autorisations du fichier authorized_keys sur 600.
      chmod 600 /home/oracle/.ssh/authorized_keys

Préparer les exigences du système d'exploitation

Les hôtes de niveau intermédiaire secondaires doivent répondre aux exigences du système d'exploitation pour exécuter le logiciel.

Les fichiers binaires des répertoires de base Oracle WebLogic Server seront copiés des hôtes principaux du serveur WebLogic vers les hôtes secondaires du serveur WebLogic. Par conséquent, il n'est pas nécessaire d'exécuter runinstaller dans les hôtes secondaires du serveur WebLogic. Les images Oracle WebLogic Server pour OCI sont préparées pour le logiciel WebLogic Server. Par conséquent, aucun ensemble supplémentaire n'est requis pour être ajouté manuellement.

Toutefois, si vous utilisez un produit Oracle Fusion Middleware au-dessus du serveur WebLogic, assurez-vous que les hôtes secondaires du serveur WebLogic répondent aux exigences suivantes :

  1. Assurez-vous que votre environnement répond aux exigences d'installation minimales pour les produits installés sur les hôtes principaux du serveur WebLogic.
    Vérifiez le document correspondant dans les exigences et spécifications du système Oracle Fusion Middleware et l'étape Vérification des exigences du système d'exploitation Linux à partir du groupe EDG.
  2. Vérifiez les ensembles de système requis pour votre version et votre système d'exploitation.
  3. Installez les ensembles système manquants avec yum.
    Cet exemple utilise Oracle Fusion Middleware 12.21.4 et Oracle Linux 7 et la plupart des ensembles requis sont déjà installés dans les instances de calcul de niveau intermédiaire Oracle Cloud Infrastructure (OCI). Dans cet exemple, les éléments suivants étaient manquants et devaient être installés à l'aide de yum :
    yum install compat-libcap1.x86_64
    yum install compat-libstdc++-33.x86_64
    yum install compat-libstdc++-33.i686
    yum install gcc-c++.x86_64
    yum install libaio-devel.x86_64
    yum install libstdc++.i686
    yum install libstdc++-devel.x86_64
    yum install dejavu-serif-fonts
    yum install numactl.x86_64
    yum install numactl-devel.x86_64
    yum install motif.x86_64
    yum install motif-devel.x86_64
    yum install redhat-lsb.x86_64
    yum install xorg-x11-utils.x86_64
  4. Configurez les limites file et proc dans le fichier /etc/security/limits.conf. Vérifiez les limites des hôtes du serveur WebLogic sur place et définissez les valeurs dans les instances de calcul du serveur WebLogic OCI en conséquence.

Préparer les alias de nom d'hôte

Configurez les mêmes noms d'hôte virtuel que ceux utilisés par les composants Oracle WebLogic Server dans l'environnement principal en tant qu'alias dans les instances de calcul WebLogic Server Oracle Cloud Infrastructure (OCI) secondaires, mais pointez vers les adresses IP des hôtes secondaires.
Vous pouvez l'implémenter de la manière suivante :
  • Ajoutez les noms d'hôte en tant qu'alias aux fichiers /etc/hosts des instances de calcul du serveur WebLogic OCI.
  • Utilisez une vue DNS privée dans le VCN OCI secondaire.

Utiliser les fichiers /etc/hosts

Les noms d'hôte virtuel utilisés par Oracle WebLogic Server principal sont ajoutés aux fichiers /etc/hosts des hôtes Oracle WebLogic Server secondaires, pointant vers les adresses IP des hôtes Oracle WebLogic Server secondaires. Ce mode est valide lorsque le serveur DNS est le même dans les sites sur place principal et sur les sites Oracle Cloud Infrastructure secondaires (OCI), ainsi que lorsque des serveurs DNS séparés sont utilisés dans les sites principal et secondaire. Les entrées du fichier /etc/hosts ont priorité sur la résolution DNS, car il s'agit de la priorité définie prête à l'emploi dans les "hôtes" de directive du fichier /etc/nsswitch.conf.
  1. Modifiez le fichier /etc/oci-hostname.conf de chaque instance de calcul du serveur WebLogic et réglez la propriété PRESERVE_HOSTINFO=3 pour conserver les entrées /etc/hosts lors du redémarrage de l'instance.
  2. Utilisez la commande hostname --fqdn pour identifier les noms d'hôte complets des instances de calcul du serveur WebLogic OCI.
  3. Ajoutez les entrées suivantes au fichier /etc/hosts des instances de calcul du serveur WebLogic OCI :
    #################################
    # ALIASES on OCI for DR
    #################################
    virtual_IP_for_admin           virtualIP_fqdn virtualIP_hostname    ALIAS_OF_ADMINVHN
    apphost1_compute_instance_IP  apphost1_fqdn   apphost1_hostname   ALIAS_OF_APPHOST1 
    apphost2_compute_instance_IP  apphost2_fqdn   apphost2_hostname   ALIAS_OF_APPHOST2    
    
    Voici un exemple de fichier /etc/hosts dans l'instance de calcul du serveur WebLogic OCI secondaire :
    #################################
    # ALIASES on OCI for DR
    #################################
    100.70.10.20   hydrwls-vip.midTiersubnet.hydrvcn.oraclevcn.com    hydrwls-vip       ADMINVHN.example.com   ADMINVHN
    100.70.10.13   hydrwls1.midTiersubnet.hydrvcn.oraclevcn.com       hydrwls1          APPHOST1.example.com   APPHOST1
    100.70.10.14   hydrwls2.midTiersubnet.hydrvcn.oraclevcn.com       hydrwls2          APPHOST2.example.com   APPHOST2
    Voici un exemple du fichier /etc/hosts existant des hôtes principaux du serveur WebLogic :
    #################################
    # ALIASES on-prem for DR
    #################################
    10.10.10.20    host-vip1.myopnetwork.com         host-vip1       ADMINVHN.example.com   ADMINVHN
    10.10.10.13    host3.myopnetwork.com             host3           APPHOST1.example.com   APPHOST1
    10.10.10.14    host4.myopnetwork.com             host4           APPHOST2.example.com   APPHOST2
    

Utiliser le système de noms de domaine (DNS)

Les noms d'hôte virtuel utilisés par les hôtes Oracle WebLogic Server principaux sont ajoutés au résolveur DNS utilisé par le VCN des serveurs de niveau intermédiaire secondaires, pointant vers les adresses IP des hôtes Oracle WebLogic Server secondaires. Ce mode est valide lorsque des serveurs DNS distincts sont utilisés dans les systèmes sur place principal et secondaire sur Oracle Cloud Infrastructure (OCI). Sinon, cela peut provoquer des conflits dans la résolution des noms. Le serveur de chaque site doit résoudre ces noms avec ses propres adresses IP. L'avantage de cette méthode est que vous pouvez ajouter toutes les entrées à une vue DNS privée, au lieu de les ajouter à tous les /etc/hosts de tous les hôtes Oracle WebLogic Server.

Voici les étapes permettant de créer la vue privée dans le VCN secondaire et de résoudre les noms d'hôte virtuel utilisés par l'hôte principal avec les adresses IP secondaires :

  1. Dans la console OCI, allez à la région secondaire et créez la vue privée.
    1. Cliquez sur Réseau, Gestion DNS, Vues privées, puis sur Créer une vue privée.
      Par exemple, vous pouvez nommer la vue privée HYBRID_DR_VIRTUAL_HOSTNAMES
    2. Cliquez sur Créer une zone dans la vue privée.
      Pour le nom de la zone, vous devez utiliser le domaine complet des hôtes virtuels. Dans cet exemple : example.com.
    3. Ajoutez les noms des hôtes virtuels à cette zone (nom abrégé), mais résolus avec les adresses IP par seconde des hôtes WLS secondaires.
    4. Cliquez sur Publier les modifications.
  2. Ajoutez la vue privée au résolveur de VCN secondaire.
    1. Cliquez sur la ressource de résolveur DNS dans le VCN.
    2. Ajoutez la vue privée DNS créée précédemment.
      Les hôtes du VCN secondaire résolvent les noms d'hôte virtuel utilisés par les hôtes Oracle WebLogic Server principaux à l'aide de la vue privée.
  3. Validez la résolution des hôtes SECONDARY, en exécutant ping et nslookup des noms d'hôte virtuel.
    Ils doivent être résolus avec les PI SECONDAIRES équivalentes.

    Note :

    Vous pouvez trouver le code Terraform pour créer cette vue privée OCI et les enregistrements dans le code de téléchargement.

Créer et configurer l'adresse IP virtuelle pour le serveur d'administration WebLogic

Pour une haute disponibilité, le serveur d'administration WebLogic doit utiliser un nom d'hôte mappé à une adresse IP virtuelle pour permettre le basculement entre les noeuds.

Note :

Ignorez cette tâche si vous n'utilisez pas d'adresse IP virtuelle pour le serveur d'administration dans votre système principal.

Affectez une adresse IP supplémentaire à la carte VNIC de l'instance de calcul apphost1. L'adresse IP supplémentaire est utilisée par le serveur d'administration dans le système Oracle Cloud Infrastructure secondaire (OCI). Bien que cette adresse IP soit normalement attachée à l'instance de calcul apphost1, elle peut être déplacée vers l'instance de calcul apphost2 pour fournir un basculement local pour le serveur d'administration, comme décrit dans EDG.

Une fois la nouvelle adresse IP attachée à la carte VNIC à l'aide de la console OCI, elle doit être configurée dans le système d'exploitation en mode non persistant (car cette adresse IP peut être déplacée de apphost1 à apphost2 pour le basculement du serveur d'administration).

  1. Affectez une nouvelle adresse IP privée secondaire à la carte VNIC de l'instance de calcul apphost1 dans OCI.
    Suivez les étapes décrites dans Pour affecter une nouvelle adresse IP privée secondaire à une carte VNIC de la documentation OCI.
    Indiquez une valeur dans le nom d'hôte qui vous aide à l'identifier en tant qu'adresse IP virtuelle. Par exemple, hydrwls-vip.
  2. Une fois la nouvelle adresse IP attachée à la carte VNIC, configurez la nouvelle adresse IP dans le système d'exploitation en mode non persistant.
    Suivez les étapes décrites dans Linux : Détails sur les adresses IP secondaires.
    Cela est nécessaire, car l'adresse IP peut passer de apphosthost1 à apphosthost2 pour le basculement du serveur d'administration.
    1. Consultez les interfaces réseau et les adresses IP attachées de l'instance de calcul apphosthost1.
      Dans cet exemple, l'adresse IP principale de la carte VNIC est la suivante : inet 100.70.10.13/20 brd 100.70.10.255 scope global dynamic ens3
      [opc@hydrwls1 ~]$ ip addr
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host
             valid_lft forever preferred_lft forever
      2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP group default qlen 1000
          link/ether 00:00:17:00:05:87 brd ff:ff:ff:ff:ff:ff
          inet 100.70.10.13/20 brd 100.70.10.255 scope global dynamic ens3
             valid_lft 60218sec preferred_lft 60218sec
          inet6 fe80::200:17ff:fe00:587/64 scope link
             valid_lft forever preferred_lft forever
    2. En tant que racine, ajoutez l'adresse IP virtuelle à l'interface en tant qu'adresse IP supplémentaire en définissant un numéro de séquence dans l'étiquette.
      [root@hydrwls1 ~]# ip addr add 100.70.10.20/20 dev ens3 label ens3:1
    3. Vérifiez que l'interface a maintenant la nouvelle adresse IP.
      Dans cet exemple, l'adresse IP secondaire de la carte VNIC est la suivante : inet 100.70.10.20/20 scope global secondary ens3:1
      [root@hydrwls1 ~]# ip addr
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host
             valid_lft forever preferred_lft forever
      2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP group default qlen 1000
          link/ether 00:00:17:00:05:87 brd ff:ff:ff:ff:ff:ff
          inet 100.70.10.13/20 brd 100.70.10.255 scope global dynamic ens3
             valid_lft 59873sec preferred_lft 59873sec
          inet 100.70.10.20/20 scope global secondary ens3:1
             valid_lft forever preferred_lft forever
          inet6 fe80::200:17ff:fe00:587/64 scope link
             valid_lft forever preferred_lft forever

Ouvrir les ports requis dans les pare-feu de l'hôte OCI

Chaque instance de calcul dispose d'un service de pare-feu local. Pour des raisons de sécurité, la configuration par défaut consiste à rejeter les connexions pour tous les ports, à l'exception du minimum requis (ssh, dhcp). Vous devez ouvrir les ports utilisés par Oracle WebLogic Server.

  1. En tant qu'utilisateur racine, vérifiez le statut et les règles du service de pare-feu dans chaque instance de calcul Oracle WebLogic Server.
    bash-4.2# firewall-cmd --state
    running
    bash-4.2# firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: ens3
      sources:
      services: dhcpv6-client ssh
      ports:
      protocols:
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:
    Cette sortie signifie qu'il n'y a pas de ports ouverts autres que 22.
  2. En tant qu'utilisateur racine, utilisez les commandes firewall-cmd pour ouvrir les ports utilisés par les composants de votre système dans chaque instance de calcul du serveur WebLogic.
    Par exemple :
    firewall-cmd --permanent --add-port=7001/tcp
    firewall-cmd --permanent --add-port=5556/tcp
    firewall-cmd --permanent --add-port=8001/tcp
    firewall-cmd --permanent --add-port=9001/tcp
    service firewalld reload
  3. Si vous utilisez Coherence, ouvrez tcp et udp pour le port de grappe Coherence (par exemple, 9991), pour les ports éphémères et tcp pour le port 7 :
    Coherence nécessite l'ouverture de ports supplémentaires pour les communications Coherence Cluster.
    sudo firewall-cmd --permanent --add-port=9991/udp
    sudo firewall-cmd --permanent --add-port=9991/tcp
    sudo firewall-cmd --permanent --add-port=32768-60999/udp
    sudo firewall-cmd --permanent --add-port=32768-60999/tcp
    sudo firewall-cmd --permanent --add-port=7/tcp
    sudo service firewalld reload
  4. Vérifier le statut et les règles du service de pare-feu.
    bash-4.2# firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: ens3
      sources:
      services: dhcpv6-client ssh
      ports: 7001/tcp 5556/tcp 8001/tcp 9001/tcp 9991/tcp ...
      protocols:
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:

Monter les systèmes de fichiers OCI

Les systèmes de fichiers créés précédemment sur Oracle Cloud Infrastructure (OCI) doivent être montés dans les instances de calcul Oracle WebLogic Server.

  1. Connectez ssh aux instances de calcul du serveur WebLogic avec l'utilisateur opc et installez le client NFS.
    sudo yum install nfs-utils
  2. Créez les points de montage dans chacune des instances de calcul du serveur WebLogic.
    Par exemple, créez des répertoires pour products, config et runtime. Vos valeurs peuvent différer.
    sudo mkdir -p /u01/oracle/products
    sudo mkdir -p /u01/oracle/config
    sudo mkdir -p /u01/oracle/runtime
  3. En tant qu'utilisateur racine, ajoutez les entrées au répertoire /etc/fstab dans l'instance de calcul apphost1.
    Dans l'exemple suivant, 100.70.8.101 est la valeur d'exemple de l'adresse IP de la cible de montage. Si votre région OCI comporte plus de 1 domaine de disponibilité et que vous avez créé plusieurs points de montage, utilisez l'adresse IP de cible de montage appropriée pour chaque exportation.
    100.70.8.101:/export/wlsdrconfig	       /u01/oracle/config nfs defaults,nofail,nosuid,resvport 0 0
    100.70.8.101:/export/wlsdrruntime          /u01/oracle/runtime nfs defaults,nofail,nosuid,resvport 0 0
    100.70.8.101:/export/wlsdrproducts1        /u01/oracle/products nfs defaults,nofail,nosuid,resvport 0 0
  4. En tant qu'utilisateur racine, ajoutez les entrées au répertoire /etc/fstab dans l'instance de calcul apphost2.
    Dans l'exemple suivant, 100.70.8.101 est la valeur d'exemple de l'adresse IP de la cible de montage. Si votre région OCI comporte plus de 1 domaine de disponibilité et que vous avez créé plusieurs points de montage, utilisez l'adresse IP de cible de montage appropriée pour chaque exportation.
    100.70.8.101:/export/wlsdrconfig	        /u01/oracle/config nfs defaults,nofail,nosuid,resvport 0 0
    100.70.8.101:/export/wlsdrruntime           /u01/oracle/runtime nfs defaults,nofail,nosuid,resvport 0 0
    100.70.8.101:/export/wlsdrproducts2         /u01/oracle/products nfs defaults,nofail,nosuid,resvport 0 0
  5. En tant qu'utilisateur racine, montez les systèmes de fichiers dans chaque instance de calcul wls :
    mount -a 
  6. Vérifiez que les systèmes de fichiers sont correctement montés.
    df -h
    La sortie pour hydrwls1 et hydrwls2 doit ressembler à l'exemple suivant :
    [root@hydrwls1 ~]# df -h
    Filesystem                           Size  Used Avail Use% Mounted on
    devtmpfs                              15G     0   15G   0% /dev
    tmpfs                                 15G     0   15G   0% /dev/shm
    tmpfs                                 15G   25M   15G   1% /run
    tmpfs                                 15G     0   15G   0% /sys/fs/cgroup
    /dev/sda3                             39G  4.4G   35G  12% /
    /dev/sda1                            200M  7.4M  193M   4% /boot/efi
    tmpfs                                3.0G     0  3.0G   0% /run/user/0
    tmpfs                                3.0G     0  3.0G   0% /run/user/994
    tmpfs                                3.0G     0  3.0G   0% /run/user/1000
    100.70.8.101:/export/wlsdrconfig     8.0E     0  8.0E   0% /u01/oracle/config
    100.70.8.101:/export/wlsdrruntime    8.0E     0  8.0E   0% /u01/oracle/runtime
    100.70.8.101:/export/wlsdrproducts1  8.0E     0  8.0E   0% /u01/oracle/products
    [root@hydrwls2 ~]# df -h
    Filesystem                          Size  Used Avail Use% Mounted on
    devtmpfs                             15G     0   15G   0% /dev
    tmpfs                                15G     0   15G   0% /dev/shm
    tmpfs                                15G   25M   15G   1% /run
    tmpfs                                15G     0   15G   0% /sys/fs/cgroup
    /dev/sda3                            39G  4.4G   35G  12% /
    /dev/sda1                           200M  7.4M  193M   4% /boot/efi
    tmpfs                               3.0G     0  3.0G   0% /run/user/0
    tmpfs                               3.0G     0  3.0G   0% /run/user/994
    tmpfs                               3.0G     0  3.0G   0% /run/user/1000
    100.70.8.101:/export/wlsdrconfig    8.0E     0  8.0E   0% /u01/oracle/config
    100.70.8.101:/export/wlsdrruntime   8.0E     0  8.0E   0% /u01/oracle/runtime
    100.70.8.101:/export/wlsdrproducts2  8.0E     0  8.0E   0% /u01/oracle/products
  7. Remplacez la responsabilité des dossiers par l'utilisateur et le groupe oracle.
    [root@hydrwls1 ~]#chown -R oracle:oinstall /u01/oracle/products
    [root@hydrwls1 ~]#chown -R oracle:oinstall /u01/oracle/config
    [root@hydrwls1 ~]#chown -R oracle:oinstall /u01/oracle/runtime
    [root@hydrwls2 ~]#chown -R oracle:oinstall /u01/oracle/products
    [root@hydrwls2 ~]#chown -R oracle:oinstall /u01/oracle/config
    [root@hydrwls2 ~]#chown -R oracle:oinstall /u01/oracle/runtime
    
  8. Connectez-vous en tant qu'utilisateur oracle et vérifiez que vous pouvez créer des fichiers dans ces systèmes de fichiers. Pour les systèmes de fichiers partagés (/u01/oracle/config, /u01/oracle/runtime), vérifiez que lorsque vous créez un fichier dans un hôte, il est visible à partir de l'autre hôte.

Monter les volumes par blocs OCI

Montez les volumes par blocs qui ont été créés précédemment dans les instances de calcul Oracle WebLogic Server.

Par exemple,

Volumes par blocs Instance de calcul Point de montage
wlsdrBV1 hydrwls1 /u02
wlsdrBV2 hydrwls2 /u02
  1. Accédez par SSH à tous les hôtes du serveur WebLogic en tant qu'utilisateur racine, et créez le dossier qui sera utilisé comme point de montage.
    [root@hydrwls1 ~]# mkdir -p /u02
  2. Connectez-vous à la console Oracle Cloud Infrastructure (OCI) de votre location.
  3. Sélectionnez la région appropriée.
  4. Ouvrez le menu de navigation et cliquez sur Stockage, Stockage par blocs, puis sur Volumes par blocs.
  5. Cliquez sur l'un des volumes par blocs.
  6. Cliquez sur Instances attachées, puis sur Attacher à l'instance.
    1. Sélectionnez le type d'attachement iSCSI.
      Les performances d'IOPS sont meilleures avec les attachements iSCSI qu'avec les attachements paravirtualisés.
    2. Sélectionnez Type d'accès en lecture/écriture.
    3. Sélectionnez l'instance de calcul appropriée.
  7. Attacher à l'instance de calcul.
  8. Une fois que le volume est attaché, cliquez sur Commandes iSCSI et informations dans l'attachement de volume par blocs pour exécuter les commandes iSCSI du volume par blocs.
    La boîte de dialogue Commandes iSCSI et informations affiche les commandes iSCSI dont vous aurez besoin. Les commandes sont prêtes à être utilisées avec les informations appropriées incluses. Vous pouvez copier et coller les commandes dans la session de l'instance de calcul.
  9. Listez les volumes et identifiez-en un nouveau.
    Par exemple :
    bash-4.2# lsblk
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sdb      8:16   0   50G  0 disk ------------> this is the new one
    sda      8:0    0 46.6G  0 disk
    ├─sda2   8:2    0    8G  0 part [SWAP]
    ├─sda3   8:3    0 38.4G  0 part /
    └─sda1   8:1    0  200M  0 part /boot/efi
  10. Formatez le nouveau volume.
    Par exemple :
    bash-4.2# mkfs.xfs -f /dev/sdb
    
    meta-data=/dev/sdb               isize=256    agcount=4, agsize=3276800 blks
             =                       sectsz=4096  attr=2, projid32bit=1
             =                       crc=0        finobt=0, sparse=0, rmapbt=0
             =                       reflink=0
    data     =                       bsize=4096   blocks=13107200, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
    log      =internal log           bsize=4096   blocks=6400, version=2
             =                       sectsz=4096  sunit=1 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
  11. Montez le volume.
    1. Utilisez la commande blkid pour identifier l'UUID du nouveau volume par blocs.
      Par exemple :
      bash-4.2# blkid
      /dev/sda3: UUID="1517ce80-df91-45cc-a27e-2aa38b3f6646" TYPE="xfs" PARTUUID="c42a8415-7230-42bb-970a-3b4c3142d279"
      /dev/sda1: SEC_TYPE="msdos" UUID="A1E6-54F8" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="78756fd0-3be7-4fbb-b8a8-3d6f68a84b34"
      /dev/sda2: UUID="5384ac33-8ffe-4ad8-8d40-6307f2756dc5" TYPE="swap" PARTUUID="0adbce70-6c26-44fd-bec5-c191a6f9e02f"
      /dev/sdb: UUID="47955773-743f-4bde-bf2f-68ce0f71dbf9" TYPE="xfs"
    2. Modifiez le fichier /etc/fstab et ajoutez la ligne pour monter le volume par blocs.
      Par exemple :
      UUID=47955773-743f-4bde-bf2f-68ce0f71dbf9 /u02 xfs defaults,_netdev,nofail 0 2
    3. Montez le volume par blocs.
      bash-4.2# mount -a
    4. Vérifiez qu'il est monté.
      [opc@hydrwls1 ~]$ df -h
      Filesystem                              Size  Used Avail Use% Mounted on
      devtmpfs                                15G     0   15G   0% /dev
      tmpfs                                   15G     0   15G   0% /dev/shm
      tmpfs                                   15G  8.8M   15G   1% /run
      …
      /dev/sdb                                50G   33M   50G   1% /u02
      …
  12. Une fois le volume par blocs monté, remplacez la responsabilité du montage par l'utilisateur oracle approprié.
    bash-4.2# chown oracle:oinstall /u02
  13. Redémarrez l'hôte et vérifiez que le volume par blocs est monté automatiquement après le redémarrage.
  14. Répétez les étapes de montage des volumes par blocs dans le reste des hôtes secondaires du serveur WebLogic.
    Pour plus d'informations sur l'attachement d'un volume, voir la documentation sur Oracle Cloud Infrastructure.

Créer l'alias TNS

Créez le répertoire TNS et le fichier tnsnames.ora qui pointent vers le système de base de données Oracle Cloud Infrastructure (OCI). Comme la configuration du domaine WebLogic dans le secondaire sera une copie du domaine principal, vous devez créer les mêmes artefacts que dans le domaine principal pour utiliser l'approche d'alias TNS dans les sources de données WebLogic.

  1. En tant qu'utilisateur oracle, créez le dossier tns dans chaque instance de calcul du serveur WebLogic, en utilisant le même chemin que celui utilisé dans les hôtes de niveau intermédiaire principaux.
    Il doit s'agir d'un dossier local qui n'est pas répliqué à partir du dossier principal.
    [oracle@hydrwls1 ~]$ mkdir -p /home/oracle/tnsnames_dir
    [oracle@hydrwls2 ~]$ mkdir -p /home/oracle/tnsnames_dir
  2. Créez un fichier tnsnames.ora dans le répertoire avec le même alias tns que celui utilisé dans l'instance principale, mais pointant vers l'adresse du système de base de données OCI.

    Le nom du service doit être identique dans les noms principal et secondaire.

    MYPDBSERVICE =
    (DESCRIPTION=
      (ADDRESS_LIST=
        (LOAD_BALANCE=ON)
        (ADDRESS=(PROTOCOL=TCP)(HOST=hydrdb-scan.dbTierSubnet.hydrvcn.oraclevcn.com)(PORT=1521))
      )
      (CONNECT_DATA=(SERVICE_NAME=mypdbservice.example.com))
    )

Créer les variables d'environnement utilisateur oracle

Il est courant d'avoir des variables d'environnement liées à WebLogic dans le profil de l'utilisateur oracle dans les hôtes WebLogic. Par exemple, ORACLE_HOME, JDK_HOME, PATH, ASERVER_HOME et autres.

  1. Vérifiez les fichiers de profils de l'utilisateur oracle dans les hôtes principaux du serveur WebLogic.
  2. Dans secondaire, ajoutez les mêmes variables d'environnement WebLogic connexes aux fichiers de profil de l'utilisateur oracle (.bashrc ou .bash_profile).

    Note :

    Le fichier .bashrc de l'utilisateur oracle dans les hôtes du serveur WebLogic secondaire peut déjà contenir des variables définies (telles que MIDDLEWARE_HOME, WLS_HOME et d'autres), mais elles ne correspondent probablement pas aux dossiers de votre environnement et ne sont pas valides pour vous. Assurez-vous de les supprimer ou de les modifier en conséquence dans vos dossiers d'environnement.