Prácticas recomendadas para la solución Bare Metal de Oracle

Sabemos que tu objetivo cuando implementas bases de datos de Oracle en la solución Bare Metal es desarrollar tu entorno con facilidad y con la menor cantidad de problemas posible. Para ayudarte a conseguir este objetivo, hemos recopilado comentarios de clientes, de nuestros arquitectos de soluciones y del personal de asistencia que implementó bases de datos de Oracle en la solución Bare Metal. La siguiente información te proporciona recomendaciones aprendidas de estos expertos para ayudarte a tener el mayor éxito posible cuando inicies tu propio entorno de base de datos de Oracle en la solución Bare Metal.

Implementación de software

Para que la implementación del software de Oracle sea más exitosa, te recomendamos que uses el kit de herramientas de la solución Bare Metal. El kit de herramientas proporciona varias secuencias de comandos de Ansible y JSON para ayudarte a realizar la instalación del software de Oracle en la solución Bare Metal. Para obtener más información sobre el kit de herramientas de la solución Bare Metal y cómo instalar bases de datos de Oracle en un entorno de la solución Bare Metal, consulta la guía del usuario del kit de herramientas.

Sistema operativo

Cuando configures tu sistema operativo en un servidor de la solución Bare Metal, te recomendamos que realices las siguientes acciones.

Valida tus servidores NTP

Todos los servidores de la solución Bare Metal deben sincronizarse con una fuente de tiempo. Selecciona una opción de servidor NTP, física o virtual, que mejor se adapte a tus necesidades.

Cuando tus servidores usan NTP para la sincronización del tiempo, usa el comando timedatectl o ntpstat para ver si el servidor está sincronizado con una fuente de tiempo. El Los siguientes ejemplos muestran el resultado de estos comandos para un servidor que se sincroniza correctamente:

timedatectl show -p NTPSynchronized
NTPSynchronized=yes
synchronised to NTP server (216.239.35.8) at stratum 3
   time correct to within 49 ms
   polling server every 1024 s

Ver el recuento de CPU y los detalles de la memoria de la VM de Oracle

Para ver información sobre un host de VM de Oracle (OVM), incluida la CPU y la memoria usa el comando xm info. Por ejemplo:

/usr/sbin/xm info

Para obtener más información, consulta Documentación de Oracle sobre la visualización de la información del host

Verifica la configuración de /etc/fstab para encontrar las opciones de activación correctas

Para evitar que el proceso de inicio se cuelgue, siempre configura los puntos de activación que no sean raíz que crees (como /u01 y /u02) con la opción de activación nofail en lugar de la configuración predeterminada. En casos excepcionales, es posible que los dispositivos de almacenamiento subyacentes no estén disponibles cuando se reinicie un host. Configurar la opción de activación nofail permite que el proceso de inicio continúe cuando el servidor no puede ver los dispositivos de almacenamiento.

En el siguiente ejemplo, se muestra la configuración recomendada para la activación de /u01 y /u02 puntos en el archivo /etc/fstab:

/dev/mapper/3600a098038314352513f4f765339624c1 /u01 xfs nofail 0 0
/dev/mapper/3600a374927591837194d4j371563816c1 /u02 xfs nofail 0 0

Puedes modificar la opción de activación de defaults a nofail sin ningún impacto. a un sistema operativo. Sin embargo, para aplicar la nueva configuración, debes reiniciar tu servidor.

Confirma la configuración del límite de shell

El kit de herramientas de la solución Bare Metal configura los límites de shell necesarios Oracle RAC Puedes omitir esta validación si usaste la solución Bare Metal y no cambiamos los límites de shell. Se deben establecer límites de shell para todas las cuentas del sistema operativo que sean propietarias del software de Oracle, incluida la infraestructura de Grid. Oracle recomienda la siguiente configuración para Linux:

Límite Valor reducido Valor fijo
Abrir archivos 1024 65536
Cantidad máxima de procesos de los usuarios 16384 16384
Tamaño de la pila 10240 32768
Memoria bloqueada máxima Al menos el 90% de la memoria Al menos el 90% de la memoria

Usa el comando ulimit para verificar los límites flexibles y rígidos de shell. Por ejemplo, ingresa este comando para verificar el límite flexible de shell:

ulimit -S -n -u -s -l

El siguiente resultado muestra la configuración correcta de límite flexible de shell para un sistema con 384 GB de memoria:

