Prepare a Camada Intermediária na OCI

Provisione e prepare os hosts de camada intermediária para recuperação de desastres no Oracle Cloud Infrastructure (OCI).

Provisionar as Instâncias de Computação para os Nós de Camada Intermediária

Crie uma instância de computação na sub-rede da camada intermediária do Oracle Cloud Infrastructure (OCI) para cada host principal do Oracle WebLogic Server local. As instâncias de computação devem usar a imagem do sistema operacional e a forma de computação que sejam o mais semelhantes possível à imagem e à forma usadas pelos hosts locais.

Para aproveitar o licenciamento do Oracle Customer Hub (UCM) para o Oracle WebLogic Server for Oracle Cloud Infrastructure, a Oracle recomenda o uso de WebLogic para imagens do OCI para provisionar as instâncias de computação. Você pode provisionar imagens do Oracle WebLogic Server for OCI usando a Console da Instância do Serviço Compute ou o Marketplace. Essas imagens estão disponíveis para os sistemas operacionais Oracle Linux 7.9 e 8.5.

Este exemplo usa duas instâncias de computação em um único domínio de disponibilidade dentro do compartimento, conforme mostrado na tabela.

Nome Compartimento Domínio de Disponibilidade IMAGEM FORMA VCN Sub-rede
hydrwls1 HyDRCompmt AD1 Imagem do Oracle WebLogic Suite UCM (Oracle Linux 7.9) VM.Standard2.2 hydrvcn midTierSubnet
hydrwls2 HyDRCompmt AD1 Imagem do Oracle WebLogic Suite UCM (Oracle Linux 7.9) VM.Standard2.2 hydrvcn midTierSubnet

