Skip to main content
NetApp database solutions
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Provisionar armazenamento iSCSI do Google Cloud NetApp Volumes para Oracle Database 26ai

Colaboradores netapp-jsnyder

Provisione o armazenamento em bloco iSCSI do Google Cloud NetApp Volumes para alta disponibilidade do Oracle Database 26ai no Google Compute Engine. Este procedimento abrange a criação de pools de storage unificados GCNV Flex, definição de grupos de hosts, criação de volumes iSCSI para cada host de banco de dados, configuração do iSCSI e multipath no Linux, particionamento dos dispositivos de suporte ASM e montagem do `/u01`filesystem.

Etapa 1: criar pools iSCSI GCNV

Crie dois pools de armazenamento Flex Unified, um em cada zona de banco de dados, para fornecer volumes iSCSI para os hosts primário e de espera. Cada host de banco de dados usa volumes do pool de sua zona local.

  1. Crie dois pools de armazenamento usando o Cloud Console. Utilize as especificações na tabela abaixo e repita o processo de criação para cada zona:

    Nome do pool Zona Usado por

    oracle-pool-a

    us-west1-a

    oracdb1 (primário)

    oracle-pool-b

    us-west1-b

    oracdb2 (espera)

    NetApp Volumes → Storage pools → Criar para cada pool:

    • Nível de serviço: Flex (não Premium)

    • Tipo: Unificado

    • Zona: corresponde à zona da VM do banco de dados (us-west1-a/ us-west1-b)

    • Aviso: conectado a oracle-vpc

    • Capacidade: dimensionada para a carga de trabalho; utilize a taxa de transferência/IOPS provisionada personalizada quando refazer, backup ou restaurar exceder a capacidade padrão (até 5120 MiB/s ou 160K IOPS por pool, conforme os limites do produto)

  2. Aguarde até que ambos os pools atinjam o status READY antes de prosseguir. Ajuste o tamanho dos pools de acordo com o tamanho do seu banco de dados (os tamanhos em Etapa 3: Crie os volumes iSCSI do GCNV são exemplos):

    Observação

    Modo padrão (este guia): Os pools Flex Unified usam o modo padrão (--mode=default). Crie pools e volumes iSCSI com o Cloud Console ou gcloud netapp. A replicação de volumes, snapshots e clones usa as APIs do Google Cloud (Etapa 3: inicialização do modo de espera do GCNV).

Etapa 2: criar grupos de hosts

Crie um grupo de hosts por host de banco de dados para que cada VM veja apenas seus próprios volumes. Os hosts primário e de espera não devem compartilhar volumes iSCSI GCNV para manter o storage independente.

  1. Crie o grupo de hosts para oracdb1 usando o Console da Nuvem:

    NetApp Volumes → Grupos de hosts → Criar

    • Nome: oracdb1-hg

    • Região: us-west1

    • Tipo: iniciador iSCSI

    • Tipo de SO: Linux

    • Anfitriões: cole o IQN de oracdb1(o valor de /etc/iscsi/initiatorname.iscsi)

    • Descrição: "Host primário do Oracle oracdb1"

    • Criar

  2. Repita o processo oracdb2 com o nome oracdb2-hg e o IQN de oracdb2. O host do Observer não requer recursos do GCNV.

Etapa 3: criar volumes iSCSI GCNV