open files                      (-n) 1024
max user processes              (-u) 16384
stack size              (kbytes, -s) 10240
max locked memory       (kbytes, -l) 355263678

Para verificar los límites rígidos de shell, usa el siguiente comando:

ulimit -H -n -u -s -l

El siguiente resultado muestra los límites rígidos correctos de shell para un sistema con 384 GB de memoria:

open files                      (-n) 65536
max user processes              (-u) 16384
stack size              (kbytes, -s) 32768
max locked memory       (kbytes, -l) 355263678

Si alguno de los límites de shell no está configurado correctamente, modifica las entradas en /etc/security/limits.conf, como se muestra en el siguiente ejemplo:

oracle  soft  nofile  1024
oracle  hard  nofile  65536
oracle  soft  nproc   2047
oracle  hard  nproc   16384
oracle  soft  stack   10240
oracle  hard  stack   32768
oracle  soft  memlock 355263678
oracle  hard  memlock 355263678

grid    soft  nofile  1024
grid    hard  nofile  65536
grid    soft  nproc   2047
grid    hard  nproc   16384
grid    soft  stack   10240
grid    hard  stack   32768
grid    soft  memlock 355263678
grid    hard  memlock 355263678
grep MemTotal /proc/meminfo
MemTotal:       16092952 kB

Evita cambiar la configuración de varios segmentos

Si decides cambiar la configuración de varios segmentos, no configures el atributo path_grouping_policy si usas multipath.conf para crear nombres con alias para los dispositivos. Este cambio anula la política predeterminada establecida en la sección de definición de devices.

En funcionamiento normal, el comando multipath -ll debería mostrar un estado similar. al siguiente ejemplo. Cada dispositivo incluye dos rutas activas que se encuentran en el listo.

3600a0980383143524f2b50476d59554e dm-7 NETAPP  ,LUN C-Mode
size=xxxG features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| |- 14:0:3:2 sdf                8:80   active ready running
| `- 16:0:5:2 sdv                65:80  active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  |- 14:0:2:2 sdc                8:32   active ready running
  `- 16:0:3:2 sdq                65:0   active ready running

Usa marcos jumbo

Para evitar la fragmentación de los paquetes a medida que viajan de un servidor a otro si se configura en un entorno RAC, Oracle recomienda configurar las interfaces del servidor los marcos gigantes. Los marcos Jumbo tienen un tamaño de MTU de 9000 bytes y son lo suficientemente grandes para admitir tamaños de bloques de base de datos de Oracle de 8,192 bytes.

Para configurar Jumbo Frames en servidores de la solución Bare Metal para Oracle RAC, haz lo siguiente:

  1. Consulta la configuración de la red privada de la solución Bare Metal para confirmar lo siguiente se configuraron los marcos Jumbo:

    gcloud bms networks describe NETWORK_NAME --project=PROJECT_ID --region=REGION | grep jumboFramesEnabled
    

    Resultado de muestra:

    jumboFramesEnabled: true
    
  2. Identifica las interfaces de red y su tamaño de mtu:

    ip link show | grep mtu
    

    Resultado de muestra:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    2: enp55s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    3: enp55s0f2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    4: enp55s0f3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    5: enp17s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
    6: enp17s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP mode DEFAULT group default qlen 1000
    7: enp173s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
    8: enp173s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP mode DEFAULT group default qlen 1000
    9: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    10: bond1.117@bond1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    11: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    12: bond0.118@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    13: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
    14: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT group default qlen 1000
    
  3. Con privilegios de nivel de raíz, agrega MTU=9000 a la configuración de la interfaz archivo para todos los servidores en el entorno de la solución Bare Metal que usan jumbo o los fotogramas. Puedes encontrar el archivo en /etc/sysconfig/network-scripts/ifcfg-interface_name.

    Resultado de muestra:

    BONDING_OPTS="lacp_rate=1 miimon=100 mode=802.3ad xmit_hash_policy=1"
    TYPE=Bond
    BONDING_MASTER=yes
    PROXY_METHOD=none
    BROWSER_ONLY=no
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=no
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=bond1
    UUID=0e7da685-64bf-44f3-812f-9846d747a801
    DEVICE=bond1
    ONBOOT=yes
    AUTOCONNECT_SLAVES=yes
    MTU=9000
    
  4. Reinicia los servicios de red para que se apliquen los cambios:

    service network restart
    
  5. Emite un comando ping para probar tu nueva configuración de MTU:

     ping -c 2 -M do -s 8972 svr001
     PING svr001 (172.16.1.10) 8972(9000) bytes of data.
     8980 bytes from svr001 (172.16.1.10): icmp_seq=1 ttl=64 time=0.153 ms
     8980 bytes from svr001 (172.16.1.10): icmp_seq=2 ttl=64 time=0.151 ms
    
    --- svr001 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 0.151/0.152/0.153/0.001 ms
    

