Prácticas recomendadas para la solución Bare Metal de Oracle
Cuando implementas bases de datos de Oracle en la solución Bare Metal, sabemos que tu objetivo es abrir 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. En los siguientes ejemplos, se muestra 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
Cómo 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), incluidos los detalles de la CPU y la memoria, usa el comando xm info
. Por ejemplo:
/usr/sbin/xm info
Para obtener más información, consulta la documentación de Oracle sobre cómo ver 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 los puntos de activación /u01
y /u02
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 en un sistema operativo. Sin embargo, para aplicar la nueva configuración, debes reiniciar el 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 para configurar Oracle RAC. Puedes omitir esta validación si usaste el kit de herramientas de la solución Bare Metal y no cambiaste los límites de la 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 flexible | Valor fijo |
---|---|---|
Abrir archivos | 1024 | 65536 |
Cantidad máxima de procesos de usuario | 16384 | 16384 |
Tamaño de la pila | 10240 | 32768 |
Memoria máxima bloqueada | 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 la shell no está configurado correctamente, modifica las entradas del archivo /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 condiciones normales de funcionamiento, el comando multipath -ll
debería mostrar un estado similar al siguiente ejemplo. Cada dispositivo incluye dos rutas activas que están en el estado 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 se transfieren de un servidor a otro en un entorno de RAC, Oracle recomienda configurar las interfaces de tu servidor con tramas jumbo. Los marcos Jumbo tienen un tamaño de MTU de 9,000 bytes y son lo suficientemente grandes como 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:
Consulta la configuración de tu red privada de la solución Bare Metal para confirmar que se hayan configurado los marcos jumbo:
gcloud bms networks describe NETWORK_NAME --project=PROJECT_ID --region=REGION | grep jumboFramesEnabled
Resultado de muestra:
jumboFramesEnabled: true
Identifica las interfaces de red y su tamaño
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
Con los privilegios a nivel de raíz, agrega
MTU=9000
al archivo de configuración de la interfaz de todos los servidores del entorno de la solución Bare Metal que usan tramas jumbo. 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
Reinicia los servicios de herramientas de redes para que los cambios se apliquen:
service network restart
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 proceso de copia de seguridad de Oracle RMAN no está limitado por el parámetro RATE
, puede empujar la capacidad de procesamiento o las IOPS de almacenamiento al límite de rendimiento de un volumen de almacenamiento. Esto hace que se reduzca la limitación de E/S de almacenamiento, lo que aumenta la latencia en el volumen de almacenamiento.
Te recomendamos que implementes el parámetro de canal RATE
para limitar la cantidad de ancho de banda o capacidad de procesamiento que puede usar Oracle RMAN.
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 colectivas, compilamos la siguiente lista de prácticas recomendadas para ayudarte a tener éxito con la instalación de tu propio grupo de discos de ASM. Nuestro objetivo es ayudarte a lograr el mejor rendimiento del almacenamiento para tu entorno de la solución Bare Metal.
- Usa un tamaño de LUN uniforme
- No crees más de dos grupos de discos de ASM
- Agrega grupos de discos de ASM en todas las LUN de todos los volúmenes
- Usa LUN y volúmenes con las mismas características de rendimiento en el mismo grupo de discos
- No compartas volúmenes de almacenamiento en varios clústeres de RAC
- Conoce los IOPS y la capacidad de rendimiento necesarios antes de crear grupos de discos de ASM
- Deja la configuración de varios caminos como está
- Configura parámetros importantes de ASM
- Crea tu grupo de discos de ASM con redundancia externa
- Cómo reiniciar los servidores de la solución Bare Metal después de crear el disco de ASM
Usa un tamaño de LUN uniforme
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 características de rendimiento similares. Para bases de datos muy grandes, recomendamos un tamaño de LUN de 2 TB para optimizar el rendimiento.
No crees más de dos grupos de discos de ASM.
Debes enviar los archivos de datos y una copia de los registros de REDO
a un solo grupo de discos DATA
. 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 altamente resiliente, no necesitas tener dos copias.
Las operaciones de escritura de registros de REDO
son sensibles a la latencia. Como resultado, solo considera la multiplexación de registros REDO
si el perfil de rendimiento del grupo de discos FRA
coincide con el perfil de rendimiento del grupo de discos DATA
.
Agrupar los grupos de discos de ASM en todas las LUN de todos los volúmenes
Cuando crees grupos de discos de ASM, asegúrate de distribuirlos en todas las 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 proporcionamos límites de QoS en 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 tamaño de volumen y las mismas características de rendimiento cuando crees 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, es posible que los discos que realizan operaciones de E/S tengan un límite de rendimiento mucho más bajo y que provoquen aumentos repentinos de latencia.
Por ejemplo, si creas un grupo de discos ASM con 2 volúmenes disparejos (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 techo 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 compartas volúmenes de almacenamiento entre varios clústeres de RAC.
Para cada clúster de RAC, aprovisiona un volumen de almacenamiento único. No compartas el mismo volumen de almacenamiento en varios clústeres de 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 independientes y asígnales cada uno a 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 bases de datos de Oracle para recopilar tus números de rendimiento máximo.
Con tus números de rendimiento en las instalaciones a mano, consulta nuestra tabla de rendimiento de almacenamiento de la solución Bare Metal para calcular la cantidad de almacenamiento que debes asignar a tus grupos de discos ASM y lograr el rendimiento requerido. Cuando tienes requisitos de rendimiento mejorados (>768 Mbps), puedes crear varios volúmenes y distribuir el grupo de discos ASM en todos los LUN y todos los volúmenes.
Deja la configuración de varios caminos 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 de nodos de RAC en caso de fallas en la ruta de acceso de almacenamiento.
Para obtener más detalles sobre cómo dejar intacta la configuración de varios segmentos, consulta Evita cambiar la configuración de varios segmentos.
Configura parámetros importantes de 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 Oracle Grid Infrastructure, usa 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
/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 la redundancia externa para ASM.
Reinicia los servidores de la solución Bare Metal después de crear el disco de ASM
Después de crear los grupos de discos de ASM, debes reiniciar todos los servidores de la solución Bare Metal en el clúster para asegurarte de que la instancia de ASM y los grupos de discos estén en línea 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 visualizador 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. Los servidores de la solución Bare Metal vienen con 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 del sistema de archivos raíz "/". El tamaño predeterminado es de 20 GB, que podría no ser suficiente. Si el tamaño es de 20 GB, auméntalo.
Usa un servidor de nombres como sustituto de Cloud DNS
Si no quieres usar Cloud DNS, instala tu propio servidor de nombres para resolver las direcciones IP de los hosts 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:
Instala
dnsmasq
.yum makecache yum install dnsmasq
Abre el archivo
/etc/dnsmasq.conf
en modo de edición.vi /etc/dnsmasq.conf
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
Edita el archivo
/etc/dnsmasq-resolv.conf
y el archivo/etc/resolv.conf
para que contengan solo la siguiente línea:nameserver 127.0.0.1
Inicia el servicio
dnsmasq
:systemctl restart dnsmasq systemctl status dnsmasq
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
Instala 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:
Instala NTP.
yum install ntp
Inicia el servicio
ntpd
.systemctl start ntpd
En el archivo
/etc/ntp.conf
, agrega la siguiente línea para sincronizar con el host de bastión, que es10.x.x.x
en este caso. También puedes usar tu servidor NTP interno. 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
Para iniciar la sincronización, actualiza el servidor de hora.
ntpdate -qu SERVER_NAME
Ejecuta la 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
Como el servidor de solución Bare Metal no agrega Localhost
al archivo /etc/hosts
, resuelve Localhost
a 127.0.0.1
de forma manual.
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.