Préparez 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 site. Les instances de calcul doivent utiliser l'image de système d'exploitation et la forme de calcul les plus semblables possibles à celles utilisées par les hôtes on-premise.

Pour tirer parti de la licence Oracle Customer Hub (UCM) pour Oracle WebLogic Server for Oracle Cloud Infrastructure, Oracle recommande d'utiliser WebLogic pour les images OCI afin de 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 de Marketplace. Ces images sont disponibles pour les systèmes d'exploitation Oracle Linux 7.9 et 8.5.

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

Nom Compartiment Domaine de disponibilité IMAGE FORME VCN Sous-réseau
hydrwls1 HyDRCompmt AD1 Image UCM Oracle WebLogic Suite (Oracle Linux 7.9) VM.Standard2.2 hydrvcn midTierSubnet
hydrwls2 HyDRCompmt AD1 Image UCM 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 dans la console OCI, procédez comme suit :

  1. Connectez-vous à la console OCI de votre location.
  2. Sélectionnez la région appropriée.
  3. Ouvrez le menu de navigation et cliquez sur Compute. Sous Compute, cliquez sur Instances, puis sur Créer une instance.
  4. Indiquez le nom de l'instance de calcul et du compartiment.
  5. Sous Placement, 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 procédez comme suit :
    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 site.

      Remarque :

      L'utilisation de sources de données Oracle WebLogic Server GridLink est une habilitation 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 build d'image pour les images payantes, à savoir Oracle Linux 7.9 (libellé release-ol7.9-build-timestamp) ou Oracle Linux 8.5 (libellé release-ol8.5-build-timestamp).
      Vous devez sélectionner le système d'exploitation le plus semblable à celui que vous utilisez dans votre instance sur site.
    3. Consultez les conditions générales et cochez la case Conditions d'utilisation 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 la forme la plus semblable aux hôtes principaux.
    Pour rechercher les formes prises en charge, reportez-vous à Formes des images.
  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 de pannes, cliquez sur Afficher les options avancées.
  9. Configurez le réseau pour l'instance.
    Pour spécifier des paramètres réseau avancés, cliquez sur Afficher les options avancées.
  10. Sous Ajouter des clés SSH, générez une clé, puis téléchargez la clé publique ou collez-les.
  11. Sous Volume d'initialisation, indiquez les options de taille et de cryptage du volume d'initialisation de l'instance.
    Pour configurer des paramètres avancés, cliquez sur Afficher les options avancées.
  12. Cliquez sur Créer.
  13. Répétez les étapes pour créer une autre instance de calcul.

Remarque :

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

Préparation des utilisateurs et des groupes du système d'exploitation

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