Impacto de las copias de seguridad de Oracle RMAN y la latencia

Si el parámetro RATE no limita el proceso de copia de seguridad de Oracle RMAN, puede empujar la capacidad de procesamiento o las IOPS de almacenamiento al límite de rendimiento de un volumen de almacenamiento. Esta hace que se limite la E/S de almacenamiento, lo que aumenta la latencia en el volumen de almacenamiento.

Te recomendamos que implementes el parámetro RATE del canal para limitar la cantidad. de ancho de banda o capacidad de procesamiento que puede usar el RMAN de Oracle.

Para obtener más información, consulta la documentación de Oracle: 23.2.1.4 RATE Channel Parameter.

Administración automática de almacenamiento de Oracle

Nuestro equipo de Atención al cliente de Cloud y varios clientes de la solución Bare Metal agregaron la Administración automática de almacenamiento (ASM) de Oracle a sus entornos de Bare Metal. Gracias a su experiencia y sabiduría colectiva, hemos reunido consulta la siguiente lista de prácticas recomendadas que te ayudarán a tener éxito con tu ASM instalación del grupo de discos. Nuestro objetivo es ayudarte a lograr el mejor almacenamiento de las campañas de máximo rendimiento entorno de la solución Bare Metal.

Usa un tamaño uniforme de LUN

El tamaño de LUN que selecciones debe ser representativo de la unidad de crecimiento. ASM Funciona mejor con LUN que tienen el mismo tamaño y rendimiento similar. del usuario. Para bases de datos muy grandes, recomendamos un tamaño de LUN de 2 TB optimizar el rendimiento.

No crees más de dos grupos de discos de ASM.

Debes enviar archivos de datos y una copia de los registros de REDO a un solo disco de DATA. grupo. De forma opcional, puedes crear un segundo grupo de discos FRA para almacenar copias de seguridad en el disco y archivar registros. Cuando almacenas registros de REDO en un almacenamiento de alta resiliencia, no necesitas tener dos copias.

Las escrituras de registro REDO son sensibles a la latencia. Como resultado, solo considera multiplexa registros REDO si coincide el perfil de rendimiento del grupo de discos FRA el perfil de rendimiento del grupo de discos DATA.

Grupos de discos de ASM de Stripe en todos los LUN de todos los volúmenes

Cuando crees grupos de discos ASM, segmenta el grupo de discos LUN de todos los volúmenes. Si tus LUN pertenecen a un solo volumen, debes incluir todas las LUN en el volumen cuando crees un grupo de discos. Por ejemplo, si un volumen tiene X LUN, debes usar todas las X LUN cuando crees el grupo de discos.

Esta guía también se aplica al uso de varios volúmenes, ya que ofrecemos QoS límites sobre los volúmenes. Si usas varios volúmenes para aumentar la capacidad de procesamiento (>900 Mbps), debes incluir todos los LUN de cada volumen cuando crees el grupo de discos para lograr el rendimiento requerido.

Usa LUN y volúmenes con las mismas características de rendimiento en el mismo grupo de discos

Si usas varios volúmenes para mejorar la capacidad de procesamiento, usa el mismo las características de rendimiento y el tamaño del volumen cuando creas grupos de discos de ASM.

No mezcles LUN de volúmenes que tengan diferentes características de rendimiento. Si incluyes LUN y volúmenes con diferentes perfiles de rendimiento en el mismo grupo de discos, los discos que realizan operaciones de E/S pueden tener una cantidad límite de rendimiento y podría causar aumentos repentinos de latencia.

Por ejemplo, si creas un grupo de discos ASM con 2 volúmenes dispares (1 X 16 TiB y 1 X 5 TiB), las operaciones de E/S que realizan los discos en el volumen de 5 TB pueden causar una latencia elevada. El volumen de 5 TiB tiene una capacidad de procesamiento y un límite de IOPS mucho más bajos, por lo que alcanzaría el nivel de limitación mucho antes que el nivel de limitación del volumen de 16 TiB.