Crie cinco volumes iSCSI GCNV para cada host de banco de dados: um para /u01 e quatro para os dispositivos de suporte ASM. Os volumes de cada host devem ser criados no pool de storage da zona local, com o grupo de hosts correspondente.

  1. Crie os cinco volumes para oracdb1 em oracle-pool-a com o grupo de hosts oracdb1-hg. Use as especificações na tabela abaixo:

    Volume iSCSI GCNV Tamanho Usar Alias de multipath

    ora_<host>_u01

    100 GiB

    /u01 Volume iSCSI GCNV — Grid/Oracle homes, staging

    /dev/mapper/ora_<host>_u01

    ora_<host>_data_01

    50 GiB

    ASM +DATA

    /dev/mapper/ora_<host>_data_01

    ora_<host>_data_02

    50 GiB

    ASM +DATA (listrado)

    /dev/mapper/ora_<host>_data_02

    ora_<host>_arch_01

    100 GiB

    ASM +RECO

    /dev/mapper/ora_<host>_arch_01

    ora_<host>_fra_01

    100 GiB

    ASM +FRA

    /dev/mapper/ora_<host>_fra_01

    Nomes de volumes: apenas letras, números e sublinhados (sem hífens).

    Observação

    Layout mínimo (apenas para validação): Dois LUNs por host (*_data, *_reco) com arch_01p1+RECO e arch_01p2+FRA é aceitável para laboratório; produção usa cinco volumes por Etapa 3: Crie os volumes iSCSI do GCNV.

  2. Crie os cinco volumes para oracdb2 em oracle-pool-b com o grupo de hosts oracdb2-hg usando as mesmas especificações. Para cada pool, use NetApp Volumes → Volumes → Create — iSCSI, pool e grupo de hosts corretos, Linux. Registre as seguintes informações:

Etapa 4: Configurar iSCSI e multipath

Configure iSCSI e device-mapper-multipath em cada host de banco de dados para acessar os volumes GCNV por meio de ambos os IPs do portal de storage. Execute estas etapas em oracdb1 usando os IPs do portal do pool primário e, em seguida, repita em oracdb2 usando os IPs do portal do pool de standby. Se a saída do host estiver restrita, permita TCP/3260 de cada VM de banco de dados para seus IPs do portal iSCSI GCNV (além de TCP/1521 entre VMs Etapa 2: firewall da VPC — adicione TCP/1521 à lista de permissões em todas as três zonas).

  1. Descubra os alvos, faça login e persista a inicialização do nó:

    sudo iscsiadm --mode discovery --op update --type sendtargets --portal <ISCSI_PORTAL_1>
    sudo iscsiadm --mode discovery --op update --type sendtargets --portal <ISCSI_PORTAL_2>
    sudo iscsiadm --mode node --op update --name node.startup --value automatic
    sudo iscsiadm --mode node -l all
    sudo systemctl enable --now iscsid iscsi multipathd
    sudo iscsiadm --mode session         # expect 10 sessions (5 GCNV iSCSI volumes × 2 portals)
    sudo lsblk -o NAME,SIZE,WWN,VENDOR,MODEL

    Após reinicializar, verifique novamente antes de iniciar Oracle:

    sudo iscsiadm --mode session
    sudo multipath -ll
  2. Configurar `device-mapper-multipath`com valores padrão e regras de blacklist:

    sudo tee /etc/multipath.conf >/dev/null <<'EOF'
    defaults {
        find_multipaths     yes
        user_friendly_names yes
    }
    blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z]"
        devnode "^cciss.*"
    }
    EOF
    
    sudo systemctl enable --now multipathd
    sudo multipath -ll
  3. Adicione aliases WWID descobertos pelo host /etc/multipath.conf (não tente adivinhar — multipath.confnão expande variáveis de shell). Descobrir WWIDs:

    sudo multipath -ll
    for dev in /dev/sd*; do
      [ -b "$dev" ] || continue
      printf '%s: ' "$dev"
      sudo /usr/lib/udev/scsi_id --whitelisted --device="$dev" 2>/dev/null || true
      echo
    done

    Adicione aliases concretos para esse host a /etc/multipath.conf, depois sudo systemctl restart multipathd.

    Em oracdb1, anexe:

    multipaths {
        multipath { wwid <host-discovered-wwid-for-u01>      alias ora_oracdb1_u01     }
        multipath { wwid <host-discovered-wwid-for-data-01>  alias ora_oracdb1_data_01 }
        multipath { wwid <host-discovered-wwid-for-data-02>  alias ora_oracdb1_data_02 }
        multipath { wwid <host-discovered-wwid-for-arch-01>  alias ora_oracdb1_arch_01 }
        multipath { wwid <host-discovered-wwid-for-fra-01>   alias ora_oracdb1_fra_01  }
    }

    Em oracdb2, use o mesmo padrão com ora_oracdb2_* aliases, então:

    sudo systemctl restart multipathd
    ls -l /dev/mapper/ora_$(hostname -s)_*