Para provisionar as instâncias de computação usando a seção Compute Instance na Console do OCI:

  1. Conecte-se à Console do OCI para sua tenancy.
  2. Selecione a região apropriada.
  3. Abra o menu de navegação e clique em Compute. Em Compute, clique em Instâncias e, em seguida, clique em Criar Instância.
  4. Forneça o nome da instância de computação e do compartimento.
  5. Em Colocação, selecione o Domínio de Disponibilidade no qual a instância será criada.
    Se a Região do OCI tiver mais de um Domínio de Disponibilidade, você poderá colocar as instâncias de computação WebLogic em diferentes Domínios de Disponibilidade.
  6. Em Imagem e Forma, clique em Alterar Imagem e execute as seguintes etapas:
    1. No menu drop-down de origem Imagem, selecione Imagens da Oracle. Selecione Oracle WebLogic Server Enterprise Edition UCM Image ou Oracle WebLogic Suite UCM Image.
      Selecione a mesma Edição que você está usando em sua instância local.

      Observação:

      O uso das origens de dados do Oracle WebLogic Server GridLink é um direito disponível apenas como parte da licença do Oracle WebLogic Suite.

    2. Para a imagem selecionada, clique na seta à direita e selecione a versão de build da imagem para as imagens pagas, Oracle Linux 7.9 (denominada release-ol7.9-build-timestamp) ou Oracle Linux 8.5 (denominada release-ol8.5-build-timestamp.
      Selecione o SO mais semelhante ao que você está usando na sua instância local.
    3. Revise os termos e condições e marque a caixa de seleção Termos de Uso da Oracle e clique em Selecionar Imagem.
  7. Em Imagem e Forma, clique em Alterar Forma. Selecione o Tipo de Instância e selecione a forma mais semelhante aos hosts principais.
    Consulte Formas para as imagens para localizar as formas suportadas.
  8. Selecione a VCN, a sub-rede e o Domínio de Disponibilidade do seu ambiente.
    Para especificar o tipo de capacidade e o domínio de falha, clique em Mostrar opções avançadas.
  9. Configure a rede para a instância.
    Para especificar definições de rede avançadas, clique em Mostrar opções avançadas.
  10. Em Adicionar chaves SSH, crie uma chave, faça upload de sua chave pública ou cole as chaves.
  11. Em Volume de Inicialização, especifique as opções de tamanho e criptografia para o volume de inicialização da instância.
    Para configurar definições avançadas, clique em Mostrar opções avançadas.
  12. Clique em Criar.
  13. Repita as etapas para criar outra instância de computação.

Observação:

Você pode encontrar o código do Terraform para criar essas instâncias de computação em Fazer Download do Código.

Preparar os Grupos e Usuários do Sistema Operacional

O mesmo usuário e grupo usados pelo software Oracle local principal são necessários nas instâncias de computação secundárias.

As imagens do Oracle WebLogic Server for Oracle Cloud Infrastructure já têm um usuário e um grupo da oracle. No entanto, esses valores (nome do usuário, nome do grupo, uid e gid) podem não corresponder aos valores que você tem na sua instância principal e você precisará configurar os hosts secundários para corresponder aos valores do usuário e do grupo oracle principal. Os exemplos a seguir mostram como configurar os hosts secundários nesta camada para corresponder aos valores do usuário e do grupo oracle principais.

Cada grupo e usuário nas instâncias de computação do OCI devem ter o mesmo ID em cada nó e o mesmo que no principal.
  1. Identifique o usuário, o grupo e os IDs do usuário oracle nos hosts principais fazendo log-in em um host local com o usuário oracle e, em seguida, use o comando 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

    A tabela a seguir mostra um exemplo de usuário e grupos para um ambiente local típico.

    Usuário ou Grupo Nome ID Descrição
    Usuário oracle 1001 O proprietário do software Oracle
    Grupos oinstall 1002 Grupo principal do usuário oracle
    dba 1001 Grupo secundário do usuário oracle
  2. Identifique os usuários, os grupos e os IDs que existem nos hosts secundários usando SSH para acessar sua instância recém-criada como o usuário opc. Faça log-in em hosts secundários com o usuário opc, depois de sudo para o usuário oracle e execute o comando 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

    A tabela a seguir mostra o usuário oracle e o grupo que já existem nas instâncias de computação secundárias.

    Usuário ou Grupo Nome ID Descrição
    Usuário oracle 1001 O proprietário do software Oracle
    Grupos oracle 1001 Grupo principal do usuário oracle
    docker 1002 Grupo secundário do usuário oracle
  3. Estes são os cenários e soluções possíveis:
    • Os usuários e grupos no secundário são nomes e IDs diferentes dos principais.

      Solução: Crie os usuários e grupos na instância secundária à medida que eles existirem na instância principal.

    • Os usuários e grupos em secundário são os mesmos nomes, mas IDs diferentes do principal.

      Solução: altere os IDs no secundário para corresponder aos IDs do principal.

    • Os usuários e grupos do secundário são nomes diferentes dos nomes do principal, mas os mesmos IDs.

      Solução: Altere os nomes do usuário e do grupo no secundário.

    • Há conflitos: alguns IDs do usuário ou grupos principais são usados por outros usuários ou grupos no secundário.

      Solução: Corrija o conflito alterando o ID do usuário ou grupo conflitante no secundário e, em seguida, crie o usuário ou os grupos no secundário para corresponder aos que estão no principal.

    A tabela a seguir é um resumo dos comandos que podem ser usados para resolver conflitos:

    Ação Comando (executar como raiz)
    Para criar um novo grupo groupadd group_name -g group_id

    Por exemplo:

    groupadd oinstall -g 1002 groupadd dba -g 1001
    Para criar um novo usuário useradd -u user_id user_name -g principal_group -G other groups

    Por exemplo:

    useradd -u 1001 oracleuser -g oinstall -G dba
    Para alterar o grupo principal do usuário usermod -g new_primary_groupname user_name
    Para adicionar um usuário a um grupo usermod -a -G secondary_groupname user_name
    Para alterar o ID de um usuário

    usermod -u new_id user_name

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

    Por exemplo, o seguinte altera o ID do usuário oracle de 1001 para 501:

    usermod -u 501 oracle

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

    Para alterar o ID de um grupo

    groupmod -g new_id group_name

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

    Por exemplo, o seguinte altera o ID do grupo oracle de 1001 para 501:

    groupmod -g 501 oracle

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

    Observação:

    A Oracle recomenda a execução das alterações nas instâncias de computação secundárias do OCI. Não modifique os valores de ID no principal.

    Veja a seguir um exemplo em que os IDs dos grupos usados nos hosts principais já são usados por outros grupos nos hosts secundários. Para resolver esse conflito, são necessárias as seguintes ações:

    1. O grupo docker no secundário está usando o ID 1002, que está em conflito com o ID do grupo principal oinstall.
      Para resolver o conflito, altere o ID do grupo docker nos hosts secundários para um ID diferente e não conflitante. Por exemplo, selecione 1005 como o novo ID e verifique se ele não é usado confirmando que ele não aparece no arquivo /etc/group.
      [opc@hydrwls1 ~]$ sudo -s  
      [root@hydrwls1 ~]$ more /etc/group | grep 1005
      Quando você confirmar que o ID não é utilizado, altere o ID do grupo para o novo ID.
      [opc@hydrwls1 ~]$ sudo -s 
      [root@hydrwls1 ~]$ groupmod -g 1005 docker
      [root@hydrwls1 ~]$ find / -group 1002 -exec chgrp -h docker {} \;
    2. O grupo oracle no secundário usa o ID 1001, que está em conflito com o id do grupo principal dba.
      Para resolver o conflito, altere o ID do grupo oracle nos hosts secundários para um ID diferente e não conflitante. Por exemplo, selecione 1006 como o novo ID e verifique se ele não é usado confirmando que não aparece no arquivo /etc/group.
      [opc@hydrwls1 ~]$ sudo -s 
      [root@hydrwls1 ~]$ more /etc/group | grep 1006
      Quando você confirmar que o ID não é utilizado, altere o ID do grupo para o novo ID.
      [opc@hydrwls1 ~]$ sudo -s 
      [root@hydrwls1 ~]$ groupmod -g 1006 oracle
      [root@hydrwls1 ~]$ find / -group 1001 -exec chgrp -h oracle {} \;
    3. Crie grupos de usuários oracle oinstall e dba nos hosts secundários com os mesmos IDs dos IDs principais.
      [opc@hydrwls1 ~]$ sudo -s
      [root@hydrwls1 ~]$ groupadd oinstall -g 1002
      [root@hydrwls1 ~]$ groupadd dba -g 1001
    4. O usuário oracle tem o mesmo nome e ID no principal e no stand-by; portanto, não são necessárias alterações.
      No entanto, você precisa alterar o grupo principal do usuário para oinstall nos hosts secundários.
      [root@hydrwls1 ~]$ usermod -g oinstall oracle
      Em seguida, adicione o usuário ao grupo dba.
      [root@hydrwls1 ~]$ usermod -a -G dba oracle
    5. Confirme se a saída do comando id para o usuário oracle nos hosts secundários corresponde à principal para os grupos principal e secundário.
      Saída na instância principal:
      [oracle@host3.myopnetwork.com ~]$ id
      uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba)
      Saída no secundário (o secundário pode ter grupos adicionais):
      oracle@hydrwls1 ~]$ id
      uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba),1005(docker)
              …
    6. (Recomendado) Execute uma reinicialização do host após essas alterações.
  4. (Opcional, mas recomendado) Ative o acesso SSH ao usuário oracle.
    Ela é útil nesta topologia de DR porque permite ao usuário oracle uma conexão direta para executar os comandos usados para copiar o conteúdo do sistema de arquivos da principal para a secundária.
    1. Copie a chave pública que você usa para estabelecer conexão com as instâncias de computação para um arquivo de texto. Você o usará mais adiante neste procedimento.
    2. Faça log-in na instância e sudo no usuário raiz.
    3. Crie um diretório .ssh no diretório home do novo usuário.
      mkdir -p /home/oracle/.ssh
    4. Copie a chave pública SSH usada para estabelecer conexão com a computação no arquivo.
      /home/oracle/.ssh/authorized_keys
    5. Altere o proprietário e o grupo do diretório /home/oracle/.ssh para o usuário oracle.
      chown -R oracle:oinstall /home/oracle/.ssh
    6. Verifique a conexão conectando-se ao SSH usando o usuário oracle e sua chave privada.
    7. Faça com que as permissões do arquivo authorized_keys sejam 600.
      chmod 600 /home/oracle/.ssh/authorized_keys