No compartir volúmenes de almacenamiento entre varios clústeres de RAC

Para cada clúster de RAC, aprovisiona un volumen de almacenamiento único. No deben compartir la misma información de almacenamiento en varios clústeres RAC. Debido a que los dispositivos de almacenamiento aplican QoS a nivel del volumen, esta práctica minimiza la posibilidad de que los vecinos ruidosos compitan por un solo grupo de IOPS y capacidad de procesamiento.

Por ejemplo, si un solo volumen tiene 8 LUN, no asignes algunas de las LUN a un clúster de base de datos de RAC y las LUN restantes a un clúster de base de datos de RAC diferente. En su lugar, aprovisiona dos volúmenes de almacenamiento separados y asígnales a cada uno un clúster de RAC dedicado y separado por volumen.

Conoce los IOPS y la capacidad de rendimiento necesarios antes de crear grupos de discos de ASM

Ten en cuenta los números de rendimiento máximo de tu entorno local. Para encontrar esta información, genera informes de AWR durante las horas de mayor carga de trabajo para registrar los valores máximos de IOPS y capacidad de procesamiento de tu sistema. También puedes usar nuestra Herramienta de evaluación de Oracle Database para recopilar las cifras de rendimiento máximo.

Con las cifras de rendimiento locales a mano, consulta nuestra solución Bare Metal tabla de rendimiento del almacenamiento para calcular la cantidad de almacenamiento que debes asignar a tu disco ASM y lograr el rendimiento requerido. Cuando tienes una capacidad de procesamiento mejorada adicionales (>768 Mbps), puedes crear varios volúmenes y segmentar los datos de ASM de un grupo de discos en todos los LUN y volúmenes.

Dejar la configuración de varias rutas tal como está

No debes cambiar el group_pathing_policy predeterminado en el archivo /etc/multipath.conf. Siempre debes usar el valor predeterminado de group_pathing_policy=group_by_prio para evitar la expulsión del nodo de RAC en caso de fallas en la ruta de almacenamiento.

Para obtener más detalles sobre cómo dejar intacta la configuración de varias rutas, consulta Evita cambiar la configuración de varias rutas.

Establece parámetros de configuración importantes para ASM

Si usas Oracle Grid Infrastructure 12.1.0.2 o una versión posterior en Linux, configura ASM con ASMFD o UDEV.

Para versiones anteriores de la infraestructura de Oracle Grid, usa ASMLib.

  • Para evitar que Oracle ASM seleccione primero tu dispositivo ASM de ruta única, establece la escanea el orden de la siguiente manera:

    ORACLEASM_SCANORDER="dm"
    ORACLEASM_SCANEXCLUDE="sd"
    

    Exigimos este parámetro de configuración porque el entorno de almacenamiento de la solución Bare Metal usa dispositivos de DM que puedes ver en /proc/partitions.

  • Para verificar si ASMLib está configurado para administrar tus discos ASM, ejecuta el siguiente comando como usuario raíz:

    /usr/sbin/oracleasm configure | grep SCAN
    

    Si usas ASMLib, el resultado se verá de la siguiente manera:

    ORACLEASM_SCANBOOT=true
    ORACLEASM_SCANORDER="dm"
    ORACLEASM_SCANEXCLUDE="sd"
    ORACLEASM_SCAN_DIRECTORIES=""
    

Crea tu grupo de discos de ASM con redundancia externa

El almacenamiento que proporciona la solución Bare Metal usa NETAPP RAID-DP, que es una forma de RAID 6 que protege los datos incluso si fallan dos discos. Como resultado, te recomendamos que uses redundancia externa para ASM.

Reinicia los servidores de la solución Bare Metal después de crear el disco ASM

Después de crear los grupos de discos de ASM, debes reiniciar por completo la solución Bare Metal servidores en el clúster para asegurarte de que tanto la instancia de ASM como el disco o grupos de usuarios se conecten después del reinicio. Sigue este paso proactivo para evitar problemas que puedan ocurrir después de que se compila el clúster de bases de datos en el grupo de discos de ASM.

Oracle RAC

En esta sección, se explican las prácticas recomendadas para instalar Oracle Real Application Clusters (RAC) en la solución Bare Metal.

Longitud del nombre del clúster de Oracle Grid Infrastructure

Usa un nombre de clúster que no tenga más de 15 caracteres.