Etapa 5: particionar dispositivos ASM

Particione os quatro dispositivos de suporte ASM (excluindo u01) com uma partição GPT cada para consumo do ASM e, em seguida, configure as regras udev para a propriedade do grid. Execute estas etapas em cada host do banco de dados.

  1. Particione os quatro dispositivos de suporte ASM com GPT e verifique as partições:

    HOST=$(hostname -s)        # oracdb1 on the primary, oracdb2 on the standby
    for dev in /dev/mapper/ora_${HOST}_data_01 \
               /dev/mapper/ora_${HOST}_data_02 \
               /dev/mapper/ora_${HOST}_arch_01 \
               /dev/mapper/ora_${HOST}_fra_01; do
      sudo parted -s "$dev" mklabel gpt
      sudo parted -s "$dev" mkpart primary 0% 100%
    done
    sudo partprobe
    sudo systemctl reload multipathd
    ls /dev/mapper/ora_${HOST}_*p1     # expect 4 partitions
  2. Configure as regras udev para atribuir a propriedade de grid e acionar as alterações:

    HOST=$(hostname -s)
    sudo tee /etc/udev/rules.d/99-oracle-asm.rules >/dev/null <<'EOF'
    KERNEL=="dm-*", ENV{DM_UUID}=="part?-mpath-*", ENV{DM_NAME}=="ora_oracdb*_*p?", \
        OWNER="grid", GROUP="asmadmin", MODE="0660"
    EOF
    
    sudo udevadm control --reload-rules
    for part in /dev/mapper/ora_${HOST}_*p1; do
      dm=$(readlink -f "$part" | xargs basename)
      sudo udevadm trigger --action=change --name-match="/dev/${dm}"
    done
    sudo udevadm settle
    ls -lL /dev/mapper/ora_${HOST}_*p1    # grid:asmadmin 0660

Etapa 6: formatar e montar /u01

Formate o ora_<host>_u01 volume GCNV com XFS e monte-o persistentemente usando UUID em /etc/fstab. O /u01 sistema de arquivos contém Grid home, Oracle home e arquivos de staging.

  1. Formate o dispositivo multipath com XFS e capture seu UUID:

    HOST=$(hostname -s)
    U01_DEV=/dev/mapper/ora_${HOST}_u01
    ls -l "$U01_DEV"
    
    sudo mkfs.xfs -f "$U01_DEV"
    U01_UUID=$(sudo blkid -s UUID -o value "$U01_DEV")
  2. Adicione a entrada de montagem baseada em UUID /etc/fstab e monte o sistema de arquivos:

    sudo mkdir -p /u01
    echo "UUID=${U01_UUID} /u01 xfs defaults,_netdev,nofail,x-systemd.requires=iscsi.service,x-systemd.requires=multipathd.service,x-systemd.after=iscsi.service,x-systemd.after=multipathd.service 0 0" | sudo tee -a /etc/fstab
    sudo mount -a
  3. Crie a estrutura de diretórios com a propriedade adequada para o software Grid e Oracle:

    sudo mkdir -p /u01/app/oraInventory /u01/app/26ai/grid /u01/app/grid \
      /u01/app/oracle/product/26ai/db_1 /u01/stage
    sudo chown -R grid:oinstall /u01/app/oraInventory /u01/app/26ai /u01/app/grid
    sudo chown -R oracle:oinstall /u01/app/oracle /u01/stage
    sudo chmod -R 775 /u01/app /u01/stage

    Reinicie uma vez e confirme /u01 montagens antes de instalando o software Oracle.

Qual é o próximo passo?

Para instalar os binários do Oracle Grid Infrastructure e do banco de dados nos hosts preparados, acesse Instale o software Oracle Grid Infrastructure e Oracle Database em ambos os hosts.