Provisionnez le stockage iSCSI Google Cloud NetApp Volumes pour Oracle Database 26ai
Provisionnez le stockage bloc iSCSI Google Cloud NetApp Volumes pour la haute disponibilité d’Oracle Database 26ai sur Google Compute Engine. Cette procédure couvre la création de pools de stockage GCNV Flex Unified, la définition des groupes d’hôtes, la création de volumes iSCSI pour chaque hôte de base de données, la configuration d’iSCSI et de multipath sous Linux, le partitionnement des périphériques ASM, et le montage du /u01 système de fichiers.
Étape 1 : Créez des pools iSCSI GCNV
Créez deux pools de stockage Flex Unified, un dans chaque zone de base de données, afin de fournir des volumes iSCSI aux hôtes principal et de secours. Chaque hôte de base de données utilise les volumes du pool de sa zone locale.
-
Créez deux pools de stockage à l'aide de la Cloud Console. Utilisez les spécifications du tableau ci-dessous et répétez le processus de création pour chaque zone :
Nom du pool Zone Utilisé par oracle-pool-aus-west1-aoracdb1(primaire)oracle-pool-bus-west1-boracdb2(attendre)NetApp Volumes → Pools de stockage → Créer pour chaque pool :
-
Niveau de service : Flex (et non Premium)
-
Type : Unifié
-
Zone : correspond à la zone de la machine virtuelle de la base de données (
us-west1-a/us-west1-b) -
Avis important : connecté à
oracle-vpc -
Capacité : dimensionnée en fonction de la charge de travail ; utiliser un débit/IOPS provisionné personnalisé lorsque le redo, la sauvegarde ou la restauration dépasse la marge par défaut (jusqu’à 5120 Mio/s ou 160K IOPS par pool, dans les limites du produit)
-
-
Attendez que les deux pools atteignent le statut
READYavant de continuer. Adaptez la taille des pools à l’encombrement de votre base de données (les tailles dans Étape 3 : Créer les volumes iSCSI GCNV sont des exemples) :Mode par défaut (ce guide) : Les pools Flex Unified utilisent le mode par défaut (
--mode=default). Créez des pools et des volumes iSCSI avec Cloud Console ougcloud netapp. La réplication de volumes, les snapshots et les clones utilisent les API Google Cloud (Étape 3 : Initialisation de la veille GCNV).
Étape 2 : Créez des groupes d’hôtes
Créez un groupe d'hôtes par hôte de base de données afin que chaque machine virtuelle ne voie que ses propres volumes. Les hôtes principal et de secours ne doivent pas partager les volumes iSCSI GCNV afin de maintenir un stockage indépendant.
-
Créez le groupe d'hôtes pour
oracdb1à l'aide de la Cloud Console :NetApp Volumes → Groupes d'hôtes → Créer
-
Nom:
oracdb1-hg -
Région:
us-west1 -
Type : Initiateur iSCSI
-
Type de système d'exploitation : Linux
-
Hôtes : collez l’IQN à partir de
oracdb1(la valeur de/etc/iscsi/initiatorname.iscsi) -
Description : « Hôte principal Oracle oracdb1 »
-
Créer
-
-
Répétez l'opération pour
oracdb2avec le nomoracdb2-hget l'IQN deoracdb2. L'hôte Observer ne nécessite aucune ressource GCNV.
Étape 3 : Créez des volumes iSCSI GCNV
Créez cinq volumes iSCSI GCNV pour chaque hôte de base de données : un pour /u01 et quatre pour les périphériques de support ASM. Les volumes de chaque hôte doivent être créés dans le pool de stockage de la zone locale correspondante, avec le groupe d'hôtes associé.
-
Créez les cinq volumes pour
oracdb1dansoracle-pool-aavec le groupe d'hôtesoracdb1-hg. Utilisez les spécifications du tableau ci-dessous :Volume iSCSI GCNV Taille Utiliser Alias multipath ora_<host>_u01100 Gio
`/u01`Volume iSCSI GCNV — Répertoires Grid/Oracle, zone de transit
/dev/mapper/ora_<host>_u01ora_<host>_data_0150 Gio
ASM
+DATA/dev/mapper/ora_<host>_data_01ora_<host>_data_0250 Gio
ASM
+DATA(rayé)/dev/mapper/ora_<host>_data_02ora_<host>_arch_01100 Gio
ASM
+RECO/dev/mapper/ora_<host>_arch_01ora_<host>_fra_01100 Gio
ASM
+FRA/dev/mapper/ora_<host>_fra_01Noms de volumes : lettres, chiffres, traits de soulignement uniquement (pas de traits d'union).
Configuration minimale (validation uniquement) : Deux LUN par hôte (
*_data,*_recoavecarch_01p1→+RECOetarch_01p2→+FRAest acceptable pour le laboratoire ; la production utilise cinq volumes par Étape 3 : Créer les volumes iSCSI GCNV. -
Créez les cinq volumes pour
oracdb2dansoracle-pool-bavec le groupe d'hôtesoracdb2-hgen utilisant les mêmes spécifications. Pour chaque pool, utilisez NetApp Volumes → Volumes → Create — iSCSI, pool et groupe d'hôtes appropriés, Linux. Notez les informations suivantes :-
Adresses IP des portails iSCSI →
<ISCSI_PORTAL_1>,<ISCSI_PORTAL_2>(portails du pool principal suroracdb1; portails du pool de secours suroracdb2— ils peuvent différer) -
Numéro de série du volume depuis la console cloud — à utiliser avec le WWID découvert par l’hôte dans Étape 4 : Configurer iSCSI Linux et le multipath pour les volumes iSCSI GCNV
-
Étape 4 : Configurer iSCSI et le multipath
Configurez iSCSI et device-mapper-multipath sur chaque hôte de base de données pour accéder aux volumes GCNV via les deux adresses IP du portail de stockage. Exécutez ces étapes sur oracdb1 en utilisant les adresses IP du portail du pool principal, puis répétez-les sur oracdb2 en utilisant celles du portail du pool de secours. Si la sortie de l’hôte est restreinte, autorisez TCP/3260 de chaque machine virtuelle de base de données vers ses adresses IP de portail iSCSI GCNV (en plus de TCP/1521 entre machines virtuelles Étape 2 : Pare-feu VPC — autoriser la liste blanche TCP/1521 sur les trois zones).
-
Découvrez les cibles, connectez-vous et persistez le démarrage du nœud :
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,MODELAprès le redémarrage, vérifiez à nouveau avant de démarrer Oracle :
sudo iscsiadm --mode session sudo multipath -ll -
Configurer
device-mapper-multipathavec des valeurs par défaut et des règles de liste noire :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 -
Ajoutez les alias WWID détectés par l'hôte
/etc/multipath.conf(ne devinez pas —multipath.confne développe pas les variables du shell). Découvrez les WWID :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 doneAjoutez des alias concrets pour cet hôte à
/etc/multipath.conf, puissudo systemctl restart multipathd.Sur
oracdb1, ajoutez :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 } }Sur
oracdb2, utilisez le même modèle avecora_oracdb2_*des alias, puis :sudo systemctl restart multipathd ls -l /dev/mapper/ora_$(hostname -s)_*
Étape 5 : Partitionner les périphériques ASM
Partitionnez les quatre périphériques de stockage ASM (à l’exclusion u01) avec une partition GPT chacun pour la consommation par ASM, puis configurez les règles udev pour l’appartenance au groupe grid. Exécutez ces étapes sur chaque hôte de base de données.
-
Partitionnez les quatre périphériques de stockage ASM avec GPT et vérifiez les partitions :
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 -
Configurez les règles udev pour attribuer la propriété grid et déclencher les modifications :
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
Étape 6 : Formatez et montez /u01
Formatez le ora_<host>_u01`volume GCNV avec XFS et montez-le de manière permanente en utilisant l’UUID dans `/etc/fstab. Le /u01 système de fichiers contient Grid home, Oracle home et les fichiers de staging.
-
Formatez le périphérique multipath avec XFS et capturez son 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") -
Ajoutez l'entrée de montage basée sur l'UUID à
/etc/fstabet montez le système de fichiers :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 -
Créez la structure de répertoires avec la propriété appropriée pour les logiciels Grid et 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/stageRedémarrez une fois et confirmez
/u01les montages avant installation du logiciel Oracle.
Et ensuite ?
Pour installer les binaires Oracle Grid Infrastructure et Database sur les hôtes préparés, allez à Installez le logiciel Oracle Grid Infrastructure et Oracle Database sur les deux hôtes.