Bonnes pratiques pour l'installation de RAC sur solution Bare Metal

Cette page contient les bonnes pratiques à suivre avant d'installer Oracle RAC sur solution Bare Metal.

1. Bug de longueur du nom de cluster Oracle GI 18C

Oracle GI 18C présente un bug de longueur de nom de cluster qui affecte la solution Bare Metal.

Action recommandée :

Le nom du cluster doit comporter moins de 15 caractères, sans quoi le script root.sh échouera à la première étape avec l'erreur host name is too long. Le nom du cluster par défaut comporte plus de 15 caractères. Vous devez donc le modifier avant d'exécuter le script.

2. SSH

La validation SSH peut échouer en raison d'un problème avec OPEN ssh.

OpenSSH_6.7: ERROR [INS-06003] Failed to setup passwordless SSH connectivity During Grid Infrastructure Install (Doc ID 2111092.1)

Action recommandée :

Edit the `/etc/ssh/sshd_config` file to contain the following line:

KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1

Redémarrez le service sshd pour que les modifications soient appliquées.

/etc/init.d/sshd restart

3. Serveur VNC

Les serveurs arbitraires tels que VNC seront bloqués par la configuration de pare-feu par défaut du système d'exploitation. À la place, tunnelisez Xwindows ou VNC sur SSH :

ssh -L 5901:localhost:5901 bms-host
vncviewer localhost:1

4. Système de fichiers racine

Assurez-vous que le système de fichiers / racine dispose de suffisamment d'espace libre.

Vous devez disposer d'au moins 20 Go pour que l'hôte puisse créer son système de fichiers racine.

5. DNS

Si vous n'utilisez pas Cloud DNS, installez votre propre serveur de noms sur solution Bare Metal pour résoudre les adresses IP des hôtes. L'infrastructure Oracle Grid utilise la commande nslookup pour obtenir le nom DNS. nslookup n'utilise pas /etc/hosts.

# install these files:
yum makecache
yum install dnsmasq

## Edit /etc/dnsmasq.conf and add these lines:
port=53
domain-needed
bogus-priv
strict-order
expand-hosts
domain=localdomain
address=/.localdomain/127.0.0.1
address=//127.0.0.1
listen-address=127.0.0.1
resolv-file=/etc/dnsmasq-resolv.conf
# Save the file.

# The files /etc/dnsmasq-resolv.conf and /etc/resolv.conf should contain only
# the following one line. Edit them if this is not the case.
nameserver 127.0.0.1

# Start the dnsmasq service:
systemctl restart dnsmasq
systemctl status dnsmasq

# verify the host names are resolved:
nslookup <host name 1>
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   <host name 1>
Address: 192.168.1.10

nslookup <host name 2>
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   <host name 2>
Address: 192.168.1.11

6. Installer NTP

Installez le protocole NTP (Network Time Protocol) et assurez-vous que tous les nœuds RAC synchronisent l'heure avec votre jumpshot ou votre serveur NTP interne.

# install and start the NTP service
yum install ntp
systemctl start ntpd
# Add the following line to the /etc/ntp.conf file. In this case we are syncing
# with our bastion which is 10.x.x.x in this case. This can be your internal NTP
server. 192.x.x.x is your host.

restrict 192.x.x.x mask 255.255.255.0 nomodify notrap
server 10.x.x.x prefer

ntpdate -qu {your host name}

7. root.sh

Lorsque vous exécutez root.sh, exécutez un nœud à la fois.

8. Localhost

Assurez-vous que localhost est bien résolu en 127.0.0.1. L'hôte ne place pas "localhost" dans le fichier /etc/hosts.

9. Ulimit

Assurez-vous que la valeur ulimit des utilisateurs racine et Oracle dispose de limites suffisantes.

10. La copie du fichier SCP prend beaucoup de temps avec l'opération de regénération de clés

Cela est dû à un problème de configuration du daemon SSH de la solution Bare Metal.

Action recommandée :

# Modify your ssh config on the host server side.
vi /etc/ssh/sshd_config

# Add this line or modify it if you already set.
ClientAliveInterval 420

# Restart SSH
service sshd restart

11. OracleASM

Si vous utilisez Oracle ASMLIB, veillez à définir la variable d'environnement ORACLEASM_SCANORDER pour que votre appareil ASM à chemin unique ne soit pas sélectionné d'abord par la gestion automatique de l'espace de stockage Oracle.

Action recommandée : définissez scanorder comme indiqué ci-dessous.

