Provisionar armazenamento iSCSI do Google Cloud NetApp Volumes para Oracle Database 26ai
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.
-
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-aus-west1-aoracdb1(primário)oracle-pool-bus-west1-boracdb2(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)
-
-
Aguarde até que ambos os pools atinjam o status
READYantes 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):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 ougcloud 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.
-
Crie o grupo de hosts para
oracdb1usando 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
-
-
Repita o processo
oracdb2com o nomeoracdb2-hge o IQN deoracdb2. 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.
-
Crie os cinco volumes para
oracdb1emoracle-pool-acom o grupo de hostsoracdb1-hg. Use as especificações na tabela abaixo:Volume iSCSI GCNV Tamanho Usar Alias de multipath ora_<host>_u01100 GiB
/u01Volume iSCSI GCNV — Grid/Oracle homes, staging/dev/mapper/ora_<host>_u01ora_<host>_data_0150 GiB
ASM
+DATA/dev/mapper/ora_<host>_data_01ora_<host>_data_0250 GiB
ASM
+DATA(listrado)/dev/mapper/ora_<host>_data_02ora_<host>_arch_01100 GiB
ASM
+RECO/dev/mapper/ora_<host>_arch_01ora_<host>_fra_01100 GiB
ASM
+FRA/dev/mapper/ora_<host>_fra_01Nomes de volumes: apenas letras, números e sublinhados (sem hífens).
Layout mínimo (apenas para validação): Dois LUNs por host (
*_data,*_reco) comarch_01p1→+RECOearch_01p2→+FRAé aceitável para laboratório; produção usa cinco volumes por Etapa 3: Crie os volumes iSCSI do GCNV. -
Crie os cinco volumes para
oracdb2emoracle-pool-bcom o grupo de hostsoracdb2-hgusando 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:-
IPs do portal iSCSI →
<ISCSI_PORTAL_1>,<ISCSI_PORTAL_2>(portais do pool primário emoracdb1; portais do pool de espera emoracdb2— eles podem ser diferentes) -
Número de série do volume do Console da Nuvem — use com o WWID descoberto pelo host em Etapa 4: configure o iSCSI e o multipath do Linux para volumes iSCSI do GCNV
-
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).
-
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,MODELApós reinicializar, verifique novamente antes de iniciar Oracle:
sudo iscsiadm --mode session sudo multipath -ll -
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 -
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 doneAdicione aliases concretos para esse host a
/etc/multipath.conf, depoissudo 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 comora_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.
-
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 -
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.
-
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") -
Adicione a entrada de montagem baseada em UUID
/etc/fstabe 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 -
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/stageReinicie uma vez e confirme
/u01montagens 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.