Les images Oracle WebLogic Server for Oracle Cloud Infrastructure disposent déjà d'un utilisateur et d'un groupe oracle. Toutefois, ces valeurs (nom utilisateur, nom de groupe, uid et gid) peuvent ne pas correspondre aux valeurs de 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 des 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 sur les hôtes principaux en vous connectant à un hôte sur site 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'utilisateurs et de groupes pour un environnement sur site standard.

    Utilisateur ou groupe Nom ID Description
    Utilisateur à l'adresse oracle 1001 Le propriétaire des logiciels 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 à un hôte secondaire avec l'utilisateur opc, puis exécutez sudo pour passer à 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 indique l'utilisateur et le groupe oracle qui existent déjà dans les instances de calcul secondaires.

    Utilisateur ou groupe Nom ID Description
    Utilisateur à l'adresse oracle 1001 Le propriétaire des logiciels Oracle
    Groupes à l'adresse oracle 1001 Groupe principal de l'utilisateur oracle
    docker 1002 Groupe secondaire de l'utilisateur oracle
  3. Voici des scénarios et des solutions possibles :
    • Les utilisateurs et les groupes secondaires sont des noms et des ID différents de ceux du noeud principal.

      Solution : créez les utilisateurs et les groupes dans l'instance secondaire tels qu'ils existent dans l'instance principale.

    • Les utilisateurs et les groupes secondaires portent les mêmes noms mais des ID différents de ceux du noeud principal.

      Solution : modifiez les ID dans l'instance secondaire pour qu'ils correspondent à ceux de l'instance principale.

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

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

    • Il existe 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 groupe secondaire, puis créez le ou les groupes dans le groupe secondaire pour qu'ils correspondent à ceux du groupe principal.

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

    Action Commande (exécutée en tant que root)
    Pour créer un 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 {} \;

    Remarque :

    Oracle recommande d'effectuer les modifications dans les instances de calcul OCI secondaires. Ne modifiez pas les valeurs d'ID dans la base de données principale.

    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 groupe 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 autre ID non conflictuel. Par exemple, sélectionnez 1005 comme nouvel ID et vérifiez qu'il n'est pas utilisé en vous assurant 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 code du groupe par le nouveau code.
      [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 groupe 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 autre ID non conflictuel. Par exemple, sélectionnez 1006 comme nouvel ID et vérifiez qu'il n'est pas utilisé en vous assurant 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 code du groupe par le nouveau code.
      [opc@hydrwls1 ~]$ sudo -s 
      [root@hydrwls1 ~]$ groupmod -g 1006 oracle
      [root@hydrwls1 ~]$ find / -group 1001 -exec chgrp -h oracle {} \;
    3. Créez les groupes oinstall et dba de l'utilisateur oracle sur 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 les mêmes nom et ID dans la base de données principale et de secours. Aucune modification n'est donc 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
      Ensuite, 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 au groupe principal et au groupe secondaire.
      Sortie dans le serveur principal :
      [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é) Réinitialisez 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'établir une connexion directe pour exécuter les commandes utilisées pour copier le contenu du système de fichiers du serveur principal vers le serveur secondaire.
    1. Copiez la clé publique que vous utilisez pour vous connecter aux instances de calcul dans un fichier texte. Vous l'utiliserez plus loin dans cette procédure.
    2. Connectez-vous à l'instance et sudo à l'utilisateur root.
    3. Créez un répertoire .ssh dans le répertoire de base du nouvel utilisateur.
      mkdir -p /home/oracle/.ssh
    4. Copiez dans le fichier la clé publique SSH que vous utilisez pour vous connecter au calcul.
      /home/oracle/.ssh/authorized_keys
    5. Remplacez le propriétaire 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 à SSH à l'aide de l'utilisateur oracle et de votre clé privée.
    7. Définissez les droits d'accès du fichier authorized_keys sur 600.
      chmod 600 /home/oracle/.ssh/authorized_keys

Préparation de la configuration requise pour le 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 à partir des hôtes du serveur WebLogic principal vers les hôtes du serveur WebLogic secondaire. Par conséquent, il n'est pas nécessaire d'exécuter runinstaller dans les hôtes du serveur WebLogic secondaire. Les images Oracle WebLogic Server for OCI sont préparées pour le logiciel WebLogic Server. Par conséquent, aucun package supplémentaire ne doit être ajouté manuellement.

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

  1. Assurez-vous que votre environnement respecte la configuration minimale requise pour l'installation des produits installés sur les hôtes principaux du serveur WebLogic.
  2. Vérifiez les packages système requis pour votre version et votre système d'exploitation.
  3. Installez les packages système manquants avec yum.
    Cet exemple utilise Oracle Fusion Middleware 12.21.4 et Oracle Linux 7. La plupart des packages 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 dans les hôtes de serveur WebLogic sur site 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 Oracle Cloud Infrastructure (OCI) WebLogic Server secondaires, mais pointez sur les adresses IP des hôtes secondaires.
Vous pouvez l'implémenter de l'une des manières suivantes :
  • 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 des fichiers /etc/hosts

Les noms d'hôte virtuel utilisés par l'instance Oracle WebLogic Server principale 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 sur les sites principaux sur site et secondaires Oracle Cloud Infrastructure (OCI), ainsi que lorsque des serveurs DNS séparés sont utilisés sur les sites principal et secondaire. Les entrées du fichier /etc/hosts ont la priorité sur la résolution DNS, car il s'agit de la priorité prédéfinie dans la directive "hosts" du fichier /etc/nsswitch.conf.
  1. Modifiez le fichier /etc/oci-hostname.conf de chaque instance de calcul WebLogic Server et définissez la propriété PRESERVE_HOSTINFO=3 pour conserver les entrées /etc/hosts lors des réinitialisations d'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 du fichier /etc/hosts dans l'instance de calcul WebLogic Server 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 du serveur WebLogic principal :
    #################################
    # 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
    

Utilisation du 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 sur site principal et secondaire sur Oracle Cloud Infrastructure (OCI). Sinon, cela peut entraîner des conflits dans la résolution de noms. Le serveur de chaque site doit résoudre ces noms avec leurs 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 à toutes les entrées /etc/hosts de tous les hôtes Oracle WebLogic Server.

Les étapes suivantes permettent 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, accédez à la région secondaire et créez la vue privée.
    1. Cliquez sur Fonctions de 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 zone, vous devez utiliser le domaine complet des hôtes virtuels. Dans cet exemple : example.com.
    3. Ajoutez les noms d'hôtes virtuels à cette zone (nom abrégé), mais résolus avec les noms IPS des hôtes WLS secondaires.
    4. Cliquez sur Publier les modifications.
  2. Ajoutez la vue privée au résolveur 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ésoudront 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 effectuant les opérations ping et nslookup sur les noms d'hôte virtuel.
    Elles doivent être résolues avec les adresses IP SECONDAIRES équivalentes.

    Remarque :

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

Création et configuration de l'adresse IP virtuelle pour le serveur d'administration WebLogic

Pour la haute disponibilité, le serveur d'administration WebLogic doit utiliser un nom d'hôte mis en correspondance avec une adresse IP virtuelle pour autoriser le basculement sur les noeuds.

Remarque :

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

Affectez une adresse IP supplémentaire à la carte d'interface réseau virtuelle 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 (OCI) secondaire. 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 afin de fournir un basculement local pour le serveur d'administration, comme décrit dans l'EDG.

Une fois la nouvelle adresse IP attachée à la carte d'interface réseau virtuelle à 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 vers apphost2 pour le basculement du serveur d'administration).

  1. Affectez une nouvelle adresse IP privée secondaire à la carte d'interface réseau virtuelle de l'instance de calcul apphost1 dans OCI.
    Fournissez 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 VNIC, configurez-la dans le système d'exploitation en mode non persistant.
    Suivez les étapes décrites dans Linux : détails sur les adresses IP secondaires.
    Cette opération est nécessaire car l'adresse IP peut passer de apphosthost1 à apphosthost2 pour le basculement du serveur d'administration.
    1. Affichez 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 d'interface réseau virtuelle 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 qu'utilisateur root, 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 dispose désormais de la nouvelle adresse IP.
      Dans cet exemple, l'adresse IP secondaire de la carte d'interface réseau virtuelle 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