Preparar os Requisitos do Sistema Operacional

Os hosts de camada intermediária secundária devem atender aos requisitos do sistema operacional para executar o software.

Os binários dos homes do Oracle WebLogic Server serão copiados dos hosts principais do WebLogic Server para os hosts secundários do WebLogic Server. Portanto, não é necessário executar o runinstaller nos hosts secundários do Servidor WebLogic. As imagens do Oracle WebLogic Server for OCI são preparadas para o software WebLogic Server; portanto, não é necessário adicionar pacotes adicionais manualmente.

No entanto, se você estiver usando qualquer produto do Oracle Fusion Middleware em cima do WebLogic Server, certifique-se de que os hosts secundários do WebLogic Server atendam aos requisitos:

  1. Certifique-se de que seu ambiente atenda aos requisitos mínimos de instalação para os produtos que estão instalados nos hosts principais do WebLogic Server.
  2. Verifique OS pacotes de sistema necessários para a versão e o SO.
  3. Instale os pacotes de sistema ausentes com o yum.
    Este exemplo usa o Oracle Fusion Middleware 12.21.4 e o Oracle Linux 7 e a maioria dos pacotes necessários já está instalada nas instâncias de computação da camada intermediária do Oracle Cloud Infrastructure (OCI). Neste exemplo, os itens a seguir estavam ausentes e precisavam ser instalados usando o 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. Configure os limites file e proc no arquivo /etc/security/limits.conf. Verifique os limites em seus hosts locais do WebLogic Server e defina os valores nas instâncias de computação do WebLogic Server do OCI de acordo.

