Omitir Vínculos de navegación | |
Salir de la Vista de impresión | |
Manual de referencia de parámetros ajustables de Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (Español) |
1. Descripción general del ajuste del sistema Oracle Solaris
2. Parámetros ajustables del núcleo de Oracle Solaris
3. Parámetros ajustables de Oracle Solaris ZFS
Dónde encontrar información sobre parámetros ajustables
Consideraciones de ajuste de ZFS
Recuperación previa en el nivel de archivo ZFS
Profundidad de cola de E/S del dispositivo ZFS
Ajuste del ZFS al utilizar el almacenamiento flash
Agregación de dispositivos flash como dispositivos caché o de registro ZFS
Consideraciones para anular asignaciones SCSI para dispositivos flash
5. Parámetros ajustables del conjunto de protocolos de Internet
6. Parámetros de la utilidad del sistema
A. Historial de cambios de parámetros ajustables
Revise las siguientes consideraciones al utilizar ZFS con un producto de la base de datos.
Si la base de datos utiliza un tamaño fijo de bloque de disco o de registro para E/S, defina la propiedad recordsize de ZFS para que coincida. Puede hacer esto por sistema de archivos, aunque varios sistemas de archivos pueden compartir una sola agrupación.
Con el diseño de copia en escritura de ZFS, el ajuste de recordsize es una manera de mejorar el rendimiento de OLTP a expensas de las consultas de informes por lotes.
ZFS realiza una suma de comprobación de todos los bloques almacenados en el disco. Esto reduce la necesidad de que la capa de base de datos realice una suma de comprobación de datos en otro momento. Si las sumas de comprobación son calculadas por ZFS, en lugar de en la capa de base de datos, es posible detectar y solucionar cualquier discrepancia antes de que los datos vuelvan a la aplicación.
La E/S directa de UFS se utiliza con el fin de superar algunas de las deficiencias de diseño de UFS y eliminar el almacenamiento de datos en memoria intermedia doble. En ZFS, no existen deficiencias de diseño UFS y ZFS utiliza las propiedades primarycache y secondarycache para gestionar el almacenamiento de datos en memoria intermedia en ARC. Tenga en cuenta que el uso de la propiedad secondarycache (L2ARC) para mejorar las lecturas aleatorias también requiere que la propiedad primarycache esté activada.
Mantenga el espacio de agrupación por debajo del 90% de utilización para conservar el rendimiento de la agrupación.
ZFS se recomienda para cualquier versión de base de datos Oracle en modo de instancia única. ZFS se puede utilizar con una base de datos Oracle RAC cuando esté disponible como un sistema de archivos compartido de NFS.
Revise las siguientes recomendaciones para ajustar ZFS para una base de datos Oracle:
Verifique que esté ejecutando la última versión de Solaris
Comience con la última versión de Solaris 10 o Solaris 11 (la versión 9/10 de Solaris 10 es el mínimo punto inicial).
Cree LUN para las agrupaciones de almacenamiento ZFS, si es necesario
Utilice las herramientas de la matriz de almacenamiento para crear LUN que se presentarán a la agrupación de almacenamiento ZFS. Otra opción es utilizar discos enteros para las agrupaciones de almacenamiento ZFS reflejadas. Para obtener más información, consulte el Capítulo 3, Administración de agrupaciones de almacenamiento de Oracle Solaris ZFS de Administración de Oracle Solaris 11.1: sistemas de archivos ZFS.
Cree una agrupación de almacenamiento de archivos de datos para tablas, índices, deshacer y datos temporales
Considere la posibilidad de crear una agrupación de almacenamiento reflejada para proporcionar un mayor nivel de redundancia de datos. Por ejemplo:
# zpool status dbpool pool: dbpool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM dbpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 ONLINE 0 0 0 errors: No known data errors
Para las bases de datos con alta actividad de registro de rehacer, como una base de datos OLTP típica con muchas confirmaciones, utilice un LUN independiente para un dispositivo de registro independiente.
Cree una agrupación de almacenamiento para archivelog
Si está disponible, un disco interno del sistema puede controlar este tipo de carga. El sistema de archivos archivelog también puede ser un sistema de archivos en dbpool.
# zpool create archivepool c0t5000C500335E106Bd0
Cree los sistemas de archivos ZFS y defina la propiedades específicas de los sistemas de archivos utilizando las siguientes directrices.
Cree sistemas de archivos independientes para los componentes de la base de datos de rehacer, archivar, deshacer y temporal con el tamaño de registro predeterminado de 128 KB. La regla general es definir el sistema de archivos recordsize = db_block_size para los sistemas de archivos que contienen archivos de datos de Oracle. Para los datos de la tabla y los componentes del índice, cree un sistema de archivos con un tamaño de registro de 8 KB. También considere la posibilidad de ofrecer sugerencias de almacenamiento en caché de metadatos para los sistemas de archivos de base de datos utilizando la propiedad primarycache. Para obtener más información sobre las propiedades del sistema de archivos ZFS, consulte Introducción a las propiedades de ZFS de Administración de Oracle Solaris 11.1: sistemas de archivos ZFS.
Cree sistemas de archivos para los archivos de datos de la tabla y del índice con recordsize de 8 KB. Utilice el valor predeterminado para primarycache.
# zfs create -o recordsize=8k -o mountpoint=/my_db_path/index dbpool/index # zfs set logbias=throughput dbpool/index # zfs get primarycache,recordsize,logbias dbpool/index NAME PROPERTY VALUE SOURCE dbpool/index primarycache all default dbpool/index recordsize 8K local dbpool/index logbias throughput local
Cree sistemas de archivos para los espacios de la tabla temporal y de deshacer, utilizando los valores recordsize and primarycache.
# zfs create -o mountpoint=/my_db_path/temp dbpool/temp # zfs set logbias=throughput dbpool/temp # zfs create -o mountpoint=/my_db_path/undo dbpool/undo # zfs set logbias=throughput dbpool/undo
Cree una agrupación de almacenamiento para los registros de rehacer con un dispositivo de registro independiente. Para las bases de datos con alta actividad de registro de rehacer, como una base de datos OLTP típica con muchas confirmaciones, utilice un LUN de dispositivo de registro independiente.
Realizar una partición del disco en dos segmentos, un pequeño segmento, s0, en el rango de 64 a 150 MB para el registro independiente. El segmento s1 contiene el espacio en disco restante para el registro de rehacer.
# zpool create redopool c0t50015179594B6F11d0s1 log c0t50015179594B6F11d0s0 # zpool status redopool pool: redopool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM redopool ONLINE 0 0 0 c0t50015179594B6F11d0s1 ONLINE 0 0 0 logs c0t50015179594B6F11d0s0 ONLINE 0 0 0 errors: No known data errors
Cree un sistema de archivos para los registros de rehacer en la agrupación de deshacer. Utilice los valores predeterminados del sistema de archivos para recordsize y primarycache.
# zfs create -o mountpoint=/my_db_path/redo redopool/redo # zfs set logbias=latency redopool/redo
Cree un sistema de archivos para los archivos archivelog en la agrupación de archivos, active la compresión y utilice el valor predeterminado para recordsize y configure primarycache en metadata.
# zfs create -o compression=on -o primarycache=metadata -o mountpoint= /my_db_admin_path/archive archivepool/archive # zfs get primarycache,recordsize,compressratio,compression,available, used,quota archivepool/archive NAME PROPERTY VALUE SOURCE archivepool/archive primarycache metadata local archivepool/archive recordsize 128K default archivepool/archive compressratio 1.32x - archivepool/archive compression on local archivepool/archive available 40.0G - archivepool/archive used 10.0G - archivepool/archive quota 50G local
Considere la posibilidad de ajustar las colas de E/S de la matriz de almacenamiento (para sistemas con matrices de almacenamiento de HDS o EMC)
ZFS agrega E/S de lectura y escritura, y gestiona la prioridad de E/S antes de enviarla al controlador, que gestiona el dispositivo. El parámetro zfs_vdev_max_pending define el número máximo de E/S que ZFS envía a cualquier dispositivo de agrupación de almacenamiento.
En un entorno de almacenamiento antiguo, los parámetros ssd_max_throttle y sd_max_throttle definen el número máximo de E/S simultáneas que el controlador puede enviar al almacenamiento. Al configurar el valor predeterminado zfs_vdev_max_pending en el valor del parámetro [s]sd_max_throttle, evitamos que ZFS realice colas de E/S en otra capa SD innecesaria.
Si tiene ssd:ssd_max_throttle o sd:sd_max_throttle en el archivo /etc/system del entorno existente, configure zfs:zfs_vdev_max_pending en el mismo valor. Por ejemplo, si el administrador de la matriz de almacenamiento solicitó la siguiente configuración:
set ssd:ssd_max_throttle=20
A continuación, también configure este parámetro de la siguiente manera:
set ssd:ssd_max_throttle=20 set zfs:zfs_vdev_max_pending=20
La configuración de este parámetro permite que ZFS controle cada cola LUN. Esto significa que el número total de E/S pendientes en el almacenamiento puede aumentar de la siguiente forma:
number of LUNs * ZFS_VDEV_MAX_PENDING
Asigne memoria suficiente e intercambie recursos
Puede reducir el consumo de memoria de ZFS ajustando el parámetro zfs_arc_max en un valor bajo, pero, de todos modos, recomendamos aprovisionar memoria suficiente para almacenar en caché metadatos para la parte de la base de datos más activa, que se calcula en 1,5% con un tamaño de registro ZFS de 8 KB y una proporción mayor o menor con registros más grandes o más pequeños. El sistema de archivos que contiene los archivos de índice es el que más se beneficia con el almacenamiento en caché del sistema de archivos, porque es el último que se invalida en caso de falta de memoria. El parámetro zfs_arc_max está en bytes y acepta valores decimales o hexadecimales. En el siguiente ejemplo, este parámetro se establece en 2 GB:
set zfs:zfs_arc_max=2147483648 or set zfs:zfs_arc_max=0x80000000
Para impedir que las aplicaciones fallen debido a falta de memoria, debe configurar cierta cantidad de espacio de intercambio. La cantidad del intercambio equivalente a toda la memoria del sistema es siempre suficiente para este fin. No se espera utilizar este espacio de intercambio, pero se necesita como área de reserva. Para obtener información sobre cómo aumentar el espacio de intercambio, consulte Gestión de los dispositivos de intercambio y volcado ZFS de Administración de Oracle Solaris 11.1: sistemas de archivos ZFS.
Recomendaciones adicionales de configuración de la base de datos Oracle
Configuring Your Oracle Database on ZFS File Systems (Configuración de la base de datos Oracle en sistemas de archivos ZFS) en la siguiente documentación técnica:
http://www.oracle.com/technetwork/server-storage/solaris/config-solaris-zfs-wp-167894.pdf
Documentación técnica Dynamic SGA Tuning of Oracle Database on Oracle Solaris with DISM (Ajuste dinámico SGA de la base de datos Oracle en Oracle Solaris con DISM):
Guías de instalación de Oracle 11g
Guía de instalación rápida de Oracle Database 11g versión 2 (11.2) para Oracle Solaris en SPARC (64 bits)
http://docs.oracle.com/cd/E11882_01/install.112/e24349/toc.htm
Guía de instalación rápida de Oracle Database 11g versión 2 (11.2) para Oracle Solaris en x86-64 (64 bits)
http://docs.oracle.com/cd/E11882_01/install.112/e24351/toc.htm
Revise las siguientes consideraciones al utilizar ZFS con MySQL.
recordsize de ZFS
Relacione la propiedad recordsize de ZFS con el tamaño del bloque del motor de almacenamiento para un mejor rendimiento de OLTP.
InnoDB
Con una huella de memoria de aplicación conocida, por ejemplo, para una aplicación de base de datos, puede limitar el tamaño de la ARC de modo de que la aplicación no necesite reclamar su memoria necesaria de la caché de ZFS.
Cree una agrupación independiente para los registros.
Configure una ruta diferente para los datos y el registro en el archivo my.cnf.
Configure la propiedad recordsize de ZFS en 16 K para los archivos de datos InnoDB y utilice el valor predeterminado de recordsize para registros de InnoDB antes de crear archivos de datos.