Ouverture des 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 root, 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'aucun autre port n'est ouvert que 22.
  2. En tant qu'utilisateur root, utilisez les commandes firewall-cmd pour ouvrir les ports utilisés par les composants de votre système dans chaque instance de calcul de 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 cluster Coherence (par exemple, 9991), pour les ports éphémères et tcp pour le port 7 :
    Coherence vous demande d'ouvrir des ports supplémentaires pour les communications de cluster Coherence.
    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érifiez 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:

Montage des systèmes de fichiers OCI

Les systèmes de fichiers précédemment créés 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 être différentes.
    sudo mkdir -p /u01/oracle/products
    sudo mkdir -p /u01/oracle/config
    sudo mkdir -p /u01/oracle/runtime
  3. En tant qu'utilisateur root, 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 de l'adresse IP de la cible de montage. Si votre région OCI comporte plus d'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 export.
    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 root, 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 de l'adresse IP de la cible de montage. Si votre région OCI comporte plus d'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 export.
    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 root, 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 propriété 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.

Montage des volumes de blocs OCI

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

Par exemple :

Block Volume Instance Compute Point de montage
wlsdrBV1 hydrwls1 /u02
wlsdrBV2 hydrwls2 /u02
  1. Connectez-vous via SSH à tous les hôtes du serveur WebLogic en tant qu'utilisateur root 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 la location.
  3. Sélectionnez la région appropriée.
  4. Ouvrez le menu de navigation et cliquez sur Storage, Block Storage, puis sur Block Volumes.
  5. Cliquez sur l'un des volumes de blocs.
  6. Cliquez sur Instances attachées, puis sur Attacher à l'instance.
    1. Sélectionnez le type d'attachement iSCSI.
      Les performances d'E/S par seconde sont meilleures avec les attachements iSCSI qu'avec les attachements paravirtualisés.
    2. Sélectionnez le type d'accès Lecture/Ecriture.
    3. Sélectionnez l'instance de calcul appropriée.
  7. Associez-le à l'instance de calcul.
  8. Une fois le volume attaché, cliquez sur Commandes et informations iSCSI dans l'attachement Block Volume pour exécuter les commandes iSCSI du volume de blocs.
    La boîte de dialogue Commandes et informations iSCSI 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 votre session d'instance de calcul.
  9. Répertoriez les volumes et identifiez le 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 de 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 de blocs.
      Par exemple :
      UUID=47955773-743f-4bde-bf2f-68ce0f71dbf9 /u02 xfs defaults,_netdev,nofail 0 2
    3. Montez le volume de 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 de blocs monté, remplacez le propriétaire 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 de blocs est monté automatiquement après le redémarrage.
  14. Répétez les étapes pour monter les volumes de blocs dans les autres hôtes du serveur WebLogic secondaire.
    Pour plus d'informations sur l'attachement d'un volume, reportez-vous à la documentation Oracle Cloud Infrastructure.

Création de 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). La configuration de domaine WebLogic dans le domaine secondaire étant une copie du domaine principal, vous devez créer les mêmes artefacts que 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 de serveur WebLogic, à l'aide du 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 la base de données principale, mais pointant vers l'adresse du système de base de données OCI.

    Le nom du service doit être identique dans le service principal et dans le service 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éez 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 du serveur WebLogic principal.
  2. En secondaire, ajoutez les mêmes variables d'environnement liées à WebLogic aux fichiers de profil de l'utilisateur oracle (.bashrc ou .bash_profile).

    Remarque :

    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 autres), mais il est probable qu'elles ne correspondent pas aux dossiers de votre environnement et ne sont pas valides pour vous. Veillez à les supprimer ou à les modifier en conséquence dans vos dossiers d'environnement.