Un nombre de clúster de más de 15 caracteres hace que falle la secuencia de comandos root.sh.

Visualizador de VNC de túnel a través de SSH

El firewall predeterminado del SO del servidor de la solución Bare Metal bloquea los servidores arbitrarios, como el visor de VNC. Por lo tanto, crea un túnel de X Window o VNC Viewer a través de SSH:

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

Espacio suficiente para el sistema de archivos raíz

Asegúrate de que el sistema de archivos raíz (/) tenga suficiente espacio libre. Solución Bare Metal incluyen un sistema de archivos raíz de 20 GB, que podría no ser suficiente.

En el servidor de la solución Bare Metal, verifica el tamaño de la raíz “/” un sistema de archivos completo. El tamaño predeterminado es de 20 GB, que podría no ser suficiente. Si el tamaño es de 20 GB, aumentarlo.

Usa un servidor de nombres como sustituto de Cloud DNS

Si no desea usar Cloud DNS, instala su propio servidor de nombres para resolver direcciones IP de host en el servidor de la solución Bare Metal. La infraestructura de Oracle Grid usa el comando nslookup para obtener el nombre del servidor DNS. El comando nslookup no usa el archivo /etc/hosts.

Lleva a cabo los pasos siguientes:

  1. Instala dnsmasq.

    yum makecache
    yum install dnsmasq
    
  2. Abre el archivo /etc/dnsmasq.conf en modo de edición.

    vi /etc/dnsmasq.conf
    
  3. En el archivo /etc/dnsmasq.conf, agrega las siguientes líneas:

    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
    
  4. Edita el archivo /etc/dnsmasq-resolv.conf y el archivo /etc/resolv.conf para contienen solo la siguiente línea:

    nameserver 127.0.0.1
    
  5. Inicia el servicio dnsmasq:

    systemctl restart dnsmasq
    
    systemctl status dnsmasq
    
  6. En ambos nodos, ejecuta el comando nslookup.

    nslookup at-2811641-svr001
    Server:         127.0.0.1
    Address:        127.0.0.1#53
    
    Name:   at-2811641-svr001
    Address: 192.168.1.10
    
    nslookup at-2811641-svr002
    Server:         127.0.0.1
    Address:        127.0.0.1#53
    
    Name:   at-2811641-svr002
    Address: 192.168.1.11
    

Instalar NTP

Cuando instales NTP, asegúrate de que todos los nodos RAC se sincronicen con la hora de tu host de salto o tu servidor NTP interno. Lleva a cabo los pasos siguientes:

  1. Instala NTP.

    yum install ntp
    
  2. Inicia el servicio ntpd.

    systemctl start ntpd
    
  3. En el archivo /etc/ntp.conf, agrega la siguiente línea para sincronizar con el host de bastión host, que en este caso es 10.x.x.x. También puedes usar tu NTP interno servidor. En este caso, 192.x.x.x es tu servidor de la solución Bare Metal.

    restrict 192.x.x.x mask 255.255.255.0 nomodify notrap
    server 10.x.x.x prefer
    
  4. Para iniciar la sincronización, actualiza el servidor de hora.

    ntpdate -qu SERVER_NAME
    

Ejecuta una secuencia de comandos raíz en un nodo a la vez

Ejecuta la secuencia de comandos raíz root.sh en un nodo a la vez. Si la ejecución falla en el primer nodo, no continúes con el siguiente.

Resuelve el Localhost

Debido a que el servidor de la solución Bare Metal no agrega el Localhost al /etc/hosts, resuelve manualmente Localhost a 127.0.0.1.

Asegúrate de que los límites de recursos sean suficientes

Antes de instalar Oracle RAC en el servidor de la solución Bare Metal, asegúrate de que los límites de recursos para el usuario root y el usuario oracle sean suficientes.

Puedes usar el comando ulimit para verificar los límites.

Configura la variable ORACLEASM_SCANORDER

Si usas Oracle ASMLib, para evitar que la ASM de Oracle seleccione primero tu dispositivo de ASM de ruta única, configura el orden de análisis de la siguiente manera:

ORACLEASM_SCANORDER="dm"
ORACLEASM_SCANEXCLUDE="sd"

Requerimos este parámetro de configuración porque el entorno de almacenamiento de la solución Bare Metal usa dispositivos DM que puedes ver en el archivo /proc/partitions.

Oracle es una marca registrada de Oracle o sus afiliados.