ORACLEASM_SCANORDER="multipath sd"

12. Échec de CRS root.sh ou OCSSD avec l'erreur No Network HB

À l'aide des services CRS d'Oracle, le script root.sh peut échouer si le nœud parvient à pinguer l'adresse IP 169.254.169.254. 169.254.169.254 est un Google Cloud service de métadonnées qui enregistre l'instance dans Google Cloud. Google Cloud Les VM ne peuvent pas démarrer si vous bloquez cette adresse IP. Cependant, les serveurs RAC de la solution Bare Metal rencontreront des problèmes de communication HAIP car cela peut interrompre la route de communication HAIP. Dans ce cas, vous devrez peut-être bloquer l'adresse IP ou désactiver HAIP. L'exemple suivant montre comment bloquer des adresses IP à l'aide d'instructions de routage. L'instruction de routage Linux n'est pas persistante. Vous devez donc l'ajouter au script réseau ou rc.

Action recommandée : exécutez cette commande sur tous les nœuds avant de réexécuter root.sh :

/sbin/route add -host 169.254.169.254 reject

# To make a permanent change, add the route statement to rc script.
chmod +x /etc/rc.d/rc.local

# Edit /etc/rc.d/rc.local and add this line:
/sbin/route add -host 169.254.169.254 reject

# Enable rc-local service
systemctl status rc-local.service
systemctl enable rc-local.service
systemctl start rc-local.service

13. Bug de noyau Linux

Le redémarrage se bloque lorsque de nombreux LUN sont associés à Redhat, OVM ou SUSIE LINUX.

Action recommandée : augmentez la valeur du délai d'inactivité par défaut du watchdog :

# Under /etc/systemd create a folder named: system.conf.d
# In this folder, create a *.conf file, example:
/etc/systemd/system.conf.d/kernel-reboot-workaround.conf

# The file needs to contain the following information:

[Manager]

RuntimeWatchdogSec=5min

ShutdownWatchdogSec=5min

Ou

Utilisez la solution alternative suivante :

# Edit the /etc/default/grub file.

# remove quote from settings, then add the following after this parameter
# GRUB_CMDLINE_LINUX :
acpi_no_watchdog DefaultTimeoutStartSec=900s DefaultTimeoutStopSec=900s

2-3. Rebuild the grub
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

14. Problème avec max_sector_kb

L'installation de Oracle Grid Infrastructure (GI) peut échouer avec l'erreur exceed Max_sector_size dans les journaux d'installation CRS et dans /var/log/messages.

Action recommandée :

# Add max_sectors_kb 1024 under the multipath entry for all the devices (WWIDs)
# that need the setting modified (under multipaths). All of them should look 
# similar to the following: multipath
{ wwid xxxxxyyyyyzzzz1111222
alias asm-data1
max_sectors_kb 1024 }

# Delete the map (multipath -f ). This needs to be done for all devices that
# need the setting modified Ex: multipath -f casm-dat001

# Reload the map: multipath -r

# In order to make this setting persistent across reboots, `initramfs` needs to
# be regenerated (the following command will regenerate all kernel versions):

KERNELS=$(rpm -q kernel --qf '%{version}-%{release}.%{arch}\n')
 for kernel_version in $KERNELS
 do
 dracut -v -f -a multipath /boot/initramfs-$kernel_version.img
 done

15. Problème avec Grid Infrastructure 12C

Grid Infrastructure 12C Grid peut échouer avec l'erreur Rejecting connection from node 2 as MultiNode RAC isn't supported or certified in this configuration.

Cause :

L'adresse IP 169.254.169.254 est transférée au service de métadonnées local d'une VM cloud. Il semble que l'hôte de solution Bare Metal soit une VM cloud. Une telle configuration peut également divulguer les clés duu compte de service privé de la VM cloud.

Action recommandée :

Tenez compte des implications en termes de sécurité de votre configuration NAT et limitez autant que possible l'accès au réseau externe.

Bloquez l'accès au service de métadonnées sur votre VM cloud :

firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -d 169.254.169.254 -j REJECT --reject-with icmp-host-unreachable
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -d 169.254.169.254 -j REJECT --reject-with icmp-host-unreachable

Bloquez l'accès au service de métadonnées sur l'hôte BMS :

firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -d 169.254.169.254 -j REJECT --reject-with icmp-host-unreachable
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -d 169.254.169.254 -j REJECT --reject-with icmp-host-unreachable