Preparar Aliases do Nome do Host

Configure os mesmos nomes de host virtual usados pelos componentes do Oracle WebLogic Server no ambiente principal como aliases nas instâncias de computação secundárias do Oracle Cloud Infrastructure (OCI) WebLogic Server, mas aponte para os endereços IP dos hosts secundários.
Você pode implementar isso das seguintes maneiras:
  • Adicione os nomes de host como aliases aos arquivos /etc/hosts das instâncias de computação do WebLogic Server do OCI.
  • Use uma view de DNS privado na VCN do OCI secundária.

Usar Arquivos /etc/hosts

Os nomes de host virtual usados pelo Oracle WebLogic Server principal são adicionados aos arquivos /etc/hosts dos hosts secundários do Oracle WebLogic Server, apontando para os endereços IP dos hosts secundários do Oracle WebLogic Server. Esse modo é válido quando o servidor DNS é o mesmo no local principal e nos sites secundários do Oracle Cloud Infrastructure (OCI) e também quando servidores DNS separados são usados nos sites principal e secundário. As entradas no arquivo /etc/hosts têm precedência sobre a resolução de DNS, porque essa é a precedência definida pronta para uso na diretiva "hosts" do arquivo /etc/nsswitch.conf.
  1. Edite o arquivo /etc/oci-hostname.conf de cada instância de computação do WebLogic Server e defina a propriedade PRESERVE_HOSTINFO=3 para preservar as entradas /etc/hosts nas reinicializações da instância.
  2. Use o comando hostname --fqdn para identificar os nomes de host completos das instâncias de computação do WebLogic Server do OCI.
  3. Adicione as seguintes entradas ao arquivo /etc/hosts das instâncias de computação do WebLogic Server do 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    
    
    Veja a seguir um exemplo do arquivo /etc/hosts na instância de computação secundária do WebLogic Server do OCI:
    #################################
    # 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
    Veja a seguir um exemplo do arquivo /etc/hosts existente dos hosts principais do Servidor 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
    

Usar o Sistema de Nomes de Domínio (DNS)

