Omitir Vínculos de navegación | |
Salir de la Vista de impresión | |
Administración de Oracle Solaris 11.1: sistemas de archivos ZFS Oracle Solaris 11.1 Information Library (Español) |
1. Sistema de archivos ZFS de Oracle Solaris (introducción)
2. Procedimientos iniciales con Oracle Solaris ZFS
3. Administración de agrupaciones de almacenamiento de Oracle Solaris ZFS
4. Gestión de componentes de la agrupación raíz ZFS
5. Administración de sistemas de archivos ZFS de Oracle Solaris
6. Uso de clones e instantáneas de Oracle Solaris ZFS
7. Uso de listas de control de acceso y atributos para proteger archivos Oracle Solaris ZFS
8. Administración delegada de ZFS Oracle Solaris
9. Temas avanzados de Oracle Solaris ZFS
10. Recuperación de agrupaciones y solución de problemas de Oracle Solaris ZFS
11. Archivado de instantáneas y recuperación de agrupaciones raíz
12. Prácticas de ZFS recomendadas por Oracle Solaris
Prácticas recomendadas de agrupaciones de almacenamiento
Prácticas generales del sistema
Prácticas de creación de agrupaciones de almacenamiento ZFS
Prácticas generales de agrupaciones de almacenamiento
Prácticas de creación de agrupaciones raíz
Prácticas de creación de agrupaciones (de datos) que no son raíz
Prácticas de creación de agrupaciones en matrices de almacenamiento locales o conectadas a la red
Prácticas de creación de agrupaciones para una base de datos Oracle
Uso de agrupaciones de almacenamiento ZFS en VirtualBox
Prácticas de agrupaciones de almacenamiento para rendimiento
Prácticas de supervisión y mantenimiento de agrupaciones de almacenamiento ZFS
Prácticas recomendadas de sistemas de archivos
Prácticas de creación de sistemas de archivos
Prácticas de creación de sistemas de archivos para una base de datos Oracle
Prácticas de supervisión de sistema de archivos ZFS
Las siguientes secciones proporcionan las prácticas recomendadas para crear y supervisar agrupaciones de almacenamiento ZFS. Para obtener más información sobre la resolución de problemas de agrupaciones de almacenamiento, consulte el Capítulo 10, Recuperación de agrupaciones y solución de problemas de Oracle Solaris ZFS.
Mantener el sistema actualizado con los parches y las versiones más reciente de Solaris.
Confirme que el controlador acepta comandos de vaciado de caché para saber que los datos se graban de forma segura, lo cual es importante antes de cambiar los dispositivos de la agrupación o dividir una agrupación de almacenamiento reflejada. Por lo general, esto no representa un problema en hardware de Oracle/Sun, pero es una buena práctica confirmar que está activada la configuración de vaciado de caché del hardware.
Determinar los requisitos de memoria en virtud de la carga de trabajo real del sistema.
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.
Tenga en cuenta los requisitos de memoria para la eliminación de datos duplicados.
Identifique el uso de la memoria de ZFS con el siguiente comando:
# mdb -k > ::memstat Page Summary Pages MB %Tot ------------ ---------------- ---------------- ---- Kernel 388117 1516 19% ZFS File Data 81321 317 4% Anon 29928 116 1% Exec and libs 1359 5 0% Page cache 4890 19 0% Free (cachelist) 6030 23 0% Free (freelist) 1581183 6176 76% Total 2092828 8175 Physical 2092827 8175 > $q
Considere el uso de la memoria ECC para proteger contra los daños de memoria. Los daños silenciosos de la memoria pueden dañar los datos.
Realizar copias de seguridad de forma regular. Aunque una agrupación creada con redundancia de ZFS puede ayudar a reducir el tiempo de inactividad debido a fallos de hardware, no es inmune a fallos de hardware, fallos de energía o cables desconectados. Asegúrese de que se realicen copias de seguridad de los datos de forma regular. Si los datos son importantes, se les debe realizar una copia de seguridad. A continuación, se enumeran diferentes formas de proporcionar copias de los datos:
Instantáneas de ZFS regulares o cotidianas.
Copias de seguridad semanales de los datos de la agrupación ZFS. Puede utilizar el comando zpool split para crear un duplicado exacto de la agrupación de almacenamiento ZFS reflejada.
Copias de seguridad mensuales utilizando un producto de copia de seguridad de nivel empresarial.
RAID de hardware.
Considere el uso del modo JBOD para matrices de almacenamiento en lugar de RAID de hardware, para que ZFS pueda gestionar el almacenamiento y la redundancia.
Utilice RAID de hardware o redundancia de ZFS, o ambos.
El uso de redundancia de ZFS tiene muchas ventajas. Para los entornos de producción, configure ZFS para que pueda reparar las incoherencias de datos. Utilice redundancia de ZFS, como RAID-Z, RAID-Z-2, RAID-Z-3 y reflejo, independientemente del nivel de RAID implementado en el dispositivo de almacenamiento subyacente. Con la redundancia, las fallas en el dispositivo de almacenamiento subyacente o en sus conexiones con el host pueden ser detectadas y reparadas por ZFS.
También consulte Prácticas de creación de agrupaciones en matrices de almacenamiento locales o conectadas a la red.
Los volcados por caída consumen más espacio en disco, generalmente entre 1/2 y 3/4 de tamaño en el rango de memoria física.
Las siguientes secciones proporcionan prácticas de agrupaciones generales y más específicas.
Utilizar discos enteros para activar la memoria caché de escritura de disco y para proporcionar mantenimiento más sencillo. Crear agrupaciones en segmentos agrega complejidad a la gestión y recuperación de discos.
Utilizar la redundancia de ZFS para que ZFS pueda reparar las incoherencias de datos.
El siguiente mensaje aparece cuando se crea una agrupación no redundante:
# zpool create tank c4t1d0 c4t3d0 'tank' successfully created, but with no redundancy; failure of one device will cause loss of the pool
Para agrupaciones reflejadas, utilice pares de discos reflejados.
Para agrupaciones RAID-Z, agrupe de 3 a 9 discos por VDEV
No combine componentes RAID-Z y reflejados dentro de la misma agrupación. Estas agrupaciones son más difíciles de gestionar y el rendimiento puede verse afectado.
Utilizar reservas activas para reducir el tiempo de inactividad debido a fallos de hardware.
Utilizar discos de tamaño similar para que la E/S esté equilibrada entre dispositivos.
Los LUN más pequeños se pueden ampliar en LUN más grandes.
Para mantener tamaños óptimos de metaslabs, no expanda LUN de tamaños extremadamente distintos, como de 128 MB a 2 TB.
Considerar la posibilidad de crear una agrupación raíz pequeña y agrupaciones de datos más grandes para admitir una recuperación del sistema más rápida.
SPARC (SMI [VTOC]): cree agrupaciones raíz con segmentos mediante el uso del identificador s*. No utilice el identificador p*. En general, la agrupación raíz ZFS de un sistema se crea cuando se instala el sistema. Si se crea una segunda agrupación raíz o se vuelve a crear una agrupación raíz, utilizar una sintaxis similar a la siguiente:
# zpool create rpool c0t1d0s0
O bien, crear una agrupación raíz reflejada. Por ejemplo:
# zpool create rpool mirror c0t1d0s0 c0t2d0s0
x86 (EFI [GPT]): cree agrupaciones raíz con discos enteros mediante el uso del identificador d*. No utilice el identificador p*. En general, la agrupación raíz ZFS de un sistema se crea cuando se instala el sistema. Si se crea una segunda agrupación raíz o se vuelve a crear una agrupación raíz, utilizar una sintaxis similar a la siguiente:
# zpool create rpool c0t1d0
O bien, crear una agrupación raíz reflejada. Por ejemplo:
# zpool create rpool mirror c0t1d0 c0t2d0
La agrupación raíz debe crearse como configuración reflejada o una configuración de un solo disco. No se admiten configuraciones RAID-Z ni distribuidas. No se pueden agregar discos adicionales para crear varios dispositivos virtuales reflejados de nivel superior mediante el comando zpool add, pero se puede ampliar un dispositivo virtual reflejado mediante el comando zpool attach.
Una agrupación raíz no puede tener un dispositivo de registro independiente.
Se pueden establecer las propiedades de agrupaciones durante una instalación de AI, pero el algoritmo de compresión gzip no se admite en las agrupaciones raíz.
No cambie el nombre de la agrupación raíz tras su creación en una instalación inicial. El cambio de nombre de la agrupación raíz puede impedir el inicio del sistema.
No cree una agrupación raíz en una unidad USB para un sistema de producción porque los discos de agrupación raíz son fundamentales para la operación continua, en especial, en un entorno empresarial. Considere la posibilidad de utilizar discos internos del sistema para la agrupación raíz o, al menos, utilice discos de la misma calidad que utilizaría para datos no raíz. Además, es posible que una unidad USB no sea suficientemente grande para admitir un tamaño de volumen de volcado que sea equivalente a la memoria física o que tenga al menos la mitad de su tamaño.
Crear agrupaciones que no son raíz con discos enteros mediante el identificador d*. No utilizar el identificador p*.
ZFS tiene un funcionamiento óptimo sin ningún software de administración de volumen adicional.
Para tener un mejor rendimiento, utilice discos individuales o, al menos, LUN formados con pocos discos. Al proporcionar ZFS con más visibilidad de la configuración de LUN, ZFS puede tomar mejores decisiones de programación de E/S.
Cree configuraciones de agrupaciones redundantes en varios controladores para reducir el tiempo de inactividad debido a fallos del controlador.
Agrupaciones de almacenamiento reflejadas: consuma más espacio en el disco pero, en general, obtenga un mejor rendimiento con lecturas aleatorias pequeñas.
# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0
Agrupaciones de almacenamiento RAID-Z: se pueden crear con 3 estrategias de paridad, donde la paridad es igual a 1 (raidz), 2 (raidz2) o 3 (raidz3). Una configuración de RAID-Z maximiza el espacio en el disco y suele funcionar bien cuando los datos se escriben y se leen en grandes cantidades (128 K o más).
Considere una configuración RAID-Z de paridad única (raidz) con 2 VDEV de 3 discos (2+1) cada uno.
# zpool create rzpool raidz1 c1t0d0 c2t0d0 c3t0d0 raidz1 c1t1d0 c2t1d0 c3t1d0
Una configuración RAIDZ-2 ofrece mejor disponibilidad de datos y se desempeña de manera similar a RAID-Z. RAIDZ-2 tiene un tiempo medio significativamente mejor para la pérdida de datos (MTTDL) que los reflejos RAID-Z o bidireccionales. Cree una configuración de RAID-Z de paridad doble (raidz2) en 6 discos (4+2).
# zpool create rzpool raidz2 c0t1d0 c1t1d0 c4t1d0 c5t1d0 c6t1d0 c7t1d0 raidz2 c0t2d0 c1t2d0 c4t2d0 c5t2d0 c6t2d0 c7t2d
La configuración RAIDZ-3 maximiza el espacio en disco y ofrece una excelente disponibilidad porque puede resistir 3 fallos de disco. Cree una configuración RAID-Z de paridad triple (raidz3) en 9 discos (6+3).
# zpool create rzpool raidz3 c0t0d0 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 c6t0d0 c7t0d0 c8t0d0
Tenga en cuenta las siguientes prácticas de agrupación de almacenamiento al crear una agrupación de almacenamiento ZFS en una matriz conectada de forma local o remota.
Si crea una agrupación en dispositivos SAN y la conexión de red es lenta, es posible que los dispositivos de la agrupación tengan el estado UNAVAIL durante un tiempo. Debe evaluar si la conexión de red es adecuada para proporcionar los datos de forma continua. Además, tenga en cuenta que si utiliza dispositivos SAN para la agrupación raíz, es posible que no estén disponibles en cuanto se inicia el sistema y es posible que los dispositivos de la agrupación raíz también tengan el estado UNAVAIL.
Confirme con el proveedor de matrices que la matriz de discos no vacía la caché después de que ZFS emite una solicitud de vaciado de la caché de escritura.
Utilice discos enteros, no segmentos de discos, como dispositivos de la agrupación de almacenamiento, de modo que Oracle Solaris ZFS active las cachés de discos locales pequeños, que se vacían en momentos adecuados.
Para obtener el mejor rendimiento, cree un LUN para cada disco físico en la matriz. Si se utiliza un solo LUN grande, es posible que ZFS ponga en cola muy pocas operaciones de E/S de lectura para un rendimiento óptimo del almacenamiento. Por el contrario, si se utilizan muchos LUN pequeños, es posible que el almacenamiento se llene con una gran cantidad de operaciones de E/S de lectura pendientes.
Para Oracle Solaris ZFS, no se recomienda utilizar una matriz de almacenamiento que utiliza software de aprovisionamiento dinámico (o delgado) para implementar la asignación de espacio virtual. Cuando Oracle Solaris ZFS escribe los datos modificados en el espacio libre, escribe en todo el LUN. El proceso de escritura de Oracle Solaris ZFS asigna todo el espacio virtual desde el punto de vista de la matriz de almacenamiento, lo cual invalida el beneficio del aprovisionamiento dinámico.
Tenga en cuenta que el software de aprovisionamiento dinámico puede ser innecesario al utilizar ZFS:
Puede ampliar un LUN en una agrupación de almacenamiento ZFS existente y utilizará el nuevo espacio.
También funciona un comportamiento similar cuando un LUN más pequeño se reemplaza con uno de mayor tamaño.
Si evalúa las necesidades de almacenamiento para su agrupación y crea la agrupación con LUN más pequeños iguales a las necesidades de almacenamiento, más adelante puede ampliar los LUN a un tamaño mayor si se necesita más espacio.
Si es posible que la matriz presente dispositivos individuales (modo JBOD), considere la posibilidad de crear agrupaciones de almacenamiento ZFS redundantes (reflejadas o RAID-Z) en este tipo de matriz de modo que ZFS pueda comunicar y corregir las inconsistencias de datos.
Tenga en cuenta las siguientes prácticas de agrupación de almacenamiento al crear una base de datos Oracle.
Utilizar una agrupación reflejada o un RAID de hardware para agrupaciones.
Las agrupaciones RAID-Z por lo general no se recomiendan para lectura aleatorias cargas de trabajo aleatorias.
Crear una pequeña agrupación independiente con un dispositivo de registro independiente para los registros de rehacer de la base de datos.
Crear una pequeña agrupación independiente para el registro de archivo.
Para obtener más información, consulte la siguiente documentación técnica:
http://blogs.oracle.com/storage/entry/new_white_paper_configuring_oracle
De manera predeterminada, Virtual Box está configurada para omitir comandos de vaciado de caché desde el almacenamiento subyacente. Esto significa que, en caso de un bloqueo del sistema o un error de hardware, se pueden perder los datos.
Ejecute el siguiente comando para activar el vaciado de caché en Virtual Box:
VBoxManage setextradata <VM_NAME> "VBoxInternal/Devices/<type>/0/LUN#<n>/Config/IgnoreFlush" 0
<VM_NAME> es el nombre de la máquina virtual
<type> es el tipo de controlador, que puede ser piix3ide (si utiliza el controlador virtual IDE habitual) o ahci, si utiliza un controlador SATA
<n> es el número de disco
Mantener la capacidad de la agrupación por debajo del 90% para obtener el mejor rendimiento.
Se recomiendan las agrupaciones reflejadas en lugar de las agrupaciones RAID-Z para cargas de trabajo de lectura/escritura aleatoria.
Separar dispositivos de registro.
Recomendado para mejorar el rendimiento de la escritura síncrona.
Con una alta carga de escritura síncrona, se evita la fragmentación de escribir muchos los bloques de registros en la agrupación principal.
Se recomiendan los dispositivos de caché independientes para mejorar el rendimiento de lectura.
Limpieza/creación: una agrupación RAID-Z muy grande con muchos dispositivos tendrá tiempos de limpieza y creación más largos.
Rendimiento de la agrupación lento: utilice el comando zpool status para descartar cualquier problema de hardware que esté causando problemas de rendimiento en la agrupación. Si no aparece ningún problema en el comando zpool status, utilice el comando fmdump para mostrar los fallos de hardware, o utilice el comando fmdump -eV para revisar los errores de hardware que todavía no han provocado un fallo.
Asegúrese de que la capacidad de agrupación esté por debajo del 90% para obtener el mejor rendimiento.
El rendimiento de la agrupación se puede degradar cuando una agrupación está muy llena y los sistemas de archivos se actualizan con frecuencia, como en un servidor de correo muy ocupado. Las agrupaciones llenas pueden ocasionar una penalización del rendimiento, pero no otros problemas. Si la carga de trabajo principal es de archivos inmutables, mantenga la agrupación en el rango de uso entre un 95 y 96%. Incluso si el contenido más estático está en el rango entre 95 y 96%, se pueden ver perjudicados los rendimientos de escritura, lectura y creación.
Supervise el espacio de la agrupación y del sistema de archivos para asegurarse de que no estén llenos.
Evalúe la posibilidad de usar reservas y cuotas ZFS a fin de garantizar que el espacio del sistema de archivos no supere el 90% de la capacidad de la agrupación.
Supervise el estado de la agrupación.
Agrupaciones redundantes: supervise la agrupación con zpool status y fmdump semanalmente.
Agrupaciones no redundantes: supervise la agrupación con zpool status y fmdump bisemanalmente.
Ejecute zpool scrub de forma regular para identificar problemas de integridad de los datos.
Si tiene unidades de calidad de consumidor, trate de programar una limpieza semanal.
Si tiene unidades de calidad de centro de datos, trate de programar una limpieza mensual.
También debería realizar una limpieza antes de reemplazar dispositivos o reducir temporalmente la redundancia de una agrupación para asegurarse de que todos los dispositivos se encuentren en funcionamiento.
Supervise las fallas de la agrupación o del dispositivo. Use zpool status como se describe a continuación. También use fmdump o fmdump -eV para ver si se produjo alguna falla o error de dispositivo.
Agrupaciones redundantes: supervise el estado de la agrupación con zpool status y fmdump semanalmente.
Agrupaciones no redundantes: supervise el estado de la agrupación con zpool status y fmdump bisemanalmente
El dispositivo de la agrupación está UNAVAIL u OFFLINE - Si el dispositivo de una agrupación no está disponible, compruebe que el dispositivo se muestre en la salida del comando format. Si el dispositivo no se muestra en la salida de format, no estará visible para ZFS.
Si el dispositivo de una agrupación está UNAVAIL u OFFLINE, en general, esto significa que el dispositivo ha fallado o que el cable se ha desconectado, o algún otro problema de hardware, como un cable o controlador incorrectos que han provocado que el dispositivo sea inaccesible.
Considerar la configuración del servicio smtp-notify para que notifique cuando un componente de hardware se diagnostique como defectuoso. Para obtener más información, consulte sección Parámetros de notificación de smf(5) and smtp-notify(1M).
De manera predeterminada, algunas notificaciones se configuran de forma automática para ser enviadas al usuario root. Si agrega un alias para la cuenta de usuario como root en el archivo /etc/aliases, recibirá notificaciones por correo electrónico, similares a la siguiente:
From noaccess@tardis.space.com Fri Jun 29 16:58:59 2012 Date: Fri, 29 Jun 2012 16:58:58 -0600 (MDT) From: No Access User <noaccess@tardis.space.com> Message-Id: <201206292258.q5TMwwFL002753@tardis.space.com> Subject: Fault Management Event: tardis:ZFS-8000-8A To: root@tardis.space.com Content-Length: 771 SUNW-MSG-ID: ZFS-8000-8A, TYPE: Fault, VER: 1, SEVERITY: Critical EVENT-TIME: Fri Jun 29 16:58:58 MDT 2012 PLATFORM: ORCL,SPARC-T3-4, CSN: 1120BDRCCD, HOSTNAME: tardis SOURCE: zfs-diagnosis, REV: 1.0 EVENT-ID: 76c2d1d1-4631-4220-dbbc-a3574b1ee807 DESC: A file or directory in pool 'pond' could not be read due to corrupt data. AUTO-RESPONSE: No automated response will occur. IMPACT: The file or directory is unavailable. REC-ACTION: Use 'fmadm faulty' to provide a more detailed view of this event. Run 'zpool status -xv' and examine the list of damaged files to determine what has been affected. Please refer to the associated reference document at http://support.oracle.com/msg/ZFS-8000-8A for the latest service procedures and policies regarding this diagnosis.
Supervisar el espacio de la agrupación de almacenamiento - Utilice el comando zpool list y el comando zfs list para identificar la cantidad de disco que consumen los datos del sistema de archivos. Las instantáneas de ZFS pueden consumir espacio en disco y, si no están enumeradas por el comando zfs list, también pueden consumir espacio en disco en modo silencioso. Utilice el comando de instantánea zfs list - t para identificar el espacio en disco consumido por las instantáneas.