Os nomes de host virtual usados pelos hosts principais do Oracle WebLogic Server são adicionados ao resolvedor de DNS usado pela VCN dos servidores de camada intermediária secundários, apontando para os endereços IP dos hosts secundários do Oracle WebLogic Server. Esse modo é válido quando servidores DNS separados são usados no local principal e no secundário no Oracle Cloud Infrastructure (OCI). Caso contrário, poderá causar conflitos na resolução de nomes. O servidor de cada site deve resolver esses nomes com seus próprios IPs. A vantagem desse método é que você pode adicionar todas as entradas a uma view de DNS privada, em vez de adicioná-las a todas as /etc/hosts de todos os hosts do Oracle WebLogic Server.

Veja a seguir as etapas para criar a view privada na VCN secundária e resolver os nomes de host virtual usados por principal com os IPs secundários:

  1. Na Console do OCI, vá para a região secundária e crie a view privada.
    1. Clique em Rede, Gerenciamento de DNS, Views Privadas e, em seguida, em Criar View Privada.
      Por exemplo, você pode nomear a view privada como HYBRID_DR_VIRTUAL_HOSTNAMES
    2. Clique em Criar Zona na view privada.
      Para o nome da zona, você deve usar o domínio completo dos hosts virtuais. Neste exemplo: example.com.
    3. Adicione os nomes dos hosts virtuais a essa zona (nome curto), mas resolvidos com o IPS dos hosts WLS secundários.
    4. Clique em Publicar alterações.
  2. Adicione a view privada ao resolvedor de VCN secundário.
    1. Clique no recurso Resolvedor de DNS na VCN.
    2. Adicione a view privada de DNS criada anteriormente.
      Os hosts na VCN secundária resolverão os nomes de host virtual usados pelos hosts principais do Oracle WebLogic Server usando a view privada.
  3. Valide os hosts SECONDARY de resolução fazendo ping e nslookup dos nomes de host virtual.
    Eles devem ser resolvidos com os IPs SECONDARY equivalentes.

    Observação:

    Você encontra o código do Terraform para criar esta view e registros privados do OCI no Código de Download.

Criar e Configurar o IP Virtual para o Servidor de Administração WebLogic

Para alta disponibilidade, o Servidor de Administração WebLogic deve usar um nome de host mapeado para um IP virtual para permitir failover entre nós.

Observação:

Ignore esta tarefa se você não estiver usando um endereço VIP para o Servidor de Administração no sistema principal.

Designe um IP adicional à VNIC da instância de computação apphost1. O IP adicional é usado pelo Servidor de Administração no sistema secundário do Oracle Cloud Infrastructure (OCI). Embora esse IP normalmente seja anexado à instância de computação apphost1, ele pode ser movido para a instância de computação apphost2 para fornecer failover local para o Servidor de Administração, conforme descrito no EDG.

Depois que o novo IP for anexado à VNIC usando a Console do OCI, ele deverá ser configurado no sistema operacional em um modo não persistente (porque esse IP pode ser movido de apphost1 para apphost2 para failover do servidor de administração).

  1. Designe um novo endereço IP privado secundário à VNIC da instância de computação apphost1 no OCI.
    Use as etapas descritas em Para designar um novo IP privado secundário a uma VNIC da documentação do OCI.
    Forneça um valor no nome do host que o ajude a identificá-lo como um IP virtual. Por exemplo, hydrwls-vip.
  2. Depois que o novo IP for anexado à VNIC, configure o novo endereço IP no sistema operacional em um modo não persistente.
    Isso é necessário porque o IP pode passar de apphosthost1 para apphosthost2 para failover do servidor de administração.
    1. Exiba as interfaces de rede e os endereços IP anexados da instância de computação apphosthost1.
      Neste exemplo, o seguinte é o IP principal da VNIC: 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. Como raiz, adicione o IP virtual à interface como um IP adicional definindo um número de sequência no rótulo.
      [root@hydrwls1 ~]# ip addr add 100.70.10.20/20 dev ens3 label ens3:1
    3. Verifique se a interface agora tem o novo IP.
      Neste exemplo, o seguinte é o IP secundário da VNIC: 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

Abra as Portas Necessárias nos Firewalls do Host do OCI

Cada instância de computação tem um serviço de firewall local. Por motivos de segurança, a configuração padrão é rejeitar as conexões de todas as portas, exceto o mínimo necessário (ssh, dhcp). Abra as portas usadas pelo Oracle WebLogic Server.

  1. Como usuário raiz, verifique o status e as regras do serviço de firewall em cada instância de computação do 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:
    Essa saída significa que não há portas abertas diferentes de 22.
  2. Como usuário root, use os comandos firewall-cmd para abrir as portas usadas pelos componentes do seu sistema em cada instância de computação do WebLogic Server.
    Por exemplo:
    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. Se você estiver usando o Coherence, abra tcp e udp para a porta do cluster do Coherence (por exemplo, 9991), para as portas efêmeras e tcp para a porta 7:
    O Coherence exige que você abra portas adicionais para comunicações do Cluster do 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. Verifique o status e as regras do serviço de firewall.
    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:

Montar os Sistemas de Arquivos do OCI

Os sistemas de arquivos que foram criados anteriormente no OCI (Oracle Cloud Infrastructure) devem ser montados nas instâncias de computação do Oracle WebLogic Server.

  1. Conecte ssh às instâncias de computação do WebLogic Server com o usuário opc e instale o cliente NFS.
    sudo yum install nfs-utils
  2. Crie os pontos de montagem em cada uma das instâncias de computação do WebLogic Server.
    Por exemplo, crie diretórios para products, config e runtime. Seus valores podem ser diferentes.
    sudo mkdir -p /u01/oracle/products
    sudo mkdir -p /u01/oracle/config
    sudo mkdir -p /u01/oracle/runtime
  3. Como usuário raiz, adicione as entradas ao diretório /etc/fstab na instância de computação apphost1.
    No exemplo a seguir, 100.70.8.101 é o valor de exemplo do endereço IP do ponto de acesso NFS. Se sua região do OCI tiver mais de 1 domínio de disponibilidade e você tiver criado mais de um ponto de montagem, use o IP de ponto de acesso NFS apropriado para cada exportação.
    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. Como usuário raiz, adicione as entradas ao diretório /etc/fstab na instância de computação apphost2.
    No exemplo a seguir, 100.70.8.101 é o valor de exemplo do endereço IP do ponto de acesso NFS. Se sua região do OCI tiver mais de 1 domínio de disponibilidade e você tiver criado mais de um ponto de montagem, use o IP de ponto de acesso NFS apropriado para cada exportação.
    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. Como usuário root, monte os sistemas de arquivos em cada instância de computação wls:
    mount -a 
  6. Verifique se os sistemas de arquivos estão montados corretamente.
    df -h
    A saída de hydrwls1 e hydrwls2 deve ser semelhante ao seguinte exemplo:
    [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. Altere a propriedade das pastas para o usuário e grupo 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. Faça log-in como o usuário oracle e verifique se você pode criar arquivos nesses sistemas de arquivos. Para os sistemas de arquivos compartilhados (/u01/oracle/config, /u01/oracle/runtime), verifique se, quando você criar um arquivo em um host, ele ficará visível no outro host.

Montar os Volumes em Blocos do OCI

Monte os Volumes em Blocos que foram criados anteriormente nas instâncias de computação do Oracle WebLogic Server.

Por exemplo,

Block Volume Instância de Computação Ponto de Montagem
wlsdrBV1 hidrwls1 /u02
wlsdrBV2 hidrwls2 /u02
  1. SSH para todos os hosts do WebLogic Server como usuário raiz e crie a pasta que será usada como ponto de montagem.
    [root@hydrwls1 ~]# mkdir -p /u02
  2. Conecte-se à Console do OCI (do Oracle Cloud Infrastructure) da sua tenancy.
  3. Selecione a região apropriada.
  4. Abra o menu de navegação e clique em Storage, Block Storage, em seguida, clique em Block Volumes.
  5. Clique em um dos volumes em blocos.
  6. Clique em Instâncias Anexadas e, em seguida, clique em Anexar à Instância.
    1. Selecione o tipo de anexo iSCSI.
      O desempenho de IOPS é melhor com anexos iSCSI quando comparado com anexos paravirtualizados.
    2. Selecione o tipo de acesso leitura/gravação.
    3. Selecione a instância de computação apropriada.
  7. Anexar à instância de computação.
  8. Quando o volume for anexado, clique em Comandos e Informações de iSCSI no anexo do Volume em Blocos para executar os comandos iSCSI do volume em blocos.
    A caixa de diálogo Comandos e Informações de iSCSI exibe os comandos iSCSI que você precisará. Incluídos os comandos prontos para uso, com as informações apropriadas. Você pode copiar e colar os comandos na sessão da instância de computação.
  9. Liste os volumes e identifique o novo.
    Por exemplo:
    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. Formate o novo volume.
    Por exemplo:
    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. Monte o volume.
    1. Use o comando blkid para identificar o UUID do novo volume em blocos.
      Por exemplo:
      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. Edite o arquivo /etc/fstab e adicione a linha para montar o Volume em Blocos.
      Por exemplo:
      UUID=47955773-743f-4bde-bf2f-68ce0f71dbf9 /u02 xfs defaults,_netdev,nofail 0 2
    3. Monte o volume em blocos.
      bash-4.2# mount -a
    4. Verifique se ele está montado.
      [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. Depois que o Volume em Blocos for montado, altere a propriedade da montagem para o usuário oracle apropriado.
    bash-4.2# chown oracle:oinstall /u02
  13. Reinicialize o host e verifique se o volume em blocos é montado automaticamente após a reinicialização.
  14. Repita as etapas para montar os volumes em blocos no restante dos hosts secundários do Servidor WebLogic.
    Para obter mais informações sobre como anexar um volume, consulte a Documentação do Oracle Cloud Infrastructure.

Criar o Alias do TNS

Crie o diretório TNS e o arquivo tnsnames.ora que apontam para o Sistema de BD do Oracle Cloud Infrastructure (OCI). Como a configuração do domínio WebLogic no secundário será uma cópia do principal, você deve criar os mesmos artefatos que estão no principal para usar a abordagem de alias TNS nas origens de dados WebLogic.

  1. Como usuário oracle, crie a pasta tns em cada instância de computação do WebLogic Server, usando o mesmo caminho usado nos hosts de camada intermediária principais.
    Esta deve ser uma pasta local que não seja replicada do principal.
    [oracle@hydrwls1 ~]$ mkdir -p /home/oracle/tnsnames_dir
    [oracle@hydrwls2 ~]$ mkdir -p /home/oracle/tnsnames_dir
  2. Crie um arquivo tnsnames.ora no diretório com o mesmo alias tns usado no principal, mas apontando para o endereço do Sistema de BD do OCI.

    O nome do serviço deve ser o mesmo nos primários e secundários.

    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))
    )

Criar as Variáveis de Ambiente do Usuário oracle

É comum ter variáveis de ambiente relacionadas ao WebLogic no perfil do usuário do oracle nos hosts WebLogic. Por exemplo, ORACLE_HOME, JDK_HOME, PATH, ASERVER_HOME e outros.

  1. Revise os arquivos de perfis do usuário oracle nos hosts principais do WebLogic Server.
  2. Em secundário, adicione as mesmas variáveis de ambiente relacionadas WebLogic aos arquivos de perfil do usuário oracle (.bashrc ou .bash_profile).

    Observação:

    O arquivo .bashrc do usuário oracle nos hosts secundários do Servidor WebLogic já pode conter variáveis definidas (como MIDDLEWARE_HOME, WLS_HOME e outras), mas provavelmente não correspondem às pastas do seu ambiente e não são válidas para você. Certifique-se de removê-los ou modificá-los de acordo com suas pastas de ambiente.