Guía de administración de Solaris ZFS

328
Guía de administración de Solaris ZFS Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Referencia: 820–2314–14 Octubre de 2009

Transcript of Guía de administración de Solaris ZFS

Page 1: Guía de administración de Solaris ZFS

Guía de administración deSolaris ZFS

Sun Microsystems, Inc.4150 Network CircleSanta Clara, CA 95054U.S.A.

Referencia: 820–2314–14Octubre de 2009

Page 2: Guía de administración de Solaris ZFS

Copyright 2009 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. Reservados todos los derechos.

Sun Microsystems, Inc. tiene derechos de propiedad intelectual relacionados con la tecnología del producto que se describe en este documento. En concreto, y sinlimitarse a ello, estos derechos de propiedad intelectual pueden incluir una o más patentes de EE. UU. o aplicaciones pendientes de patente en EE. UU. y otros países.

Derechos del Gobierno de los Estados Unidos: software comercial. Los usuarios gubernamentales están sujetos al acuerdo de licencia estándar de Sun Microsystems,Inc. y a las disposiciones aplicables de la regulación FAR y sus suplementos.

Esta distribución puede incluir materiales desarrollados por terceras partes.

Determinadas partes del producto pueden proceder de sistemas Berkeley BSD, con licencia de la Universidad de California. UNIX es una marca registrada en los EE.UU. y otros países, bajo licencia exclusiva de X/Open Company, Ltd.

Sun, Sun Microsystems, el logotipo de Sun, el logotipo de Solaris, el logotipo de la taza de café de Java, docs.sun.com, Java y Solaris son marcas comerciales o marcascomerciales registradas de Sun Microsystems, Inc. o de sus filiales en EE. UU. y otros países. Todas las marcas registradas SPARC se usan bajo licencia y son marcascomerciales o marcas registradas de SPARC International, Inc. en los EE. UU. y en otros países. Los productos con las marcas registradas de SPARC se basan en unaarquitectura desarrollada por Sun Microsystems, Inc. Legato NetWorker es una marca comercial o marca comercial registrada de Legato Systems, Inc.

La interfaz gráfica de usuario OPEN LOOK y SunTM fue desarrollada por Sun Microsystems, Inc. para sus usuarios y licenciatarios. Sun reconoce los esfuerzospioneros de Xerox en la investigación y desarrollo del concepto de interfaces gráficas o visuales de usuario para el sector de la informática. Sun dispone de unalicencia no exclusiva de Xerox para la interfaz gráfica de usuario de Xerox, que también cubre a los licenciatarios de Sun que implementen las GUI de OPEN LOOK yque, por otra parte, cumplan con los acuerdos de licencia por escrito de Sun.

Los productos comentados y la información contenida en esta publicación están controlados por las leyes de control de exportación de los Estados Unidos y puedenestar sujetos a leyes de exportación o importación en otros países. Queda terminantemente prohibido el uso final (directo o indirecto) de esta documentación para eldesarrollo de armas nucleares, químicas, biológicas, de uso marítimo nuclear o misiles. Queda terminantemente prohibida la exportación o reexportación a paísessujetos al embargo de los Estados Unidos o a entidades identificadas en las listas de exclusión de exportación de los Estados Unidos, incluidas, aunque sin limitarse a,las personas con acceso denegado y las listas de ciudadanos designados con carácter especial.

ESTA DOCUMENTACIÓN SE PROPORCIONA “TAL CUAL”. SE RENUNCIA A TODAS LAS CONDICIONES EXPRESAS O IMPLÍCITAS,REPRESENTACIONES Y GARANTÍAS, INCLUIDAS CUALQUIER GARANTÍA IMPLÍCITA DE COMERCIALIZACIÓN, ADECUACIÓN PARA UNAFINALIDAD DETERMINADA O DE NO CONTRAVENCIÓN, EXCEPTO EN AQUELLOS CASOS EN QUE DICHA RENUNCIA NO FUERA LEGALMENTEVÁLIDA.

Copyright 2009 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. Tous droits réservés.

Sun Microsystems, Inc. détient les droits de propriété intellectuelle relatifs à la technologie incorporée dans le produit qui est décrit dans ce document. En particulier,et ce sans limitation, ces droits de propriété intellectuelle peuvent inclure un ou plusieurs brevets américains ou des applications de brevet en attente aux Etats-Uniset dans d'autres pays.

Cette distribution peut comprendre des composants développés par des tierces personnes.

Certaines composants de ce produit peuvent être dérivées du logiciel Berkeley BSD, licenciés par l'Université de Californie. UNIX est une marque déposée auxEtats-Unis et dans d'autres pays; elle est licenciée exclusivement par X/Open Company, Ltd.

Sun, Sun Microsystems, le logo Sun, le logo Solaris, le logo Java Coffee Cup, docs.sun.com, Java et Solaris sont des marques de fabrique ou des marques déposées deSun Microsystems, Inc., ou ses filiales, aux Etats-Unis et dans d'autres pays. Toutes les marques SPARC sont utilisées sous licence et sont des marques de fabrique oudes marques déposées de SPARC International, Inc. aux Etats-Unis et dans d'autres pays. Les produits portant les marques SPARC sont basés sur une architecturedéveloppée par Sun Microsystems, Inc. Legato NetWorker is a trademark or registered trademark of Legato Systems, Inc.

L'interface d'utilisation graphique OPEN LOOK et Sun a été développée par Sun Microsystems, Inc. pour ses utilisateurs et licenciés. Sun reconnaît les efforts depionniers de Xerox pour la recherche et le développement du concept des interfaces d'utilisation visuelle ou graphique pour l'industrie de l'informatique. Sun détientune licence non exclusive de Xerox sur l'interface d'utilisation graphique Xerox, cette licence couvrant également les licenciés de Sun qui mettent en place l'interfaced'utilisation graphique OPEN LOOK et qui, en outre, se conforment aux licences écrites de Sun.

Les produits qui font l'objet de cette publication et les informations qu'il contient sont régis par la legislation américaine en matière de contrôle des exportations etpeuvent être soumis au droit d'autres pays dans le domaine des exportations et importations. Les utilisations finales, ou utilisateurs finaux, pour des armes nucléaires,des missiles, des armes chimiques ou biologiques ou pour le nucléaire maritime, directement ou indirectement, sont strictement interdites. Les exportations ouréexportations vers des pays sous embargo des Etats-Unis, ou vers des entités figurant sur les listes d'exclusion d'exportation américaines, y compris, mais de manièrenon exclusive, la liste de personnes qui font objet d'un ordre de ne pas participer, d'une façon directe ou indirecte, aux exportations des produits ou des services quisont régis par la legislation américaine en matière de contrôle des exportations et la liste de ressortissants spécifiquement designés, sont rigoureusement interdites.

LA DOCUMENTATION EST FOURNIE "EN L'ETAT" ET TOUTES AUTRES CONDITIONS, DECLARATIONS ET GARANTIES EXPRESSES OU TACITESSONT FORMELLEMENT EXCLUES, DANS LA MESURE AUTORISEE PAR LA LOI APPLICABLE, Y COMPRIS NOTAMMENT TOUTE GARANTIEIMPLICITE RELATIVE A LA QUALITE MARCHANDE, A L'APTITUDE A UNE UTILISATION PARTICULIERE OU A L'ABSENCE DE CONTREFACON.

091006@22749

Page 3: Guía de administración de Solaris ZFS

Contenido

Prefacio ..................................................................................................................................................11

1 Sistema de archivos ZFS (introducción) ........................................................................................... 15Novedades de ZFS ............................................................................................................................... 15

Compatibilidad con la instalación de ZFS y Flash ................................................................... 16Cuotas de grupo y usuario de ZFS .............................................................................................. 16Herencia de pass-through de LCA de ZFS para el permiso de ejecución .............................. 17Mejoras en las propiedades de ZFS ............................................................................................ 18Recuperación del dispositivo de registros de ZFS .................................................................... 20Uso de dispositivos caché en la agrupación de almacenamiento ZFS ................................... 21Migración de zonas en un entorno ZFS ..................................................................................... 22Instalación y arranque de ZFS .................................................................................................... 22Inversión (rollback) de un conjunto de datos sin desmontar ................................................. 22Mejoras en el comando zfs send ...............................................................................................22Cuotas y reservas de ZFS sólo para datos del sistema de archivos .......................................... 23Propiedades de agrupaciones de almacenamiento de ZFS ..................................................... 24Mejoras en el historial de comando ZFS (zpool history) ......................................................25Actualización de sistemas de archivos ZFS (zfs upgrade) .....................................................27Administración delegada de ZFS ............................................................................................... 27Configuración de dispositivos de registro de ZFS independientes ........................................ 28Creación de conjuntos de datos de ZFS intermedios ............................................................... 29Mejoras en la conexión en marcha de ZFS ................................................................................ 29Cambio de nombre recursivo de instantáneas de ZFS (zfs rename -r) ................................30Compresión GZIP disponible para ZFS .................................................................................... 31Almacenamiento de varias copias de datos de usuarios de ZFS ............................................. 32Salida mejorada de zpool status ..............................................................................................33Mejoras en ZFS y Solaris iSCSI ................................................................................................... 33Historial de comandos de ZFS (zpool history) ......................................................................33

3

Page 4: Guía de administración de Solaris ZFS

Mejoras en las propiedades de ZFS ............................................................................................ 34Visualización de la información de todo el sistema de archivos ZFS ..................................... 35Nueva opción zfs receive -F ....................................................................................................35Instantáneas de ZFS repetidas .................................................................................................... 35RAID-Z de paridad doble (raidz2) ........................................................................................... 36Repuestos en marcha para dispositivos de grupos de almacenamiento de ZFS ................... 36Sustitución de un sistema de archivos ZFS por un clónico de ZFS (zfs promote) ...............36Actualización de grupos de almacenamiento de ZFS (zpool upgrade) ................................37Cambio de nombre en los comandos de restauración y copia de seguridad de ZFS ............ 37Recuperación de grupos de almacenamiento destruidas ........................................................ 37ZFS se integra en el administrador de fallos .............................................................................. 37Nuevo comando zpool clear ....................................................................................................38Formato compacto NFSv4 de LCA ............................................................................................ 38Herramienta de supervisión del sistema de archivos (fsstat) .............................................. 39Administración por Internet de ZFS ......................................................................................... 39

Definición de ZFS ................................................................................................................................ 40Almacenamiento en grupos de ZFS ........................................................................................... 40Semántica transaccional .............................................................................................................. 41Datos de reparación automática y sumas de comprobación .................................................. 41Escalabilidad incomparable ........................................................................................................ 42Instantáneas de ZFS ..................................................................................................................... 42Administración simplificada ...................................................................................................... 42

Terminología de ZFS ........................................................................................................................... 43Requisitos de asignación de nombres de componentes de ZFS ..................................................... 45

2 Procedimientos iniciales con ZFS ......................................................................................................47Recomendaciones y requisitos de software y hardware para ZFS ................................................. 47Creación de un sistema de archivos ZFS básico ............................................................................... 48Creación de un grupo de almacenamiento de ZFS .......................................................................... 49

▼ Identificación de los requisitos del grupo de almacenamiento de ZFS .................................. 49▼ Cómo crear un grupo de almacenamiento de ZFS ................................................................... 49

Creación de una jerarquía para el sistema de archivos ZFS ............................................................ 50▼ Cómo establecer la jerarquía del sistema de archivos ZFS ...................................................... 51▼ Creación de sistemas de archivos ZFS ....................................................................................... 51

Contenido

Guía de administración de Solaris ZFS • Octubre de 20094

Page 5: Guía de administración de Solaris ZFS

3 Diferencias entre ZFS y sistemas de archivos tradicionales ......................................................... 55Granularidad de sistemas de archivos ZFS ....................................................................................... 55Cálculo del espacio de ZFS ................................................................................................................. 56

Comportamiento de falta de espacio ......................................................................................... 57Montaje de sistemas de archivos ZFS ................................................................................................ 57Administración tradicional de volúmenes ....................................................................................... 57Nuevo modelo de LCA de Solaris ...................................................................................................... 58

4 Administración de grupos de almacenamiento de ZFS ................................................................ 59Componentes de un grupo de almacenamiento de ZFS ................................................................. 59

Utilización de discos en un grupo de almacenamiento de ZFS .............................................. 59Uso de segmentos en una agrupación de almacenamiento de ZFS ........................................ 61Utilización de archivos en un grupo de almacenamiento de ZFS .......................................... 63

Funciones de replicación de un grupo de almacenamiento de ZFS .............................................. 63Configuración duplicada de grupos de almacenamiento ....................................................... 63Configuración de grupos de almacenamiento RAID-Z .......................................................... 64Agrupación de almacenamiento híbrido ZFS .......................................................................... 65Datos de recuperación automática en una configuración redundante ................................. 65Reparto dinámico de discos en bandas en un grupo de almacenamiento ............................. 66

Creación y destrucción de grupos de almacenamiento de ZFS ..................................................... 66Creación de un grupo de almacenamiento de ZFS .................................................................. 67Visualización de información de dispositivos virtuales de agrupaciones dealmacenamiento ........................................................................................................................... 71Administración de errores de creación de grupos de almacenamiento de ZFS .................... 73Destrucción de grupos de almacenamiento de ZFS ................................................................. 76

Administración de dispositivos en grupos de almacenamiento de ZFS ....................................... 77Adición de dispositivos a un grupo de almacenamiento ......................................................... 77Conexión y desconexión de dispositivos en un grupo de almacenamiento ......................... 82Dispositivos con conexión y sin conexión en un grupo de almacenamiento ....................... 84Supresión de dispositivos de grupos de almacenamiento ....................................................... 86Sustitución de dispositivos en un grupo de almacenamiento ................................................. 86Designación de repuestos en marcha en el grupo de almacenamiento ................................. 88

Administración de propiedades de agrupaciones de almacenamiento ZFS ................................ 93Consulta del estado de un grupo de almacenamiento de ZFS ........................................................ 96

Visualización de la información del grupo de almacenamiento de ZFS básico .................... 96

Contenido

5

Page 6: Guía de administración de Solaris ZFS

Visualización de estadísticas de E/S de grupos de almacenamiento de ZFS ....................... 100Cómo determinar el estado de los grupos de almacenamiento de ZFS ............................... 102

Migración de grupos de almacenamiento de ZFS ......................................................................... 105Preparación para la migración de grupos de almacenamiento de ZFS ................................ 105Exportación a un grupo de almacenamiento de ZFS ............................................................. 106Especificación de grupos de almacenamiento disponibles para importar .......................... 106Búsqueda de grupos de almacenamiento de ZFS en directorios alternativos ..................... 108Importación de grupos de almacenamiento de ZFS .............................................................. 109Recuperación de grupos de almacenamiento de ZFS destruidos ......................................... 110Actualización de grupos de almacenamiento de ZFS ............................................................ 112

5 Instalación y arranque de un sistema de archivos root ZFS ........................................................115Instalación y arranque de un sistema de archivos root ZFS (descripción general) .................... 116

Funciones de instalación de ZFS .............................................................................................. 116Requisitos de instalación de Solaris y de Modernización automática de Solaris para admitirZFS ............................................................................................................................................... 117

Instalación de un sistema de archivos root ZFS (instalación inicial) .......................................... 120Instalación de un sistema de archivos root ZFS (instalación de contenedor Flash) .................. 127Instalación de un sistema de archivos root ZFS (instalación JumpStart) ................................... 130

Ejemplos de perfiles JumpStart de ZFS .................................................................................... 130Palabras clave JumpStart de ZFS .............................................................................................. 131Problemas de JumpStart de ZFS ............................................................................................... 134

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática deSolaris) ................................................................................................................................................ 134

Problemas de migración con Modernización automática de Solaris a ZFS ........................ 136Uso de Modernización automática de Solaris para migrar a un sistema de archivos root ZFS(sin zonas) ................................................................................................................................... 137Uso de Modernización automática de Solaris para migrar o actualizar un sistema con zonas(Solaris 10 10/08) ........................................................................................................................ 142Uso de Modernización automática de Solaris para migrar o actualizar un sistema con zonas(Solaris 10 5/09 y Solaris 10 10/09) ........................................................................................... 147

Compatibilidad de ZFS con dispositivos de intercambio y volcado ........................................... 159Ajuste del tamaño de los dispositivos de intercambio y volcado de ZFS ............................. 160

Arranque desde un sistema de archivos root ZFS .......................................................................... 162Arranque desde un disco alternativo en una agrupación root ZFS duplicada .................... 162Arranque de un sistema de archivos root ZFS en un sistema basado en SPARC ................ 163

Contenido

Guía de administración de Solaris ZFS • Octubre de 20096

Page 7: Guía de administración de Solaris ZFS

Arranque de un sistema de archivos root ZFS en un sistema basado en x86 ...................... 165Resolución de problemas de montaje de ZFS que impiden arrancar correctamente ........ 166

Recuperación de la agrupación root ZFS o las instantáneas de la agrupación root ................... 168▼ Cómo sustituir un disco en la agrupación root ZFS .............................................................. 168▼ Cómo crear instantáneas de la agrupación root .................................................................... 170▼ Cómo volver a crear una agrupación root ZFS y restaurar instantáneas de agrupaciones

root ............................................................................................................................................... 171▼ Cómo deshacer instantáneas de agrupaciones root a partir de un arranque a prueba de

errores .......................................................................................................................................... 173

6 Administración de sistemas de archivos ZFS ................................................................................ 175Creación y destrucción de sistemas de archivos ZFS .................................................................... 176

Creación de un sistema de archivos ZFS ................................................................................. 176Destrucción de un sistema de archivos ZFS ............................................................................ 177Cambio de nombre de un sistema de archivos ZFS ............................................................... 178

Introducción a las propiedades de ZFS ........................................................................................... 179Propiedades nativas de sólo lectura de ZFS ............................................................................ 187Propiedades nativas de ZFS configurables .............................................................................. 188Propiedades de usuario de ZFS ................................................................................................ 191

Consulta de información del sistema de archivos ZFS ................................................................. 193Visualización de información básica de ZFS .......................................................................... 193Creación de consultas de ZFS complejas ................................................................................. 194

Administración de propiedades de ZFS .......................................................................................... 195Configuración de propiedades de ZFS .................................................................................... 195Herencia de propiedades de ZFS .............................................................................................. 196Consulta de las propiedades de ZFS ........................................................................................ 197

Montaje y compartición de sistemas de archivos ZFS ................................................................... 201Administración de puntos de montaje de ZFS ....................................................................... 201Montaje de sistemas de archivos ZFS ...................................................................................... 203Uso de propiedades de montaje temporales ........................................................................... 204Desmontaje de los sistemas de archivos ZFS .......................................................................... 205Cómo compartir y anular la compartición de sistemas de archivos ZFS ............................ 205

Configuración de cuotas y reservas de ZFS .................................................................................... 207Establecimiento de cuotas en sistemas de archivos ZFS ........................................................ 208Establecimiento de reservas en sistemas de archivos ZFS ..................................................... 212

Contenido

7

Page 8: Guía de administración de Solaris ZFS

7 Utilización de clónicos e instantáneas de ZFS .............................................................................. 215Información general de instantáneas de ZFS ................................................................................. 215

Creación y destrucción de instantáneas de ZFS ..................................................................... 216Visualización y acceso a instantáneas de ZFS ......................................................................... 218Restablecimiento de una instantánea ZFS .............................................................................. 219

Información general sobre clónicos de ZFS ................................................................................... 220Creación de un clónico de ZFS ................................................................................................. 221Destrucción de un clónico de ZFS ........................................................................................... 221Sustitución de un sistema de archivos ZFS por un clónico de ZFS ...................................... 221

Envío y recepción de datos ZFS ....................................................................................................... 223Envío de una instantánea ZFS .................................................................................................. 224Recepción de una instantánea ZFS .......................................................................................... 225Envío y recepción de flujos de instantáneas ZFS complejos ................................................. 226Cómo guardar datos de ZFS con otros productos de copia de seguridad ........................... 229

8 Uso de las LCA para proteger archivos ZFS ................................................................................... 231Nuevo modelo de LCA de Solaris .................................................................................................... 231

Descripciones de la sintaxis para definir las LCA ................................................................... 233Herencia de LCA ........................................................................................................................ 236Modos de propiedades de LCA ................................................................................................ 237

Establecimiento de las LCA en archivos ZFS ................................................................................. 238Establecimiento y configuración de las LCA en archivos ZFS en formato detallado ................ 240

Establecimiento de herencia de LCA en archivos ZFS en formato detallado ..................... 246Establecimiento y configuración de las LCA en archivos ZFS en formato compacto ............... 254

9 Administración delegada de ZFS ....................................................................................................261Descripción general de la administración delegada de ZFS ......................................................... 261

Inhabilitación de permisos delegados de ZFS ......................................................................... 262Delegación de permisos de ZFS ....................................................................................................... 262

Descripción de sintaxis para delegar permisos (zfs allow) ................................................ 265Eliminación de permisos delegados de ZFS (zfs unallow) ................................................. 266

Uso de la administración delegada de ZFS ..................................................................................... 266Visualización de permisos delegados de ZFS ......................................................................... 266Delegación de permisos ZFS (ejemplos) ................................................................................. 268Eliminación de permisos ZFS (ejemplos) ............................................................................... 272

Contenido

Guía de administración de Solaris ZFS • Octubre de 20098

Page 9: Guía de administración de Solaris ZFS

10 Temas avanzados de ZFS ..................................................................................................................275Volúmenes de ZFS ............................................................................................................................. 275

Uso de un volumen de ZFS como dispositivo de volcado o intercambio ............................ 276Uso de un volumen de ZFS como objetivo iSCSI de Solaris ................................................. 277

Uso de ZFS en un sistema Solaris con zonas instaladas ................................................................ 278Adición de sistemas de archivos ZFS a una zona no global ................................................... 279Delegación de conjuntos de datos a una zona no global ....................................................... 280Adición de volúmenes de ZFS a una zona no global .............................................................. 281Uso de grupos de almacenamiento de ZFS en una zona ....................................................... 281Administración de propiedades de ZFS en una zona ............................................................ 282Interpretación de la propiedad zoned ...................................................................................... 283

Uso de grupos root de ZFS alternativos .......................................................................................... 284Creación de grupos root de ZFS alternativos .......................................................................... 284Importación de grupos root alternativos ................................................................................ 284

Perfiles de derechos de ZFS .............................................................................................................. 285

11 Resolución de problemas y recuperación de datos de ZFS .........................................................287Modos de error de ZFS ...................................................................................................................... 287

Dispositivos que faltan en un grupo de almacenamiento de ZFS ........................................ 288Dispositivos dañados de un grupo de almacenamiento de ZFS ........................................... 288Datos dañados de ZFS ............................................................................................................... 288

Comprobación de la integridad de los datos de ZFS ..................................................................... 289Reparación de datos ................................................................................................................... 289Validación de datos .................................................................................................................... 289Control de la limpieza de datos de ZFS ................................................................................... 290

Identificación de problemas en ZFS ................................................................................................ 291Cómo establecer si un grupo de almacenamiento de ZFS tiene problemas ........................ 292Revisión de la salida de zpool status .................................................................................... 293Creación de informes del sistema sobre mensajes de error de ZFS ...................................... 296

Reparación de una configuración de ZFS dañada ......................................................................... 297Resolución de un dispositivo que no se encuentra ........................................................................ 297

Cómo volver a conectar físicamente el dispositivo ................................................................ 298Notificación de ZFS sobre disponibilidad de dispositivos .................................................... 298

Sustitución o reparación de un dispositivo dañado ...................................................................... 299Cómo determinar el tipo de error en dispositivos ................................................................. 299

Contenido

9

Page 10: Guía de administración de Solaris ZFS

Supresión de errores transitorios ............................................................................................. 300Sustitución de un dispositivo de un grupo de almacenamiento de ZFS .............................. 301

Reparación de datos dañados ........................................................................................................... 308Identificación del tipo de corrupción de datos ....................................................................... 309Reparación de un archivo o directorio dañado ...................................................................... 310Reparación de daños en los grupos de almacenamiento de ZFS .......................................... 311

Reparación de un sistema que no se puede arrancar ..................................................................... 311

Índice .................................................................................................................................................. 313

Contenido

Guía de administración de Solaris ZFS • Octubre de 200910

Page 11: Guía de administración de Solaris ZFS

Prefacio

La Guía de administración de ZFS de Solaris proporciona información sobre la configuración yadministración de sistemas de archivos ZFS de SolarisTM.

Esta guía contiene información para los sistemas basados en SPARC ® y x86.

Nota – Esta versión de Solaris admite sistemas que utilizan las familias de arquitecturas deprocesador SPARC y x86: UltraSPARC®, SPARC64, AMD64, Pentium y Xeon EM64T. Lossistemas admitidos aparecen en la Lista de compatibilidad de hardware de Solaris 10 enhttp://www.sun.com/bigadmin/hcl . Este documento indica las diferencias de implementaciónentre los tipos de plataforma.

En el presente documento, estos términos x86 significan lo siguiente:

■ “x86” hace referencia a la familia más grande de productos compatibles con 64 y 32 bits.■ “x64” destaca información específica de 64 bits acerca de los sistemas AMD64 o EM64T.■ “x86 de 32 bits” destaca información específica de 32 bits acerca de sistemas basados en x86.

Para conocer cuáles son los sistemas admitidos, consulte la Lista de compatibilidad de hardwarede Solaris 10.

Quién debe utilizar este manualEsta guía va dirigida a los usuarios interesados en la configuración y administración de lossistemas de archivos ZFS de Solaris. Se recomienda tener experiencia con el sistema operativo(SO) Solaris u otra versión de UNIX®.

11

Page 12: Guía de administración de Solaris ZFS

Organización de este manualEn tabla siguiente se describe los capítulos de este manual.

Capítulo Descripción

Capítulo 1, “Sistema dearchivos ZFS (introducción)”

Ofrece una descripción general de ZFS, sus características y ventajas.También abarca la terminología y algunos conceptos básicos.

Capítulo 2, “Procedimientosiniciales con ZFS”

Ofrece instrucciones paso a paso para configuraciones ZFS sencillas consistemas de archivos y agrupaciones simples. Este capítulo también brindainstrucciones de hardware y software necesarias para crear sistemas dearchivos ZFS.

Capítulo 3, “Diferencias entreZFS y sistemas de archivostradicionales”

Identifica características importantes que hacen que ZFS seasignificativamente diferente respecto a los sistemas de archivos tradicionales.La comprensión de estas diferencias clave ayuda a reducir la confusión alusar herramientas tradicionales para interactuar con ZFS.

Capítulo 4, “Administración degrupos de almacenamiento deZFS”

Proporciona instrucciones detalladas para crear y administrar grupo dealmacenamiento.

Capítulo 5, “Instalación yarranque de un sistema dearchivos root ZFS”

Describe el procedimiento para instalar y arrancar un sistema de archivosZFS. También se explica la migración de un sistema de archivos root UFS aun sistema de archivos root ZFS mediante Modernización automática deSolaris.

Capítulo 6, “Administración desistemas de archivos ZFS”

Ofrece información detallada sobre la administración de sistemas dearchivos ZFS. Abarca conceptos como la disposición jerárquica del sistemade archivos, la herencia de propiedades, la administración de puntos demontaje automático y cómo compartir interacciones.

Capítulo 7, “Utilización declónicos e instantáneas de ZFS”

Describe cómo crear y administrar clónicos e instantáneas de ZFS.

Capítulo 8, “Uso de las LCApara proteger archivos ZFS”

Describe cómo utilizar las listas de control de acceso (LCA) para proteger losarchivos ZFS ofreciendo más permisos granulares que los UNIX estándar.

Capítulo 9, “Administracióndelegada de ZFS”

Describe la forma de utilizar la administración delegada de ZFS para permitirque los usuarios sin privilegios puedan efectuar tareas de administración deZFS.

Capítulo 10, “Temas avanzadosde ZFS”

Ofrece información sobre el uso de volúmenes de ZFS, el uso de ZFS en unsistema Solaris con zonas instaladas y agrupaciones root alternativas.

Capítulo 11, “Resolución deproblemas y recuperación dedatos de ZFS”

Describe cómo identificar modos de error de ZFS y cómo recuperarse deellos. También se proporciona pasos para evitar errores.

Prefacio

Guía de administración de Solaris ZFS • Octubre de 200912

Page 13: Guía de administración de Solaris ZFS

Manuales relacionadosSe puede encontrar información relacionada con temas generales de administración del sistemaSolaris en los manuales siguientes:

■ Solaris System Administration: Basic Administration■ Solaris System Administration: Advanced Administration■ Solaris System Administration: Devices and File Systems■ Solaris System Administration: Security Services■ Solaris Volume Manager Administration Guide

Documentación, asistencia y formaciónEl sitio web de Sun proporciona información acerca de los siguientes recursos adicionales:

■ Documentation (http://www.sun.com/documentation/)■ Support (http://www.sun.com/support/)■ Training (http://www.sun.com/training/)

Sun valora sus comentariosSun tiene interés en mejorar su documentación y valora sus comentarios y sugerencias. Paracompartir sus comentarios, vaya a http://docs.sun.com y haga clic en Feedback.

Convenciones tipográficasLa siguiente tabla describe las convenciones tipográficas utilizadas en este manual.

TABLA P–1 Convenciones tipográficas

Tipos de letra Significado Ejemplo

AaBbCc123 Los nombres de los comandos, los archivos, losdirectorios y los resultados que el equipomuestra en pantalla.

Edite el archivo .login.

Utilice el comando ls -a paramostrar todos los archivos.

nombre_sistema% tiene correo.

AaBbCc123 Lo que se escribe, en contraposición con la salidadel equipo en pantalla

nombre_sistema% su

Contraseña:

Prefacio

13

Page 14: Guía de administración de Solaris ZFS

TABLA P–1 Convenciones tipográficas (Continuación)Tipos de letra Significado Ejemplo

aabbcc123 Marcador de posición: sustituir por un valor onombre real

El comando necesario para eliminarun archivo es rm nombrearchivo.

AaBbCc123 Títulos de los manuales, términos nuevos ypalabras destacables

Consulte el capítulo 6 de la Guía delusuario.

Una copia en caché es aquella que sealmacena localmente.

No guarde el archivo.

Nota: algunos elementos destacadosaparecen en negrita en línea.

Indicadores de los shells en los ejemplos de comandosLa tabla siguiente muestra los indicadores predeterminados del sistema y de superusuario deUNIX para los shells Bourne, Korn y C.

TABLA P–2 Indicadores de shell

Shell Indicador

Shell C nombre_sistema%

Shell C para superusuario nombre_sistema#

Shell Bourne y shell Korn $

Shell Bourne y shell Korn para superusuario #

Prefacio

Guía de administración de Solaris ZFS • Octubre de 200914

Page 15: Guía de administración de Solaris ZFS

Sistema de archivos ZFS (introducción)

Este capítulo ofrece una visión general del sistema de archivos ZFS, así como de sus funciones yventajas. También aborda terminología básica utilizada en el resto del manual.

Este capítulo se divide en las secciones siguientes:

■ “Novedades de ZFS” en la página 15■ “Definición de ZFS” en la página 40■ “Terminología de ZFS” en la página 43■ “Requisitos de asignación de nombres de componentes de ZFS” en la página 45

Novedades de ZFSEsta sección resume las funciones nuevas del sistema de archivos ZFS.

■ “Compatibilidad con la instalación de ZFS y Flash” en la página 16■ “Cuotas de grupo y usuario de ZFS” en la página 16■ “Migración de zonas en un entorno ZFS ” en la página 22■ “Herencia de pass-through de LCA de ZFS para el permiso de ejecución ” en la página 17■ “Mejoras en las propiedades de ZFS” en la página 18■ “Recuperación del dispositivo de registros de ZFS” en la página 20■ “Uso de dispositivos caché en la agrupación de almacenamiento ZFS” en la página 21■ “Instalación y arranque de ZFS” en la página 22■ “Inversión (rollback) de un conjunto de datos sin desmontar” en la página 22■ “Mejoras en el comando zfs send” en la página 22■ “Cuotas y reservas de ZFS sólo para datos del sistema de archivos” en la página 23■ “Propiedades de agrupaciones de almacenamiento de ZFS” en la página 24■ “Mejoras en el historial de comando ZFS (zpool history)” en la página 25■ “Actualización de sistemas de archivos ZFS (zfs upgrade)” en la página 27■ “Administración delegada de ZFS” en la página 27■ “Configuración de dispositivos de registro de ZFS independientes” en la página 28■ “Creación de conjuntos de datos de ZFS intermedios” en la página 29

1C A P Í T U L O 1

15

Page 16: Guía de administración de Solaris ZFS

■ “Mejoras en la conexión en marcha de ZFS” en la página 29■ “Cambio de nombre recursivo de instantáneas de ZFS (zfs rename -r)” en la página 30■ “Compresión GZIP disponible para ZFS” en la página 31■ “Almacenamiento de varias copias de datos de usuarios de ZFS” en la página 32■ “Salida mejorada de zpool status” en la página 33■ “Mejoras en ZFS y Solaris iSCSI” en la página 33■ “Historial de comandos de ZFS (zpool history)” en la página 33■ “Mejoras en las propiedades de ZFS” en la página 34■ “Visualización de la información de todo el sistema de archivos ZFS” en la página 35■ “Nueva opción zfs receive -F” en la página 35■ “Instantáneas de ZFS repetidas” en la página 35■ “RAID-Z de paridad doble (raidz2)” en la página 36■ “Repuestos en marcha para dispositivos de grupos de almacenamiento de ZFS”

en la página 36■ “Sustitución de un sistema de archivos ZFS por un clónico de ZFS (zfs promote)”

en la página 36■ “Actualización de grupos de almacenamiento de ZFS (zpool upgrade)” en la página 37■ “Cambio de nombre en los comandos de restauración y copia de seguridad de ZFS”

en la página 37■ “Recuperación de grupos de almacenamiento destruidas” en la página 37■ “ZFS se integra en el administrador de fallos” en la página 37■ “Nuevo comando zpool clear” en la página 38■ “Formato compacto NFSv4 de LCA” en la página 38■ “Herramienta de supervisión del sistema de archivos (fsstat)” en la página 39■ “Administración por Internet de ZFS” en la página 39

Compatibilidad con la instalación de ZFS y FlashVersión Solaris 10 10/09: en esta versión de Solaris puede establecer un perfil JumpStart paraidentificar a un contenedor Flash de una agrupación root ZFS. Para obtener más información,consulte “Instalación de un sistema de archivos root ZFS (instalación de contenedor Flash)”en la página 127.

Cuotas de grupo y usuario de ZFSVersión Solaris 10 10/09: en las versiones anteriores de Solaris podía aplicar cuotas y reservas alos sistemas de archivos ZFS para administrar y reservar espacio.

En esta versión de Solaris, puede configurar una cuota para la cantidad de espacio consumidopor archivos cuyo propietario sea un grupo o usuario determinado. Deberá considerar elestablecimiento de cuotas de usuarios o grupos en un entorno con un gran número de usuarioso grupos.

Novedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 200916

Page 17: Guía de administración de Solaris ZFS

Puede definir cuotas de grupos o usuarios mediante el uso de las propiedades zfs userquota yzfs groupquota propiedades como se indica a continuación:

# zfs set userquota@user1=5G tank/data

# zfs set groupquota@staff=10G tank/staff/admins

Puede mostrar la configuración de la cuota actual de un grupo o usuario como se indica acontinuación:

# zfs get userquota@user1 tank/data

NAME PROPERTY VALUE SOURCE

tank/data userquota@user1 5G local

# zfs get groupquota@staff tank/staff/admins

NAME PROPERTY VALUE SOURCE

tank/staff/admins groupquota@staff 10G local

Visualice información general sobre la cuota como sigue:

# zfs userspace tank/data

TYPE NAME USED QUOTA

POSIX User root 3K none

POSIX User user1 0 5G

# zfs groupspace tank/staff/admins

TYPE NAME USED QUOTA

POSIX Group root 3K none

POSIX Group staff 0 10G

Puede visualizar el uso de espacio por parte de cada usuario o grupo si visualiza las propiedadesuserused@usuario y groupused@grupo como se indica a continuación:

# zfs get userused@user1 tank/staff

NAME PROPERTY VALUE SOURCE

tank/staff userused@user1 213M local

# zfs get groupused@staff tank/staff

NAME PROPERTY VALUE SOURCE

tank/staff groupused@staff 213M local

Para obtener más información sobre la configuración de cuotas de usuarios, consulte“Configuración de cuotas y reservas de ZFS” en la página 207.

Herencia de pass-through de LCA de ZFS para elpermiso de ejecuciónVersión Solaris 10 10/09: en las versiones anteriores de Solaris podía aplicar herencia de LCA,de forma que todos los archivos se creaban con permisos 0664 o 0666. Si desea incluir de forma

Novedades de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 17

Page 18: Guía de administración de Solaris ZFS

opcional el bit de ejecución desde el modo de creación de archivos en la LCA heredada, puedeutilizar la herencia pass-through para el permiso de ejecución en esta versión.

Si se ha habilitado aclinherit=passthrough-x en un conjunto de datos ZFS, puede incluir elpermiso de ejecución para un archivo de salida que se genere desde las herramientas Cc o gcc. Sila LCA heredada no incluye permisos de ejecución, la salida ejecutable del compilador no seráejecutable hasta que utilice el comando chmod para cambiar los permisos del archivo.

Para obtener más información, consulte el Ejemplo 8–12.

Mejoras en las propiedades de ZFSVersión Solaris 10/09: las siguientes mejoras en el sistema de archivos ZFS se incluyen en lasversiones siguientes.

■ Configuración de las propiedades del sistema de archivos ZFS en el momento de crear laagrupación: puede definir propiedades del sistema de archivos ZFS cuando se crea laagrupación. En el ejemplo siguiente, la compresión está habilitada en el sistema de archivosZFS que se crea cuando se crea la agrupación.

# zpool create -O compression=on pool mirror c0t1d0 c0t2d0

■ Configuración de propiedades de la memoria caché en un sistema de archivos ZFS: seproporcionan dos nuevas propiedades del sistema de archivos ZFS que permiten controlarqué se almacena en la memoria caché en la caché primaria (ARC) o en la caché secundaria(L2ARC). Las propiedades de la caché se establecen como se indica a continuación:■ primarycache: controla qué se almacena en la memoria caché en la ARC.■ secondarycache: controla qué se almacena en la memoria caché en la L2ARC.■ Los valores posibles para ambas propiedades: all, none y metadata. Si se establece en

all, los datos de usuario y los metadatos se almacenan en la memoria caché. Si seestablece en none, no se completan datos de usuario ni los metadatos se almacenan en lamemoria caché. Si se establece en metadata, sólo los metadatos se almacenan en lamemoria caché. El valor predeterminado es all.

Puede definir estas propiedades en un sistema de archivos existente o cuando se crea elsistema de archivos. Por ejemplo:

# zfs set primarycache=metadata tank/datab

# zfs create -o primarycache=metadata tank/newdatab

Cuando se establece en sistemas de archivos existentes, sólo la nueva E/S se basa en lamemoria caché en función del valor de estas propiedades.

Algunos entornos de la base de datos pueden beneficiarse de no almacenar datos de usuarioen la memoria caché. Se deberá determinar si establecer propiedades de caché es adecuadopara su entorno.

Novedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 200918

Page 19: Guía de administración de Solaris ZFS

■ Propiedades de cálculo del espacio: las nuevas propiedades del sistema de archivos de sólolectura ayudan a identificar el uso de espacio para clónicos, sistemas de archivos yvolúmenes, pero no las instantáneas. Las propiedades son las siguientes:■ usedbychildren: identifica la cantidad de espacio utilizado por subordinados de este

conjunto de datos, que se liberaría si todos los subordinados del conjunto de datos sedestruyeran. La abreviatura de la propiedad es usedchild.

■ usedbydataset: identifica la cantidad de espacio que utiliza este conjunto de datos en sí,que se liberaría si se destruyera el conjunto de datos, después de eliminar primero lasinstantáneas y los refreservation. La abreviatura de la propiedad es usedds.

■ usedbyrefreservation: identifica la cantidad de espacio que utiliza unrefreservation definido en este conjunto de datos, que se liberaría si se eliminara elrefreservation. La abreviatura de la propiedad es usedrefreserv.

■ usedbysnapshots: identifica la cantidad de espacio consumida por las instantáneas deeste conjunto de datos. En concreto, es la cantidad de espacio que se liberaría si todas lasinstantáneas de este conjunto de instantáneas se destruyeran. Tenga en cuenta que estono es simplemente la suma de las propiedades used de las instantáneas, ya que variasinstantáneas pueden compartir el espacio. La abreviatura de la propiedad es usedsnap.

Estas nuevas propiedades desglosan el valor de la propiedad used en los diversos elementosque consumen espacio. En concreto, el valor de la propiedad used se desglosa como sigue:

used property = usedbychildren + usedbydataset + usedbyrefreservation + usedbysnapshots

Puede ver estas propiedades mediante el comando zfs list -o space. Por ejemplo:

$ zfs list -o space

NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD

rpool 25.4G 7.79G 0 64K 0 7.79G

rpool/ROOT 25.4G 6.29G 0 18K 0 6.29G

rpool/ROOT/snv_98 25.4G 6.29G 0 6.29G 0 0

rpool/dump 25.4G 1.00G 0 1.00G 0 0

rpool/export 25.4G 38K 0 20K 0 18K

rpool/export/home 25.4G 18K 0 18K 0 0

rpool/swap 25.8G 512M 0 111M 401M 0

El comando anterior es equivalente al comando zfs list

- o name,avail,used,usedsnap,usedds,usedrefreserv,usedchild -t filesystem,volume.■ Listado de instantáneas:La propiedad de agrupación listsnapshots controla si se muestra

la información de la instantánea mediante el comando list zfs. El valor predeterminadoes on , lo que significa que la información de la instantánea se muestra de formapredeterminada.Si se inhabilita la propiedad listsnapshots , puede utilizar el comando zfs list

-t snapshots para mostrar la información de la instantánea.

Novedades de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 19

Page 20: Guía de administración de Solaris ZFS

Recuperación del dispositivo de registros de ZFSVersión Solaris 10 10/09: en esta versión, ZFS identifica los errores de intento de registro en elcomando zpool status. FMA informa también de estos errores. Ambos ZFS y FMA describencómo recuperarse de un error de intento de registro.

Por ejemplo, si el sistema se cierra bruscamente síncrona antes de que las operaciones deescritura sincrónica se confirmen en una agrupación con un dispositivo de registroindependiente, se muestran mensajes parecidos al siguiente:

# zpool status -x

pool: pool

state: FAULTED

status: One or more of the intent logs could not be read.

Waiting for adminstrator intervention to fix the faulted pool.

action: Either restore the affected device(s) and run ’zpool online’,

or ignore the intent log records by running ’zpool clear’.

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

pool FAULTED 0 0 0 bad intent log

mirror ONLINE 0 0 0

c0t1d0 ONLINE 0 0 0

c0t4d0 ONLINE 0 0 0

logs FAULTED 0 0 0 bad intent log

c0t5d0 UNAVAIL 0 0 0 cannot open

Deberá resolver el error del dispositivo de registro no satisfactorio como se indica acontinuación:

■ Sustituya o recupere el dispositivo de registro. En este ejemplo, el dispositivo c0t5d0.■ Vuelva a conectar el dispositivo de registro.

# zpool online pool c0t5d0

■ Restablezca la condición de error del dispositivo de registro que presenta errores.

# zpool clear pool

Si desea recuperarse de este error sin reemplazar el dispositivo de registro que presenta errores,puede borrar el error con el comando zpool clear. En esta situación, la agrupación nofuncionará correctamente y los registros se escribirán en la agrupación principal hasta que sesustituya el dispositivo de registro independiente.

Considere el uso de dispositivos de registro duplicados para reducir los casos de error en eldispositivo de registro.

Novedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 200920

Page 21: Guía de administración de Solaris ZFS

Uso de dispositivos caché en la agrupación dealmacenamiento ZFSVersión Solaris 10 10/09: en esta versión de Solaris, puede crear agrupaciones y especificardispositivos caché que se utilizan para almacenar en la memoria caché datos de agrupaciones dealmacenamiento.

Los dispositivos de caché ofrecen un nivel adicional de grabación de datos en caché entre lamemoria principal y el disco. El uso de dispositivos de caché optimiza el rendimiento en lascargas de trabajo de lectura aleatorias del contenido principalmente estático.

Se pueden especificar uno o más dispositivos de caché al crear la agrupación. Por ejemplo:

# zpool create pool mirror c0t2d0 c0t4d0 cache c0t0d0

# zpool status pool

pool: pool

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

pool ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t2d0 ONLINE 0 0 0

c0t4d0 ONLINE 0 0 0

cache

c0t0d0 ONLINE 0 0 0

errors: No known data errors

Tras agregar los dispositivos de la caché, gradualmente se llenan con contenido de la memoriaprincipal. Según el tamaño del dispositivo de la caché, puede llevar más de una hora en llenarse.La capacidad y las lecturas se pueden supervisar con el comando zpool iostat del modosiguiente:

# zpool iostat -v pool 5

Los dispositivos de la caché se pueden agregar o quitar de la agrupación después de crearsedicha agrupación.

Para obtener más información, consulte “Creación de una agrupación de almacenamiento ZFScon dispositivos caché” en la página 70 y Ejemplo 4–4.

Novedades de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 21

Page 22: Guía de administración de Solaris ZFS

Migración de zonas en un entorno ZFSSolaris 10 5/09: esta versión amplía la compatibilidad para migrar zonas en un entorno ZFS conModernización automática. Para obtener más información, consulte “Uso de Modernizaciónautomática de Solaris para migrar o actualizar un sistema con zonas (Solaris 10 5/09 y Solaris 1010/09)” en la página 147.

Si desea obtener una lista de problemas conocidos relacionados con esta versión, consulte lasnotas sobre la versión de Solaris 10 5/09.

Instalación y arranque de ZFSSolaris 10 10/08: esta versión permite instalar y arrancar un sistema de archivos root ZFS. Parainstalar un sistema de archivos root ZFS puede optar por la instalación inicial o por JumpStart.También puede ejecutar Modernización automática para migrar de un sistema de archivos rootUFS a uno ZFS. Asimismo, se proporciona compatibilidad de ZFS para dispositivos deintercambio y volcado. Si desea más información, consulte el Capítulo 5, “Instalación yarranque de un sistema de archivos root ZFS”.

Si desea obtener una lista de problemas conocidos relacionados con esta versión, consulte lasnotas sobre la versión de Solaris 10 10/08.

Inversión (rollback) de un conjunto de datos sindesmontarSolaris 10 10/08: esta versión permite invertir un conjunto de datos sin tener que desmontarloantes. Gracias a esta función, la opción zfs rollback -f ya no es necesaria para forzar unaoperación de desmontaje. La opción -f ya no es válida; si se especifica, se hace caso omiso deella.

Mejoras en el comando zfs send

Solaris 10 10/08: esta versión aporta las mejoras siguientes al comando zfs send.■ Envíe todos los flujos de datos incrementales de una instantánea a una instantánea

acumulativa. Por ejemplo:

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

pool 428K 16.5G 20K /pool

pool/fs 71K 16.5G 21K /pool/fs

pool/fs@snapA 16K - 18.5K -

Novedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 200922

Page 23: Guía de administración de Solaris ZFS

pool/fs@snapB 17K - 20K -

pool/fs@snapC 17K - 20.5K -

pool/fs@snapD 0 - 21K -

# zfs send -I pool/fs@snapA pool/fs@snapD > /snaps/fs@combo

Envíe todas las instantáneas incrementales entre fs@snapA a fs@snapD a fs@combo.■ Envíe un flujo de datos incrementales de la instantánea de origen para crear un clon. Para

que se acepte el flujo incremental, la instantánea original ya debe estar en la parte receptora.Por ejemplo:

# zfs send -I pool/fs@snap1 pool/clone@snapA > /snaps/fsclonesnap-I

.

.

# zfs receive -F pool/clone < /snaps/fsclonesnap-I

■ Envíe un flujo de replicación de todos los sistemas de archivos descendentes, hasta lasinstantáneas nombradas. Cuando se reciben, se conservan todas las propiedades, lasinstantáneas, los sistemas de archivos descendentes y los clones. Por ejemplo:

zfs send -R pool/fs@snap > snaps/fs-R

Se ilustra de forma detallada en el Ejemplo 7–1.■ Envíe un flujo de datos de replicación incremental.

zfs send -R -[iI] @snapA pool/fs@snapD

Se ilustra de forma detallada en el Ejemplo 7–1.

Para obtener más información, consulte “Envío y recepción de flujos de instantáneas ZFScomplejos” en la página 226.

Cuotas y reservas de ZFS sólo para datos del sistemade archivosSolaris 10 10/08: además de las funciones de reserva y cuota de ZFS existentes, al calcular elconsumo de espacio esta versión tiene en cuenta reservas y cuotas de conjuntos de datos que noincluyen descendentes, por ejemplo instantáneas y clones.

■ La propiedad refquota limita la cantidad de espacio que un conjunto de datos puedeconsumir. Esta propiedad impone un límite físico en la cantidad de espacio que se puedeusar. Este límite físico no incluye el espacio usado por los descendentes, por ejemploinstantáneas y clones.

■ La propiedad refreservation establece la cantidad mínima de espacio que se garantiza aun conjunto de datos, sin incluir a sus descendentes.

Novedades de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 23

Page 24: Guía de administración de Solaris ZFS

Por ejemplo, puede establecer 10 GB de refquota para studentA que establezca un límite físicode 10 GB de espacio referenciado. Si desea una flexibilidad adicional, puede establecer una cuotade 20 GB que permita administrar instantáneas de studentA.

# zfs set refquota=10g tank/studentA

# zfs set quota=20g tank/studentA

Para obtener más información, consulte “Configuración de cuotas y reservas de ZFS”en la página 207.

Propiedades de agrupaciones de almacenamiento deZFSSolaris 10 10/08: las propiedades de agrupaciones de almacenamiento de ZFS se presentaron enuna versión anterior. En esta versión se proporciona información adicional sobre laspropiedades. Por ejemplo:

# zpool get all mpool

NAME PROPERTY VALUE SOURCE

mpool size 33.8G -

mpool used 5.76G -

mpool available 28.0G -

mpool capacity 17% -

mpool altroot - default

mpool health ONLINE -

mpool guid 2689713858991441653 -

mpool version 10 default

mpool bootfs mpool/ROOT/zfsBE local

mpool delegation on default

mpool autoreplace off default

mpool cachefile - default

mpool failmode continue local

Para ver una descripción de estas propiedades, consulte la Tabla 4–1.

■ Propiedad cachefile. Solaris 10 10/08: esta versión ofrece la propiedad cachefile, quecontrola dónde se guarda la información de configuración de la agrupación en la caché.Todos los grupos de la caché se importan automáticamente cuando arranca el sistema. Sinembargo, la instalación y los entornos de administración de clústeres quizá debanalmacenar en la caché esta información en otra ubicación para impedir la importaciónautomática de las agrupaciones.Esta propiedad puede establecerse para que la configuración de la agrupación se guarde en lacaché en otra ubicación que luego pueda importarse con el comando zpool import c. Estapropiedad no se utilizar en la mayoría de las configuraciones de ZFS.

Novedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 200924

Page 25: Guía de administración de Solaris ZFS

La propiedad cachefile no es persistente y no se almacena en el disco. Esta propiedadsustituye a temporary, propiedad que se usó para indicar que la información de laagrupación no debe guardarse en la caché en versiones anteriores de Solaris.

■ Propiedad failmode. Solaris 10 10/08: esta versión proporciona la propiedad failmode

para determinar el comportamiento de un error grave de agrupación debido a una pérdidade conectividad de dispositivos o al error de todos los dispositivos de la agrupación. Lapropiedad failmode se puede establecer con los valores wait, continue o panic. El valorpredeterminado es wait, lo que significa que debe volver a conectar el dispositivo, o sustituirun dispositivo anómalo y suprimir el error con el comando zpool clear.La propiedad failmode se establece como otras propiedades configurables de ZFS que sepueden establecer antes o después de crear la agrupación. Por ejemplo:

# zpool set failmode=continue tank

# zpool get failmode tank

NAME PROPERTY VALUE SOURCE

tank failmode continue local

# zpool create -o failmode=continue users mirror c0t1d0 c1t1d0

Si desea obtener una descripción de todas las propiedades de agrupaciones ZFS, consulte laTabla 4–1.

Mejoras en el historial de comando ZFS (zpoolhistory)Solaris 10 10/08: el comando zpool history se ha mejorado para proporcionar las funcionesnuevas siguientes:

■ Se muestra información de eventos del sistema de archivos ZFS. Por ejemplo:

# zpool history

History for ’rpool’:

2009-08-26.16:49:07 zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=

/tmp/root/etc/zfs/zpool.cache rpool c1t1d0s0

2009-08-26.16:49:08 zfs set canmount=noauto rpool

2009-08-26.16:49:08 zfs set mountpoint=/rpool rpool

2009-08-26.16:49:09 zfs create -o mountpoint=legacy rpool/ROOT

2009-08-26.16:49:10 zfs create -b 8192 -V 2048m rpool/swap

2009-08-26.16:49:11 zfs create -b 131072 -V 1024m rpool/dump

2009-08-26.16:49:14 zfs create -o canmount=noauto rpool/ROOT/zfs1009BE

2009-08-26.16:49:15 zpool set bootfs=rpool/ROOT/zfs1009BE rpool

2009-08-26.16:49:15 zfs set mountpoint=/ rpool/ROOT/zfs1009BE

2009-08-26.16:49:16 zfs set canmount=on rpool

2009-08-26.16:49:17 zfs create -o mountpoint=/export rpool/export

Novedades de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 25

Page 26: Guía de administración de Solaris ZFS

2009-08-26.16:49:18 zfs create rpool/export/home

2009-08-28.08:17:59 zpool attach rpool c1t1d0s0 c1t0d0s0

■ Una opción -l para ver el formato completo incluye el nombre de usuario, el nombre dehost y la zona en que se ha efectuado la operación. Por ejemplo:

# zpool history -l rpool

History for ’rpool’:

2009-08-26.16:49:07 zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=

/tmp/root/etc/zfs/zpool.cache rpool c1t1d0s0 [user root on neo:global]

2009-08-26.16:49:08 zfs set canmount=noauto rpool [user root on neo:global]

2009-08-26.16:49:08 zfs set mountpoint=/rpool rpool [user root on neo:global]

2009-08-26.16:49:09 zfs create -o mountpoint=legacy rpool/ROOT [user root on neo:global]

2009-08-26.16:49:10 zfs create -b 8192 -V 2048m rpool/swap [user root on neo:global]

2009-08-26.16:49:11 zfs create -b 131072 -V 1024m rpool/dump [user root on neo:global]

2009-08-26.16:49:14 zfs create -o canmount=noauto rpool/ROOT/zfs1009BE [user root on neo:global]

2009-08-26.16:49:15 zpool set bootfs=rpool/ROOT/zfs1009BE rpool [user root on neo:global]

2009-08-26.16:49:15 zfs set mountpoint=/ rpool/ROOT/zfs1009BE [user root on neo:global]

2009-08-26.16:49:16 zfs set canmount=on rpool [user root on neo:global]

2009-08-26.16:49:17 zfs create -o mountpoint=/export rpool/export [user root on neo:global]

2009-08-26.16:49:18 zfs create rpool/export/home [user root on neo:global]

2009-08-28.08:17:59 zpool attach rpool c1t1d0s0 c1t0d0s0 [user root on neo:global]

■ La opción -i para mostrar información de eventos internos que se puede utilizar parafinalidades de diagnóstico. Por ejemplo:

# zpool history -i rpool

History for ’rpool’:

2009-08-26.16:49:07 zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=

/tmp/root/etc/zfs/zpool.cache rpool c1t1d0s0

2009-08-26.16:49:07 [internal property set txg:6] mountpoint=/ dataset = 16

2009-08-26.16:49:07 [internal property set txg:7] mountpoint=legacy dataset = 16

2009-08-26.16:49:08 [internal property set txg:8] canmount=2 dataset = 16

2009-08-26.16:49:08 zfs set canmount=noauto rpool

2009-08-26.16:49:08 [internal property set txg:10] mountpoint=/rpool dataset = 16

2009-08-26.16:49:08 zfs set mountpoint=/rpool rpool

2009-08-26.16:49:09 [internal create txg:12] dataset = 31

2009-08-26.16:49:09 [internal property set txg:13] mountpoint=legacy dataset = 31

2009-08-26.16:49:09 zfs create -o mountpoint=legacy rpool/ROOT

2009-08-26.16:49:09 [internal create txg:15] dataset = 37

2009-08-26.16:49:10 [internal property set txg:16] refreservation=2147483648 dataset = 37

2009-08-26.16:49:10 [internal refreservation set txg:16] 2147483648 dataset = 37

2009-08-26.16:49:10 zfs create -b 8192 -V 2048m rpool/swap

2009-08-26.16:49:10 [internal create txg:18] dataset = 43

2009-08-26.16:49:10 [internal property set txg:19] refreservation=1073741824 dataset = 43

2009-08-26.16:49:10 [internal refreservation set txg:19] 1073741824 dataset = 43

.

.

.

Novedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 200926

Page 27: Guía de administración de Solaris ZFS

Si desea más información sobre el comando zpool history, consulte “Identificación deproblemas en ZFS” en la página 291.

Actualización de sistemas de archivos ZFS (zfsupgrade)Solaris 10 10/08: en esta versión se incluye el comando zfs upgrade para aportar a los sistemasde archivos actuales las mejoras en los sistemas de archivos ZFS que haya en el futuro. Losgrupos de almacenamiento ZFS cuentan con una función de actualización similar paraproporcionar mejoras a los grupos de almacenamiento.

Por ejemplo:

# zfs upgrade

This system is currently running ZFS filesystem version 3.

All filesystems are formatted with the current version.

Nota – Los sistemas de archivos que se actualizan y los flujos de datos que se crean a partir dedichos sistemas actualizados mediante el comando zfs send no quedan accesibles en sistemasque ejecuten versiones de software más antiguas.

Administración delegada de ZFSSolaris 10 10/08: en esta versión puede delegar permisos mucho más específicos para queusuarios que carecen de privilegios efectúen tareas de administración de ZFS.

Los comandos zfs allow y zfs unallow se utilizan para otorgar y suprimir permisos.

Puede modificar la capacidad de usar la administración delegada de con la propiedaddelegation de la agrupación. Por ejemplo:

# zpool get delegation users

NAME PROPERTY VALUE SOURCE

users delegation on default

# zpool set delegation=off users

# zpool get delegation users

NAME PROPERTY VALUE SOURCE

users delegation off local

De forma predeterminada se activa la propiedad delegation.

Si desea más información, consulte el Capítulo 9, “Administración delegada de ZFS”, yzfs(1M).

Novedades de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 27

Page 28: Guía de administración de Solaris ZFS

Configuración de dispositivos de registro de ZFSindependientesSolaris 10 10/08: ZIL (ZFS Intent Log) se proporciona para satisfacer los requisitos de POSIXde transacciones síncronas. Por ejemplo, las bases de datos precisan con frecuencia que sustransacciones se encuentren en dispositivos de almacenamiento estables al volver de unallamada del sistema. NFS y otras aplicaciones también pueden usar fsync() para asegurar laestabilidad de los datos. De forma predeterminada, ZIL se asigna a partir de bloques de laagrupación de almacenamiento principal. Sin embargo, podría mejorarse el rendimientoutilizando dispositivos independientes en la agrupación de almacenamiento de ZFS, porejemplo NVRAM o un disco dedicado.

Los dispositivos de registros para ZIL no están relacionados con los archivos del registro de labase de datos.

Se puede configurar un dispositivo de registro de ZFS al crear la agrupación de almacenamientoo después de crear la agrupación. Para obtener ejemplos de configuración de dispositivos deregistro, consulte “Creación de una agrupación de almacenamiento ZFS con dispositivos deregistro” en la página 70 y “Adición de dispositivos a un grupo de almacenamiento”en la página 77.

Puede vincular un dispositivo de registro a uno ya creado para crear un dispositivo de registroduplicado. Esta operación es idéntica a la de vincular un dispositivo en una agrupación dealmacenamiento sin duplicar.

Para saber si es apropiado configurar un dispositivo de registro de ZFS se deben tener en cuentalos puntos siguientes:

■ Cualquier mejora en el rendimiento que haya al implementar un dispositivo de registroindependiente está sujeta al tipo dispositivo, la configuración de hardware de la aplicación yla carga de trabajo de la aplicación. Para obtener información preliminar sobre elrendimiento, consulte este blog:http://blogs.sun.com/perrin/entry/slog_blog_or_blogging_on

■ Los dispositivos de registro pueden ser duplicados o sin duplicar, pero RAID-Z no es válidopara dispositivos de registro.

■ Si no se duplica un dispositivo de registro independiente y falla el dispositivo que contiene elregistro, el registro que se almacena vuelve a la agrupación de almacenamiento.

■ Los dispositivos se pueden agregar, reemplazar, vincular, desvincular, importar y exportarcomo parte de la agrupación de almacenamiento de mayor tamaño. En la actualidad, losdispositivos de registro no se pueden eliminar.

■ El tamaño mínimo de un dispositivo de registro es el mismo que el de cada dispositivo enuna agrupación, es decir, 64 MB. La cantidad de datos en reproducción que se puedealmacenar en un dispositivo de registro es relativamente pequeña. Los bloques de registrosse liberan si se ejecuta la transacción de registros (llamada del sistema).

Novedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 200928

Page 29: Guía de administración de Solaris ZFS

■ El tamaño máximo de un dispositivo de registro debe ser aproximadamente la mitad de lamemoria física, ya que es la cantidad máxima de datos de reproducción potenciales que sepueden almacenar. Por ejemplo, si un dispositivo tiene una memoria física de 16 GB, eldispositivo de registro debería tener 8 GB.

Creación de conjuntos de datos de ZFS intermediosSolaris 10 10/08: la opción -p con los comandos zfs create, zfs clone y zfs rename es aptapara crear rápidamente un conjunto de datos intermedios no existentes, en el caso de que noexistan ya.

Por ejemplo, cree conjuntos de datos de ZFS (users/area51) en la agrupación dealmacenamiento datab.

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

datab 106K 16.5G 18K /datab

# zfs create -p -o compression=on datab/users/area51

Si el conjunto de datos intermedio ya existe durante la operación de creación, ésta se completasatisfactoriamente.

Las propiedades especificadas se aplican al conjunto de datos de destino, no a los de datosintermedios. Por ejemplo:

# zfs get mountpoint,compression datab/users/area51

NAME PROPERTY VALUE SOURCE

datab/users/area51 mountpoint /datab/users/area51 default

datab/users/area51 compression on local

El conjunto de datos intermedio se crea con el punto de montaje predeterminado. Laspropiedades adicionales se desactivan para el conjunto de datos intermedio. Por ejemplo:

# zfs get mountpoint,compression datab/users

NAME PROPERTY VALUE SOURCE

datab/users mountpoint /datab/users default

datab/users compression off default

Para obtener más información, consulte zfs(1M).

Mejoras en la conexión en marcha de ZFSSolaris 10 10/08: ZFS responde de manera más eficaz a los dispositivos que se eliminan yproporciona un mecanismo para identificar automáticamente los dispositivos que se insertancon las mejoras siguientes:

Novedades de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 29

Page 30: Guía de administración de Solaris ZFS

■ Puede sustituir un dispositivo por otro equivalente sin tener que usar el comando zpool

replace.La propiedad autoreplace controla la sustitución automática de un dispositivo. Si se hadesactivado, la sustitución del dispositivo debe iniciarla el administrador mediante elcomando zpool replace. Si está activada, automáticamente se da formato y se sustituyecualquier dispositivo nuevo que se detecte en esta misma ubicación física como dispositivoque perteneciera anteriormente a la agrupación. El comportamiento predeterminado esdesactivado.

■ El estado REMOVED de la agrupación de almacenamiento se asigna cuando un dispositivo orepuesto en marcha se ha extraído, en el caso de que el dispositivo se haya extraídofísicamente mientras el sistema se ejecutaba. Un dispositivo de repuesto en marcha sesustituye por el dispositivo extraído, si lo hay.

■ Si un dispositivo se extrae y después se vuelve a insertar, queda conectado. Si el repuesto enmarcha se activó al volverse a insertar el dispositivo, el repuesto se extrae cuando termina laoperación con conexión.

■ La detección automática cuando los dispositivos se extraen o insertan depende delhardware, y quizá no sea compatible en todas las plataformas. Por ejemplo, los dispositivosUSB se configuran automáticamente al insertarse. Ahora bien, quizá deba utilizar elcomando cfgadm -c configure para configurar una unidad SATA.

■ Los repuestos en marcha se comprueban periódicamente para asegurarse de que tenganconexión y estén disponibles.

Para obtener más información, consulte zpool(1M).

Cambio de nombre recursivo de instantáneas de ZFS(zfs rename -r)Solaris 10 10/08: se puede cambiar de nombre de manera recursiva todas las instantáneas deZFS descendientes con el comando zfs rename -r.

Por ejemplo, cree una instantánea de un conjunto de sistemas de archivos ZFS.

# zfs snapshot -r users/home@today

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

users 216K 16.5G 20K /users

users/home 76K 16.5G 22K /users/home

users/home@today 0 - 22K -

users/home/markm 18K 16.5G 18K /users/home/markm

users/home/markm@today 0 - 18K -

users/home/marks 18K 16.5G 18K /users/home/marks

users/home/marks@today 0 - 18K -

Novedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 200930

Page 31: Guía de administración de Solaris ZFS

users/home/neil 18K 16.5G 18K /users/home/neil

users/home/neil@today 0 - 18K -

A continuación, cambie el nombre de las instantáneas como se indica a continuación.

# zfs rename -r users/home@today @yesterday

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

users 216K 16.5G 20K /users

users/home 76K 16.5G 22K /users/home

users/home@yesterday 0 - 22K -

users/home/markm 18K 16.5G 18K /users/home/markm

users/home/markm@yesterday 0 - 18K -

users/home/marks 18K 16.5G 18K /users/home/marks

users/home/marks@yesterday 0 - 18K -

users/home/neil 18K 16.5G 18K /users/home/neil

users/home/neil@yesterday 0 - 18K -

Las instantáneas son el único conjunto de datos cuyo nombre puede cambiarse de formarecursiva.

Si desea más información sobre instantáneas, consulte “Información general de instantáneas deZFS” en la página 215 y esta entrada de blog en la que se describe la forma de crear instantáneasde recuperación:

http://blogs.sun.com/mmusante/entry/rolling_snapshots_made_easy

Compresión GZIP disponible para ZFSSolaris 10 10/08: en esta versión de Solaris, puede establecer la compresión gzip en sistemas dearchivos ZFS además de la compresión lzjb. Puede especificar la compresión como gzip, lacompresión predeterminada, o como gzip-N; N es un valor del 1 al 9. Por ejemplo:

# zfs create -o compression=gzip users/home/snapshots

# zfs get compression users/home/snapshots

NAME PROPERTY VALUE SOURCE

users/home/snapshots compression gzip local

# zfs create -o compression=gzip-9 users/home/oldfiles

# zfs get compression users/home/oldfiles

NAME PROPERTY VALUE SOURCE

users/home/oldfiles compression gzip-9 local

Para obtener más información sobre el establecimiento de las propiedades de ZFS, consulte“Configuración de propiedades de ZFS” en la página 195.

Novedades de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 31

Page 32: Guía de administración de Solaris ZFS

Almacenamiento de varias copias de datos deusuarios de ZFSSolaris 10 10/08: como función de fiabilidad, los metadatos de sistemas de archivos ZFS seguardan automáticamente varias veces en discos distintos, si es posible. Esta función se conocecomo bloques ditto.

En esta versión de Solaris, puede especificar que también se almacenen varias copias de losdatos de usuario por sistema de archivos utilizando el comando zfs set copies. Por ejemplo:

# zfs set copies=2 users/home

# zfs get copies users/home

NAME PROPERTY VALUE SOURCE

users/home copies 2 local

Los valores disponibles son 1, 2 o 3. El valor predeterminado es 1. Estas copias son adicionales acualquier redundancia de nivel de grupo, por ejemplo en una configuración RAID-Z oduplicada.

Las ventajas de almacenar varias copias de los datos de usuario ZFS son:

■ Mejora la retención de datos al permitir la recuperación de fallos de lectura de bloquesirrecuperables, como los fallos de medios (bit rot) para todas las configuraciones ZFS.

■ Ofrece protección de los datos incluso cuando sólo hay disponible un disco.■ Permite seleccionar las directivas de protección de datos por sistema de archivos, más allá de

las posibilidades de la agrupación de almacenamiento.

Según la asignación de los bloques ditto en la agrupación de almacenamiento, varias copias sepodrían colocar en un solo disco. Un posible fallo posterior en el disco podría hacer que todoslos bloques ditto no estuvieran disponibles.

Los bloques ditto pueden ser útiles cuando de forma involuntaria se crea una agrupación noredundante y se deben establecer políticas de retención de datos.

Si desea obtener una descripción detallada sobre las repercusiones generales en la protección dedatos al configurar copias en un sistema con una sola agrupación de un solo disco o una devarios discos, consulte el blog siguiente:

http://blogs.sun.com/relling/entry/zfs_copies_and_data_protection

Para obtener más información sobre el establecimiento de las propiedades de ZFS, consulte“Configuración de propiedades de ZFS” en la página 195.

Novedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 200932

Page 33: Guía de administración de Solaris ZFS

Salida mejorada de zpool status

Solaris 10 8/07: puede utilizar el comando zpool status -v para que aparezca una lista dearchivos con errores continuos. Anteriormente, el comando find -inum se usaba paraidentificar los nombres de archivos de la lista de inodos.

Para obtener más información sobre cómo obtener una lista de archivos con errores continuos,consulte “Reparación de un archivo o directorio dañado” en la página 310.

Mejoras en ZFS y Solaris iSCSISolaris 10 8/07: en esta versión de Solaris, puede crear un volumen ZFS como dispositivo dedestino iSCSI de Solaris si establece la propiedad shareiscsi en el volumen ZFS. Es una formafácil de configurar rápidamente un destino iSCSI de Solaris. Por ejemplo:

# zfs create -V 2g tank/volumes/v2

# zfs set shareiscsi=on tank/volumes/v2

# iscsitadm list target

Target: tank/volumes/v2

iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a

Connections: 0

Tras crear el objetivo iSCSI, configure el iniciador iSCSI. Para obtener información sobre laconfiguración de un iniciador de Solaris iSCSI, consulte el Capítulo 14, “Configuring SolarisiSCSI Targets and Initiators (Tasks)” de System Administration Guide: Devices and File Systems.

Para obtener más información sobre cómo administrar un volumen ZFS como destino iSCSI,consulte “Uso de un volumen de ZFS como objetivo iSCSI de Solaris” en la página 277.

Historial de comandos de ZFS (zpool history)Solaris 10 8/07: en esta versión de Solaris, ZFS registra automáticamente comandos zfs yzpool válidos que modifican la información del estado del grupo. Por ejemplo:

# zpool history

History for ’newpool’:

2007-04-25.11:37:31 zpool create newpool mirror c0t8d0 c0t10d0

2007-04-25.11:37:46 zpool replace newpool c0t10d0 c0t9d0

2007-04-25.11:38:04 zpool attach newpool c0t9d0 c0t11d0

2007-04-25.11:38:09 zfs create newpool/user1

2007-04-25.11:38:15 zfs destroy newpool/user1

History for ’tank’:

2007-04-25.11:46:28 zpool create tank mirror c1t0d0 c2t0d0 mirror c3t0d0 c4t0d0

Novedades de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 33

Page 34: Guía de administración de Solaris ZFS

Esta función permite al usuario o al personal de asistencia de Sun identificar el conjunto exactode comandos de ZFS que ejecutados para solucionar una situación de error.

Puede identificar un grupo de almacenamiento específico con el comando zpool history. Porejemplo:

# zpool history newpool

History for ’newpool’:

2007-04-25.11:37:31 zpool create newpool mirror c0t8d0 c0t10d0

2007-04-25.11:37:46 zpool replace newpool c0t10d0 c0t9d0

2007-04-25.11:38:04 zpool attach newpool c0t9d0 c0t11d0

2007-04-25.11:38:09 zfs create newpool/user1

2007-04-25.11:38:15 zfs destroy newpool/user1

En esta versión de Solaris, el comando zpool history no registra ID_usuario, nombre_host ninombre_zona. Para obtener más información, consulte “Mejoras en el historial de comandoZFS (zpool history)” en la página 25.

Para obtener más información sobre la resolución de los problemas de ZFS, consulte“Identificación de problemas en ZFS” en la página 291.

Mejoras en las propiedades de ZFS

Propiedad xattrde ZFSSolaris 10 8/07: puede utilizar la propiedad xattr para deshabilitar o habilitar los atributosextendidos de un determinado sistema de archivos ZFS. El valor predeterminado es el deactivado. Para obtener una descripción de las propiedades de ZFS, consulte “Introducción a laspropiedades de ZFS” en la página 179.

Propiedad canmountde ZFSSolaris 10 8/07: la nueva propiedad canmount permite especificar si un conjunto de datos sepuede montar mediante el comando zfs mount. Para obtener más información, consulte“Propiedad canmount” en la página 190.

Propiedades de usuario de ZFSSolaris 10 8/07: además de las propiedades nativas estándar que pueden exportar estadísticasinternas o controlar el comportamiento del sistema de archivos ZFS, éste admite propiedadesdel usuario. Las propiedades del usuario no repercuten en el comportamiento del sistema dearchivos ZFS, pero puede usarlas para anotar información de manera que tenga sentido en suentorno.

Para obtener más información, consulte “Propiedades de usuario de ZFS” en la página 191.

Novedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 200934

Page 35: Guía de administración de Solaris ZFS

Configuración de propiedades al crear sistemas de archivos ZFSSolaris 10 8/07: en esta versión de Solaris, puede establecer las propiedades al crear un sistemade archivos, además de configurar propiedades después de crear el sistema de archivos.

Los ejemplos siguientes ilustran la sintaxis equivalente:

# zfs create tank/home

# zfs set mountpoint=/export/zfs tank/home

# zfs set sharenfs=on tank/home

# zfs set compression=on tank/home

# zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home

Visualización de la información de todo el sistema dearchivos ZFSSolaris 10 8/07: en esta versión de Solaris, puede utilizar diversas formas del comando zfs get

para visualizar información sobre todos los conjuntos de datos si no especifica all. En lasversiones anteriores no se podía recuperar toda la información del conjunto de datos con elcomando zfs get.

Por ejemplo:

# zfs get -s local all

tank/home atime off local

tank/home/bonwick atime off local

tank/home/marks quota 50G local

Nueva opción zfs receive -F

Solaris 10 8/07: en esta versión de Solaris, puede utilizar la nueva opción -F con el comandozfs receive para forzar un restablecimiento del sistema de archivos a la instantánea másreciente antes de ejecutar el comando receive. Quizá deba usarse esta opción si el sistema dearchivos se modifica entre la hora del restablecimiento y el inicio del comando receive.

Para obtener más información, consulte “Recepción de una instantánea ZFS” en la página 225.

Instantáneas de ZFS repetidasSolaris 10 11/06: si utiliza el comando zfs snapshot para crear una instantánea del sistema dearchivos, puede usar la opción -r para crear de forma recurrente instantáneas de todos lossistemas de archivos descendientes. Asimismo, el uso repetido de la opción -r destruye todas lasinstantáneas subordinadas si se destruye una instantánea.

Novedades de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 35

Page 36: Guía de administración de Solaris ZFS

Las instantáneas repetidas de ZFS se crean con rapidez como una operación atómica. Lasinstantáneas se crean todas juntas (todas a la vez) o no se crea ninguna. La ventaja de lasoperaciones atómicas de instantáneas estriba en que los datos se toman siempre en unmomento coherente, incluso en el caso de sistemas de archivos subordinados.

Para obtener más información, consulte “Creación y destrucción de instantáneas de ZFS”en la página 216.

RAID-Z de paridad doble (raidz2)Solaris 10 11/06: una configuración redundante de RAID-Z puede tener ahora una paridadsencilla o doble, lo cual significa que se pueden asumir uno o dos errores de dispositivos,respectivamente, sin pérdida de datos. Puede especificar la palabra clave raidz2 para unaconfiguración de RAID-Z de paridad doble. Otra posibilidad es especificar la palabra claveraidz o raidz1 para una configuración de RAID-Z de paridad sencilla.

Para obtener más información, consulte “Creación de grupos de almacenamiento de RAID-Z”en la página 68 o zpool(1M).

Repuestos en marcha para dispositivos de grupos dealmacenamiento de ZFSSolaris 10 11/06: la función de repuestos en marcha de ZFS permite identificar discos aptospara sustituir un dispositivo que presentara errores en una o varias agrupaciones dealmacenamiento. Al designar un dispositivo como repuesto en marcha, significa que si falla undispositivo activo del grupo, dicho repuesto en marcha lo reemplaza automáticamente.También se puede reemplazar manualmente un dispositivo de un grupo de almacenamientopor un repuesto en marcha.

Para obtener más información, consulte “Designación de repuestos en marcha en el grupo dealmacenamiento” en la página 88 y zpool(1M).

Sustitución de un sistema de archivos ZFS por unclónico de ZFS (zfs promote)Solaris 10 11/06: el comando zfs promote permite sustituir un sistema de archivos ZFS por unclónico de ese sistema de archivos. Es una función útil para ejecutar pruebas en una versiónalternativa de un sistema de archivos y después convertirlo en el sistema de archivos activo.

Para obtener más información, consulte “Sustitución de un sistema de archivos ZFS por unclónico de ZFS” en la página 221 y zfs(1M).

Novedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 200936

Page 37: Guía de administración de Solaris ZFS

Actualización de grupos de almacenamiento de ZFS(zpool upgrade)Solaris 10 6/06: puede actualizar los grupos de almacenamiento a una versión más reciente parapoder utilizar las nuevas funciones mediante el comando zpool upgrade. Asimismo, elcomando zpool status se ha modificado para notificar a los usuarios que los grupos estánejecutando versiones antiguas.

Para obtener más información, consulte “Actualización de grupos de almacenamiento de ZFS”en la página 112 y zpool(1M).

Si desea utilizar la consola de administración de ZFS en un sistema con un grupo de una versiónanterior de Solaris, actualice los grupos antes de usar la consola de administración de ZFS. Parasaber si los grupos se deben actualizar, utilice el comando zpool status. Para obtener másinformación sobre la consola de administración de ZFS, consulte “Administración por Internetde ZFS” en la página 39.

Cambio de nombre en los comandos de restauración ycopia de seguridad de ZFSSolaris 10 6/06: en esta versión de Solaris, se cambia el nombre de los comandos zfs backup yzfs restore por zfs send y zfs receive para describir esta función de forma más precisa. Lafinalidad de dichos comandos es guardar y restaurar representaciones de flujos de datos de ZFS.

Para obtener más información sobre estos comandos, consulte “Envío y recepción de datosZFS” en la página 223.

Recuperación de grupos de almacenamientodestruidasSolaris 10 6/06: esta versión incluye el comando zpool import -D, que permite recuperargrupos destruidos con el comando zpool destroy.

Para obtener más información, consulte “Recuperación de grupos de almacenamiento de ZFSdestruidos” en la página 110.

ZFS se integra en el administrador de fallosSolaris 10 6/06: esta versión incluye la integración de un motor de diagnóstico de ZFS capaz dediagnosticar errores en dispositivos y grupos, y de generar informes. También se informa deerrores de suma de comprobación, E/S, dispositivos y grupos asociados con errores dedispositivos o grupos.

Novedades de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 37

Page 38: Guía de administración de Solaris ZFS

El motor de diagnóstico no incluye análisis predictivos de suma de comprobación ni errores deE/S, ni tampoco acciones proactivas basadas en análisis de errores.

En el caso de error de ZFS, quizá aparezca en pantalla un mensaje similar al siguiente de fmd:

SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major

EVENT-TIME: Fri Aug 28 09:10:27 PDT 2009

PLATFORM: SUNW,Sun-Fire-T200, CSN: -, HOSTNAME: neo

SOURCE: zfs-diagnosis, REV: 1.0

EVENT-ID: d6725ad6-4546-6c48-fa16-eace4d371981

DESC: A ZFS device failed. Refer to http://sun.com/msg/ZFS-8000-D3 for more information.

AUTO-RESPONSE: No automated response will occur.

IMPACT: Fault tolerance of the pool may be compromised.

REC-ACTION: Run ’zpool status -x’ and replace the bad device.

Al revisar la acción recomendada, que será seguir las indicaciones más específicas del comandozpool status, podrá identificar el error y solucionarlo rápidamente.

Si desea ver un ejemplo de recuperación de un problema de ZFS del que se ha informado,consulte “Resolución de un dispositivo que no se encuentra” en la página 297.

Nuevo comando zpool clear

Solaris 10 6/06: esta versión incluye el comando zpool clear para borrar los recuentos deerrores asociados con un dispositivo o el grupo. Anteriormente, los recuentos de errores sesuprimían cuando se conectaba el dispositivo de un grupo mediante el comando zpool

online. Para obtener más información, consulte zpool(1M) y “Supresión de dispositivos degrupos de almacenamiento” en la página 86.

Formato compacto NFSv4 de LCASolaris 10 6/06: en esta versión, dispone de tres formatos NFSv4 de LCA: detallado, posicional ycompacto. Los nuevos formatos compacto y posicional de LCA están disponibles paraestablecer y mostrar LCA. Con el comando chmod se pueden establecer los tres formatos deACL. Puede usar el comando ls -V para visualizar los formatos compacto y posicional de LCA,así como el comando ls - v para visualizar formatos detallados de LCA.

Para obtener más información, consulte “Establecimiento y configuración de las LCA enarchivos ZFS en formato compacto” en la página 254, chmod(1) y ls(1).

Novedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 200938

Page 39: Guía de administración de Solaris ZFS

Herramienta de supervisión del sistema de archivos(fsstat)Solaris 10 6/06: dispone de fsstat, nueva herramienta de supervisión del sistema de archivospara informar de las operaciones del sistema de archivos. Se informa de la actividad por puntode montaje o por tipo de sistema de archivos. El ejemplo siguiente muestra la actividad generaldel sistema de archivos ZFS.

$ fsstat zfs

new name name attr attr lookup rddir read read write write

file remov chng get set ops ops ops bytes ops bytes

7.82M 5.92M 2.76M 1.02G 3.32M 5.60G 87.0M 363M 1.86T 20.9M 251G zfs

Para obtener más información, consulte fsstat(1M).

Administración por Internet de ZFSSolaris 10 6/06: hay una herramienta de administración de ZFS por Internet para efectuarnumerosas acciones administrativas. Con esta herramienta puede efectuar las tareas siguientes:

■ Crear un grupo de almacenamiento.■ Agregar capacidad a un grupo.■ Mover (exportar) un grupo de almacenamiento a otro sistema.■ Importar un grupo de almacenamiento previamente exportado para que quede disponible

en otro sistema.■ Ver información sobre grupos de almacenamiento.■ Crear un sistema de archivos.■ Crear un volumen.■ Crear una instantánea de un sistema de archivos o un volumen.■ Restaurar un sistema de archivos a una instantánea anterior.

Puede acceder a la consola de administración de ZFS a través de un navegador de web seguro enla dirección URL siguiente:

https://system-name:6789/zfs

Si escribe la dirección URL pertinente y no puede acceder a la consola de administración deZFS, es posible que el servidor no se inicie. Para iniciarlo, ejecute el siguiente comando:

# /usr/sbin/smcwebserver start

Si desea que el servidor se ejecute automáticamente al arrancar el sistema, ejecute el siguientecomando:

Novedades de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 39

Page 40: Guía de administración de Solaris ZFS

# /usr/sbin/smcwebserver enable

Nota – No se puede utilizar Solaris Management Console (smc) para administrar sistemas dearchivos o grupos de almacenamiento ZFS.

Definición de ZFSZFS es un nuevo y revolucionario sistema de archivos revolucionario que aporta una formatotalmente distinta de administrar sistemas de archivos, con funciones y ventajas que no hay enningún otro sistema de archivos actual. ZFS se ha concebido para que sea robusto, escalable yfácil de administrar.

Almacenamiento en grupos de ZFSZFS se basa en el concepto de grupos de almacenamiento para administrar el almacenamientofísico. Desde siempre, los sistemas de archivos se estructuran a partir de un solo únicodispositivo físico. Para poder ocuparse de varios dispositivos y ofrecer redundancia de datos, seincorporó el concepto del administrador de volúmenes, con el fin de ofrecer un únicodispositivo y evitar que los sistemas de archivos tuvieran que modificarse para aprovechar lasventajas de varios dispositivos. Este diseño significaba otro nivel de complejidad y obstaculizabadeterminados avances en los sistemas de archivos, al carecer de control sobre la ubicación físicade los datos en los volúmenes virtualizados

ZFS elimina la gestión de volúmenes en conjunto. En vez de tener que crear volúmenesvirtualizados, ZFS agrega dispositivos a un grupo de almacenamiento. El grupo dealmacenamiento describe las características físicas del almacenamiento (organización deldispositivo, redundancia de datos, etc.) y actúa como almacén de datos arbitrario en el que sepueden crear sistemas de archivos. Los sistemas de archivos ya se limitan a dispositivosindividuales y les permite compartir espacio con todos los sistemas de archivos del grupo. Ya noes necesario predeterminar el tamaño de un sistema de archivos, ya que el tamaño de lossistemas de archivos crece automáticamente en el espacio asignado al grupo dealmacenamiento. Al incorporar un nuevo almacenamiento, todos los sistemas de archivos delgrupo pueden usar de inmediato el espacio adicional sin procesos complementarios. Enmuchos sentidos, el grupo de almacenamiento actúa como sistema de memoria virtual. Si seagrega al sistema un módulo de memoria DIMM, el sistema operativo no obliga a invocaralgunos comandos para configurar la memoria y asignarla a determinados procesos. Todos losprocesos del sistema utilizan automáticamente la memoria adicional.

Definición de ZFS

Guía de administración de Solaris ZFS • Octubre de 200940

Page 41: Guía de administración de Solaris ZFS

Semántica transaccionalZFS es un sistema de archivos transaccional. Ello significa que el estado del sistema de archivossiempre es coherente en el disco. Los sistemas de archivos tradicionales sobrescriben datos insitu. Eso significa que si el equipo se queda sin alimentación, por ejemplo, entre el momento enque un bloque de datos se asigna y cuando se vincula a un directorio, el sistema de archivos sequeda en un estado incoherente. En el pasado, este problema se solucionó mediante el comandofsck. Este comando verificaba el estado del sistema de archivos e intentaba reparar cualquierincoherencia del proceso. Era un problema que daba muchos quebraderos de cabeza a losadministradores y nunca garantizaba la solución a todos los problemas que pudiera haber.Posteriormente, los sistemas de archivos incorporaron el concepto de registro de diario. Elregistro por diario guarda las acciones en un diario aparte, el cual se puede volver a reproducircon seguridad si el sistema se bloquea. Este proceso supone cargas innecesarias, porque losdatos se deben escribir dos veces y a menudo provoca una nueva fuente de problemas, porejemplo no poder volver a reproducir correctamente el registro de diario

Con un sistema de archivos transaccional, los datos se administran mediante la semántica copiapor escritura. Los datos nunca se sobrescriben y ninguna secuencia de operaciones secompromete ni se ignora por completo. Este mecanismo hace que el sistema de archivos nuncapueda dañarse por una interrupción imprevista de la alimentación o un bloqueo del sistema.Por lo tanto, no es necesario que haya un equivalente a fsck. Mientras los fragmentos de datosescritos más recientemente pueden perderse, el propio sistema de archivos siempre serácoherente. Asimismo, siempre se garantiza que los datos sincrónicos (escritos mediante elindicador O_DSYNC) se escriban antes de la devolución, por lo que nunca se pierden.

Datos de reparación automática y sumas decomprobaciónEn ZFS se efectúa una suma de comprobación de todos los datos y metadatos mediante unalgoritmo seleccionable por el usuario. Los sistemas de archivos tradicionales con suma decomprobación la efectúan por bloques obligatoriamente debido a la capa de administración devolúmenes y la disposición del sistema de archivos tradicional. El diseño tradicional significaque algunos modos de errores, por ejemplo la escritura de un bloque completo en unaubicación incorrecta, pueden hacer que los datos cuya suma de comprobación sea correcta nolo esté en realidad. Las sumas de comprobación de ZFS se almacenan de forma que estos modosde error se detecten y haya una recuperación eficaz. La suma de comprobación y recuperaciónde datos se efectúan en la capa del sistema de archivos y es transparente para las aplicaciones.

Asimismo, ZFS ofrece soluciones para la reparación automática de datos. ZFS permite lasagrupaciones de almacenamiento con distintos niveles de redundancia de datos, incluida laduplicación y una variación de RAID-5. Si se detecta un bloque de datos incorrectos, ZFSrecupera los datos correctos de otra copia redundante y también repara los datos incorrectos alsustituirlos por una copia correcta.

Definición de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 41

Page 42: Guía de administración de Solaris ZFS

Escalabilidad incomparableZFS se ha diseñado desde el comienzo para convertirse en el sistema de archivos más escalablejamás desarrollado. El sistema de archivos es de 128 bits y permite 256 trillones de zettabytes dealmacenamiento. Todos los metadatos se asignan de forma dinámica, con lo que no hace faltaasignar previamente inodos ni limitar la escalabilidad del sistema de archivos cuando se crea.Todos los algoritmos se han escrito teniendo en cuenta la escalabilidad. Los directorios puedentener hasta 248 (256 billones) de entradas; no existe un límite para el número de sistemas dearchivos o de archivos que puede haber en un sistema de archivos.

Instantáneas de ZFSUna instantánea es una copia de sólo lectura de un sistema de archivos o volumen. Lasinstantáneas se crean rápida y fácilmente. Inicialmente, las instantáneas no consumen espacioadicional en el grupo.

Como los datos de un conjunto de datos activo cambian, la instantánea consume espacio alseguir haciendo referencia a los datos antiguos. Como resultado, la instantánea impide que losdatos pasen al grupo.

Administración simplificadaUno de los aspectos más destacados de ZFS es su modelo de administración muy simplificado.Mediante un sistema de archivos con distribución jerárquica, herencia de propiedades yadministración automática de puntos de montaje y semántica share de NFS, ZFS facilita lacreación y administración de sistemas de archivos sin tener que usar varios comandos ni editararchivos de configuración. Con un solo comando puede establecer fácilmente cuotas o reservas,activar o desactivar la compresión o administrar puntos de montaje para diversos sistemas dearchivos. Los dispositivos se pueden examinar o reparar sin tener que utilizar un conjuntoindependiente de comandos de Volume Manager. Puede crear un número ilimitado deinstantáneas de los sistemas de archivos. Puede hacer copias de seguridad y restaurar archivosde sistemas concretos.

ZFS administra los sistemas de archivos a través de una jerarquía que permite la administraciónsimplificada de propiedades como cuotas, reservas, compresión y puntos de montaje. En estemodelo, los sistemas de archivos se convierten en el punto central de control. Los sistemas dearchivos son muy sencillos (equivalen a un nuevo directorio), de manera que se recomiendacrear un sistema de archivos para cada usuario, proyecto, espacio de trabajo, etc. Este diseñopermite definir los puntos de administración de forma detallada.

Definición de ZFS

Guía de administración de Solaris ZFS • Octubre de 200942

Page 43: Guía de administración de Solaris ZFS

Terminología de ZFSEsta sección describe la terminología básica utilizada en este manual:

entorno de arranque alternativo Entorno de arranque que se ha creado con el comandolucreate y posiblemente se ha actualizado mediante elcomando luupgrade, pero que no es ni el entorno dearranque activo ni el principal. El entorno de arranquealternativo se puede cambiar para que sea el principalmediante el comando luactivate.

suma de comprobación Cifrado de 256 bits de los datos en un bloque del sistema dearchivos. La suma de comprobación puede ir de la rápida ysencilla fast fletcher2 (valor predeterminado) a cifradoscriptográficamente complejos como SHA256.

clónico Sistema de archivos cuyo contenido inicial es idéntico al deuna instantánea.

Para obtener más información sobre los clónicos, consulte“Información general sobre clónicos de ZFS”en la página 220.

conjunto de datos Nombre genérico de las entidades ZFS siguientes: clónicos,sistemas de archivos, instantáneas o volúmenes.

Cada conjunto de datos se identifica mediante un nombreexclusivo en el espacio de nombres de ZFS. Los conjuntosde datos se identifican mediante el formato siguiente:

pool/ruta[ @snapshot]

pool Identifica el nombre del grupo dealmacenamiento que contiene el conjuntode datos

ruta Nombre de ruta delimitado por barraspara el objeto del conjunto de datos

instantánea Componente opcional que identifica unainstantánea de un conjunto de datos

Para obtener más información sobre los conjuntos dedatos, consulte el Capítulo 6, “Administración de sistemasde archivos ZFS”.

Terminología de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 43

Page 44: Guía de administración de Solaris ZFS

sistema de archivos Conjunto de datos de ZFS del tipo filesystem que semonta en el espacio de nombre del sistema estándar y secomporta igual que otros sistemas de archivos.

Para obtener más información sobre otros sistemas dearchivos, consulte el Capítulo 6, “Administración desistemas de archivos ZFS”.

duplicación Dispositivo virtual que almacena copias idénticas de datosen dos discos o más. Si falla cualquier disco de unaduplicación, cualquier otro disco de esa duplicación puedeproporcionar los mismos datos.

grupo Conjunto lógico de dispositivos que describe ladisposición y las características físicas del almacenamientodisponible. El espacio para conjuntos de datos se asigna apartir de un grupo.

Para obtener más información sobre las agrupaciones dealmacenamiento, consulte el Capítulo 4, “Administraciónde grupos de almacenamiento de ZFS”.

entorno de arranque principal Entorno de arranque que utiliza el comando lucreate

para crear el entorno de arranque alternativo. De formapredeterminada, el entorno de arranque principal es elentorno de arranque actual. Este valor predeterminado sepuede cambiar con la opción lucreate - s.

RAID-Z Dispositivo virtual que almacena datos y la paridad envarios discos, de forma parecida a RAID-5. Para obtenermás información sobre RAID-Z, consulte “Configuraciónde grupos de almacenamiento RAID-Z” en la página 64.

actualización de duplicación El proceso de transferir datos de un dispositivo a otro sedenomina actualización de duplicación (resilver). Porejemplo, si un componente de duplicación se sustituye o sedesconecta, los datos actualizados del componente deduplicación se copian en el componente de duplicaciónrecién restaurado. Este proceso se denominaresincronización de duplicación en productos tradicionalesde administración de volúmenes.

Si desea más información sobre la actualización de deduplicación ZFS (resilver), consulte “Visualización delestado de la actualización de duplicación de datos”en la página 306.

Terminología de ZFS

Guía de administración de Solaris ZFS • Octubre de 200944

Page 45: Guía de administración de Solaris ZFS

instantánea Imagen de sólo lectura de un sistema de archivos ovolumen de un momento determinado.

Para obtener más información sobre instantáneas,consulte “Información general de instantáneas de ZFS”en la página 215.

dispositivo virtual Dispositivo lógico de un grupo que puede ser undispositivo físico, un archivo o un conjunto dedispositivos.

Si desea más información sobre dispositivos virtuales,consulte “Visualización de información de dispositivosvirtuales de agrupaciones de almacenamiento”en la página 71.

volumen Conjunto de datos que se utiliza para emular undispositivo físico. Por ejemplo, puede crear un volumen deZFS como dispositivo de intercambio.

Para obtener más información sobre volúmenes de ZFS,consulte “Volúmenes de ZFS” en la página 275.

Requisitos de asignación de nombres de componentes de ZFSCada componente de ZFS debe recibir un nombre según las reglas siguientes:

■ No se permiten los componentes vacíos.■ Cada componente sólo puede contener caracteres alfanuméricos, además de los cuatro

caracteres especiales siguientes:■ Subrayado (_)■ Guión (-)■ Dos puntos (:)■ Punto (.)

■ Los nombres de los grupos deben comenzar con una letra, pero teniendo en cuenta laslimitaciones siguientes:■ No se permite la secuencia de inicio c[0-9].■ El nombre log está reservado.■ No se permiten los nombres de grupos que comiencen por mirror, raidz o spare

porque dichos nombres están reservados.

Además, los nombres de grupos no pueden contener un signo porcentual (%).

Requisitos de asignación de nombres de componentes de ZFS

Capítulo 1 • Sistema de archivos ZFS (introducción) 45

Page 46: Guía de administración de Solaris ZFS

■ Los nombres de los conjuntos de datos deben comenzar por un carácter alfanumérico. Losnombres de los conjuntos de datos no pueden contener un signo porcentual (%).

Requisitos de asignación de nombres de componentes de ZFS

Guía de administración de Solaris ZFS • Octubre de 200946

Page 47: Guía de administración de Solaris ZFS

Procedimientos iniciales con ZFS

Este capítulo ofrece instrucciones detalladas para configuraciones sencillas de ZFS. Al terminareste capítulo, habrá adquirido nociones básicas sobre los comandos de ZFS, y sabrá crearsistemas de archivos y grupos sencillos. Este capítulo no profundiza demasiado en el contenido.Para obtener información más detallada, consulte los capítulo siguientes.

Este capítulo se divide en las secciones siguientes:

■ “Recomendaciones y requisitos de software y hardware para ZFS” en la página 47■ “Creación de un sistema de archivos ZFS básico” en la página 48■ “Creación de un grupo de almacenamiento de ZFS” en la página 49■ “Creación de una jerarquía para el sistema de archivos ZFS” en la página 50

Recomendaciones y requisitos de software y hardware paraZFS

Antes de utilizar el software de ZFS, consulte los requisitos y recomendaciones siguientes desoftware y hardware:

■ Un sistema SPARC® o x86 que ejecute la versión Solaris 10 6/06 o posterior.■ El tamaño mínimo del disco es 128 Mbytes. Un grupo de almacenamiento necesita una

cantidad mínima de espacio aproximada de 64 Mbytes.■ Actualmente, la cantidad mínima de memoria recomendada para instalar un sistema Solaris

es de 768 Mbytes. Sin embargo, para conseguir un buen rendimiento de ZFS, se recomiendaal menos 1 GB de memoria.

■ Si crea una configuración de disco duplicada, se recomiendan diversos controladores.

2C A P Í T U L O 2

47

Page 48: Guía de administración de Solaris ZFS

Creación de un sistema de archivos ZFS básicoSe ha intentado diseñar la administración de ZFS con la máxima sencillez posible. Entre losobjetivos del diseño de ZFS está el de reducir el número de comandos necesarios para crear unsistema de archivos utilizable. Cuando se crea un grupo, se crea un sistema de archivos ZFS y semonta automáticamente.

El ejemplo siguiente ilustra la manera de crear un grupo de almacenamiento duplicado simpledenominado tank y un sistema de archivos ZFS denominado tank en un comando. Supongaque se pueden utilizar todos los discos /dev/dsk/c1t0d0 y /dev/dsk/c2t0d0.

# zpool create tank mirror c1t0d0 c2t0d0

Para obtener más información sobre configuraciones de grupos ZFS redundantes, consulte“Funciones de replicación de un grupo de almacenamiento de ZFS” en la página 63.

El nuevo sistema de archivos ZFS, tank, puede usar el espacio del disco que necesite y se montaautomáticamente en /tank.

# mkfile 100m /tank/foo

# df -h /tank

Filesystem size used avail capacity Mounted on

tank 80G 100M 80G 1% /tank

Quizá desee crear sistemas de archivos adicionales en un grupo. Los sistemas de archivosofrecen puntos para poder administrar distintos conjuntos de datos en el mismo grupo.

El ejemplo siguiente ilustra la manera crear un sistema de archivos denominado fs en el grupode almacenamiento tank.

# zfs create tank/fs

El nuevo sistema de archivos ZFS, tank/fs, puede utilizar la cantidad de espacio en disco quenecesite y se monta automáticamente en /tank/fs.

# mkfile 100m /tank/fs/foo

# df -h /tank/fs

Filesystem size used avail capacity Mounted on

tank/fs 80G 100M 80G 1% /tank/fs

En la mayoría de los casos, el objetivo es crear y organizar una jerarquía de sistemas de archivosque se ajuste a los requisitos de su organización. Para obtener más información sobre cómocrear jerarquías de sistemas de archivos ZFS, consulte “Creación de una jerarquía para elsistema de archivos ZFS” en la página 50.

Creación de un sistema de archivos ZFS básico

Guía de administración de Solaris ZFS • Octubre de 200948

Page 49: Guía de administración de Solaris ZFS

Creación de un grupo de almacenamiento de ZFSEl ejemplo anterior es una muestra de la sencillez de ZFS. El resto de este capítulo expone unejemplo más completo y próximo a la situación de su entorno. Las primeras tareas sonestablecer los requisitos de almacenamiento y crear un grupo de almacenamiento. El grupodescribe las características físicas del almacenamiento y se deben crear antes que un sistema dearchivos.

▼ Identificación de los requisitos del grupo dealmacenamiento de ZFS

Determine los dispositivos disponibles.Antes de crear un grupo de almacenamiento, debe establecer los dispositivos que almacenaránlos datos. Deben ser discos de al menos 128 Mbytes y no los deben utilizar otros componentesdel sistema operativo. Los dispositivos pueden ser segmentos de disco al que se ha dado formatopreviamente, o discos completos a los que ZFS da formato como un único segmento grande.

En el ejemplo de almacenamiento de “Cómo crear un grupo de almacenamiento de ZFS”en la página 49, suponga que se pueden utilizar todos los discos /dev/dsk/c2t0d0 y/dev/dsk/c0t1d0.

Para obtener más información sobre los discos y cómo se utilizan y etiquetan, consulte“Utilización de discos en un grupo de almacenamiento de ZFS” en la página 59.

Seleccione la replicación de datos.ZFS admite diversos tipos de replicación de datos que determina los tipos de errores dehardware que puede soportar el grupo. ZFS admite configuraciones no redundantes (repartidasen bandas), así como duplicación y RAID-Z (una variación de RAID-5).

En el ejemplo de almacenamiento de “Cómo crear un grupo de almacenamiento de ZFS”en la página 49, se utiliza la duplicación básica de dos discos disponibles.

Si desea más información sobre las características de replicación de ZFS, consulte “Funcionesde replicación de un grupo de almacenamiento de ZFS” en la página 63.

▼ Cómo crear un grupo de almacenamiento de ZFSAdquiera el perfil de usuario root o asuma una función equivalente con el perfil adecuado dederechos de ZFS.Para obtener más información sobre los perfiles de derechos de ZFS, consulte “Perfiles dederechos de ZFS” en la página 285.

1

2

1

Creación de un grupo de almacenamiento de ZFS

Capítulo 2 • Procedimientos iniciales con ZFS 49

Page 50: Guía de administración de Solaris ZFS

Elija un nombre de grupo.

El nombre de grupo sirve para identificar el grupo de almacenamiento cuando utiliza loscomandos zpool o zfs. La mayoría de los sistemas sólo necesitan un grupo, de manera quepuede elegir el nombre que prefiera siempre que satisfaga los requisitos de asignación denombres especificados en “Requisitos de asignación de nombres de componentes de ZFS”en la página 45.

Cree el grupo.

Por ejemplo, cree una agrupación duplicada que se denomine tank.# zpool create tank mirror c1t0d0 c2t0d0

Si uno o más dispositivos contienen otro sistema de archivos o se está utilizando, el comando nopuede crear el grupo.

Para obtener más información sobre cómo crear grupos de almacenamiento, consulte“Creación de un grupo de almacenamiento de ZFS” en la página 67.

Para obtener más información sobre cómo establecer el uso de dispositivos, consulte“Detección de dispositivos en uso” en la página 73.

Examine los resultados.

Puede determinar si la agrupación se ha creado correctamente mediante el comando zpool

list.# zpool list

NAME SIZE USED AVAIL CAP HEALTH ALTROOT

tank 80G 137K 80G 0% ONLINE -

Para obtener más información sobre cómo ver el estado de los grupos, consulte “Consulta delestado de un grupo de almacenamiento de ZFS” en la página 96.

Creación de una jerarquía para el sistema de archivos ZFSDespués de crear un grupo de almacenamiento para almacenar los datos, puede crear lajerarquía del sistema de archivos. Las jerarquías son mecanismos sencillos pero potentes paraorganizar la información. También resultan muy familiares a quienes hayan utilizado unsistema de archivos.

ZFS permite que los sistemas de archivos se organicen en jerarquías arbitrarias, donde cadasistema de archivos tiene un solo superior. El root de la jerarquía siempre es el nombre delgrupo. ZFS integra esta jerarquía mediante la admisión de herencia de propiedades, de maneraque las propiedades habituales se puedan configurar rápida y fácilmente en todos los árboles delos sistemas de archivos.

2

3

4

Creación de una jerarquía para el sistema de archivos ZFS

Guía de administración de Solaris ZFS • Octubre de 200950

Page 51: Guía de administración de Solaris ZFS

▼ Cómo establecer la jerarquía del sistema de archivosZFSElija la granularidad del sistema de archivos.Los sistemas de archivos ZFS son el punto central de administración. Son ligeros y se puedencrear fácilmente. Un modelo perfectamente válido es un sistema de archivos por usuario oproyecto, ya que posibilita propiedades, instantáneas y copias de seguridad que se controlan porusuario o por proyecto.

Se crean dos sistemas de archivos ZFS, bonwick y billm, en “Creación de sistemas de archivosZFS” en la página 51.

Para obtener más información sobre la administración de sistemas de archivos, consulte elCapítulo 6, “Administración de sistemas de archivos ZFS”.

Agrupe sistemas de archivos similares.ZFS permite que los sistemas de archivos se organicen en jerarquías, de modo que se puedanagrupar los sistemas de archivos similares. Este modelo ofrece un punto central deadministración para controlar propiedades y administrar sistemas de archivos. Los sistemas dearchivos similares se deben crear con un nombre común.

En el ejemplo de “Creación de sistemas de archivos ZFS” en la página 51, los dos sistemas dearchivos se ubican en un sistema de archivos denominado home.

Seleccione las propiedades del sistema de archivos.La mayoría de las características del sistema de archivos se controlan mediante propiedadessencillas. Dichas propiedades controlan diversos comportamientos, por ejemplo la ubicacióndonde se montan los sistemas de archivos, su manera de compartirse, si utilizan compresión y sise ejecuta alguna cuota.

En el ejemplo de “Creación de sistemas de archivos ZFS” en la página 51, todos los directoriosde inicio se montan en /export/zfs/ usuario, se comparten mediante NFS y se habilita lacompresión. Asimismo, se aplica una cuota de 10 GB en bonwick.

Para obtener más información sobre propiedades, consulte “Introducción a las propiedades deZFS” en la página 179.

▼ Creación de sistemas de archivos ZFSAdquiera el perfil de usuario root o asuma una función equivalente con el perfil adecuado dederechos de ZFS.Para obtener más información sobre los perfiles de derechos de ZFS, consulte “Perfiles dederechos de ZFS” en la página 285.

1

2

3

1

Creación de una jerarquía para el sistema de archivos ZFS

Capítulo 2 • Procedimientos iniciales con ZFS 51

Page 52: Guía de administración de Solaris ZFS

Cree la jerarquía que necesite.

En este ejemplo, se crea un sistema de archivos que actúa como contenedor de determinadossistemas de archivos.# zfs create tank/home

A continuación, los sistemas de archivos se agrupan en el sistema de archivos home en el grupotank.

Configure las propiedades heredadas.

Después de establecer la jerarquía del sistema de archivos, configure las propiedades que debencompartir todos los usuarios:# zfs set mountpoint=/export/zfs tank/home

# zfs set sharenfs=on tank/home

# zfs set compression=on tank/home

# zfs get compression tank/home

NAME PROPERTY VALUE SOURCE

tank/home compression on local

Hay una nueva función disponible que permite establecer las propiedades del sistema dearchivos al crearlo. Por ejemplo:

# zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home

Para obtener más información sobre propiedades y herencia de propiedades, consulte“Introducción a las propiedades de ZFS” en la página 179.

Cree los sistemas de archivos.

Puede que los sistemas de archivos se hayan creado y que las propiedades se hayan cambiado enel nivel de home. Todas las propiedades se pueden cambiar dinámicamente mientras se utilizanlos sistemas de archivos.# zfs create tank/home/bonwick

# zfs create tank/home/billm

Estos sistemas de archivos heredan su configuración de propiedades de sus superiores, de modoque se montan automáticamente en /export/zfs/ usuario y se comparten con NFS. No hacefalta editar el archivo /etc/vfstab ni /etc/dfs/dfstab.

Para obtener más información sobre cómo crear sistemas de archivos, consulte “Creación de unsistema de archivos ZFS” en la página 176.

Para obtener más información sobre el montaje y la compartición de sistemas de archivos,consulte “Montaje y compartición de sistemas de archivos ZFS” en la página 201.

2

3

4

Creación de una jerarquía para el sistema de archivos ZFS

Guía de administración de Solaris ZFS • Octubre de 200952

Page 53: Guía de administración de Solaris ZFS

Configure las propiedades específicas del sistema de archivos.En este ejemplo, se asigna una cuota de 10 GB al usuario bonwick. Esta propiedad establece unlímite en la cantidad de espacio que puede consumir, sea cual sea el espacio disponible en laagrupación.# zfs set quota=10G tank/home/bonwick

Examine los resultados.Consulte la información disponible sobre el sistema de archivos mediante el comando zfs

list:# zfs list

NAME USED AVAIL REFER MOUNTPOINT

tank 92.0K 67.0G 9.5K /tank

tank/home 24.0K 67.0G 8K /export/zfs

tank/home/billm 8K 67.0G 8K /export/zfs/billm

tank/home/bonwick 8K 10.0G 8K /export/zfs/bonwick

El usuario bonwick sólo tiene un espacio disponible de 10 GB, mientras que el usuario billm

puede utilizar toda la agrupación (67 GB).

Para obtener más información sobre cómo ver el estado del sistema de archivos, consulte“Consulta de información del sistema de archivos ZFS” en la página 193.

Para obtener más información sobre cómo se utiliza y calcula el espacio, consulte “Cálculo delespacio de ZFS” en la página 56.

5

6

Creación de una jerarquía para el sistema de archivos ZFS

Capítulo 2 • Procedimientos iniciales con ZFS 53

Page 54: Guía de administración de Solaris ZFS

54

Page 55: Guía de administración de Solaris ZFS

Diferencias entre ZFS y sistemas de archivostradicionales

En este capítulo se exponen algunas diferencias destacadas que hay entre ZFS y los sistemas dearchivos tradicionales. Conocer estas diferencias fundamentales solventará dudas sobre el usode herramientas tradicionales y su interacción de ZFS.

Este capítulo se divide en las secciones siguientes:

■ “Granularidad de sistemas de archivos ZFS” en la página 55■ “Cálculo del espacio de ZFS” en la página 56■ “Comportamiento de falta de espacio” en la página 57■ “Montaje de sistemas de archivos ZFS” en la página 57■ “Administración tradicional de volúmenes” en la página 57■ “Nuevo modelo de LCA de Solaris” en la página 58

Granularidad de sistemas de archivos ZFSDesde siempre, los sistemas de archivos se han limitado a un dispositivo, por eso el tamaño delos sistemas debe adecuarse al tamaño del dispositivo. Crear y volver a crear sistemas dearchivos tradicionales debido a las limitaciones de tamaño requiere mucho tiempo y llega a sercomplicado. Los productos tradicionales de administración de volúmenes ayudaban a llevar acabo este proceso.

Como los sistemas de archivos ZFS no se limitan a determinados dispositivos, se pueden crearcon rapidez y facilidad, de forma parecida a la creación de directorios. Los sistemas de archivosZFS aumentan automáticamente en el espacio que se asigna al grupo de almacenamiento.

En vez de crear un sistema de archivos, por ejemplo /export/home, para administrarnumerosos subdirectorios de usuarios, puede crear un sistema de archivos por usuario.Además, ZFS proporciona una jerarquía de sistemas de archivos para poder configurar yadministrar fácilmente un gran número de sistemas de archivos aplicando propiedades quepueden heredar sistemas de archivos pertenecientes a la jerarquía.

3C A P Í T U L O 3

55

Page 56: Guía de administración de Solaris ZFS

Para obtener un ejemplo sobre cómo crear una jerarquía de sistemas de archivos, consulte“Creación de una jerarquía para el sistema de archivos ZFS” en la página 50.

Cálculo del espacio de ZFSZFS se basa en el concepto de almacenamiento en grupo. A diferencia de los sistemas dearchivos habituales, asignados al almacenamiento físico, todos los sistemas de archivos ZFS deun grupo comparten el espacio de almacenamiento del grupo. Por lo tanto, el espaciodisponible del que informan utilidades como df puede llegar a cambiar aunque el sistema dearchivos no esté activo, debido a que otros sistemas de archivos del grupo consumen o liberanespacio. El tamaño máximo de los sistemas de archivos se puede restringir mediante cuotas.Para obtener información sobre las cuotas, consulte “Establecimiento de cuotas en sistemas dearchivos ZFS” en la página 208. Se puede garantizar espacio para un sistema de archivosmediante reserva. Para obtener información acerca de las reservas, consulte “Establecimientode reservas en sistemas de archivos ZFS” en la página 212. Este modelo es muy similar al de NFS,en el que varios directorios se montan desde el mismo sistema de archivos (/home).

Todos los metadatos de ZFS se asignan de forma dinámica. Casi todos los demás sistemas dearchivos preasignan gran parte de sus metadatos. La consecuencia es un coste inmediato deasignación de espacio para estos metadatos al crear el sistema de archivos. También significaque está predefinida la cantidad de archivos que admiten los sistemas de archivos. Como ZFSasigna sus metadatos conforme los necesita, no precisa asignación inicial de espacio y lacantidad de archivos que puede admitir está sólo en función del espacio disponible. La salida delcomando df -g no significa lo mismo en ZFS que en otros sistemas. El valor de total files(total de archivos) que aparece consiste sólo en un cálculo basado en la cantidad dealmacenamiento disponible en el grupo.

ZFS es un sistema de archivos transaccional. Casi todas las modificaciones de sistemas dearchivos se incluyen en grupos de transacciones y se envían al disco de manera asíncrona. Hastaque no se envían al disco, tienen el estado pending changes. La cantidad de espacio utilizado,disponible y que hace referencia a un archivo o sistema de archivos no tiene en cuenta loscambios pendientes. Los cambios pendientes suelen calcularse en pocos segundos. El hecho deenviar un cambio al disco mediante fsync(3c) o O_SYNC no garantiza necesariamente laactualización inmediata del espacio que se utiliza.

Para obtener información más detallada sobre el consumo de espacio de ZFS notificado por loscomandos du y df, consulte el siguiente enlace:

http://opensolaris.org/os/community/zfs/faq/#whydusize

Cálculo del espacio de ZFS

Guía de administración de Solaris ZFS • Octubre de 200956

Page 57: Guía de administración de Solaris ZFS

Comportamiento de falta de espacioEn ZFS, las instantáneas se crean sin dificultad ni coste alguno. Lo más probable es que lasinstantáneas sean comunes en casi todos los entornos de ZFS. Para obtener información sobreinstantáneas de ZFS, consulte el Capítulo 7, “Utilización de clónicos e instantáneas de ZFS”.

La presencia de instantáneas puede comportar determinados comportamientos imprevistos alintentar liberar espacio. En general, con los permisos pertinentes, se puede eliminar archivos deun sistema de archivos lleno y disponer así de más espacio en el sistema de archivos. Noobstante, si el archivo que se va a eliminar existe en una instantánea del sistema de archivos,suprimirlo no proporcionará más espacio libre. Se sigue haciendo referencia a los bloquesutilizados por el archivo desde la instantánea.

Como consecuencia, eliminar un archivo puede suponer más consumo del espacio en disco, yaque para reflejar el nuevo estado del espacio de nombre se debe crear una versión nueva deldirectorio. Este comportamiento significa que al intentar eliminar un archivo se puede generarun ENOSPC o EDQUOT imprevisto.

Montaje de sistemas de archivos ZFSZFS se ha ideado para reducir la complejidad y facilitar la administración. Por ejemplo, en lossistemas de archivos ya creados, debe editar el archivo /etc/vfstab cada vez que agregue unsistema de archivos nuevo. ZFS ha suprimido este requisito al montar y desmontarautomáticamente los sistemas de archivos en función de las propiedades del conjunto de datos.Las entradas de ZFS no hace falta administrarlas en el archivo /etc/vfstab.

Para obtener más información sobre cómo montar y compartir sistemas de archivos ZFS,consulte “Montaje y compartición de sistemas de archivos ZFS” en la página 201.

Administración tradicional de volúmenesComo se explica en “Almacenamiento en grupos de ZFS” en la página 40, con ZFS no senecesita un administrador de volúmenes aparte. ZFS funciona en dispositivos básicos, lo quepermite crear un grupo de almacenamiento a base de volúmenes lógicos, ya sea de software ohardware. No se recomienda esta configuración, puesto que el funcionamiento óptimo de ZFSse da con dispositivos físicos básicos. El uso de volúmenes lógicos puede perjudicar elrendimiento, la fiabilidad o ambas cosas, y se debe evitar.

Administración tradicional de volúmenes

Capítulo 3 • Diferencias entre ZFS y sistemas de archivos tradicionales 57

Page 58: Guía de administración de Solaris ZFS

Nuevo modelo de LCA de SolarisLas versiones anteriores del sistema operativo Solaris admitían una implementación de LCAque se basaba sobre todo en la especificación LCA de borrador POSIX. Las ACL basadas en elborrador POSIX se utilizan para proteger los archivos UFS. Un nuevo modelo de LCA que sebasa en la especificación NFSv4 se emplea para proteger archivos ZFS.

A continuación se exponen las diferencias principales del nuevo modelo de LCA de Solaris:

■ Se basa en la especificación de NFSv4 y se parece a las LCA del tipo NT.■ Conjunto mucho más granular de privilegios de acceso.■ Se define y visualiza con los comandos chmod y ls, en lugar de los comandos setfacl y

getfacl.■ Semántica heredada mucho más rica para establecer la forma en que se aplican privilegios

de acceso del directorio a los directorios, y así sucesivamente.

Para obtener más información sobre el uso de las LCA con archivos ZFS, consulte el Capítulo 8,“Uso de las LCA para proteger archivos ZFS”.

Nuevo modelo de LCA de Solaris

Guía de administración de Solaris ZFS • Octubre de 200958

Page 59: Guía de administración de Solaris ZFS

Administración de grupos de almacenamientode ZFS

Este capítulo describe cómo crear y administrar grupos de almacenamiento de ZFS.

Este capítulo se divide en las secciones siguientes:

■ “Componentes de un grupo de almacenamiento de ZFS” en la página 59■ “Creación y destrucción de grupos de almacenamiento de ZFS” en la página 66■ “Administración de dispositivos en grupos de almacenamiento de ZFS” en la página 77■ “Administración de propiedades de agrupaciones de almacenamiento ZFS” en la página 93■ “Consulta del estado de un grupo de almacenamiento de ZFS” en la página 96■ “Migración de grupos de almacenamiento de ZFS” en la página 105■ “Actualización de grupos de almacenamiento de ZFS” en la página 112

Componentes de un grupo de almacenamiento de ZFSLas secciones siguientes ofrecen información detallada sobre los componentes de grupo dealmacenamiento siguientes:

■ “Utilización de discos en un grupo de almacenamiento de ZFS” en la página 59■ “Uso de segmentos en una agrupación de almacenamiento de ZFS” en la página 61■ “Utilización de archivos en un grupo de almacenamiento de ZFS” en la página 63

Utilización de discos en un grupo de almacenamientode ZFSEl elemento más básico de un grupo de almacenamiento es un fragmento de almacenamientofísico. El almacenamiento físico puede ser cualquier dispositivo de bloque de al menos 128Mbytes. En general, este dispositivo es una unidad de disco duro visible en el sistema en eldirectorio /dev/dsk.

4C A P Í T U L O 4

59

Page 60: Guía de administración de Solaris ZFS

Un dispositivo de almacenamiento puede ser todo un disco (c1t0d0) o un determinadosegmento (c0t0d0s7). El modo de funcionamiento recomendado es utilizar un disco entero,para lo cual no hace falta dar ningún formato especial al disco. ZFS da formato al discomediante la etiqueta EFI para que contenga un solo segmento grande. Si se utiliza de este modo,la tabla de partición que aparece junto al comando format tiene un aspecto similar al siguiente:

Current partition table (original):

Total disk sectors available: 17672849 + 16384 (reserved sectors)

Part Tag Flag First Sector Size Last Sector

0 usr wm 256 8.43GB 17672849

1 unassigned wm 0 0 0

2 unassigned wm 0 0 0

3 unassigned wm 0 0 0

4 unassigned wm 0 0 0

5 unassigned wm 0 0 0

6 unassigned wm 0 0 0

8 reserved wm 17672850 8.00MB 17689233

Para utilizar discos completos, se les debe asignar un nombre de acuerdo con la convención denombres /dev/dsk/cXtXdX. Algunos controladores de terceros utilizan otra convención deasignación de nombres o sitúan discos en una ubicación diferente de la del directorio/dev/dsk. Para utilizar estos discos, debe etiquetarlos manualmente y proporcionar unsegmento a ZFS.

ZFS aplica una etiqueta EFI cuando crea un grupo de almacenamiento con discos completos.Para obtener más información sobre etiquetas EFI, consulte “EFI Disk Label” de SystemAdministration Guide: Devices and File Systems.

Se debe crear un disco que esté diseñado para una agrupación root ZFS con una etiqueta SMI,no EFI. Puede volver a etiquetar un disco con una etiqueta SMI mediante el uso del comandoformat -e.

Los discos se pueden especificar mediante una ruta completa, como /dev/dsk/c1t0d0, o unnombre abreviado que se componga del nombre de dispositivo en el directorio /dev/dsk, porejemplo c1t0d0. Por ejemplo, a continuación puede ver algunos nombres de disco válidos:

■ c1t0d0

■ /dev/dsk/c1t0d0

■ c0t0d6s2

■ /dev/foo/disk

La forma más sencilla de crear grupos de almacenamiento de ZFS es usar todo el disco físico.Las configuraciones de ZFS se vuelven más complejas de forma progresiva respecto aadministración, fiabilidad y rendimiento, cuando se crean grupos de segmentos de discos, LUN(unidades lógicas) en matrices RAID de hardware o volúmenes presentados por

Componentes de un grupo de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200960

Page 61: Guía de administración de Solaris ZFS

administradores de volúmenes basados en software. Las consideraciones siguientes puedenayudar a determinar la configuración de ZFS con otras soluciones de almacenamiento dehardware o software:

■ Si crea configuraciones de ZFS sobre LUN a partir de matrices RAID de hardware, se debecomprender la relación entre las características de redundancia de ZFS y las de redundanciaofrecidas por la matriz. Determinadas configuraciones pueden dar una redundancia y unrendimiento adecuados, pero otras quizá no lo hagan.

■ Puede crear dispositivos lógicos para ZFS mediante volúmenes presentados poradministradores de volúmenes basados en software como SolarisTM Volume Manager(SVM) o Veritas Volume Manager (VxVM). Sin embargo, estas configuraciones no serecomiendan. Aunque ZFS funcione correctamente en estos dispositivos, podría presentarun rendimiento inferior al óptimo.

Para obtener información adicional sobre las recomendaciones de grupos de almacenamiento,consulte el sitio sobre métodos recomendados para ZFS:

http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide

Los discos se identifican por la ruta e ID de dispositivo, si lo hay. Este método permite volver aconfigurar los dispositivos de un sistema sin tener que actualizar ningún estado de ZFS. Si seconmuta un disco entre controlador 1 y controlador 2, ZFS utiliza el ID de dispositivo paradetectar que el disco se ha movido y que se debe acceder ahora a él mediante el controlador 2. ElID de dispositivo es exclusivo del firmware del controlador. Aunque es poco probable, hay casosde actualizaciones de firmware que cambian los ID de dispositivos. Si se da esta situación, ZFSpuede seguir accediendo al dispositivo mediante la ruta y actualizar automáticamente el ID dedispositivo almacenado. Si cambia involuntariamente la ruta y el ID del dispositivo, exporte elgrupo y vuelva a importarlo para utilizarlo.

Uso de segmentos en una agrupación dealmacenamiento de ZFSLos discos se pueden etiquetar con una etiqueta Solaris VTOC (SMI) tradicional cuando creeun grupo de almacenamiento con un segmento de disco.

Para una agrupación root ZFS de arranque, los discos de la agrupación deben contenersegmentos y deben etiquetarse con una etiqueta SMI. La configuración más sencilla esestablecer la capacidad de todo el disco en el segmento 0 y utilizar ese segmento para laagrupación root.

En un sistema basado en SPARC, un disco de 72 GB tiene 68 GB de espacio utilizable ubicadosen el segmento 0, tal y como se muestra en la siguiente salida de format.

Componentes de un grupo de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 61

Page 62: Guía de administración de Solaris ZFS

# format

.

.

.

Specify disk (enter its number): 4

selecting c1t1d0

partition> p

Current partition table (original):

Total disk cylinders available: 14087 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks

0 root wm 0 - 14086 68.35GB (14087/0/0) 143349312

1 unassigned wm 0 0 (0/0/0) 0

2 backup wm 0 - 14086 68.35GB (14087/0/0) 143349312

3 unassigned wm 0 0 (0/0/0) 0

4 unassigned wm 0 0 (0/0/0) 0

5 unassigned wm 0 0 (0/0/0) 0

6 unassigned wm 0 0 (0/0/0) 0

7 unassigned wm 0 0 (0/0/0) 0

En un sistema basado en x86, un disco de 72 GB tiene 68 GB de espacio utilizable ubicado en elsegmento 0, tal y como se muestra en la siguiente salida de format. En el segmento 8 se incluyeuna pequeña cantidad de información de arranque. El segmento 8 no requiere administración yno se puede cambiar.

# format

.

.

.

selecting c1t0d0

partition> p

Current partition table (original):

Total disk cylinders available: 49779 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks

0 root wm 1 - 49778 68.36GB (49778/0/0) 143360640

1 unassigned wu 0 0 (0/0/0) 0

2 backup wm 0 - 49778 68.36GB (49779/0/0) 143363520

3 unassigned wu 0 0 (0/0/0) 0

4 unassigned wu 0 0 (0/0/0) 0

5 unassigned wu 0 0 (0/0/0) 0

6 unassigned wu 0 0 (0/0/0) 0

7 unassigned wu 0 0 (0/0/0) 0

8 boot wu 0 - 0 1.41MB (1/0/0) 2880

9 unassigned wu 0 0 (0/0/0) 0

Si se plantea utilizar segmentos para una agrupación de almacenamiento ZFS que no sea unaagrupación root ZFS de arranque, examine las condiciones siguientes cuando el uso desegmentos pudiera ser necesario:

Componentes de un grupo de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200962

Page 63: Guía de administración de Solaris ZFS

■ El nombre del dispositivo no es estándar.■ Se comparte un único disco entre ZFS y otro sistema de archivos, como UFS.

Utilización de archivos en un grupo dealmacenamiento de ZFSZFS también permite utilizar los archivos UFS como dispositivos virtuales en el grupo dealmacenamiento. Esta función se aplica sobre todo a verificaciones y pruebas sencillas, no esapta la producción. El motivo es que cualquier uso de los archivos se basa en el sistema dearchivos subyacente por motivos de coherencia. Si crea una agrupación ZFS respaldada porarchivos en un sistema de archivos UFS, de forma implícita depende de UFS para garantizar lacorrección y una semántica síncrona.

Sin embargo, los archivos pueden ser bastante útiles al probar ZFS por primera vez oexperimentar con diseños más complejos cuando no hay suficientes dispositivos físicos. Sedeben especificar todos los archivos como rutas completas y deben tener al menos 54 MB detamaño. Si se mueve un archivo o se le cambia el nombre, el grupo se debe exportar y volver aimportar para utilizarlo, puesto que no hay ningún ID de dispositivo asociado con los archivospor el que se pueda encontrar.

Funciones de replicación de un grupo de almacenamiento deZFS

ZFS proporciona redundancia de datos y propiedades de autocorrección en una configuraciónduplicada y RAID-Z.

■ “Configuración duplicada de grupos de almacenamiento” en la página 63■ “Configuración de grupos de almacenamiento RAID-Z” en la página 64■ “Datos de recuperación automática en una configuración redundante” en la página 65■ “Reparto dinámico de discos en bandas en un grupo de almacenamiento” en la página 66■ “Agrupación de almacenamiento híbrido ZFS ” en la página 65

Configuración duplicada de grupos dealmacenamientoUna configuración duplicada de grupo de almacenamiento necesita al menos dos discos,preferiblemente en controladores independientes. En una configuración duplicada se puedenutilizar muchos discos. Asimismo, puede crear más de una duplicación en cada grupo.Conceptualmente hablando, una configuración duplicada sencilla tendría un aspecto similar alsiguiente:

Funciones de replicación de un grupo de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 63

Page 64: Guía de administración de Solaris ZFS

mirror c1t0d0 c2t0d0

Desde un punto de vista conceptual, una configuración duplicada más compleja tendría unaspecto similar al siguiente:

mirror c1t0d0 c2t0d0 c3t0d0 mirror c4t0d0 c5t0d0 c6t0d0

Para obtener información sobre cómo crear grupos de almacenamiento duplicados, consulte“Creación de un grupo de almacenamiento duplicado” en la página 67.

Configuración de grupos de almacenamiento RAID-ZAdemás de una configuración duplicada de grupo de almacenamiento, ZFS ofrece unaconfiguración de RAID-Z con tolerancia a fallos de paridad sencilla o doble. RAID-Z deparidad sencilla es similar a RAID-5. RAID-Z de paridad doble es similar a RAID-6.

Todos los algoritmos del tipo RAID-5 tradicional RAID-4, RAID-6, RDP y par-impar, porejemplo) tienen un problema conocido como “error de escritura por caída del sistema RAID-5”. Si sólo se escribe parte de una distribución de discos en bandas de RAID-5 y la alimentación seinterrumpe antes de que todos los bloques la hayan efectuado en el disco, la paridad permanecesin sincronizarse con los datos, y por eso deja de ser útil (a menos que la sobrescriba unaescritura posterior de todas las bandas). En RAID-Z, ZFS utiliza repartos de discos en bandas deRAID de ancho variable, de manera que todas las escrituras son de reparto total de discos enbandas. Este diseño sólo es posible porque ZFS integra el sistema de archivos y laadministración de dispositivos de manera que los metadatos del sistema de archivos tengasuficiente información sobre el modelo de redundancia de los datos subyacentes para controlarlos repartos de discos en bandas de RAID de anchura variable. RAID-Z es la primera soluciónexclusiva de software en el mundo para el error de escritura por caída del sistema de RAID-5.

Una configuración de RAID-Z con N discos de tamaño X con discos de paridad P puedecontener aproximadamente (N-P)*X bytes, así como admitir uno o más dispositivos P conerrores antes de que se comprometa la integridad de los datos. Para la configuración de RAID-Zde paridad sencilla se necesita un mínimo de dos discos y al menos tres para la configuración deRAID-Z de paridad doble. Por ejemplo, si tiene tres discos en una configuración de RAID-Z deparidad sencilla, los datos de la paridad ocupan un espacio equivalente a uno de los tres discos.Por otro lado, para crear una configuración de RAID-Z no se necesita hardware especial.

Conceptualmente hablando, una configuración de RAID-Z con tres discos tendría un aspectosimilar al siguiente:

raidz c1t0d0 c2t0d0 c3t0d0

Una configuración de RAID-Z conceptual más compleja tendría un aspecto similar al siguiente:

raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 c6t0d0 c7t0d0 raidz c8t0d0 c9t0d0 c10t0d0 c11t0d0

c12t0d0 c13t0d0 c14t0d0

Funciones de replicación de un grupo de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200964

Page 65: Guía de administración de Solaris ZFS

Si desea crear una configuración de RAID-Z con muchos discos, como en este ejemplo, unaconfiguración de RAID-Z con 14 discos se divide mejor en dos agrupaciones de 7 discos. Enprincipio, las configuraciones de RAID-Z con agrupaciones de un solo dígito de discosfuncionan mejor.

Para obtener más información sobre cómo crear grupos de almacenamiento de RAID-Z,consulte “Creación de grupos de almacenamiento de RAID-Z” en la página 68.

Para obtener más información sobre cómo elegir entre una configuración duplicada o una deRAID-Z en función del espacio y el rendimiento, consulte el blog siguiente:

http://blogs.sun.com/roller/page/roch?entry=when_to_and_not_to

Para obtener información adicional sobre las recomendaciones de grupos de almacenamiento,consulte el sitio sobre métodos recomendados para ZFS:

http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide

Agrupación de almacenamiento híbrido ZFSLa agrupación de almacenamiento híbrido ZFS, disponible en la serie de productos Sun Storage7000, es una agrupación de almacenamiento especial que combina DRAM, SSD y HDD, con elfin de mejorar el rendimiento y aumentar la capacidad, al tiempo que se reduce el consumo deenergía. Puede seleccionar la configuración de redundancia de ZFS de la agrupación dealmacenamiento y administrar fácilmente otras opciones de configuración con la interfaz deadministración de este producto.

Para obtener más información acerca de este producto, consulte la Sun Storage Unified StorageSystem Administration Guide.

Datos de recuperación automática en unaconfiguración redundanteZFS ofrece soluciones para datos de recuperación automática en una configuración de RAID-Zo duplicada.

Si se detecta un bloque de datos incorrectos, ZFS no sólo recupera los datos correctos de otracopia redundante, sino que también repara los datos incorrectos al sustituirlos por la copiacorrecta

Funciones de replicación de un grupo de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 65

Page 66: Guía de administración de Solaris ZFS

Reparto dinámico de discos en bandas en un grupo dealmacenamientoPara cada dispositivo virtual que se agrega al grupo, ZFS reparte dinámicamente los datos de losdiscos en bandas entre todos los dispositivos disponibles. La decisión de dónde ubicar los datosse efectúa en el momento de la escritura, por lo que en el momento de la asignación no se creanbandas de ancho fijo.

Cuando los dispositivos virtuales se agregan a un grupo, ZFS asigna gradualmente datos alnuevo dispositivo con el fin de mantener el rendimiento y las normas de asignación de espacio.Cada dispositivo virtual puede ser también una duplicación o un dispositivo de RAID-Z quecontenga otros archivos o dispositivos de discos. Esta configuración brinda flexibilidad a la horade controlar las características predeterminadas del grupo. Por ejemplo, puede crear lasconfiguraciones siguientes a partir de cuatro discos:

■ Cuatro discos que utilicen reparto dinámico de discos en bandas■ Una configuración de RAID-Z de cuatro vías■ Dos duplicaciones de dos vías que utilicen reparto dinámico de discos en bandas

Mientras ZFS admite la combinación de diversos tipos de dispositivos virtuales en el mismogrupo, no se recomienda esta práctica. Por ejemplo, puede crear un grupo con una duplicaciónde dos vías y una configuración de RAID-Z de tres vías. Sin embargo, la tolerancia a errores estan buena como el peor de los dispositivos virtuales de que disponga, en este caso RAID-Z. Lapráctica recomendada es utilizar dispositivos virtuales de nivel superior del mismo tipo conidéntico nivel de redundancia en cada dispositivo.

Creación y destrucción de grupos de almacenamiento de ZFSLas secciones siguientes describen distintas situaciones de creación y destrucción de grupos dealmacenamiento de ZFS.

■ “Creación de un grupo de almacenamiento de ZFS” en la página 67■ “Administración de errores de creación de grupos de almacenamiento de ZFS”

en la página 73■ “Destrucción de grupos de almacenamiento de ZFS” en la página 76■ “Visualización de información de dispositivos virtuales de agrupaciones de

almacenamiento” en la página 71

Por su diseño, la creación y destrucción de grupos es fácil y rápida. Sin embargo, estasoperaciones se deben efectuar con cuidado. Aunque las comprobaciones se efectúan paraimpedir el uso de dispositivos que se sabe que se utilizan en un nuevo grupo, ZFS no puedesaber siempre si un dispositivo ya se está utilizando. La destrucción de un grupo es incluso másfácil. Utilice zpool destroy con precaución. Es un comando sencillo pero de repercusionesimportantes.

Creación y destrucción de grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200966

Page 67: Guía de administración de Solaris ZFS

Creación de un grupo de almacenamiento de ZFSPara crear un grupo de almacenamiento, utilice el comando zpool create. Este comandotoma un nombre de grupo y cualquier cantidad de dispositivos virtuales como argumentos. Elnombre de la agrupación debe atenerse a las convenciones de denominación indicadas en“Requisitos de asignación de nombres de componentes de ZFS” en la página 45.

Creación de un grupo de almacenamiento básicoEl comando siguiente crea un recurso con el nombre tank que se compone de los discos c1t0d0y c1t1d0:

# zpool create tank c1t0d0 c1t1d0

Estos discos completos se encuentran en el directorio /dev/dsk; ZFS los etiquetacorrespondientemente para que contengan un segmento único y de gran tamaño. Los datos sereparten dinámicamente en ambos discos.

Creación de un grupo de almacenamiento duplicadoPara crear un grupo duplicado, utilice la palabra clave mirror, seguida de varios dispositivos dealmacenamiento que incluirán la duplicación. Se pueden especificar varias duplicaciones si serepite la palabra clave mirror en la línea de comandos. El comando siguiente crea un grupo condos duplicaciones de dos vías:

# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0

La segunda palabra clave mirror indica que se especifica un nuevo dispositivo virtual de nivelsuperior. Los datos se colocan dinámicamente en bandas en las dos duplicaciones, con lacorrespondiente redundancia de datos en cada disco.

Para obtener más información sobre configuraciones duplicadas recomendadas, visite la páginaweb siguiente:

http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide

En la actualidad, en una configuración duplicada de ZFS son posibles las operacionessiguientes:

■ Agregar otro conjunto de discos de vdev de nivel superior adicional a una configuraciónduplicada. Para obtener más información, consulte “Adición de dispositivos a un grupo dealmacenamiento” en la página 77.

■ Conectar discos adicionales a una configuración duplicada. Conectar discos adicionales auna configuración no duplicada para crear una configuración duplicada. Para obtener másinformación, consulte “Conexión y desconexión de dispositivos en un grupo dealmacenamiento” en la página 82.

Creación y destrucción de grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 67

Page 68: Guía de administración de Solaris ZFS

■ Reemplazar uno o varios discos de una configuración si los discos de sustitución sonmayores o iguales que el dispositivo que se va a reemplazar. Para obtener más información,consulre “Sustitución de dispositivos en un grupo de almacenamiento” en la página 86.

■ Desconectar uno o varios discos de una configuración duplicada si los demás dispositivosproporcionan a la configuración la redundancia que se necesita. Para obtener másinformación, consulte “Conexión y desconexión de dispositivos en un grupo dealmacenamiento” en la página 82.

En la actualidad, en una configuración duplicada no son posibles las operaciones siguientes:

■ De ningún modo puede quitarse un dispositivo de un grupo de almacenamiento duplicado.Para esta función se presenta un RFE.

■ Una duplicación no puede partirse ni interrumpirse por motivos de copias de seguridad.Para esta función se presenta un RFE.

Creación de una agrupación root ZFSEn las versiones actuales de Solaris puede instalar y arrancar desde un sistema de archivos rootZFS. Revise la siguiente información de configuración de agrupaciones root:

■ Los discos utilizados para la agrupación root deben tener una etiqueta VTOC (SMI) y laagrupación se debe crear con segmentos de discos

■ Una agrupación root debe crearse como configuración duplicada en una configuración deun único disco. No es posible agregar discos para crear varios vdevs duplicados, pero puedeampliar un vdev duplicado mediante el comando zpool attach.

■ No se admite una configuración RAID-Z o repartida■ Una agrupación root no puede tener un dispositivo de registro independiente■ Si intenta utilizar una configuración no admitida para una agrupación root, verá mensajes

parecidos a los siguientes:

ERROR: ZFS pool <pool-name> does not support boot environments

# zpool add -f rpool log c0t6d0s0

cannot add to ’rpool’: root pool can not have multiple vdevs or separate logs

Para más información sobre cómo instalar y arrancar un sistema de archivos root ZFS, consulteCapítulo 5, “Instalación y arranque de un sistema de archivos root ZFS”.

Creación de grupos de almacenamiento de RAID-ZUna agrupación de RAID-Z de paridad sencilla se crea del mismo modo que una agrupaciónduplicada, excepto que se utiliza la palabra clave raidz o raidz1 en lugar de mirror. El ejemplosiguiente muestra cómo crear un grupo con un único dispositivo de RAID-Z que se componede cinco discos:

Creación y destrucción de grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200968

Page 69: Guía de administración de Solaris ZFS

# zpool create tank raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 /dev/dsk/c5t0d0

Este ejemplo demuestra que los discos se pueden especificar con sus rutas completas. Eldispositivo /dev/dsk/c5t0d0 es idéntico a c5t0d0.

Se podría crear una configuración similar con segmentos de discos. Por ejemplo:

# zpool create tank raidz c1t0d0s0 c2t0d0s0 c3t0d0s0 c4t0d0s0 c5t0d0s0

Sin embargo, se debe dar formato a los discos previamente para que tengan un segmento cerocon el tamaño adecuado.

Puede crear una configuración de RAID-Z de paridad doble mediante la palabra clave raidz2.Por ejemplo:

# zpool create tank raidz2 c1t0d0 c2t0d0 c3t0d0

# zpool status -v tank

pool: tank

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

raidz2 ONLINE 0 0 0

c1t0d0 ONLINE 0 0 0

c2t0d0 ONLINE 0 0 0

c3t0d0 ONLINE 0 0 0

errors: No known data errors

En la actualidad, en una configuración de ZFS RAID-Z son posibles las operaciones siguientes:

■ Agregar otro conjunto de discos de vdev de nivel superior adicional a una configuración deRAID-Z. Para obtener más información, consulte “Adición de dispositivos a un grupo dealmacenamiento” en la página 77.

■ Reemplazar uno o varios discos de una configuración de RAID-Z si los discos de sustituciónson mayores o iguales que el dispositivo que se va a reemplazar. Para obtener másinformación, consulre “Sustitución de dispositivos en un grupo de almacenamiento”en la página 86.

En la actualidad, en una configuración de ZFS RAID-Z no son posibles las operacionessiguientes:

■ Conectar discos adicionales a una configuración de RAID-Z.■ Desconectar un disco de una configuración de RAID-Z.■ De ningún modo se puede quitar un dispositivo de una configuración de RAID-Z. Para esta

función se presenta un RFE.

Creación y destrucción de grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 69

Page 70: Guía de administración de Solaris ZFS

Para obtener más información sobre una configuración de RAID-Z, consulte “Configuraciónde grupos de almacenamiento RAID-Z” en la página 64.

Creación de una agrupación de almacenamiento ZFS con dispositivosde registroDe forma predeterminada, ZIL se asigna a partir de bloques de la agrupación principal. Sinembargo, el rendimiento puede mejorar si se usan dispositivos de registro independientes, porejemplo NVRAM o un disco dedicado. Para obtener más información sobre dispositivos deregistro ZFS, consulte “Configuración de dispositivos de registro de ZFS independientes”en la página 28.

Puede crear un dispositivo de registro ZFS durante o después de crear la agrupación.

Por ejemplo, cree una agrupación de almacenamiento duplicada con dispositivos de registroduplicados.

# zpool create datap mirror c1t1d0 c1t2d0 mirror c1t3d0 c1t4d0 log mirror c1t5d0 c1t8d0

# zpool status

pool: datap

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

datap ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

c1t2d0 ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t3d0 ONLINE 0 0 0

c1t4d0 ONLINE 0 0 0

logs ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t5d0 ONLINE 0 0 0

c1t8d0 ONLINE 0 0 0

errors: No known data errors

Para obtener información sobre la recuperación de un error en un dispositivo de registro,consulte el Ejemplo 11–2.

Creación de una agrupación de almacenamiento ZFS con dispositivoscachéPuede crear una agrupación de almacenamiento con dispositivos caché para guardar en éstosdatos de la agrupación de almacenamiento. Por ejemplo:

Creación y destrucción de grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200970

Page 71: Guía de administración de Solaris ZFS

# zpool create tank mirror c2t0d0 c2t1d0 c2t3d0 cache c2t5d0 c2t8d0

# zpool status tank

pool: tank

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

mirror ONLINE 0 0 0

c2t0d0 ONLINE 0 0 0

c2t1d0 ONLINE 0 0 0

c2t3d0 ONLINE 0 0 0

cache

c2t5d0 ONLINE 0 0 0

c2t8d0 ONLINE 0 0 0

Revise los siguientes puntos al considerar si se debe crear una agrupación de almacenamientode ZFS con dispositivos caché:

■ El uso de dispositivos de caché optimiza el rendimiento en las cargas de trabajo de lecturaaleatorias del contenido principalmente estático.

■ La capacidad y las lecturas se pueden supervisar mediante el comando zpool iostat.■ Es posible agregar dispositivos caché simple o múltiple al crear la agrupación, o bien

agregarlos y eliminarlos después de crear la agrupación. Para obtener más información,consulte el Ejemplo 4–4.

■ Los dispositivos caché no se pueden duplicar ni pueden ser parte de una configuración deRAID-Z.

■ Si se encuentra un error de lectura en un dispositivo caché, la E/S de lectura se vuelve aenviar al dispositivo de agrupación de almacenamiento original, que puede formar parte deuna configuración de RAID-Z o duplicada. El contenido de los dispositivos de la memoriacaché se considera volátil, como ocurre con otras memorias caché del sistema.

Visualización de información de dispositivos virtualesde agrupaciones de almacenamientoCada grupo de almacenamiento se compone de uno o más dispositivos virtuales. Un dispositivovirtual es una representación interna del grupo de almacenamiento que describe la disposicióndel almacenamiento físico y sus características predeterminadas. Un dispositivo virtualrepresenta los archivos o dispositivos de disco que se utilizan para crear el grupo dealmacenamiento. Una agrupación puede tener cualquier cantidad de dispositivos virtuales en laparte superior de la configuración, denominados root vdev.

Creación y destrucción de grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 71

Page 72: Guía de administración de Solaris ZFS

Dos dispositivos virtuales root o de nivel superior ofrecen redundancia de datos: duplicación ydispositivos virtuales RAID-Z. Estos dispositivos virtuales se componen de discos, segmentosde discos o archivos. Un repuesto es un dispositivo vdev que controla los repuestos en marchade una agrupación.

El ejemplo siguiente muestra cómo crear una agrupación formada por dos dispositivos vdev,cada cual una duplicación de dos discos.

# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0

El ejemplo siguiente muestra cómo crear una agrupación formada por un vdev root de 4 discos.

# zpool create mypool raidz2 c1d0 c2d0 c3d0 c4d0

Se puede agregar otro dispositivo vdev root a esta agrupación mediante el comando zpool add.Por ejemplo:

# zpool add mypool raidz2 c2d0 c3d0 c4d0 c5d0

Los discos, segmentos de discos o archivos que se utilizan en agrupaciones no redundantesfuncionan ellos mismos como dispositivos virtuales de nivel superior. Los grupos dealmacenamiento suelen contener diversos dispositivos virtuales de nivel superior. ZFS repartedinámicamente los discos en bandas entre todos los dispositivos virtuales de nivel superior enun grupo.

Los dispositivos virtuales y físicos que se incluyen en una agrupación de almacenamiento ZFSse muestran con el comando zpool status. Por ejemplo:

# zpool status tank

pool: tank

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t1d0 ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t2d0 ONLINE 0 0 0

c1t2d0 ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t3d0 ONLINE 0 0 0

c1t3d0 ONLINE 0 0 0

Creación y destrucción de grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200972

Page 73: Guía de administración de Solaris ZFS

Administración de errores de creación de grupos dealmacenamiento de ZFSLos errores de creación de grupos pueden deberse a diversos motivos. Algunos de ellos sonobvios, por ejemplo un dispositivo especificado que no existe, mientras que otros no lo sontanto.

Detección de dispositivos en usoAntes de dar formato a un dispositivo, ZFS determina si el disco lo está utilizando ZFS ocualquier otro componente del sistema operativo. Si el disco está en uso, puede haber errorescomo el siguiente:

# zpool create tank c1t0d0 c1t1d0

invalid vdev specification

use ’-f’ to override the following errors:

/dev/dsk/c1t0d0s0 is currently mounted on /. Please see umount(1M).

/dev/dsk/c1t0d0s1 is currently mounted on swap. Please see swap(1M).

/dev/dsk/c1t1d0s0 is part of active ZFS pool zeepool. Please see zpool(1M).

Algunos de estos errores pueden omitirse mediante la opción -f, pero no es algo aplicable a lamayoría. Los usos siguientes no pueden omitirse la opción - f; se deben corregir manualmente:

Sistema de archivos montado El disco o uno de sus segmentos contiene un sistema dearchivos que está montado. Para corregir este error,utilice el comando umount.

Sistema de archivos en /etc/vfstab El disco contiene un sistema de archivos que se muestraen el archivo /etc/vfstab, pero el sistema de archivosno está montado. Para corregir este error, suprima lalínea del archivo /etc/vfstab o conviértala encomentario.

Dispositivo de volcado dedicado El disco se utiliza como dispositivo de volcado dedicadopara el sistema. Para corregir este error, utilice elcomando dumpadm.

Parte de un grupo de ZFS El disco o archivo es parte de un grupo dealmacenamiento de ZFS activo. Para corregir este error,utilice el comando zpool destroy para destruir la otraagrupación, si ya no se necesita. También puede utilizarel comando zpool detach para desvincular el disco dela otra agrupación. Sólo se puede desvincular un discode una agrupación de almacenamiento duplicada.

Las siguientes comprobaciones en uso son advertencias útiles; se pueden anular mediante laopción -f para crear el grupo:

Creación y destrucción de grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 73

Page 74: Guía de administración de Solaris ZFS

Contiene un sistema de archivos El disco contiene un sistema de archivos conocido,aunque no está montado y no parece que se utilice.

Parte de volumen El disco es parte de un volumen SVM.

Programa Modernización automática El disco se utiliza como entorno de arranquealternativo para el programa Modernizaciónautomática de Solaris.

Parte de grupo de ZFS exportado El disco es parte de un grupo de almacenamientoque se ha exportado o suprimido manualmente deun sistema. En el último caso, se informa de que elgrupo es potencialmente activo, ya que el discoquizá sea o no una unidad conectada a la red queotro sistema utiliza. Debe irse con precaución alanular un grupo potencialmente activo.

El ejemplo siguiente muestra la forma de utilizar la opción -f:

# zpool create tank c1t0d0

invalid vdev specification

use ’-f’ to override the following errors:

/dev/dsk/c1t0d0s0 contains a ufs filesystem.

# zpool create -f tank c1t0d0

En general, en lugar de utilizar la opción -f es preferible corregir los errores.

Niveles de replicación no coincidentesNo se recomienda crear grupos con dispositivos virtuales de niveles de replicación diferentes. Elcomando zpool impide la creación involuntaria de un grupo con niveles de redundancia que nocoinciden. Si intenta crear un grupo con una configuración de ese tipo, aparecen erroressimilares al siguiente:

# zpool create tank c1t0d0 mirror c2t0d0 c3t0d0

invalid vdev specification

use ’-f’ to override the following errors:

mismatched replication level: both disk and mirror vdevs are present

# zpool create tank mirror c1t0d0 c2t0d0 mirror c3t0d0 c4t0d0 c5t0d0

invalid vdev specification

use ’-f’ to override the following errors:

mismatched replication level: 2-way mirror and 3-way mirror vdevs are present

Puede anular estos errores con la opción -f, aunque no es aconsejable. El comando tambiénadvierte sobre la creación de un grupo de RAID-Z o duplicado mediante dispositivos de

Creación y destrucción de grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200974

Page 75: Guía de administración de Solaris ZFS

diversos tamaños. Mientras se permite esta configuración, los niveles no coincidentes deredundancia generan espacio sin utilizar en el dispositivo más grande y entonces es preciso quela opción -f anule la advertencia.

Ensayo de creación de un grupo de almacenamientoComo la creación de una agrupación puede generar errores inesperados en muchos sentidos, ydebido a que dar formato a los discos es algo potencialmente dañino, el comando zpool create

tiene una opción adicional, -n, que simula la creación del grupo sin escribir datos en eldispositivo. Esta opción ejecuta el dispositivo en la comprobación en uso y la validación delnivel de replicación, e informa de los errores en el proceso. Si no se encuentran errores, segenera una salida similar a la siguiente:

# zpool create -n tank mirror c1t0d0 c1t1d0

would create ’tank’ with the following layout:

tank

mirror

c1t0d0

c1t1d0

Algunos errores no se pueden detectar sin crear el grupo. El ejemplo más habitual es especificarel mismo dispositivo dos veces en la misma configuración. Este error no se detecta conseguridad sin escribir los datos, por lo que el comando create -n puede informarcorrectamente aunque puede fallar al crear el grupo en la ejecución real.

Punto de montaje predeterminado para grupos de almacenamientoCuando se crea un grupo, el punto de montaje predeterminado del conjunto de datos root es/nombre_grupo. Este directorio no debe existir o debe estar vacío. Si el directorio no existe, secrea automáticamente. Si está vacío, el conjunto de datos root se monta en la parte superior deldirectorio ya creado. Para crear un grupo con un punto de montaje predeterminado diferente,utilice la opción - m del comando zpool create:

# zpool create home c1t0d0

default mountpoint ’/home’ exists and is not empty

use ’-m’ option to specify a different default

# zpool create -m /export/zfs home c1t0d0

# zpool create home c1t0d0

default mountpoint ’/home’ exists and is not empty

use ’-m’ option to provide a different default

# zpool create -m /export/zfs home c1t0d0

Este comando crea un grupo home y el conjunto de datos home con un punto de montaje de/export/zfs.

Creación y destrucción de grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 75

Page 76: Guía de administración de Solaris ZFS

Para obtener más información sobre los puntos de montaje, consulte “Administración depuntos de montaje de ZFS” en la página 201.

Destrucción de grupos de almacenamiento de ZFSPara destruir grupos se utiliza el comando zpool destroy. Este comando destruye laagrupación aunque contenga conjuntos de datos montados.

# zpool destroy tank

Precaución – Al destruir un grupo debe irse con mucho cuidado. Asegúrese de que destruya elgrupo correcto y guarde siempre copias de los datos. Si destruye involuntariamente el grupoincorrecto, puede intentar su recuperación. Para obtener más información, consulte“Recuperación de grupos de almacenamiento de ZFS destruidos” en la página 110.

Destrucción de un grupo con dispositivos con erroresLa destrucción de un grupo requiere que los datos se escriban en el disco para indicar que elgrupo ya no es válido. Esta información del estado impide que los dispositivos aparezcan comoun grupo potencial cuando efectúa una importación. Si uno o más dispositivos dejan de estardisponibles, el grupo todavía puede destruirse. Sin embargo, la información necesaria delestado no se escribirá en estos dispositivos dañados.

Cuando se reparan adecuadamente, se informa de que estos dispositivos son potencialmenteactivos cuando crea un grupo, y aparecen como dispositivos válidos si se buscan grupos paraimportar. Si un grupo tiene tantos dispositivos con errores que el propio grupo aparece conerrores (lo que significa que el dispositivo virtual de nivel superior es incorrecto), el comandoimprime una advertencia y no se puede completar sin la opción -f. Esta opción es necesariaporque el grupo no se puede abrir, de manera que se ignora si los datos están o no almacenadosallí. Por ejemplo:

# zpool destroy tank

cannot destroy ’tank’: pool is faulted

use ’-f’ to force destruction anyway

# zpool destroy -f tank

Para obtener más información sobre la situación de dispositivos y grupos, consulte “Cómodeterminar el estado de los grupos de almacenamiento de ZFS” en la página 102.

Para obtener más información sobre importación de grupos, consulte “Importación de gruposde almacenamiento de ZFS” en la página 109.

Creación y destrucción de grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200976

Page 77: Guía de administración de Solaris ZFS

Administración de dispositivos en grupos de almacenamientode ZFS

La mayor parte de la información básica relacionada con los dispositivos se puede consultar en“Componentes de un grupo de almacenamiento de ZFS” en la página 59. Cuando se hayacreado un grupo, puede efectuar diversas tareas para administrar los dispositivos físicos en elgrupo.

■ “Adición de dispositivos a un grupo de almacenamiento” en la página 77■ “Conexión y desconexión de dispositivos en un grupo de almacenamiento” en la página 82■ “Dispositivos con conexión y sin conexión en un grupo de almacenamiento” en la página 84■ “Supresión de dispositivos de grupos de almacenamiento” en la página 86■ “Sustitución de dispositivos en un grupo de almacenamiento” en la página 86■ “Designación de repuestos en marcha en el grupo de almacenamiento” en la página 88

Adición de dispositivos a un grupo dealmacenamientoPuede agregar espacio dinámicamente a un grupo si incorpora un nuevo dispositivo virtual denivel superior. Este espacio está inmediatamente disponible para todos los conjuntos de datosdel grupo. Para agregar un dispositivo virtual a un grupo, utilice el comando zpool add. Porejemplo:

# zpool add zeepool mirror c2t1d0 c2t2d0

El formato para especificar dispositivos virtuales es el mismo que para el comando zpool

create, y se aplican las mismas reglas. Los dispositivos se comprueban para determinar si seutilizan y el comando no puede cambiar el nivel de redundancia sin la opción -f. El comandotambién es compatible con la opción -n de manera que puede ejecutar un ensayo. Por ejemplo:

# zpool add -n zeepool mirror c3t1d0 c3t2d0

would update ’zeepool’ to the following configuration:

zeepool

mirror

c1t0d0

c1t1d0

mirror

c2t1d0

c2t2d0

mirror

c3t1d0

c3t2d0

Administración de dispositivos en grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 77

Page 78: Guía de administración de Solaris ZFS

La sintaxis de este comando agregaba dispositivos duplicados c3t1d0 y c3t2d0 a laconfiguración de zeepool.

Para obtener más información sobre cómo validar dispositivos virtuales, consulte “Detecciónde dispositivos en uso” en la página 73.

EJEMPLO 4–1 Adición de discos a una configuración de ZFS duplicada

En ejemplo siguiente, se agrega otra duplicación a una duplicación de ZFS ya existente en unsistema Sun Fire x4500.

# zpool status tank

pool: tank

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t1d0 ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t2d0 ONLINE 0 0 0

c1t2d0 ONLINE 0 0 0

errors: No known data errors

# zpool add tank mirror c0t3d0 c1t3d0

# zpool status tank

pool: tank

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t1d0 ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t2d0 ONLINE 0 0 0

c1t2d0 ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t3d0 ONLINE 0 0 0

c1t3d0 ONLINE 0 0 0

errors: No known data errors

Administración de dispositivos en grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200978

Page 79: Guía de administración de Solaris ZFS

EJEMPLO 4–2 Adición de discos a una configuración de RAID-Z

Se pueden agregar discos adicionales de modo similar a una configuración de RAID-Z. Elejemplo siguiente muestra cómo convertir una agrupación de almacenamiento con undispositivo RAID–Z compuesta de 3 discos en una agrupación de almacenamiento con dosdispositivos RAID-Z compuesta de 3 discos.

# zpool status

pool: rpool

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

rpool ONLINE 0 0 0

raidz1 ONLINE 0 0 0

c1t2d0 ONLINE 0 0 0

c1t3d0 ONLINE 0 0 0

c1t4d0 ONLINE 0 0 0

errors: No known data errors

# zpool add rpool raidz c2t2d0 c2t3d0 c2t4d0

# zpool status

pool: rpool

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

rpool ONLINE 0 0 0

raidz1 ONLINE 0 0 0

c1t2d0 ONLINE 0 0 0

c1t3d0 ONLINE 0 0 0

c1t4d0 ONLINE 0 0 0

raidz1 ONLINE 0 0 0

c2t2d0 ONLINE 0 0 0

c2t3d0 ONLINE 0 0 0

c2t4d0 ONLINE 0 0 0

errors: No known data errors

EJEMPLO 4–3 Agregar un dispositivo de registro duplicado a una agrupación de almacenamiento ZFS

En el ejemplo siguiente se muestra cómo agregar un dispositivo de registro duplicado a unaagrupación de almacenamiento duplicada.Para obtener más información sobre cómo utilizardispositivos de registro en la agrupación de almacenamiento, consulte “Configuración dedispositivos de registro de ZFS independientes” en la página 28.

Administración de dispositivos en grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 79

Page 80: Guía de administración de Solaris ZFS

EJEMPLO 4–3 Agregar un dispositivo de registro duplicado a una agrupación de almacenamiento ZFS(Continuación)

# zpool status newpool

pool: newpool

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

newpool ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t9d0 ONLINE 0 0 0

c1t10d0 ONLINE 0 0 0

errors: No known data errors

# zpool add newpool log mirror c1t11d0 c1t12d0

# zpool status newpool

pool: newpool

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

newpool ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t9d0 ONLINE 0 0 0

c1t10d0 ONLINE 0 0 0

logs ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t11d0 ONLINE 0 0 0

c1t12d0 ONLINE 0 0 0

errors: No known data errors

Puede vincular un dispositivo de registro a uno ya creado para crear un dispositivo de registroduplicado. Esta operación es idéntica a la de vincular un dispositivo en una agrupación dealmacenamiento sin duplicar.

EJEMPLO 4–4 Cómo agregar y eliminar dispositivos caché en el grupo de almacenamiento de ZFS

Puede agregar o eliminar dispositivos de memoria caché a la agrupación de almacenamiento deZFS.

Utilice el comando zpool add para agregar dispositivos caché. Por ejemplo:

Administración de dispositivos en grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200980

Page 81: Guía de administración de Solaris ZFS

EJEMPLO 4–4 Cómo agregar y eliminar dispositivos caché en el grupo de almacenamiento de ZFS(Continuación)

# zpool add tank cache c2t5d0 c2t8d0

# zpool status tank

pool: tank

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

mirror ONLINE 0 0 0

c2t0d0 ONLINE 0 0 0

c2t1d0 ONLINE 0 0 0

c2t3d0 ONLINE 0 0 0

cache

c2t5d0 ONLINE 0 0 0

c2t8d0 ONLINE 0 0 0

errors: No known data errors

Los dispositivos caché no se pueden duplicar ni pueden formar parte de una configuración deRAID-Z.

Utilice el comando zpool remove para eliminar dispositivos caché. Por ejemplo:

# zpool remove tank c2t5d0 c2t8d0

# zpool status tank

pool: tank

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

mirror ONLINE 0 0 0

c2t0d0 ONLINE 0 0 0

c2t1d0 ONLINE 0 0 0

c2t3d0 ONLINE 0 0 0

errors: No known data errors

Actualmente, el comando zpool remove sólo admite la eliminación de repuestos en marcha ydispositivos caché. Los dispositivos que forman parte de la configuración de la agrupaciónduplicada principal se pueden eliminar mediante el comando zpool detach. Los dispositivosno redundantes y de RAID-Z no se pueden eliminar de una agrupación.

Administración de dispositivos en grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 81

Page 82: Guía de administración de Solaris ZFS

EJEMPLO 4–4 Cómo agregar y eliminar dispositivos caché en el grupo de almacenamiento de ZFS(Continuación)

Para obtener más información sobre cómo utilizar dispositivos caché en un grupo dealmacenamiento de ZFS, consulte “Creación de una agrupación de almacenamiento ZFS condispositivos caché” en la página 70.

Conexión y desconexión de dispositivos en un grupode almacenamientoAdemás del comando zpool add, puede utilizar el comando zpool attach para agregar unnuevo dispositivo a un dispositivo duplicado o no duplicado.

Si desea agregar y desconectar un disco en una agrupación root ZFS para sustituir un disco,consulte “Cómo sustituir un disco en la agrupación root ZFS ” en la página 168.

EJEMPLO 4–5 Conversión de un grupo de almacenamiento duplicado de dos vías a uno duplicado de tresvías

En este ejemplo, zeepool es una duplicación de dos vías que se transforma en una de tres víasmediante la conexión de c2t1d0, el nuevo dispositivo, a c1t1d0, el que ya existía.

# zpool status

pool: zeepool

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

zeepool ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t1d0 ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

errors: No known data errors

# zpool attach zeepool c1t1d0 c2t1d0

# zpool status

pool: zeepool

state: ONLINE

scrub: resilver completed after 0h0m with 0 errors on Fri Aug 28 14:11:33 2009

config:

NAME STATE READ WRITE CKSUM

zeepool ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t1d0 ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

Administración de dispositivos en grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200982

Page 83: Guía de administración de Solaris ZFS

EJEMPLO 4–5 Conversión de un grupo de almacenamiento duplicado de dos vías a uno duplicado de tresvías (Continuación)

c2t1d0 ONLINE 0 0 0 73.5K resilvered

Si el dispositivo que ya existe forma parte de una duplicación de dos vías, al conectar el nuevodispositivo se crea una duplicación de tres vías, y así sucesivamente. Sea como fuere, el nuevodispositivo comienza inmediatamente a actualizar la duplicación.

EJEMPLO 4–6 Conversión de un grupo de almacenamiento de ZFS no redundante a uno de ZFS duplicado

También se puede convertir un grupo de almacenamiento no redundante en uno redundantemediante el comando zpool attach. Por ejemplo:

# zpool create tank c0t1d0

# zpool status

pool: tank

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

c0t1d0 ONLINE 0 0 0

errors: No known data errors

# zpool attach tank c0t1d0 c1t1d0

# zpool status

pool: tank

state: ONLINE

scrub: resilver completed after 0h0m with 0 errors on Fri Aug 28 14:13:12 2009

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t1d0 ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0 73.5K resilvered

Puede utilizar el comando zpool detach para desconectar un dispositivo de un grupo dealmacenamiento duplicado. Por ejemplo:

# zpool detach zeepool c2t1d0

Sin embargo, esta operación se rechaza si no hay otras réplicas válidas de los datos. Por ejemplo:

# zpool detach newpool c1t2d0

cannot detach c1t2d0: only applicable to mirror and replacing vdevs

Administración de dispositivos en grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 83

Page 84: Guía de administración de Solaris ZFS

Dispositivos con conexión y sin conexión en un grupode almacenamientoZFS permite que los dispositivos individuales queden sin conexión o con conexión. Cuando elhardware no es seguro o no funciona adecuadamente, ZFS continúa con la lectura o la escriturade los datos en el dispositivo suponiendo que la condición es sólo temporal. Si no es temporal,es posible indicar a ZFS que termine la conexión para que lo ignore. ZFS no envía solicitudes aun dispositivo sin conexión.

Nota – Para sustituir dispositivos no es necesario desconectarlos.

Para desconectar temporalmente el almacenamiento puede utilizar el comando offline. Porejemplo, si debe desconectar físicamente una matriz de un conjunto de conmutadores de canalde fibra y conectar la matriz a un conjunto diferente, puede terminar la conexión de la LUNdesde la matriz que se utilizó en los grupos de almacenamiento de ZFS. Después de volver aconectar la matriz y que esté operativa en el nuevo conjunto de conmutadores, puede volver aconectar las mismas LUN. Los datos agregados a los grupos de almacenamiento mientras lasLUN estaban sin conexión actualizaban la duplicación en las LUN después de volver a tenerconexión.

Esta situación es posible si se da por sentado que los sistemas en cuestión ven elalmacenamiento después de conectarlo a los nuevos conmutadores, posiblemente más queantes, y los grupos se configuran como configuraciones duplicadas o de RAID-Z.

Cómo terminar la conexión de un dispositivoPuede terminar la conexión de un dispositivo mediante el comando zpool offline. Eldispositivo se puede especificar mediante la ruta o un nombre abreviado, si el dispositivo es undisco. Por ejemplo:

# zpool offline tank c1t0d0

bringing device c1t0d0 offline

Al desconectar un dispositivo debe tener en cuenta los puntos siguientes:

■ Un grupo no se puede desconectar si genera errores. Por ejemplo, no puede desconectar dosdispositivos de una configuración RAID-Z, ni tampoco puede desconectar un dispositivovirtual de nivel superior.

# zpool offline tank c1t0d0

cannot offline c1t0d0: no valid replicas

■ De forma predeterminada, el estado sin conexión es permanente. El dispositivo permanecesin conexión cuando el sistema se rearranca.

Administración de dispositivos en grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200984

Page 85: Guía de administración de Solaris ZFS

Para desconectar temporalmente un dispositivo, utilice la opción zpool offline -t. Porejemplo:

# zpool offline -t tank c1t0d0

bringing device ’c1t0d0’ offline

Cuando el sistema se rearranca, este dispositivo vuelve automáticamente al estado ONLINE.■ Si un dispositivo se queda sin conexión, no se desconecta del grupo de almacenamiento. Si

intenta utilizar el dispositivo sin conexión en otro grupo, incluso después de que el grupooriginal esté destruido, aparece en pantalla un mensaje similar al siguiente:

device is part of exported or potentially active ZFS pool. Please see zpool(1M)

Si desea utilizar el dispositivo sin conexión en otro grupo de almacenamiento después dedestruir el grupo de almacenamiento original, vuelva a conectar el dispositivo y destruya elgrupo de almacenamiento original.

Otra forma de utilizar un dispositivo de otro grupo de almacenamiento si desea mantener elgrupo de almacenamiento original es sustituir el dispositivo del grupo de almacenamientooriginal por otro equivalente. Para obtener información sobre la sustitución de dispositivos,consulte “Sustitución de dispositivos en un grupo de almacenamiento” en la página 86.

Los dispositivos sin conexión aparecen con el estado OFFLINE si consulta el estado del grupo.Para obtener información sobre cómo saber el estado del grupo, consulte “Consulta del estadode un grupo de almacenamiento de ZFS” en la página 96.

Para obtener más información sobre la situación del dispositivo, consulte “Cómo determinar elestado de los grupos de almacenamiento de ZFS” en la página 102.

Cómo conectar un dispositivoSi se anula la conexión de un dispositivo, se puede restaurar mediante el comando zpool

online:

# zpool online tank c1t0d0

bringing device c1t0d0 online

Si se conecta un dispositivo, los datos escritos en el grupo se vuelven a sincronizar con eldispositivo de reciente disponibilidad. Para sustituir un disco no se puede utilizar un dispositivocon conexión. Si desconecta un dispositivo, reemplaza la unidad e intenta conectarla, se quedaen estado de error.

Si intenta conectar un dispositivo defectuoso, aparece un mensaje similar al siguiente:

# zpool online tank c1t0d0

warning: device ’c1t0d0’ onlined, but remains in faulted state

Administración de dispositivos en grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 85

Page 86: Guía de administración de Solaris ZFS

use ’zpool replace’ to replace devices that are no longer present

También puede que vea el mensaje de disco defectuoso de fmd.

SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major

EVENT-TIME: Fri Aug 28 14:08:39 MDT 2009

PLATFORM: SUNW,Sun-Fire-T200, CSN: -, HOSTNAME: neo2

SOURCE: zfs-diagnosis, REV: 1.0

EVENT-ID: 9da778a7-a828-c88a-d679-c9a7873f4808

DESC: A ZFS device failed. Refer to http://sun.com/msg/ZFS-8000-D3 for more information.

AUTO-RESPONSE: No automated response will occur.

IMPACT: Fault tolerance of the pool may be compromised.

REC-ACTION: Run ’zpool status -x’ and replace the bad device.

Para obtener más información sobre cómo reemplazar un dispositivo defectuoso, consulte“Resolución de un dispositivo que no se encuentra” en la página 297.

Supresión de dispositivos de grupos dealmacenamientoSi un dispositivo pierde la conexión por un error que hace que los errores aparezcan en la salidade zpool status, los recuentos de errores se pueden borrar con el comando zpool clear.

Si se especifica sin argumentos, este comando borra todos los errores de dispositivos del grupo.Por ejemplo:

# zpool clear tank

Si se especifican uno o más dispositivos, este comando sólo borra errores asociados con losdispositivos especificados. Por ejemplo:

# zpool clear tank c1t0d0

Para obtener más información sobre cómo borrar errores de zpool, consulte “Supresión deerrores transitorios” en la página 300.

Sustitución de dispositivos en un grupo dealmacenamientoPuede reemplazar un dispositivo en una agrupación de almacenamiento mediante el comandozpool replace.

Administración de dispositivos en grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200986

Page 87: Guía de administración de Solaris ZFS

Si se reemplaza físicamente un dispositivo por otro en la misma ubicación de un gruporendundante, sólo hace falta identificar el dispositivo sustituido. ZFS reconoce si se trata de undisco distinto de la misma ubicación. Por ejemplo, para reemplazar un disco defectuoso(c1t1d0) quitándolo y colocándolo en la misma ubicación, emplee una sintaxis similar a lasiguiente:

# zpool replace tank c1t1d0

Si se reemplaza un dispositivo de un grupo de almacenamiento no redundante que sólocontiene un dispositivo, hace falta especificar ambos dispositivos. Por ejemplo:

# zpool replace tank c1t1d0 c1t2d0

Si desea reemplazar un disco en la agrupación de almacenamiento ZFS, consulte “Cómosustituir un disco en la agrupación root ZFS ” en la página 168.

A continuación se indican los pasos básicos para reemplazar un disco:

■ Si es preciso, desconecte el dispositivo con el comando zpool offline.■ Retire el disco que se debe reemplazar.■ Inserte el disco nuevo.■ Ejecute el comando zpool replace. Por ejemplo:

# zpool replace tank c1t1d0

■ Vuelva a conectar el disco mediante el comando zpool online.

En algunos sistemas, por ejemplo Sun Fire x4500, antes de desconectar un disco se debedesconfigurar. Si está reemplazando un disco en la misma posición de ranura del sistema, sólodebe ejecutar el comando zpool replace como se ha indicado antes.

Si desea obtener un ejemplo de cómo reemplazar un disco en este sistema, consulte elEjemplo 11–1.

Al reemplazar dispositivos de un grupo de almacenamiento de ZFS, tenga en cuenta losrequisitos siguientes:

■ Si la propiedad de agrupación autoreplace se activa (on), se aplica formato y reemplazacualquier dispositivo nuevo que se detecte en la misma ubicación física que un dispositivoanterior que perteneciera a la agrupación mediante el comando zpool replace. Es posibleque no todos los tipos de hardware dispongan de esta función.

■ El dispositivo de sustitución debe ser mayor o igual al tamaño mínimo de todos losdispositivos en una configuración de RAID-Z duplicada.

Administración de dispositivos en grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 87

Page 88: Guía de administración de Solaris ZFS

■ Si el dispositivo de sustitución es mayor, al finalizar la sustitución aumenta la capacidad delgrupo. En la actualidad, para disponer de mayor capacidad se debe exportar e importar elgrupo. Por ejemplo:

# zpool list tank

NAME SIZE USED AVAIL CAP HEALTH ALTROOT

tank 16.8G 94K 16.7G 0% ONLINE -

# zpool replace tank c0t0d0 c0t4d0

# zpool list tank

NAME SIZE USED AVAIL CAP HEALTH ALTROOT

tank 16.8G 112K 16.7G 0% ONLINE -

# zpool export tank

# zpool import tank

# zpool list tank

NAME SIZE USED AVAIL CAP HEALTH ALTROOT

tank 33.9G 114K 33.9G 0% ONLINE -

Para obtener más información sobre importación y exportación de grupos, consulte“Migración de grupos de almacenamiento de ZFS” en la página 105.

■ En la actualidad, al aumentar el tamaño de una LUN que pertenece a una agrupación dealmacenamiento, también debe efectuar los pasos de exportación e importación paraobtener la capacidad de disco ampliada.

■ La sustitución de muchos discos en un grupo de gran tamaño tarda mucho en realizarsedebido al proceso de actualizar la duplicación de los datos en los discos nuevos. Además, esrecomendable ejecutar el comando zpool scrub entre sustituciones de discos paraasegurarse de que los dispositivos de sustitución estén operativos y que los datos se escribancorrectamente.

■ Si se ha sustituido automáticamente un disco fallido con un repuesto en marcha, es posibleque sea necesario separar el repuesto después de sustituir el disco fallido. Para obtenerinformación sobre cómo desconectar un repuesto en marcha, consulte “Activación ydesactivación de repuestos en marcha en el grupo de almacenamiento” en la página 91.

Para obtener más información sobre cómo reemplazar dispositivos, consulte “Resolución de undispositivo que no se encuentra” en la página 297 y “Sustitución o reparación de un dispositivodañado” en la página 299.

Designación de repuestos en marcha en el grupo dealmacenamientoLa función de repuesto en marcha permite identificar discos que se podrían utilizar parasustituir un dispositivo defectuoso o en estado "faulted" en uno o más grupos de

Administración de dispositivos en grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200988

Page 89: Guía de administración de Solaris ZFS

almacenamiento. Si un dispositivo se designa como repuesto en marcha, significa que no es undispositivo activo en un grupo. Ahora bien, si un dispositivo activo falla, el repuesto en marchasustituye automáticamente al defectuoso.

Los dispositivos se pueden designar como repuestos en marcha de los modos siguientes:

■ Cuando se crea el grupo con el comando zpool create

■ Después de crear el grupo con el comando zpool add

■ Los dispositivos de repuestos en marcha se pueden compartir entre varios grupos

Designe dispositivos como repuestos en marcha cuando se crea el grupo. Por ejemplo:

# zpool create zeepool mirror c1t1d0 c2t1d0 spare c1t2d0 c2t2d0

# zpool status zeepool

pool: zeepool

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

zeepool ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

c2t1d0 ONLINE 0 0 0

spares

c1t2d0 AVAIL

c2t2d0 AVAIL

Agregue repuestos en marcha a un grupo después de crearlo para designarlos. Por ejemplo:

# zpool add zeepool spare c1t3d0 c2t3d0

# zpool status zeepool

pool: zeepool

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

zeepool ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

c2t1d0 ONLINE 0 0 0

spares

c1t3d0 AVAIL

c2t3d0 AVAIL

Administración de dispositivos en grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 89

Page 90: Guía de administración de Solaris ZFS

Varios grupos pueden compartir dispositivos designados como repuestos en marcha. Porejemplo:

# zpool create zeepool mirror c1t1d0 c2t1d0 spare c1t2d0 c2t2d0

# zpool create tank raidz c3t1d0 c4t1d0 spare c1t2d0 c2t2d0

Los repuestos en marcha se pueden suprimir de un grupo de almacenamiento mediante elcomando zpool remove. Por ejemplo:

# zpool remove zeepool c1t2d0

# zpool status zeepool

pool: zeepool

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

zeepool ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

c2t1d0 ONLINE 0 0 0

spares

c1t3d0 AVAIL

No se puede suprimir un repuesto en marcha si lo utiliza el grupo de almacenamiento.

Al utilizar los repuestos en marcha de ZFS, tenga en cuenta los puntos siguientes:

■ Actualmente, el comando zpool remove sólo es apto para eliminar repuestos en marcha ydispositivos caché.

■ Agregue un disco como repuesto cuyo tamaño sea igual o superior al del disco más grandedel grupo. Se puede agregar un disco de repuesto de tamaño inferior. Ahora bien, al activarese disco de repuesto de tamaño inferior, de forma automática o con el comando zpool

replace, la operación falla y genera un mensaje de error parecido al siguiente:

cannot replace disk3 with disk4: device is too small

■ Un repuesto en marcha se puede compartir entre agrupaciones. Sin embargo, unaagrupación con un repuesto en marcha compartido no se puede exportar a menos que seutilice la opción zpool export -f (forzar). Este comportamiento impide una hipotéticacorrupción de datos al exportar una agrupación con un repuesto en marcha compartido enuso y que otra agrupación intente utilizar el repuesto compartido desde la agrupaciónexportada. Si se exporta una agrupación con un repuesto en marcha compartido en usomediante la opción -f, tenga en cuenta que ello podría dañar los datos si otra agrupaciónintentase activar el repuesto compartido en uso.

Administración de dispositivos en grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200990

Page 91: Guía de administración de Solaris ZFS

Activación y desactivación de repuestos en marcha en el grupo dealmacenamientoLos repuestos en marcha se activan de los modos siguientes:

■ Sustitución manual – Sustituya un dispositivo incorrecto en un grupo de almacenamientocon un repuesto en marcha mediante el comando zpool replace.

■ Sustitución automática – Cuando se recibe un error, un agente FMA examina el grupo paraver si dispone de repuestos en marcha. Si es así, sustituye el dispositivo con errores por unrepuesto en marcha.Si falla un repuesto en marcha que está en uso, el agente quita el repuesto en marcha ycancela la sustitución. El agente intenta sustituir el dispositivo por otro repuesto en marcha,si lo hay. Esta función está limitada por el hecho de que el motor de diagnóstico ZFS sóloemite errores cuando un dispositivo desaparece del sistema.Si sustituye físicamente un dispositivo defectuoso con un repuesto activo, puede reactivar eloriginal, pero debe desactivar el dispositivo reemplazado mediante el comando zpool

detach para desconectar el repuesto. Si activa (on) la propiedad autoreplace, el repuesto sedesconecta automáticamente y vuelve a la agrupación de repuestos cuando se inserta eldispositivo nuevo y se completa la operación de conexión.

Sustituya manualmente un dispositivo con un repuesto en marcha mediante el comando zpool

replace. Por ejemplo:

# zpool replace zeepool c2t1d0 c2t3d0

# zpool status zeepool

pool: zeepool

state: ONLINE

scrub: resilver completed after 0h0m with 0 errors on Fri Aug 28 14:16:04 2009

config:

NAME STATE READ WRITE CKSUM

zeepool ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t2d0 ONLINE 0 0 0

spare ONLINE 0 0 0

c2t1d0 ONLINE 0 0 0

c2t3d0 ONLINE 0 0 0 76.5K resilvered

spares

c2t3d0 INUSE currently in use

errors: No known data errors

Un dispositivo con errores se sustituye automáticamente si hay un repuesto en marcha. Porejemplo:

Administración de dispositivos en grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 91

Page 92: Guía de administración de Solaris ZFS

# zpool status -x

pool: zeepool

state: DEGRADED

status: One or more devices could not be opened. Sufficient replicas exist for

the pool to continue functioning in a degraded state.

action: Attach the missing device and online it using ’zpool online’.

see: http://www.sun.com/msg/ZFS-8000-D3

scrub: resilver completed after 0h12m with 0 errors on Fri Aug 28 14:18:16 2009

config:

NAME STATE READ WRITE CKSUM

zeepool DEGRADED 0 0 0

mirror DEGRADED 0 0 0

c1t2d0 ONLINE 0 0 0

spare DEGRADED 0 0 0

c2t1d0 UNAVAIL 0 0 0 cannot open

c2t3d0 ONLINE 0 0 0 58.5K resilvered

spares

c2t3d0 INUSE currently in use

errors: No known data errors

Los repuestos en marcha se pueden desactivar de tres formas:

■ Cancelar repuesto en marcha eliminándolo del grupo de almacenamiento■ Reemplazar el dispositivo original por un repuesto en marcha■ Intercambio permanente del repuesto en marcha

Tras sustituir el dispositivo con errores, utilice el comando zpool detach para volver a dejar elrepuesto en marcha en el conjunto de repuestos. Por ejemplo:

# zpool detach zeepool c2t3d0

# zpool status zeepool

pool: zeepool

state: ONLINE

scrub: resilver completed with 0 errors on Fri Aug 28 14:21:02 2009

config:

NAME STATE READ WRITE CKSUM

zeepool ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t2d0 ONLINE 0 0 0

c2t1d0 ONLINE 0 0 0

spares

c2t3d0 AVAIL

errors: No known data errors

Administración de dispositivos en grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200992

Page 93: Guía de administración de Solaris ZFS

Administración de propiedades de agrupaciones dealmacenamiento ZFS

Utilice el comando zpool get para visualizar información de propiedades de almacenamiento.Por ejemplo:

# zpool get all mpool

NAME PROPERTY VALUE SOURCE

mpool size 33.8G -

mpool used 5.91G -

mpool available 27.8G -

mpool capacity 17% -

mpool altroot - default

mpool health ONLINE -

mpool guid 17361998391267837263 -

mpool version 10 default

mpool bootfs mpool/ROOT/zfs2BE local

mpool delegation on default

mpool autoreplace on local

mpool cachefile - default

mpool failmode continue local

mpool listsnapshots on default

Con el comando zpool set se pueden establecer las propiedades de agrupaciones dealmacenamiento. Por ejemplo:

# zpool set autoreplace=on mpool

# zpool get autoreplace mpool

NAME PROPERTY VALUE SOURCE

mpool autoreplace on default

TABLA 4–1 Descripciones de propiedades de agrupaciones ZFS

Nombre depropiedad Tipo

Valorpredeterminado Descripción

altroot Cadena off Identifica un directorio root alternativo. Si se establece, eldirectorio se antepone a cualquier punto de montaje de laagrupación. Esta propiedad es apta para examinar unaagrupación desconocida, si los puntos de montaje no son deconfianza, o en un entorno de arranque alternativo en que lasrutas habituales no sean válidas.

Administración de propiedades de agrupaciones de almacenamiento ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 93

Page 94: Guía de administración de Solaris ZFS

TABLA 4–1 Descripciones de propiedades de agrupaciones ZFS (Continuación)Nombre depropiedad Tipo

Valorpredeterminado Descripción

available Número N/D Valor de sólo lectura que identifica la cantidad dealmacenamiento disponible en la agrupación.

También se puede hacer referencia a esta propiedad medianteel nombre de su columna abreviado, avail.

autoreplace Booleano off Controla el reemplazo automático de dispositivos. Si sedesactiva, la sustitución del dispositivo debe iniciarla eladministrador mediante el comando zpool replace. Si estáactivada, automáticamente se da formato y se sustituyecualquier dispositivo nuevo que se detecte en esta mismaubicación física como dispositivo que pertenecieraanteriormente a la agrupación. El comportamientopredeterminado es desactivado (off). También se puede hacerreferencia a esta propiedad mediante su nombre de columnaabreviado, replace.

bootfs Booleano N/D Identifica el conjunto de datos que se puede arrancarpredeterminado para la agrupación root. En principio estapropiedad la deben establecer principalmente los programasde instalación y actualización.

capacity Número N/D Valor de sólo lectura que identifica el porcentaje del espacio deagrupación utilizado.

También se puede hacer referencia a esta propiedad medianteel nombre de su columna abreviado, cap.

delegation Booleano on Controla si a un usuario sin privilegios se le pueden concederpermisos de acceso que se definen para el conjunto de datos.Para más información, consulte el Capítulo 9,“Administración delegada de ZFS”.

Administración de propiedades de agrupaciones de almacenamiento ZFS

Guía de administración de Solaris ZFS • Octubre de 200994

Page 95: Guía de administración de Solaris ZFS

TABLA 4–1 Descripciones de propiedades de agrupaciones ZFS (Continuación)Nombre depropiedad Tipo

Valorpredeterminado Descripción

failmode Cadena wait Controla el comportamiento del sistema en caso de un errorextremadamente grave en la agrupación. Esta situación sueledeberse a la pérdida de conexión con el dispositivo o losdispositivos de almacenamiento subyacentes, o a un error detodos los dispositivos de la agrupación. El comportamiento deun evento de esta clase lo determina uno de los valoressiguientes:■ wait: bloquea todo el acceso de E/S hasta que se restaura la

conexión de los dispositivos y se limpian los erroresmediante el comando zpool clear. Éste es elcomportamiento predeterminado.

■ continue: devuelve EIO a cualquier solicitud nueva deE/S, pero permite lecturas en cualquier otro dispositivoque esté en buen estado. Se bloqueará cualquier solicitudque todavía se deba ejecutar en el disco. Después de volvera colocar o conectar el dispositivo, los errores se debeneliminar con el comando zpool clear.

■ panic: imprime un mensaje en la consola y genera unvolcado de bloqueo del sistema.

guid Cadena N/D Propiedad de sólo lectura que detecta el identificador exclusivode la agrupación.

health Cadena N/D Propiedad de sólo lectura que identifica el estado actual de laagrupación y lo establece en ONLINE, DEGRADED,FAULTED, OFFLINE, REMOVED o UNAVAIL.

listsnapshots Cadena off Controla si la información de instantánea que está asociadacon esta agrupación se muestra con el comando zfs list. Siesta propiedad está inhabilitada, la información de lainstantánea se puede mostrar con el comando zfs list

-t snapshot. El valor predeterminado es on.

size Número N/D Propiedad de sólo lectura que identifica el tamaño total de laagrupación de almacenamiento.

used Número N/D Propiedad de sólo lectura que identifica la cantidad de espaciode almacenamiento utilizado en la agrupación.

Administración de propiedades de agrupaciones de almacenamiento ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 95

Page 96: Guía de administración de Solaris ZFS

TABLA 4–1 Descripciones de propiedades de agrupaciones ZFS (Continuación)Nombre depropiedad Tipo

Valorpredeterminado Descripción

version Número N/D Identifica la versión actual en disco de la agrupación. El valorde esta propiedad se puede aumentar, nunca disminuir. Elmétodo preferido de actualizar agrupaciones se realiza con elcomando zpool upgrade, aunque esta propiedad se puedeutilizar si se necesita una versión predeterminada porcuestiones de compatibilidad retroactiva. Esta propiedad sepuede establecer en cualquier número que esté entre 1 y laversión actual indicada por el comando zpool upgrade -v. Elvalor current es un alias de la última versión compatible.

Consulta del estado de un grupo de almacenamiento de ZFSEl comando zpool list ofrece diversos modos de solicitar información sobre el estado delgrupo. La información disponible suele pertenecer a una de estas tres categorías: informaciónbásica de utilización, estadística de E/S y situación. En esta sección se abordan los tres tipos deinformación de agrupaciones de almacenamiento.

■ “Visualización de la información del grupo de almacenamiento de ZFS básico”en la página 96

■ “Visualización de estadísticas de E/S de grupos de almacenamiento de ZFS” en la página 100■ “Cómo determinar el estado de los grupos de almacenamiento de ZFS” en la página 102

Visualización de la información del grupo dealmacenamiento de ZFS básicoEl comando zpool list es apto para mostrar información básica sobre grupos.

Visualización de información relativa a todos los grupos dealmacenamientoSin argumentos, el comando muestra todos los campos en todos los grupos del sistema. Porejemplo:

# zpool list

NAME SIZE USED AVAIL CAP HEALTH ALTROOT

tank 80.0G 22.3G 47.7G 28% ONLINE -

dozer 1.2T 384G 816G 32% ONLINE -

Esta salida muestra la información siguiente:

NAME El nombre del grupo.

Consulta del estado de un grupo de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200996

Page 97: Guía de administración de Solaris ZFS

SIZE El tamaño total del grupo, igual a la suma del tamaño de todos losdispositivos virtuales de nivel superior.

USED La cantidad de espacio asignada por todos los conjuntos de datos y losmetadatos internos. Esta cantidad es diferente de la cantidad de espaciosegún se indica en el nivel del sistema de archivos.

Para obtener más información sobre la especificación del espaciodisponible en el sistema de archivos, consulte “Cálculo del espacio de ZFS”en la página 56.

AVAILABLE Cantidad de espacio sin asignar en el grupo.

CAPACITY (CAP) Cantidad de espacio utilizado, expresada como porcentaje del espacio total.

HEALTH Estado actual del grupo.

Para obtener más información sobre la situación del grupo, consulte“Cómo determinar el estado de los grupos de almacenamiento de ZFS”en la página 102.

ALTROOT Directorio root alternativo del grupo, si lo hubiera.

Para obtener más información sobre los grupos root alternativos, consulte“Uso de grupos root de ZFS alternativos” en la página 284.

También puede reunir estadísticas para un grupo determinado especificando el nombre delgrupo. Por ejemplo:

# zpool list tank

NAME SIZE USED AVAIL CAP HEALTH ALTROOT

tank 80.0G 22.3G 47.7G 28% ONLINE -

Visualización de estadísticas de un grupo de almacenamientoespecíficoLas estadísticas específicas se pueden solicitar mediante la opción -o. Esta opción permiteinformes personalizados o un modo rápido de visualizar la información pertinente. Porejemplo, para ver sólo el nombre y el tamaño de cada grupo, utilice la sintaxis siguiente:

# zpool list -o name,size

NAME SIZE

tank 80.0G

dozer 1.2T

Los nombres de la columna corresponden a las propiedades que se enumeran en “Visualizaciónde información relativa a todos los grupos de almacenamiento” en la página 96.

Consulta del estado de un grupo de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 97

Page 98: Guía de administración de Solaris ZFS

Salida de la secuencia de comandos del grupo de almacenamiento deZFSLa salida predeterminada del comando zpool list está diseñada para mejorar la legibilidad; noes fácil de utilizar como parte de una secuencia de comandos shell. Para facilitar los usos deprogramación del comando, la opción -H es válida para suprimir encabezados de columna yseparar los campos con tabuladores, en lugar de espacios. Por ejemplo, para solicitar una listasencilla con todos los nombres de grupos en el sistema:

# zpool list -Ho name

tank

dozer

Aquí puede ver otro ejemplo:

# zpool list -H -o name,size

tank 80.0G

dozer 1.2T

Cómo mostrar el historial de comandos de la agrupación dealmacenamiento de ZFSZFS registra automáticamente los comandos zfs y zpool que se ejecutan satisfactoriamentepara modificar la información de estado de la agrupación. Esta información se puede mostrarmediante el comando zpool history.

Por ejemplo, la sintaxis siguiente muestra la salida del comando para la agrupación root.

# zpool history

History for ’rpool’:

2009-05-07.13:51:00 zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=

/tmp/root/etc/zfs/zpool.cache rpool c1t0d0s0

2009-05-07.13:51:01 zfs set canmount=noauto rpool

2009-05-07.13:51:02 zfs set mountpoint=/rpool rpool

2009-05-07.13:51:02 zfs create -o mountpoint=legacy rpool/ROOT

2009-05-07.13:51:03 zfs create -b 8192 -V 2048m rpool/swap

2009-05-07.13:51:04 zfs create -b 131072 -V 1024m rpool/dump

2009-05-07.13:51:09 zfs create -o canmount=noauto rpool/ROOT/snv_114

2009-05-07.13:51:10 zpool set bootfs=rpool/ROOT/snv_114 rpool

2009-05-07.13:51:10 zfs set mountpoint=/ rpool/ROOT/snv_114

2009-05-07.13:51:11 zfs set canmount=on rpool

2009-05-07.13:51:12 zfs create -o mountpoint=/export rpool/export

2009-05-07.13:51:12 zfs create rpool/export/home

Puede utilizar una salida similar en el sistema para identificar el conjunto exacto de comandosde ZFS que se han ejecutado para resolver una situación de error.

Consulta del estado de un grupo de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 200998

Page 99: Guía de administración de Solaris ZFS

Este registro de historial presenta las características siguientes:

■ El registro no se puede inhabilitar.■ El registro se guarda permanentemente en el disco, lo cual significa que el registro se guarda

en los rearranques del sistema.■ El registro se implementa como búfer de anillo. El tamaño mínimo es 128 Kbytes. El tamaño

máximo es 32 Mbytes.■ En grupos pequeños, el tamaño máximo se restringe al 1% del tamaño del grupo, donde el

tamaño se determina al crear grupos.■ No requiere administración; eso significa que no es necesario ajustar el tamaño del registro

ni cambiar la ubicación del registro.

Para identificar el historial de comandos de una agrupación de almacenamiento específica,utilice una sintaxis similar a la siguiente:

# zpool history mypool

History for ’mypool’:

2009-06-02.10:56:54 zpool create mypool mirror c0t4d0 c0t5d0

2009-06-02.10:57:31 zpool add mypool spare c0t6d0

2009-06-02.10:57:54 zpool offline mypool c0t5d0

2009-06-02.10:58:02 zpool online mypool c0t5d0

Utilice la opción -l para ver el formato completo incluye el nombre de usuario, el nombre dehost y la zona en que se ha efectuado la operación. Por ejemplo:

# zpool history -l mypool

History for ’mypool’:

2009-06-02.10:56:54 zpool create mypool mirror c0t4d0 c0t5d0 [user root on neo:global]

2009-06-02.10:57:31 zpool add mypool spare c0t6d0 [user root on neo:global]

2009-06-02.10:57:54 zpool offline mypool c0t5d0 [user root on neo:global]

2009-06-02.10:58:02 zpool online mypool c0t5d0 [user root on neo:global]

Utilice la opción -i para ver información de eventos internos válida para tareas de diagnóstico.Por ejemplo:

# zpool history -i mypool

History for ’mypool’:

2009-06-02.10:56:54 zpool create mypool mirror c0t4d0 c0t5d0

2009-06-02.10:57:31 zpool add mypool spare c0t6d0

2009-06-02.10:57:54 zpool offline mypool c0t5d0

2009-06-02.10:58:02 zpool online mypool c0t5d0

2009-06-02.11:02:20 [internal create txg:23] dataset = 24

2009-06-02.11:02:20 [internal property set txg:24] mountpoint=/data dataset = 24

2009-06-02.11:02:20 zfs create -o mountpoint=/data mypool/data

2009-06-02.11:02:34 [internal create txg:26] dataset = 30

Consulta del estado de un grupo de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 99

Page 100: Guía de administración de Solaris ZFS

2009-06-02.11:02:34 zfs create mypool/data/datab

Visualización de estadísticas de E/S de grupos dealmacenamiento de ZFSPara solicitar estadísticas de E/S relativas a grupos o dispositivos virtuales específicos, utilice elcomando zpool iostat. Similar al comando iostat, este comando puede mostrar unainstantánea estática de toda la actividad de E/S habida hasta ese momento, así como lasestadísticas actualizadas para cada intervalo especificado. Se informa de las estadísticassiguientes:

USED CAPACITY Cantidad de datos almacenados en el grupo o dispositivo. Esta cifradifiere de la cantidad de espacio disponible en los sistemas dearchivos reales en una pequeña cantidad debido a detalles deimplementación internos.

Para obtener más información sobre la diferencia entre el espacio delgrupo y el del conjunto de datos, consulte “Cálculo del espacio deZFS” en la página 56.

AVAILABLE CAPACITY Cantidad de espacio disponible en el grupo o dispositivo. Al igual quecon la estadística used, esta cantidad difiere por un pequeño margende la cantidad de espacio disponible para conjuntos de datos.

READ OPERATIONS Número de operaciones de E/S de lectura enviadas al grupo odispositivo, incluidas las solicitudes de metadatos.

WRITE OPERATIONS Número de operaciones de E/S de escritura enviadas al grupo odispositivo.

READ BANDWIDTH Ancho de banda de todas las operaciones de lectura (incluidos losmetadatos), expresado en unidades por segundo.

WRITE BANDWIDTH Ancho de banda de todas las operaciones de escritura, expresadas enunidades por segundo.

Visualización de estadísticas de todos los gruposSin opciones, el comando zpool iostat muestra las estadísticas acumuladas desde el arranquede todos los grupos del sistema. Por ejemplo:

# zpool iostat

capacity operations bandwidth

pool used avail read write read write

---------- ----- ----- ----- ----- ----- -----

tank 100G 20.0G 1.2M 102K 1.2M 3.45K

Consulta del estado de un grupo de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009100

Page 101: Guía de administración de Solaris ZFS

dozer 12.3G 67.7G 132K 15.2K 32.1K 1.20K

Como estas estadísticas se acumulan desde el arranque, el ancho de banda puede parecer bajo siel grupo está relativamente inactivo. Para solicitar una vista más exacta del uso actual del anchode banda, especifique un intervalo. Por ejemplo:

# zpool iostat tank 2

capacity operations bandwidth

pool used avail read write read write

---------- ----- ----- ----- ----- ----- -----

tank 100G 20.0G 1.2M 102K 1.2M 3.45K

tank 100G 20.0G 134 0 1.34K 0

tank 100G 20.0G 94 342 1.06K 4.1M

En este ejemplo, el comando muestra las estadísticas de uso sólo del grupo tank cada dossegundos hasta que pulsa Ctrl+C. Otra opción es especificar un parámetro count adicional conel que el comando se termina tras el número especificado de iteraciones. Por ejemplo, zpooliostat 2 3 imprimiría un resumen cada dos segundos para tres iteraciones, durante un total deseis segundos. Si hay un solo grupo, las estadísticas se muestran en líneas consecutivas. Si haymás de un grupo, la línea de guiones adicional marca cada iteración para ofrecer una separaciónvisual.

Visualización de estadísticas de dispositivos virtualesAdemás de las estadísticas de E/S de todos los grupos, el comando zpool iostat puede mostrarestadísticas de dispositivos virtuales específicos. Este comando se puede usar para identificardispositivos anormalmente lentos o sencillamente para observar la distribución de E/Sgenerada por ZFS. Para solicitar toda la distribución de dispositivos virtuales, así como todas lasestadísticas de E/S, utilice el comando zpool iostat -v. Por ejemplo:

# zpool iostat -v

capacity operations bandwidth

tank used avail read write read write

---------- ----- ----- ----- ----- ----- -----

mirror 20.4G 59.6G 0 22 0 6.00K

c1t0d0 - - 1 295 11.2K 148K

c1t1d0 - - 1 299 11.2K 148K

---------- ----- ----- ----- ----- ----- -----

total 24.5K 149M 0 22 0 6.00K

Al visualizar estadísticas de E/S en un dispositivo virtual debe tener en cuenta dos puntosimportantes:

■ Primero, el uso de espacio sólo está disponible para dispositivos virtuales de nivel superior.El modo en que el espacio se asigna entre la duplicación y los dispositivos virtuales RAID-Zes específico de la implementación y es difícil de expresar en un solo número.

Consulta del estado de un grupo de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 101

Page 102: Guía de administración de Solaris ZFS

■ Segundo, los números quizá no se agreguen exactamente como cabría esperar. En concreto,las operaciones en dispositivos duplicados y RAID-Z no serán exactamente iguales. Estadiferencia se aprecia sobre todo inmediatamente después de crear un grupo, puesto que unacantidad significativa de E/S se efectúa directamente en los discos como parte de la creaciónde grupos que no se tiene en cuenta en el nivel de la duplicación. Con el tiempo, estosnúmeros se deben igualar gradualmente, aunque los dispositivos estropeados, sin conexióno que no responden también pueden afectar a esta simetría.

Puede utilizar el mismo conjunto de opciones (interval y count) al examinar estadísticas dedispositivos virtuales.

Cómo determinar el estado de los grupos dealmacenamiento de ZFSZFS ofrece un método integrado para examinar el estado de dispositivos y grupos. La situaciónde un grupo la determina el estado de todos sus dispositivos. Esta información sobre el estado seobtiene con el comando zpool status. Además, fmd informa de posibles errores endispositivos y grupos, y aparecen en la consola del sistema y el archivo /var/adm/messages.

Esta sección describe cómo determinar el estado de grupos y dispositivos. En este capítulo no seexplica cómo reparar o recuperarse de grupos cuyo estado es defectuoso. Si desea másinformación sobre cómo resolver problemas y recuperar datos, consulte el Capítulo 11,“Resolución de problemas y recuperación de datos de ZFS”.

Cada dispositivo puede tener uno de los estados siguientes:

ONLINE El dispositivo funciona normalmente. Quizá haya algunos errorestransitorios, pero el dispositivo funciona.

DEGRADED El dispositivo virtual ha sufrido errores pero todavía puede funcionar. Es elestado más habitual si un dispositivo RAID-Z o una duplicación pierden unoo más dispositivos constituyentes. La tolerancia a errores del grupo puedeverse comprometida: un error posterior en otro dispositivo puede llegar a serirrecuperable.

FAULTED Prácticamente no se puede acceder al dispositivo virtual. Este estado sueledenotar un error total del dispositivo, por ejemplo ZFS es incapaz de enviar orecibir datos. Si un dispositivo virtual de nivel superior se encuentra en esteestado, no hay forma de acceder al grupo.

OFFLINE El administrador ha dejado expresamente sin conexión el dispositivo virtual.

UNAVAILABLE El dispositivo o dispositivo virtual no se puede abrir. En algunos casos, losgrupos con dispositivos en estado UNAVAILABLE se muestran en modoDEGRADED. Si un dispositivo virtual de nivel superior no está disponible, elgrupo queda completamente inaccesible.

Consulta del estado de un grupo de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009102

Page 103: Guía de administración de Solaris ZFS

REMOVED Se ha extraído físicamente el dispositivo mientras el sistema estabaejecutándose. La detección de extracción de dispositivos depende delhardware y quizá no se admita en todas las plataformas.

El estado de un grupo lo determina el estado de todos sus dispositivos virtuales de nivelsuperior. Si todos los dispositivos virtuales están ONLINE, la agrupación también está ONLINE. Siuno de los dispositivos virtuales tiene el estado DEGRADED o UNAVAILABLE, la agrupacióntambién tiene el estado DEGRADED. Si un dispositivo virtual de nivel superior tiene el estadoFAULTED u OFFLINE, la agrupación también tiene el estado FAULTED. No hay forma de acceder aun grupo en estado defectuoso. La recuperación de datos no es factible hasta que losdispositivos necesarios se conectan o reparan. Un grupo en estado "degraded" siguefuncionando, pero quizá no obtenga el mismo nivel de redundancia o rendimiento de datos quesi tuviera conexión.

Estado del grupo de almacenamiento básicoLa forma más sencilla de obtener información general rápidamente sobre el estado del grupo escon el comando zpool status:

# zpool status -x

all pools are healthy

Si desea examinar un determinado grupo, indique su nombre al comando. Cualquier grupo queno esté en estado ONLINE debe comprobarse para descartar problemas potenciales, tal como seexplica en la sección siguiente.

Estado detalladoPuede solicitar un resumen de estado más detallado mediante la opción -v. Por ejemplo:

# zpool status -v tank

pool: tank

state: DEGRADED

status: One or more devices could not be opened. Sufficient replicas exist

for the pool to continue functioning in a degraded state.

action: Attach the missing device and online it using ’zpool online’.

see: http://www.sun.com/msg/ZFS-8000-2Q

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

tank DEGRADED 0 0 0

mirror DEGRADED 0 0 0

c1t0d0 FAULTED 0 0 0 cannot open

c1t1d0 ONLINE 0 0 0

errors: No known data errors

Consulta del estado de un grupo de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 103

Page 104: Guía de administración de Solaris ZFS

Esta salida muestra la descripción completa de por qué el grupo se encuentra en un estadodeterminado, incluida una descripción legible del problema y un vínculo a un artículo sobre lamateria para obtener más información. Cada artículo técnico ofrece información actualizadasobre el mejor método de recuperarse del problema actual. El uso de la información deconfiguración detallada permite, en principio, determinar el dispositivo dañado y la forma dereparar la agrupación.

En el ejemplo anterior, el dispositivo defectuoso se debe sustituir. Una vez reemplazado, utiliceel comando zpool online para que el dispositivo se conecte de nuevo. Por ejemplo:

# zpool online tank c1t0d0

Bringing device c1t0d0 online

# zpool status -x

all pools are healthy

Si un grupo tiene un dispositivo sin conexión, la salida del comando identifica el grupoproblemático. Por ejemplo:

# zpool status -x

pool: tank

state: DEGRADED

status: One or more devices has been taken offline by the adminstrator.

Sufficient replicas exist for the pool to continue functioning in a

degraded state.

action: Online the device using ’zpool online’ or replace the device with

’zpool replace’.

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

tank DEGRADED 0 0 0

mirror DEGRADED 0 0 0

c1t0d0 ONLINE 0 0 0

c1t1d0 OFFLINE 0 0 0

errors: No known data errors

Las columnas READ y WRITE ofrecen un recuento de errores de E/S detectados en el dispositivo;la columna CKSUM ofrece un recuento de errores de suma de comprobación habidos en eldispositivo y que no pueden corregirse. Es probable que ambos recuentos de errores indiquen elerror potencial del dispositivo y las pertinentes acciones correctivas. Si se informa de que undispositivo virtual de nivel superior tiene de errores distintos de cero, quizá ya no se puedaacceder a algunas porciones de datos. Estos recuentos de errores identifican cualquier error dedatos conocido.

Consulta del estado de un grupo de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009104

Page 105: Guía de administración de Solaris ZFS

En la salida de ejemplo anterior, el dispositivo que no está conectado no provoca errores dedatos.

Para obtener más información sobre diagnósticos y reparaciones de datos y grupos defectuosos,consulte el Capítulo 11, “Resolución de problemas y recuperación de datos de ZFS”.

Migración de grupos de almacenamiento de ZFSEn ocasiones quizá deba mover un grupo de almacenamiento entre máquinas. Para ello, losdispositivos de almacenamiento se deben desconectar de la máquina original y volver aconectar en la de destino. Esta tarea se debe efectuar mediante el recableado físico de losdispositivos o mediante dispositivos con varios puertos como los de una SAN. ZFS permiteexportar el grupo de una máquina e importarlo a la máquina de destino, incluso si las máquinastienen un orden diferente de almacenamiento de una secuencia de datos en la memoria. Si deseainformación sobre cómo replicar o migrar sistemas de archivos entre distintas agrupaciones dealmacenamiento que podrían estar en equipos distintos, consulte “Envío y recepción de datosZFS” en la página 223.

■ “Preparación para la migración de grupos de almacenamiento de ZFS” en la página 105■ “Exportación a un grupo de almacenamiento de ZFS” en la página 106■ “Especificación de grupos de almacenamiento disponibles para importar” en la página 106■ “Búsqueda de grupos de almacenamiento de ZFS en directorios alternativos” en la página 108■ “Importación de grupos de almacenamiento de ZFS” en la página 109■ “Recuperación de grupos de almacenamiento de ZFS destruidos” en la página 110■ “Actualización de grupos de almacenamiento de ZFS” en la página 112

Preparación para la migración de grupos dealmacenamiento de ZFSLos grupos de almacenamiento se deben exportar para indicar que están preparados para lamigración. Esta operación purga cualquier dato no escrito en el disco, escribe datos en el discopara indicar que la exportación se ha realizado y elimina del sistema cualquier rastro del grupo.

Si no exporta el grupo, sino que elimina manualmente los discos, aún es posible importar elgrupo resultante en otro sistema. Sin embargo, podría los últimos segundos de transacciones dedatos, con lo cual el grupo aparece como defectuoso en la máquina original debido a que losdispositivos ya no están presentes. De forma predeterminada, la máquina de destino rechazaimportar un grupo que no se ha exportado explícitamente. Esta condición es necesaria paraimpedir la importación accidental de un grupo activo que tenga almacenamiento conectado a lared que todavía se utilice en otro sistema.

Migración de grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 105

Page 106: Guía de administración de Solaris ZFS

Exportación a un grupo de almacenamiento de ZFSSi desea exportar un grupo, utilice el comando zpool export. Por ejemplo:

# zpool export tank

Tras ejecutar este comando, el grupo tank ya no está visible en el sistema. Antes de continuar, elcomando intenta desmontar cualquier sistema de archivos montado en el grupo. Si alguno delos sistemas de archivos no consigue desmontarse, puede forzar el desmontaje mediante laopción -f. Por ejemplo:

# zpool export tank

cannot unmount ’/export/home/eschrock’: Device busy

# zpool export -f tank

Si al exportar hay dispositivos no disponibles, los discos no se pueden especificar comoexportados correctamente. Si uno de estos dispositivos se conecta más adelante a un sistema sinuno de los dispositivos en funcionamiento, aparece como "potencialmente activo". Si losvolúmenes de ZFS se utilizan en el grupo, éste no se puede exportar, ni siquiera con la opción-f. Para exportar una agrupación con un volumen de ZFS, antes debe comprobar que no estéactivo ninguno de los consumidores del volumen.

Para obtener más información sobre los volúmenes de ZFS, consulte “Volúmenes de ZFS”en la página 275.

Especificación de grupos de almacenamientodisponibles para importarCuando el grupo se haya eliminado del sistema (ya sea al exportar o eliminar dispositivos demanera forzada), conecte los dispositivos al sistema de destino. Aunque ZFS puede controlardeterminadas situaciones en que sólo está disponible una parte de los dispositivos, todos losdispositivos del grupo se deben mover entre los sistemas. Los dispositivos no deben estarnecesariamente conectados en el mismo nombre de dispositivo. ZFS detecta cualquierdispositivo que se haya movido o al que se haya cambiado el nombre, y ajusta la configuraciónen consonancia. Para detectar los grupos disponibles, ejecute el comando zpool import sinopciones. Por ejemplo:

# zpool import

pool: tank

id: 3778921145927357706

state: ONLINE

action: The pool can be imported using its name or numeric identifier.

config:

Migración de grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009106

Page 107: Guía de administración de Solaris ZFS

tank ONLINE

mirror ONLINE

c1t0d0 ONLINE

c1t1d0 ONLINE

En este ejemplo, el grupo tank está disponible para importarlo al sistema de destino. Cadagrupo está identificado mediante un nombre, así como un identificador numérico exclusivo. Sihay varias agrupaciones para importar con el mismo nombre, puede utilizar el identificadornumérico para diferenciarlas.

De forma parecida al comando zpool status, el comando zpool import remite a un artículodivulgativo en Internet con la información más actualizada sobre procedimientos de reparaciónpara un problema que impide la importación de un grupo. En este caso, el usuario puede forzarla importación de un grupo. Sin embargo, importar un grupo que utiliza otro sistema en unared de almacenamiento puede dañar datos y generar avisos graves del sistema, puesto queambos sistemas intentan escribir en el mismo almacenamiento. Si algunos dispositivos delgrupo no están disponibles pero hay suficiente redundancia disponible para tener un grupoutilizable, el grupo mostrará el estado DEGRADED. Por ejemplo:

# zpool import

pool: tank

id: 3778921145927357706

state: DEGRADED

status: One or more devices are missing from the system.

action: The pool can be imported despite missing or damaged devices. The

fault tolerance of the pool may be compromised if imported.

see: http://www.sun.com/msg/ZFS-8000-2Q

config:

tank DEGRADED

mirror DEGRADED

c1t0d0 UNAVAIL cannot open

c1t1d0 ONLINE

En este ejemplo, el primer disco está dañado o no se encuentra, aunque aún puede importar elgrupo porque todavía se puede acceder a los datos duplicados. Si faltan muchos dispositivos ohay demasiados defectuosos, el grupo no se puede importar. Por ejemplo:

# zpool import

pool: dozer

id: 12090808386336829175

state: FAULTED

action: The pool cannot be imported. Attach the missing

devices and try again.

see: http://www.sun.com/msg/ZFS-8000-6X

Migración de grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 107

Page 108: Guía de administración de Solaris ZFS

config:

raidz FAULTED

c1t0d0 ONLINE

c1t1d0 FAULTED

c1t2d0 ONLINE

c1t3d0 FAULTED

En este ejemplo faltan dos discos de un dispositivo virtual RAID-Z. Eso significa que no haysuficientes datos redundantes disponibles para reconstruir el grupo. En algunos casos no haysuficientes dispositivos para determinar la configuración completa. En este caso, ZFS desconocelos demás dispositivos que formaban parte del grupo, aunque ZFS proporciona todos los datosposibles relativos a la situación. Por ejemplo:

# zpool import

pool: dozer

id: 12090808386336829175

state: FAULTED

status: One or more devices are missing from the system.

action: The pool cannot be imported. Attach the missing

devices and try again.

see: http://www.sun.com/msg/ZFS-8000-6X

config:

dozer FAULTED missing device

raidz ONLINE

c1t0d0 ONLINE

c1t1d0 ONLINE

c1t2d0 ONLINE

c1t3d0 ONLINE

Additional devices are known to be part of this pool, though their

exact configuration cannot be determined.

Búsqueda de grupos de almacenamiento de ZFS endirectorios alternativosDe modo predeterminado, el comando zpool import sólo busca dispositivos en el directorio/dev/dsk. Si los dispositivos existen en otro directorio, o si utiliza grupos de los que se hahecho copia de seguridad mediante archivos, utilice la opción -d para buscar en otrosdirectorios. Por ejemplo:

# zpool create dozer mirror /file/a /file/b

# zpool export dozer

# zpool import -d /file

pool: dozer

id: 10952414725867935582

Migración de grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009108

Page 109: Guía de administración de Solaris ZFS

state: ONLINE

action: The pool can be imported using its name or numeric identifier.

config:

dozer ONLINE

mirror ONLINE

/file/a ONLINE

/file/b ONLINE

# zpool import -d /file dozer

Si los dispositivos están en varios directorios, puede especificar múltiples opciones de - d.

Importación de grupos de almacenamiento de ZFSTras identificar un grupo para importarlo, debe especificar el nombre del grupo o suidentificador numérico como argumento en el comando zpool import. Por ejemplo:

# zpool import tank

Si hay varios grupos con el mismo nombre, indique el grupo que desea importar mediante elidentificador numérico. Por ejemplo:

# zpool import

pool: dozer

id: 2704475622193776801

state: ONLINE

action: The pool can be imported using its name or numeric identifier.

config:

dozer ONLINE

c1t9d0 ONLINE

pool: dozer

id: 6223921996155991199

state: ONLINE

action: The pool can be imported using its name or numeric identifier.

config:

dozer ONLINE

c1t8d0 ONLINE

# zpool import dozer

cannot import ’dozer’: more than one matching pool

import by numeric ID instead

# zpool import 6223921996155991199

Migración de grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 109

Page 110: Guía de administración de Solaris ZFS

Si el nombre del grupo entra en conflicto con un nombre de grupo que ya existe, puedeimportarlo con otro nombre. Por ejemplo:

# zpool import dozer zeepool

Este comando importa el grupo exportado dozer con el nombre nuevo zeepool. Si el grupo nose ha exportado correctamente, ZFS solicita que el indicador -f impida la importaciónaccidental de un grupo que otro sistema todavía está usando. Por ejemplo:

# zpool import dozer

cannot import ’dozer’: pool may be in use on another system

use ’-f’ to import anyway

# zpool import -f dozer

Los grupos también se pueden importar en un grupo root alternativo mediante la opción -R. Sidesea más información sobre otras agrupaciones root, consulte “Uso de grupos root de ZFSalternativos” en la página 284.

Recuperación de grupos de almacenamiento de ZFSdestruidosEl comando zpool import -D es apto para recuperar un grupo de almacenamiento que se hayadestruido. Por ejemplo:

# zpool destroy tank

# zpool import -D

pool: tank

id: 3778921145927357706

state: ONLINE (DESTROYED)

action: The pool can be imported using its name or numeric identifier. The

pool was destroyed, but can be imported using the ’-Df’ flags.

config:

tank ONLINE

mirror ONLINE

c1t0d0 ONLINE

c1t1d0 ONLINE

En la salida de zpool import anterior, puede identificar este grupo como el destruido debido ala siguiente información de estado:

state: ONLINE (DESTROYED)

Migración de grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009110

Page 111: Guía de administración de Solaris ZFS

Para recuperar la agrupación destruida, ejecute de nuevo el comando zpool import -D con laagrupación que se debe recuperar. Por ejemplo:

# zpool import -D tank

# zpool status tank

pool: tank

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t0d0 ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

errors: No known data errors

La agrupación destruida se puede recuperar aunque uno de los dispositivos de esta agrupaciónsea defectuoso o no esté disponible, mediante la inclusión de la opción-f. En esta situación,importe el grupo degradado y después intente solucionar el error de dispositivo. Por ejemplo:

# zpool destroy dozer

# zpool import -D

pool: dozer

id:

state: DEGRADED (DESTROYED)

status: One or more devices could not be opened. Sufficient replicas exist for

the pool to continue functioning in a degraded state.

action: Attach the missing device and online it using ’zpool online’.

see: http://www.sun.com/msg/ZFS-8000-2Q

scrub: resilver completed after 0h0m with 0 errors on Fri Aug 28 09:33:56 2009

config:

NAME STATE READ WRITE CKSUM

dozer DEGRADED 0 0 0

raidz2 DEGRADED 0 0 0

c2t8d0 ONLINE 0 0 0

c2t9d0 ONLINE 0 0 0

c2t10d0 ONLINE 0 0 0

c2t11d0 UNAVAIL 0 35 1 cannot open

c2t12d0 ONLINE 0 0 0

errors: No known data errors

# zpool import -Df dozer

# zpool status -x

pool: dozer

Migración de grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 111

Page 112: Guía de administración de Solaris ZFS

state: DEGRADED

status: One or more devices could not be opened. Sufficient replicas exist for

the pool to continue functioning in a degraded state.

action: Attach the missing device and online it using ’zpool online’.

see: http://www.sun.com/msg/ZFS-8000-2Q

scrub: resilver completed after 0h0m with 0 errors on Fri Aug 28 09:33:56 2009

config:

NAME STATE READ WRITE CKSUM

dozer DEGRADED 0 0 0

raidz2 DEGRADED 0 0 0

c2t8d0 ONLINE 0 0 0

c2t9d0 ONLINE 0 0 0

c2t10d0 ONLINE 0 0 0

c2t11d0 UNAVAIL 0 37 0 cannot open

c2t12d0 ONLINE 0 0 0

errors: No known data errors

# zpool online dozer c2t11d0

Bringing device c2t11d0 online

# zpool status -x

all pools are healthy

Actualización de grupos de almacenamiento de ZFSSi dispone de grupos de almacenamiento de ZFS de una versión anterior de Solaris, por ejemploSolaris 10 6/06, los grupos pueden actualizarse con el comando zpool upgrade para poderaprovechar las funciones de los grupos de Solaris 10 11/06. Asimismo, el comando zpool

status se ha modificado para notificar a los usuarios que los grupos están ejecutando versionesantiguas. Por ejemplo:

# zpool status

pool: test

state: ONLINE

status: The pool is formatted using an older on-disk format. The pool can

still be used, but some features are unavailable.

action: Upgrade the pool using ’zpool upgrade’. Once this is done, the

pool will no longer be accessible on older software versions.

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

test ONLINE 0 0 0

c1t27d0 ONLINE 0 0 0

Migración de grupos de almacenamiento de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009112

Page 113: Guía de administración de Solaris ZFS

errors: No known data errors

La sintaxis siguiente es válida para identificar información adicional sobre una versión concretay compatible.

# zpool upgrade -v

This system is currently running ZFS version 3.

The following versions are supported:

VER DESCRIPTION

--- --------------------------------------------------------

1 Initial ZFS version

2 Ditto blocks (replicated metadata)

3 Hot spares and double parity RAID-Z

For more information on a particular version, including supported releases, see:

http://www.opensolaris.org/os/community/zfs/version/N

Where ’N’ is the version number.

A continuación puede ejecutar el comando zpool upgrade para actualizar todas lasagrupaciones. Por ejemplo:

# zpool upgrade -a

Nota – Si moderniza la agrupación a una versión de ZFS posterior, no se podrá acceder a laagrupación en un sistema que ejecute una versión antigua de ZFS.

Migración de grupos de almacenamiento de ZFS

Capítulo 4 • Administración de grupos de almacenamiento de ZFS 113

Page 114: Guía de administración de Solaris ZFS

114

Page 115: Guía de administración de Solaris ZFS

Instalación y arranque de un sistema dearchivos root ZFS

En este capítulo se describe cómo instalar y arrancar un sistema de archivos ZFS. También sedescribe la migración de un sistema de archivos root UFS a un sistema de archivos ZFSmediante Modernización automática de Solaris.

Este capítulo se divide en las secciones siguientes:

■ “Instalación y arranque de un sistema de archivos root ZFS (descripción general)”en la página 116

■ “Requisitos de instalación de Solaris y de Modernización automática de Solaris para admitirZFS” en la página 117

■ “Instalación de un sistema de archivos root ZFS (instalación inicial)” en la página 120■ “Instalación de un sistema de archivos root ZFS (instalación de contenedor Flash)”

en la página 127■ “Instalación de un sistema de archivos root ZFS (instalación JumpStart)” en la página 130■ “Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de

Solaris)” en la página 134■ “Compatibilidad de ZFS con dispositivos de intercambio y volcado” en la página 159■ “Arranque desde un sistema de archivos root ZFS” en la página 162■ “Recuperación de la agrupación root ZFS o las instantáneas de la agrupación root ”

en la página 168

Si desea obtener una lista de problemas conocidos de esta versión, consulte las notas sobre laversión de Solaris 10 10/09.

Para obtener información actualizada sobre resolución de problemas, consulte el sitio siguiente:

http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide

5C A P Í T U L O 5

115

Page 116: Guía de administración de Solaris ZFS

Instalación y arranque de un sistema de archivos root ZFS(descripción general)

A partir de Solaris 10 10/08, se puede llevar a cabo una instalación y arrancar desde un sistemade archivos root ZFS de las maneras siguientes:■ Mediante una instalación inicial si ZFS se selecciona como sistema de archivos root.■ Mediante Modernización automática de Solaris para migrar de un sistema de archivos root

UFS a uno ZFS. Además, Modernización automática de Solaris es apta para efectuar lastareas siguientes:■ Crear un entorno de arranque a partir de una agrupación root ZFS ya existente.■ Crear un entorno de arranque en una agrupación root ZFS nueva.

■ Puede utilizar un perfil de Solaris JumpStart para instalar automáticamente un sistema conun sistema de archivos root ZFS.

■ En la versión Solaris 10 10/09, puede utilizar un perfil JumpStart para instalarautomáticamente un sistema con un contenedor Flash de ZFS.

Después de instalar un sistema basado en SPARC o x86 con un sistema de archivos root ZFS ode migrar a un sistema de archivos root ZFS, el sistema de archivos arranca automáticamentedesde el sistema de archivos root ZFS. Para obtener más información sobre cambios dearranque, consulte “Arranque desde un sistema de archivos root ZFS” en la página 162.

Funciones de instalación de ZFSEn esta versión de Solaris se proporcionan las siguientes funciones de instalación de ZFS:■ El instalador de texto interactivo de Solaris permite instalar un sistema de archivos root UFS

o ZFS. En esta versión de Solaris, UFS sigue siendo el sistema de archivos predeterminado.Hay varias formas de acceder a la opción del instalador de texto interactivo:■ En un sistema basado en SPARC, utilice la sintaxis siguiente desde el DVD de instalación

de Solaris:

ok boot cdrom - text

■ En un sistema basado en SPARC, utilice la sintaxis siguiente si se arranca desde la red:

ok boot net - text

■ En un sistema basado en x86, seleccione la opción de instalación en modo de textocuando aparezca.

■ JumpStartTM personalizado proporciona las siguientes funciones:■ Puede configurar un perfil para crear una agrupación de almacenamiento de ZFS y

designar un sistema de archivos ZFS de arranque.

Instalación y arranque de un sistema de archivos root ZFS (descripción general)

Guía de administración de Solaris ZFS • Octubre de 2009116

Page 117: Guía de administración de Solaris ZFS

■ Se puede configurar un perfil con el fin de identificar un contenedor Flash de unaagrupación root de ZFS.

■ Con Modernización automática de Solaris se puede migrar de un sistema de archivos rootUFS a uno ZFS. Los comandos lucreate y luactivate se han mejorado para admitirsistemas de archivos y agrupaciones ZFS. Los comandos lustatus y ludelete funcionanigual que en las versiones anteriores de Solaris.

■ Se puede configurar una agrupación root de ZFS duplicada seleccionando dos discosdurante la instalación. También se pueden vincular más discos después de la instalaciónpara crear una agrupación root de ZFS duplicada.

■ Los dispositivos de volcado e intercambio se crean de manera automática en volúmenes ZFSde la agrupación root ZFS:

En esta versión no se proporcionan las siguientes funciones de instalación:■ No está disponible la función de instalación de GUI para instalar un sistema de archivos

root ZFS.■ La función de instalación de SolarisTM Flash para instalar un sistema de archivos root ZFS no

está disponible mediante la selección de la opción de instalación de Flash de la opción deinstalación inicial. Sin embargo, puede crear un perfil JumpStart para identificar uncontenedor Flash de una agrupación root de ZFS. Para obtener más información, consulte“Instalación de un sistema de archivos root ZFS (instalación de contenedor Flash)”en la página 127.

■ El programa de actualización estándar no es válido para actualizar el sistema de archivosroot UFS a un sistema de archivos root ZFS. Si existe como mínimo un segmento UFS que sepuede arrancar, en principio la opción de actualización estándar está disponible. Si hayagrupaciones ZFS que se pueden arrancar pero no hay ningún segmento UFS que se puedearrancar, el programa de actualización estándar no es apto para actualizar, sino que la únicaforma posible es mediante Modernización automática de Solaris. Si hay un segmento UFSque se puede arrancar y una agrupación ZFS que se puede arrancar, en principio estádisponible la opción de actualización estándar. Sin embargo, para actualizar sólo estarádisponible el segmento UFS.

Requisitos de instalación de Solaris y deModernización automática de Solaris para admitir ZFSAntes de intentar instalar un sistema con un sistema de archivos root ZFS o de migrar unsistema de archivos root UFS a uno ZFS, deben cumplirse los requisitos siguientes:

Requisitos de la versión de SolarisPuede instalar y arrancar un sistema de archivos root ZFS, o bien migrar a un sistema dearchivos root ZFS de las maneras siguientes:

Instalación y arranque de un sistema de archivos root ZFS (descripción general)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 117

Page 118: Guía de administración de Solaris ZFS

■ Instalación de un sistema de archivos root ZFS – disponible a partir de la versión Solaris 1010/08.

■ Migración de un sistema de archivos root UFS a un sistema de archivos root ZFS medianteModernización automática de Solaris – Debe tener instalado Solaris 10 10/08 o una versiónposterior, o bien debe haber actualizado la versión a Solaris 10 10/08 o una versiónposterior.

Requisitos generales de la agrupación de almacenamiento de ZFSRevise las siguientes secciones que describen los requisitos de configuración y el espacio de laagrupación root de ZFS.

Requisitos de espacio de la agrupación de almacenamiento de ZFS

La cantidad mínima necesaria de espacio de agrupación para un sistema de archivos root ZFS esmayor que la de un sistema de archivos root UFS porque los dispositivos de intercambio yvolcado deben ser independientes en un entorno root ZFS. De forma predeterminada, en unsistema de archivos root UFS los dispositivos de intercambio y volcado son el mismodispositivo.

Al instalar o actualizar un sistema con un sistema de archivos root ZFS, el tamaño del área deintercambio y del dispositivo de volcado dependen de la cantidad de memoria física. Lacantidad mínima de espacio de agrupación disponible para un sistema de archivos root ZFSdepende de la cantidad de memoria física, el espacio en disco disponible y la cantidad deentornos de arranque que se vayan a crear.

Revise los siguientes requisitos de espacio de la agrupación de almacenamiento de ZFS:

■ Para instalar un sistema de archivos root ZFS se necesita como mínimo 768 MB.■ Para que el sistema ZFS tenga un mejor rendimiento general, se recomienda 1 GB de

memoria.■ Se recomienda al menos 16 GB de espacio en disco. El espacio consumido se distribuye de la

forma siguiente:■ Área de intercambio y dispositivo de volcado: los tamaños predeterminados de los

volúmenes de intercambio y volcado que se crean mediante el programa de instalaciónde Solaris son los siguientes:■ Instalación inicial de Solaris: el tamaño del volumen de intercambio

predeterminado se calcula que es la mitad del tamaño de la memoria física,generalmente en el intervalo entre 512 MB y 2 GB, en el nuevo entorno de arranquede ZFS. Durante una instalación inicial se puede ajustar el tamaño de intercambio.

■ El tamaño predeterminado del volumen de volcado se calcula mediante el núcleo, enfunción de la información de dumpadm y el tamaño de la memoria física. Durante unainstalación inicial se puede ajustar el tamaño de volcado.

Instalación y arranque de un sistema de archivos root ZFS (descripción general)

Guía de administración de Solaris ZFS • Octubre de 2009118

Page 119: Guía de administración de Solaris ZFS

■ Modernización automática de Solaris: si un sistema de archivos root UFS se migra aun sistema de archivos root ZFS, el tamaño predeterminado del volumen deintercambio del entorno de arranque de ZFS se calcula como el tamaño deldispositivo de intercambio del entorno de arranque de UFS. El cálculo del tamañopredeterminado del volumen de intercambio se limita a sumar los tamaños de todoslos dispositivos de intercambio del entorno de arranque de UFS y crea un volumende ZFS de ese tamaño en el entorno de arranque de ZFS. Si en el entorno de arranquede UFS no se definen dispositivos de intercambio, el tamaño predeterminado delvolumen de intercambio se establece en 512 MB.

■ El tamaño predeterminado del volumen de volcado se establece en la mitad deltamaño de la memoria física, entre 512 MB y 2 GB, en el entorno de arranque de ZFS.

Puede ajustar los tamaños de los volúmenes de intercambio y volcado según lo quenecesite, siempre y cuando los nuevos tamaños permitan el funcionamiento del sistema.Para obtener más información, consulte “Ajuste del tamaño de los dispositivos deintercambio y volcado de ZFS” en la página 160.

■ Entorno de arranque: aparte de nuevos requisitos de espacio de intercambio o volcado,o de tamaños de dispositivos de intercambio o volcado, un entorno de arranque ZFS quese migra de UFS necesita unos 6 GB. Cada entorno de arranque ZFS que se clona de otroentorno de arranque ZFS no necesita espacio en disco adicional, pero se debe tener encuenta que el tamaño del entorno de arranque aumentará al aplicarse parches. Todos losentornos de arranque ZFS de la misma agrupación root deben utilizar los mismosdispositivos de intercambio y volcado.

Por ejemplo, un sistema con 12 GB de espacio en disco puede ser demasiado pequeño paraun entorno ZFS que se puede arrancar, ya que se necesitan 2 GB de espacio en disco paracada dispositivo de intercambio y volcado, así como unos 6 GB de espacio en disco para elentorno de arranque ZFS que se migra de un entorno de arranque UFS.

Requisitos de configuración de la agrupación de almacenamiento de ZFS

Revise los siguientes requisitos de configuración de la agrupación de almacenamiento de ZFS:

■ La agrupación a la que está destinada la agrupación root debe tener una etiqueta SMI. Esconveniente cumplir este requisito si la agrupación se crea con segmentos de disco.

■ La agrupación debe existir ya sea en un segmento de disco o en segmentos de disco que sehan duplicado. Si en el transcurso de una migración con Modernización automática seintenta utilizar una configuración de agrupación no permitida, aparecerá un mensajesimilar al siguiente:

ERROR: ZFS pool name does not support boot environments

Para obtener una descripción detallada de las configuraciones admitidas para la agrupaciónZFS, consulte “Creación de una agrupación root ZFS” en la página 68.

Instalación y arranque de un sistema de archivos root ZFS (descripción general)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 119

Page 120: Guía de administración de Solaris ZFS

■ En un sistema basado en x86, el disco debe contener una partición fdisk de Solaris. Se creauna partición fdisk de Solaris automáticamente cuando se instala el sistema basado en x86.Para obtener más información acerca de las particiones fdisk de Solaris, consulte“Guidelines for Creating an fdisk Partition” de System Administration Guide: Devices andFile Systems.

■ Los discos destinados a arrancarse en una agrupación root ZFS deben tener como límite detamaño 1 TB, tanto en sistemas SPARC como x86.

■ La compresión puede habilitarse en la agrupación root, pero sólo después de que se hayainstalado la agrupación root. No hay forma de habilitar la compresión en una agrupaciónroot durante la instalación. El algoritmo de compresión gzip no se admite en lasagrupaciones root.

Instalación de un sistema de archivos root ZFS (instalacióninicial)

En esta versión de Solaris, puede efectuar una instalación inicial mediante el instalador de textointeractivo de Solaris para crear una agrupación de almacenamiento ZFS que contenga unsistema de archivos root ZFS que se pueda arrancar. Si dispone de una agrupación dealmacenamiento ZFS que desea utilizar en el sistema de archivos root ZFS, debe emplearModernización automática de Solaris para migrar del sistema de archivos root UFS actual a unoZFS que haya en una agrupación de almacenamiento ZFS. Para obtener más información,consulte “Migración de un sistema de archivos root UFS a uno ZFS (Modernización automáticade Solaris)” en la página 134.

Si va a configurar las zonas después de la instalación inicial de un sistema de archivos root ZFS ytiene previsto aplicar parches o actualizaciones al sistema, consulte “Uso de Modernizaciónautomática de Solaris para migrar o actualizar un sistema con zonas (Solaris 10 10/08) ”en la página 142 o “Uso de Modernización automática de Solaris para migrar o actualizar unsistema con zonas (Solaris 10 5/09 y Solaris 10 10/09)” en la página 147.

Si el sistema ya contiene agrupaciones de almacenamiento de ZFS, el siguiente mensaje lasreconocerá, pero se mantendrán a menos que seleccione los discos de las agrupacionesexistentes para crear la nueva agrupación de almacenamiento.

There are existing ZFS pools available on this system. However, they can only be upgraded

using the Live Upgrade tools. The following screens will only allow you to install a ZFS root system,

not upgrade one.

Precaución – Las agrupaciones que existan se destruirán si para la nueva agrupación se seleccionacualquiera de sus discos.

Instalación de un sistema de archivos root ZFS (instalación inicial)

Guía de administración de Solaris ZFS • Octubre de 2009120

Page 121: Guía de administración de Solaris ZFS

Antes de comenzar la instalación inicial para crear una agrupación de almacenamiento ZFS,consulte “Requisitos de instalación de Solaris y de Modernización automática de Solaris paraadmitir ZFS” en la página 117.

EJEMPLO 5–1 Instalación inicial de un sistema de archivos root ZFS que se puede arrancar

El proceso de instalación de texto interactivo de Solaris es, básicamente, el mismo que el deanteriores versiones de Solaris, salvo el hecho de indicar al usuario que cree un sistema dearchivos root UFS o ZFS. En esta versión, UFS sigue siendo el sistema de archivospredeterminado. Si se selecciona un sistema de archivos root ZFS, se indica al usuario que creeuna agrupación de almacenamiento ZFS. Para instalar un sistema de archivos root ZFS esnecesario realizar los pasos siguientes:

1. Seleccione un método de instalación interactiva de Solaris porque para crear un sistema dearchivos root ZFS que se puede arrancar no se dispone de la instalación Solaris Flash. Sinembargo, puede crear un contenedor Flash de ZFS para utilizarlo durante una instalaciónJumpStart. Para obtener más información, consulte “Instalación de un sistema de archivosroot ZFS (instalación de contenedor Flash)” en la página 127.A partir de la versión Solaris 10 10/08, puede migrar un sistema de archivos root UFS a unsistema de archivos root ZFS siempre que ya se haya instalado Solaris 10 10/08 o una versiónposterior. Para obtener más información sobre cómo migrar a un sistema de archivos rootZFS, consulte “Migración de un sistema de archivos root UFS a uno ZFS (Modernizaciónautomática de Solaris)” en la página 134.

2. Si desea crear un sistema de archivos root ZFS, seleccione la opción ZFS. Por ejemplo:

Choose Filesystem Type

Select the filesystem to use for your Solaris installation

[ ] UFS

[X] ZFS

3. Tras seleccionar el software que debe instalarse, se indica al usuario que seleccione los discospara crear la agrupación de almacenamiento ZFS. Esta pantalla es similar a la de lasversiones anteriores de Solaris:

Select Disks

On this screen you must select the disks for installing Solaris software.

Start by looking at the Suggested Minimum field; this value is the

approximate space needed to install the software you’ve selected. For ZFS,

multiple disks will be configured as mirrors, so the disk you choose, or the

slice within the disk must exceed the Suggested Minimum value.

NOTE: ** denotes current boot disk

Disk Device Available Space

Instalación de un sistema de archivos root ZFS (instalación inicial)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 121

Page 122: Guía de administración de Solaris ZFS

EJEMPLO 5–1 Instalación inicial de un sistema de archivos root ZFS que se puede arrancar(Continuación)

=============================================================================

[X] ** c1t1d0 69994 MB

[ ] c1t2d0 69994 MB (F4 to edit)

Maximum Root Size: 69994 MB

Suggested Minimum: 7466 MB

Puede seleccionar el disco o los discos que deben usarse para la agrupación root ZFS. Siselecciona dos discos, para la agrupación root se establece una configuración de dos discosduplicados. La configuración óptima es una agrupación de dos o tres discos duplicados. Sitiene ocho discos y los selecciona todos, se utilizan para la agrupación root como una granduplicación. Esta configuración no es óptima. Otra opción es crear una agrupación rootduplicada cuando se haya terminado la instalación inicial. No es posible efectuar unaconfiguración de agrupaciones RAID-Z para la agrupación root. Si desea más informaciónsobre la configuración de agrupaciones de almacenamiento ZFS, consulte “Funciones dereplicación de un grupo de almacenamiento de ZFS” en la página 63.

4. Si desea seleccionar dos discos para crear una agrupación root duplicada, utilice las teclas decontrol del cursor para seleccionar el segundo disco. Por ejemplo, tanto c1t1d1 comoc0t2d0 están seleccionados para los discos de la agrupación root. Los dos discos deben teneruna etiqueta SMI y un segmento 0. Si los discos no están etiquetados con una SMI ocontienen segmentos, posteriormente debe salir del programa de instalación, usar lautilidad format para reetiquetar y reparticionar los discos, y posteriormente reiniciar elprograma de instalación.

Select Disks

On this screen you must select the disks for installing Solaris software.

Start by looking at the Suggested Minimum field; this value is the

approximate space needed to install the software you’ve selected. For ZFS,

multiple disks will be configured as mirrors, so the disk you choose, or the

slice within the disk must exceed the Suggested Minimum value.

NOTE: ** denotes current boot disk

Disk Device Available Space

=============================================================================

[X] ** c1t1d0 69994 MB

[X] c1t2d0 69994 MB (F4 to edit)

Maximum Root Size: 69994 MB

Suggested Minimum: 7466 MB

Si la columna Espacio disponible identifica 0 MB, en general esto indica que el disco tieneuna etiqueta EFI.

Instalación de un sistema de archivos root ZFS (instalación inicial)

Guía de administración de Solaris ZFS • Octubre de 2009122

Page 123: Guía de administración de Solaris ZFS

EJEMPLO 5–1 Instalación inicial de un sistema de archivos root ZFS que se puede arrancar(Continuación)

5. Tras haber seleccionado uno o varios discos para la agrupación de almacenamiento ZFS,aparece una pantalla de aspecto similar a la siguiente:

Configure ZFS Settings

Specify the name of the pool to be created from the disk(s) you have chosen.

Also specify the name of the dataset to be created within the pool that is

to be used as the root directory for the filesystem.

ZFS Pool Name: rpool

ZFS Root Dataset Name: s10s_u8wos_08a

ZFS Pool Size (in MB): 69994

Size of Swap Area (in MB): 2048

Size of Dump Area (in MB): 1024

(Pool size must be between 6442 MB and 69995 MB)

[X] Keep / and /var combined

[ ] Put /var on a separate dataset

En esta pantalla se puede cambiar el nombre de la agrupación ZFS, el nombre del conjuntode datos, el tamaño de la agrupación, el tamaño de los dispositivos de intercambio y volcado.Para ello, con las teclas de control del cursor desplácese por las entradas y sustituya losvalores predeterminados por los nuevos. Si lo desea, puede aceptar los valorespredeterminados. Asimismo, puede modificar el modo en que se crea y monta el sistema dearchivos /var.

En este ejemplo, el nombre del conjunto de datos root se cambia a zfs1009BE.

ZFS Pool Name: rpool

ZFS Root Dataset Name: zfs1009BE

ZFS Pool Size (in MB): 69994

Size of Swap Area (in MB): 2048

Size of Dump Area (in MB): 1024

(Pool size must be between 6442 MB and 69995 MB)

[X] Keep / and /var combined

[ ] Put /var on a separate dataset

6. El perfil de instalación se puede cambiar en esta pantalla final de la instalación. Por ejemplo:

Profile

The information shown below is your profile for installing Solaris software.

It reflects the choices you’ve made on previous screens.

Instalación de un sistema de archivos root ZFS (instalación inicial)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 123

Page 124: Guía de administración de Solaris ZFS

EJEMPLO 5–1 Instalación inicial de un sistema de archivos root ZFS que se puede arrancar(Continuación)

============================================================================

Installation Option: Initial

Boot Device: c1t1d0

Root File System Type: ZFS

Client Services: None

Regions: North America

System Locale: C ( C )

Software: Solaris 10, Entire Distribution

Pool Name: rpool

Boot Environment Name: zfs1009BE

Pool Size: 69994 MB

Devices in Pool: c1t1d0

c1t2d0

Una vez finalizada la instalación, examine la información del sistema de archivos y laagrupación de almacenamiento ZFS resultante. Por ejemplo:

# zpool status

pool: rpool

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

rpool ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t1d0s0 ONLINE 0 0 0

c1t2d0s0 ONLINE 0 0 0

errors: No known data errors

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

rpool 6.66G 60.3G 97K /rpool

rpool/ROOT 4.66G 60.3G 21K legacy

rpool/ROOT/zfs1009BE 4.66G 60.3G 4.66G /

rpool/dump 1.00G 60.3G 1.00G -

rpool/export 44K 60.3G 23K /export

rpool/export/home 21K 60.3G 21K /export/home

rpool/swap 1G 61.3G 16K -

La salida de zfs list de ejemplo identifica los componentes de la agrupación root, por ejemploel directorio rpool/ROOT, al que de forma predeterminada no se puede acceder.

Instalación de un sistema de archivos root ZFS (instalación inicial)

Guía de administración de Solaris ZFS • Octubre de 2009124

Page 125: Guía de administración de Solaris ZFS

EJEMPLO 5–1 Instalación inicial de un sistema de archivos root ZFS que se puede arrancar(Continuación)

Si inicialmente ha creado la agrupación de almacenamiento ZFS con un solo disco, la puedeconvertir a una configuración ZFS duplicada tras finalizar el proceso de instalación mediante elcomando zpool attach para vincular un disco que esté disponible. Por ejemplo:

# zpool attach rpool c1t1d0s0 c1t2d0s0

# zpool status

pool: rpool

state: ONLINE

status: One or more devices is currently being resilvered. The pool will

continue to function, possibly in a degraded state.

action: Wait for the resilver to complete.

scrub: resilver in progress for 0h0m, 5.03% done, 0h13m to go

config:

NAME STATE READ WRITE CKSUM

rpool ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t1d0s0 ONLINE 0 0 0

c1t2d0s0 ONLINE 0 0 0

errors: No known data errors

El proceso de transferir los datos al nuevo disco (resilver) tardará un poco en finalizar, pero laagrupación sigue estando disponible.

Hasta que se solucione CR 6668666, la información de arranque se debe instalar en los discosvinculados adicionalmente mediante los comandos installboot o installgrub si deseahabilitar el arranque en los otros discos de la duplicación. Si crea una agrupación root ZFSduplicada con el método de instalación inicial, este paso no es necesario. Si necesita másinformación sobre cómo instalar datos de arranque, consulte “Arranque desde un discoalternativo en una agrupación root ZFS duplicada” en la página 162.

Para obtener más información sobre cómo agregar o vincular discos, consulte “Administraciónde dispositivos en grupos de almacenamiento de ZFS” en la página 77.

Si desea crear otro entorno de arranque ZFS en la misma agrupación de almacenamiento, puedeutilizar el comando lucreate. En el ejemplo siguiente, se crea un nuevo entorno de arranquedenominado zfs10092BE. El entorno de arranque actual se denomina zfs509BE, aparece en lasalida de zfs list; no se reconoce en la salida de lustatus hasta que se crea el nuevo entornode arranque.

# lustatus

ERROR: No boot environments are configured on this system

ERROR: cannot determine list of all boot environment names

Instalación de un sistema de archivos root ZFS (instalación inicial)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 125

Page 126: Guía de administración de Solaris ZFS

EJEMPLO 5–1 Instalación inicial de un sistema de archivos root ZFS que se puede arrancar(Continuación)

Si se crea otro entorno de arranque en la misma agrupación de arranque, se debe utilizar unasintaxis parecida a la siguiente:

# lucreate -n zfs10092BE

Analyzing system configuration.

No name for current boot environment.

INFORMATION: The current boot environment is not named - assigning name <zfs1009BE>.

Current boot environment is named <zfs1009BE>.

Creating initial configuration for primary boot environment <zfs1009BE>.

The device </dev/dsk/c1t1d0s0> is not a root device for any boot environment; cannot get BE ID.

PBE configuration successful: PBE name <zfs1009BE> PBE Boot Device </dev/dsk/c1t1d0s0>.

Comparing source boot environment <zfs1009BE> file systems with the file

system(s) you specified for the new boot environment. Determining which

file systems should be in the new boot environment.

Updating boot environment description database on all BEs.

Updating system configuration files.

Creating configuration for boot environment <zfs10092BE>.

Source boot environment is <zfs1009BE>.

Creating boot environment <zfs10092BE>.

Cloning file systems from boot environment <zfs1009BE> to create boot environment <zfs10092BE>.

Creating snapshot for <rpool/ROOT/zfs1009BE> on <rpool/ROOT/zfs1009BE@zfs10092BE>.

Creating clone for <rpool/ROOT/zfs1009BE@zfs10092BE> on <rpool/ROOT/zfs10092BE>.

Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs10092BE>.

Population of boot environment <zfs10092BE> successful.

Creation of boot environment <zfs10092BE> successful.

El proceso de creación de un entorno de arranque ZFS en la misma agrupación empleafunciones de instantánea y clonación de ZFS, de modo que el entorno de arranque se crea deinmediato. Si desea más información sobre el uso de Modernización automática de Solaris parauna migración de root ZFS, consulte “Migración de un sistema de archivos root UFS a uno ZFS(Modernización automática de Solaris)” en la página 134.

A continuación, verifique los entornos de arranque nuevos. Por ejemplo:

# lustatus

Boot Environment Is Active Active Can Copy

Name Complete Now On Reboot Delete Status

-------------------------- -------- ------ --------- ------ ----------

zfs1009BE yes yes yes no -

zfs10092BE yes no no yes -

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

rpool 6.66G 60.3G 97K /rpool

rpool/ROOT 4.66G 60.3G 21K legacy

rpool/ROOT/zfs10092BE 93K 60.3G 4.66G /

Instalación de un sistema de archivos root ZFS (instalación inicial)

Guía de administración de Solaris ZFS • Octubre de 2009126

Page 127: Guía de administración de Solaris ZFS

EJEMPLO 5–1 Instalación inicial de un sistema de archivos root ZFS que se puede arrancar(Continuación)

rpool/ROOT/zfs1009BE 4.66G 60.3G 4.66G /

rpool/ROOT/zfs1009BE@zfs10092BE 81.5K - 4.66G -

rpool/dump 1.00G 60.3G 1.00G -

rpool/export 44K 60.3G 23K /export

rpool/export/home 21K 60.3G 21K /export/home

rpool/swap 1G 61.3G 16K -

Si desea arrancar desde otro entorno de arranque, emplee el comando luactivate. Después deactivar el entorno de arranque en un sistema basado en SPARC, utilice el comando boot - L

para identificar los entornos de arranque disponibles cuando el dispositivo de arranquecontenga una agrupación de almacenamiento ZFS. En el caso de arrancar desde un sistemabasado en x86, identifique el entorno de arranque se debe arrancar desde el menú GRUB.

Por ejemplo, en un sistema basado en SPARC, utilice el comando boot - L para obtener unalista con los entornos de arranque disponibles. Para arrancar desde el nuevo entorno dearranque, zfs5092BE, seleccione la opción 2. A continuación, escriba el comando boot -Z queaparece.

ok boot -L

Executing last command: boot -L

Boot device: /pci@1f,0/pci@1/scsi@8/disk@0,0:a File and args: -L

1 zfs1009BE

2 zfs10092BE

Select environment to boot: [ 1 - 2 ]: 2

To boot the selected entry, invoke:

boot [<root-device>] -Z rpool/ROOT/zfs10092BE

ok boot -Z rpool/ROOT/zfs10092BE

Si desea más información sobre cómo arrancar un sistema de archivos ZFS, consulte “Arranquedesde un sistema de archivos root ZFS” en la página 162.

Instalación de un sistema de archivos root ZFS (instalación decontenedor Flash)

En la versión Solaris 10 10/09 se puede crear un contenedor Flash en un sistema que ejecute unsistema de archivos root UFS o un sistema de archivos root ZFS. Un contenedor Flash de unaagrupación root ZFS contiene toda la jerarquía de la agrupación, excepto los volúmenes deintercambio y volcado, así como cualquier conjunto de datos excluido. Los volúmenes devolcado e intercambio se crean cuando se instala el contenedor Flash. Puede utilizar el métodode instalación del contenedor Flash como sigue:

Instalación de un sistema de archivos root ZFS (instalación de contenedor Flash)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 127

Page 128: Guía de administración de Solaris ZFS

■ Genere un contenedor Flash que pueda utilizarse para instalar y arrancar un sistema con unsistema de archivos root ZFS

■ Realice una instalación JumpStart de un sistema mediante un contenedor Flash ZFS. Lacreación de un contenedor Flash ZFS clona toda una agrupación root, no entornos dearranque individuales. Se pueden excluir cada uno de los conjuntos de datos de laagrupación mediante la opción D del comando flar y el comando -flarcreate.

Revise las siguientes limitaciones antes de que considere la instalación de un sistema con uncontenedor Flash ZFS:

■ Sólo es compatible una instalación JumpStart de un contenedor Flash ZFS. No se puede usarla opción de instalación interactiva opción de un contenedor Flash para instalar un sistemacon un sistema de archivos root ZFS. Tampoco puede utilizar un contenedor Flash parainstalar un entorno de arranque ZFS con Modernización automática de Solaris.

■ Sólo puede instalar un sistema de la misma arquitectura, con un contenedor Flash ZFS. Porejemplo, un contenedor que se haya creado en un sistema sun4u no se puede instalar en unsistema sun4v.

■ Sólo se admite una instalación inicial completa de un contenedor Flash ZFS. No es posibleinstalar un contenedor Flash diferencial de un sistema de archivos root ZFS ni uncontenedor UFS/ZFS híbrido.

■ Los contenedores Flash UFS existentes sólo se pueden seguir utilizando para instalar unsistema de archivos root UFS. El contenedor Flash ZFS sólo puede utilizarse para instalar unsistema de archivos root ZFS.

■ Aunque toda la agrupación root, menos los conjuntos de datos explícitamente excluidos,esté archivada e instalada, sólo se puede utilizar el entorno de arranque ZFS que se iniciedurante la creación del contenedor, después de que se instale el contenedor Flash. Sinembargo, las agrupaciones que se han archivado con la opción -R rootdir del comando flar

o flarcreate se pueden usar para archivar una agrupación root diferente de la que se hainiciado.

■ El nombre de la agrupación root ZFS que se crea con un contenedor Flash debe coincidircon el nombre de la agrupación root principal. El nombre de la agrupación root que se usapara crear el contenedor Flash es el nombre que se asigna a la nueva agrupación creada. Elcambio de nombre de la agrupación no se admite.

■ Las opciones de los comandos flarcreate y flar para incluir y excluir archivosindividuales no se admiten en un contenedor Flash ZFS. Sólo se pueden excluir conjuntosde datos completos desde un contenedor Flash ZFS.

■ El comando flar info no se admite para un contenedor Flash ZFS. Por ejemplo:

# flar info -l zfs10u8flar

ERROR: archive content listing not supported for zfs archives.

Instalación de un sistema de archivos root ZFS (instalación de contenedor Flash)

Guía de administración de Solaris ZFS • Octubre de 2009128

Page 129: Guía de administración de Solaris ZFS

Después de que se haya instalado Solaris 10 10/09 en un sistema principal, o que éste se hayaactualizado a dicha versión, puede crear un contenedor Flash ZFS a fin de utilizarlo para instalarun sistema de destino. A continuación se expone el proceso básico:

■ Instale o actualice a la versión Solaris 10 10/09 en el sistema principal. Agregue laspersonalizaciones que desee.

■ Cree el contenedor Flash ZFS con el comando flarcreate en el sistema principal. Todos losconjuntos de datos de la agrupación root, excepto para los volúmenes de intercambio yvolcado, se incluyen en el contenedor Flash ZFS.

■ Cree un perfil de JumpStart para que incluya la información del contenedor Flash en elservidor de instalación.

■ Instale el contenedor Flash ZFS en el sistema de destino.

Las siguientes opciones de contenedor son compatibles para instalar una agrupación root ZFScon un contenedor Flash:

■ Utilice el flarcreate o flar para crear un contenedor Flash desde la agrupación root ZFSespecificada. Si no se especifica, se crea un contenedor Flash de la agrupación rootpredeterminada.

■ Utilice flarcreate -D conjunto_datos para excluir los conjuntos de datos especificados delcontenedor Flash. Esta opción se puede usar varias veces para excluir varios conjuntos dedatos.

Después de instalar un contenedor Flash ZFS, el sistema se configura como sigue:

■ Todo la jerarquía del conjunto de datos que existía en el sistema en el que se creó elcontenedor Flash se ha recreado en el sistema de destino, menos los conjuntos de datos quefueron específicamente excluidos en el momento de creación del contenedor. Losvolúmenes de intercambio y volcado no se incluyen en el contenedor Flash.

■ La agrupación root tiene el mismo nombre que la agrupación que se usó para crear elcontenedor.

■ El entorno de arranque que estaba activo en el momento en el que se creó el contenedorFlash es el activo y el entorno de arranque predeterminado en los sistemas implementados.

EJEMPLO 5–2 Instalación de un sistema con un contenedor Flash ZFS

Después de que se haya instalado Solaris 10 10/09 en el sistema principal o se haya actualizado adicha versión, cree un contenedor Flash de la agrupación ZFS. Por ejemplo:

# flarcreate -n zfs10u8BE zfs10u8flar

Full Flash

Checking integrity...

Integrity OK.

Running precreation scripts...

Precreation scripts done.

Instalación de un sistema de archivos root ZFS (instalación de contenedor Flash)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 129

Page 130: Guía de administración de Solaris ZFS

EJEMPLO 5–2 Instalación de un sistema con un contenedor Flash ZFS (Continuación)

Determining the size of the archive...

The archive will be approximately 4.94GB.

Creating the archive...

Archive creation complete.

Running postcreation scripts...

Postcreation scripts done.

Running pre-exit scripts...

Pre-exit scripts done.

En el sistema que se utilizará como servidor de instalación, cree un perfil JumpStart como loharía para instalar cualquier sistema. Por ejemplo, el siguiente perfil se usa para instalar elcontenedor zfs10u8flar.

install_type flash_install

archive_location nfs system:/export/jump/zfs10u8flar

partitioning explicit

pool rpool auto auto auto mirror c0t1d0s0 c0t0d0s0

Instalación de un sistema de archivos root ZFS (instalaciónJumpStart)

Puede crear un perfil de JumpStart para instalar un sistema de archivos root ZFS o UFS. Si elperfil se configura para instalar un sistema de archivos root UFS, todas las palabras clave deperfil que existan funcionan como en versiones anteriores de Solaris.

Un perfil propio de ZFS debe contener la nueva palabra clave pool. La palabra clave de laagrupación instala una nueva agrupación root y, de forma predeterminada, se crea un nuevoentorno de arranque. Puede proporcionar el nombre del entorno de arranque y crear unconjunto de datos /var aparte con las palabras clave bootenv installbe y las opciones benamey dataset.

Para obtener información general sobre el uso de las funciones de JumpStart, consulte la Guíade instalación de Solaris 10: instalaciones avanzadas y JumpStart personalizadas.

Si va a configurar zonas tras la instalación JumpStart de un sistema de archivos root ZFS y haprevisto actualizar o aplicar parches en el sistema, consulte “Uso de Modernización automáticade Solaris para migrar o actualizar un sistema con zonas (Solaris 10 10/08) ” en la página 142.

Ejemplos de perfiles JumpStart de ZFSEn esta sección se proporcionan ejemplos de perfiles JumpStart propios de ZFS.

Instalación de un sistema de archivos root ZFS (instalación JumpStart)

Guía de administración de Solaris ZFS • Octubre de 2009130

Page 131: Guía de administración de Solaris ZFS

El perfil siguiente efectúa una instalación inicial especificada con install_type

instalación_inicial en una agrupación nueva, identificada con pool agrupación_nueva, cuyotamaño se establece automáticamente mediante la palabra clave auto en el tamaño de los discosespecificados. De manera automática, se asigna un tamaño al área de intercambio y eldispositivo de volcado mediante la palabra clave auto en una configuración duplicada de discos(con la palabra clave mirror y los discos especificados como c0t0d0s0 y c0t1d0s0 ). Lascaracterísticas del entorno de arranque se establecen con la palabra clave bootenv para instalarun nuevo entorno de arranque con la palabra clave installbe y se crea un bename denominados10–xx.

install_type initial_install

pool newpool auto auto auto mirror c0t0d0s0 c0t1d0s0

bootenv installbe bename s10up-xx

El perfil siguiente efectúa una instalación inicial con la palabra clave install_typeinstalación_inicial del metaclúster SUNWCall en una agrupación nueva denominada newpoolque tiene un tamaño de 80 GB. Esta agrupación se crea con un volumen de intercambio de 2 GBy un volumen de volcado de 2 GB, en una configuración duplicada de dos dispositivossuficientemente grandes como para crear una agrupación de 80 GB. La instalación no puederealizarse correctamente si esos dos dispositivos no están disponibles. Las características delentorno de arranque se establecen con la palabra clave bootenv para instalar un nuevo entornode arranque con la palabra clave installbe y se crea un bename denominado s10up–xx.

install_type initial_install

cluster SUNWCall

pool newpool 80g 2g 2g mirror any any

bootenv installbe bename s10up-xx

La sintaxis de instalación de JumpStart admite la capacidad de mantener o crear un sistema dearchivos UFS en un disco que también incluya una agrupación root de ZFS. Esta configuraciónno se recomienda en sistemas de producción; sin embargo, es apta para una transición omigración en un sistema pequeño, por ejemplo un portátil.

Palabras clave JumpStart de ZFSLas siguientes palabras clave se permiten en un perfil propio de ZFS:

auto Especifica automáticamente el tamaño de los segmentos para la agrupación, elvolumen de intercambio o el de volcado. Se comprueba el tamaño del disco paraverificar que tenga cabida el tamaño mínimo. Si tiene cabida el tamaño mínimo, eltamaño máximo de agrupación se asigna según las limitaciones, por ejemplo eltamaño de los discos, los segmentos que se mantienen, etcétera.

Por ejemplo, si se especifica c0t0d0s0, se crea el segmento con el tamaño máximoal especificar las palabras clave all o auto. También puede especificarse undeterminado tamaño para el segmento o el volumen de intercambio o volcado.

Instalación de un sistema de archivos root ZFS (instalación JumpStart)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 131

Page 132: Guía de administración de Solaris ZFS

La palabra clave auto funciona de forma parecida a all si se utiliza con unaagrupación root ZFS porque las agrupaciones carecen del concepto de espacio noutilizado.

bootenv Palabra clave que identifica las características del entorno de arranque.

La palabra clave bootenv ya existe, pero se definen opciones nuevas. Utilice lasiguiente sintaxis de la palabra clave bootenv para crear un entorno root ZFS quese pueda arrancar:

bootenv installbe bename nombre_entorno_arranque [ datasetpunto_montaje]

installbe Crea un entorno de arranque que seidentifica mediante la opción bename y laentrada de nombre_entorno_arranque, y loinstala.

bename nombre_entorno_arranque Identifica el nombre_entorno_arranqueque se va a instalar.

Si bename no se utiliza con la palabra clavepool, se crea un entorno de arranquepredeterminado.

dataset punto_montaje Utilice la palabra clave opcional datasetpara identificar un conjunto de datos de/var independiente del conjunto de datosroot. El valor de punto_montajeactualmente se limita a /var. Por ejemplo,una línea de sintaxis bootenv para unconjunto de datos de /var sería similar a losiguiente:

bootenv installbe bename zfsroot dataset /var

pool Define la nueva agrupación root que se va a crear. Se debe proporcionar lasiguiente sintaxis de palabra clave:

poolname poolsize swapsize dumpsize vdevlist

nombre_agrupación Identifica el nombre de la agrupación que se va a crear.La agrupación se crea con el tamaño de agrupaciónindicado y con los dispositivos físicos especificados(vdisp). La opción poolname no debe identificar elnombre de una agrupación que exista o dichaagrupación se sobrescribirá.

Instalación de un sistema de archivos root ZFS (instalación JumpStart)

Guía de administración de Solaris ZFS • Octubre de 2009132

Page 133: Guía de administración de Solaris ZFS

tamaño_agrupación Especifica el tamaño de la agrupación que se va a crear.El valor puede ser auto o existing. El valor autosignifica asignar el máximo tamaño de agrupaciónposible según limitaciones como el tamaño de los discos,los segmentos que se mantienen, etcétera. El valorexisting significa que los límites de los segmentosexistentes según ese nombre se mantienen ysobrescriben. A menos que indique g (gigabytes), se dapor sentado que el tamaño es en megabytes.

tamaño_intercambio Especifica el tamaño del volumen de intercambio que seva a crear. El valor puede ser auto, con lo cual se empleael tamaño de intercambio predeterminado, o tamaño, enel que se indica un tamaño. A menos que indique g(gigabytes), se da por sentado que el tamaño es enmegabytes.

tamaño_volcado Especifica el tamaño del volumen de volcado que se va acrear. El valor puede ser auto, con lo cual se emplea eltamaño de intercambio predeterminado, o tamaño, en elque se indica un tamaño. A menos que indique g(gigabytes), se da por sentado que el tamaño es enmegabytes.

lista_dispositivos Especifica uno o más dispositivos que se utilizan paracrear la agrupación. El formato de lista_dispositivos es elmismo que el del comando zpool create. Hasta elmomento, las configuraciones duplicadas sólo sonfactibles si se especifican varios dispositivos. Losdispositivos de la lista_dispositivos deben ser segmentosde la agrupación root. La cadena any significa que elsoftware de instalación selecciona un dispositivoapropiado.

Puede duplicar cuantos discos quiera. Ahora bien, eltamaño de la agrupación que se crea queda determinadopor el disco más pequeño de todos los discos que seespecifiquen. Si desea más información sobre cómo crearagrupaciones de almacenamiento duplicadas, consulte“Configuración duplicada de grupos dealmacenamiento” en la página 63.

Instalación de un sistema de archivos root ZFS (instalación JumpStart)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 133

Page 134: Guía de administración de Solaris ZFS

Problemas de JumpStart de ZFSAntes de comenzar una instalación JumpStart en un sistema de archivos root ZFS que se puedearrancar, tenga en cuenta los problemas siguientes.

■ Para crear un sistema de archivos root ZFS que se puede arrancar no se puede utilizar unaagrupación de almacenamiento de una instalación JumpStart. Se debe crear una agrupaciónde almacenamiento ZFS con una sintaxis similar a la siguiente:

pool rpool 20G 4G 4G c0t0d0s0

Se necesita toda la línea de la palabra clave pool porque no se puede utilizar una agrupaciónque ya exista. Por ejemplo:

install_type initial_install

cluster SUNWCall

pool rpool 20G 4g 4g any

bootenv installbe bename newBE

■ Debe crear una agrupación con segmentos de disco en lugar de discos enteros, como seexplica en “Requisitos de instalación de Solaris y de Modernización automática de Solarispara admitir ZFS” en la página 117. Por ejemplo, no se acepta la siguiente sintaxis en negrita.

install_type initial_install

cluster SUNWCall

pool rpool all auto auto mirror c0t0d0 c0t1d0

bootenv installbe bename newBE

Se acepta la siguiente sintaxis en negrita.

install_type initial_install

cluster SUNWCall

pool rpool all auto auto mirror c0t0d0s0 c0t1d0s0

bootenv installbe bename newBE

Migración de un sistema de archivos root UFS a uno ZFS(Modernización automática de Solaris)

Están disponibles las funciones anteriores de Modernización automática de Solaris; y respecto acomponentes de UFS, funcionan igual que en las versiones anteriores de Solaris.

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Guía de administración de Solaris ZFS • Octubre de 2009134

Page 135: Guía de administración de Solaris ZFS

Hay disponibles las siguientes funciones:

■ Al migrar un sistema de archivos root UFS a uno ZFS, se debe designar una agrupación dealmacenamiento ZFS que ya exista con la opción -p.

■ Si el sistema de archivos root UFS tiene componentes en distintos segmentos, se migran a laagrupación root ZFS.

■ Puede migrar un sistema con zonas pero las configuraciones admitidas están limitadas en laversión Solaris 10 10/08. Se admiten más configuraciones de zonas a partir de la versiónSolaris 10 5/09. Para obtener más información, consulte las secciones siguientes:■ “Uso de Modernización automática de Solaris para migrar o actualizar un sistema con

zonas (Solaris 10 10/08) ” en la página 142■ “Uso de Modernización automática de Solaris para migrar o actualizar un sistema con

zonas (Solaris 10 5/09 y Solaris 10 10/09)” en la página 147

Si va a migrar un sistema sin zonas, consulte “Uso de Modernización automática de Solarispara migrar a un sistema de archivos root ZFS (sin zonas)” en la página 137.

■ Modernización automática de Solaris puede utilizar la instantánea de ZFS y clonarfunciones si se crea un entorno de arranque ZFS en la misma agrupación. Así, la creación deentornos de arranque es mucho más rápida que en versiones anteriores de Solaris.

Si desea más información sobre la instalación de Solaris y las funciones de Modernizaciónautomática de Solaris, consulte la Guía de instalación de Solaris 10: Modernización automáticade Solaris y planificación de la modernización.

A continuación se expone el procedimiento básico para migrar un sistema de archivos root UFSa uno ZFS:

■ Instale la versión Solaris 10 10/08, Solaris 10 5/09 o Solaris 10 10/09, o bien emplee unprograma de actualización estándar para actualizar de una versión anterior de Solaris 10 encualquier sistema admitido que se base en SPARC o x86.

■ Si se ejecuta la versión Solaris 10 10/08, Solaris 10 5/09 o Solaris 10 10/09, cree unaagrupación de almacenamiento ZFS para el sistema de archivos root ZFS, si fuera necesario.

■ Utilice Modernización automática de Solaris para migrar de un sistema de archivos rootUFS a uno ZFS.

■ Active el entorno de arranque ZFS con el comando luactivate.

Si necesita información sobre los requisitos de ZFS y Modernización automática de Solaris,consulte “Requisitos de instalación de Solaris y de Modernización automática de Solaris paraadmitir ZFS” en la página 117.

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 135

Page 136: Guía de administración de Solaris ZFS

Problemas de migración con Modernizaciónautomática de Solaris a ZFSAntes de utilizar Modernización automática de Solaris para migrar el sistema de archivos UFS aun sistema de archivos root ZFS, examine la siguiente lista de problemas:

■ La opción de actualización estándar de la GUI de Modernización automática de Solaris noestá disponible para migrar de un sistema de archivos root UFS a uno ZFS. Para migrar deun sistema de archivos root UFS, debe utilizar Modernización automática de Solaris.

■ Debe crear la agrupación de almacenamiento ZFS que se utilizará para el arranque antes deejecutar Modernización automática de Solaris. Asimismo, debido a las actuales limitacionesde arranque, la agrupación root ZFS se debe crear con segmentos en lugar de discos enteros.Por ejemplo:

# zpool create rpool mirror c1t0d0s0 c1t1d0s0

Antes de crear la agrupación, compruebe que los discos que se usarán en ella tengan unaetiqueta SMI (VTOC) en lugar de una etiqueta EFI. Si se vuelve a etiquetar el disco con unaetiqueta SMI, compruebe que el proceso de etiquetado no haya modificado el esquema departición. En la mayoría de los casos, casi toda la capacidad del disco debe estar en lossegmentos que se destinan a la agrupación root.

■ Modernización automática de Solaris no es apta para crear un entorno de arranque UFS apartir de un entorno de arranque ZFS. Si se migra el entorno de arranque UFS a uno ZFS y semantiene el entorno de arranque UFS, se puede arrancar desde cualquiera de los dosentornos.

■ No cambie el nombre de los entornos de arranque ZFS con el comando zfs rename, ya queModernización automática de Solaris no detecta el cambio de nombre. Los comandos que sepuedan usar posteriormente, por ejemplo ludelete, no funcionarán. De hecho, no cambieel nombre de agrupaciones ni de sistemas de archivos ZFS si tiene entornos de arranque quequiere seguir utilizando.

■ Modernización automática de Solaris crea los conjuntos de datos de los volúmenes deentorno de arranque y ZFS para el área de intercambio y el dispositivo de volcado. Sinembargo, no tiene en cuanta ninguna modificación de propiedades de conjuntos de datosque pudiera haber. Así pues, si desea habilitar una propiedad de conjunto de datos en elnuevo entorno de arranque, debe configurar la propiedad antes de la operación delucreate. Por ejemplo:

# zfs set compression=on rpool/ROOT

■ Si se crea un entorno de arranque alternativo que sea una clonación del entorno de arranqueprincipal, no se puede utilizar las opciones -f, -x, -y, - Y y -z para incluir o excluir archivosdel entorno de arranque principal. Sin embargo, la opción de inclusión y exclusión se puedeutilizar en los casos siguientes:

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Guía de administración de Solaris ZFS • Octubre de 2009136

Page 137: Guía de administración de Solaris ZFS

UFS -> UFS

UFS -> ZFS

ZFS -> ZFS (different pool)

■ Si bien Modernización automática de Solaris se puede usar para actualizar el sistema dearchivos root UFS a uno ZFS, no es apta para la actualización de sistemas de archivoscompartidos o que no sean root.

■ El comando lu no es válido para crear o migrar un sistema de archivos root ZFS.

Uso de Modernización automática de Solaris paramigrar a un sistema de archivos root ZFS (sin zonas)Los ejemplos siguientes ilustran la manera de migrar un sistema de archivos root UFS a unoZFS.

Si desea migrar o actualizar un sistema con zonas, consulte las siguientes secciones:

■ “Uso de Modernización automática de Solaris para migrar o actualizar un sistema con zonas(Solaris 10 10/08) ” en la página 142

■ “Uso de Modernización automática de Solaris para migrar o actualizar un sistema con zonas(Solaris 10 5/09 y Solaris 10 10/09)” en la página 147

EJEMPLO 5–3 Uso de Modernización automática de Solaris para migrar un sistema de archivos root UFS auno ZFS.

El ejemplo siguiente ilustra la forma de crear un entorno de arranque de un sistema de archivosroot ZFS desde un sistema de archivos root UFS. El entorno de arranque actual, ufs509BE, quecontiene un sistema de archivos root UFS, se identifica mediante la opción -c. Si no deseaincluir la opción -c optativa, el nombre del entorno de arranque actual se convierte de formapredeterminada en el nombre del dispositivo. El entorno de arranque nuevo, zfs1009BE, seidentifica mediante la opción -n. Antes de la operación lucreate debe haber una agrupación dealmacenamiento ZFS.

Para que se pueda arrancar y actualizar, la agrupación de almacenamiento ZFS se debe crearcon segmentos en lugar de discos enteros. Antes de crear la agrupación, compruebe que losdiscos que se usarán en ella tengan una etiqueta SMI (VTOC) en lugar de una etiqueta EFI. Si sevuelve a etiquetar el disco con una etiqueta SMI, compruebe que el proceso de etiquetado nohaya modificado el esquema de partición. En la mayoría de los casos, casi toda la capacidad deldisco debe estar en los segmentos que se destinan a la agrupación root.

# zpool create mpool mirror c1t2d0s0 c2t1d0s0

# lucreate -c ufs1009BE -n zfs1009BE -p mpool

Analyzing system configuration.

No name for current boot environment.

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 137

Page 138: Guía de administración de Solaris ZFS

EJEMPLO 5–3 Uso de Modernización automática de Solaris para migrar un sistema de archivos root UFS auno ZFS. (Continuación)

Current boot environment is named <ufs1009BE>.

Creating initial configuration for primary boot environment <ufs1009BE>.

The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID.

PBE configuration successful: PBE name <ufs1009BE> PBE Boot Device </dev/dsk/c1t0d0s0>.

Comparing source boot environment <ufs1009BE> file systems with the file

system(s) you specified for the new boot environment. Determining which

file systems should be in the new boot environment.

Updating boot environment description database on all BEs.

Updating system configuration files.

The device </dev/dsk/c1t2d0s0> is not a root device for any boot environment; cannot get BE ID.

Creating configuration for boot environment <zfs1009BE>.

Source boot environment is <ufs1009BE>.

Creating boot environment <zfs1009BE>.

Creating file systems on boot environment <zfs1009BE>.

Creating <zfs> file system for </> in zone <global> on <mpool/ROOT/zfs1009BE>.

Populating file systems on boot environment <zfs1009BE>.

Checking selection integrity.

Integrity check OK.

Populating contents of mount point </>.

Copying.

Creating shared file system mount points.

Creating compare databases for boot environment <zfs1009BE>.

Creating compare database for file system </mpool/ROOT>.

Creating compare database for file system </>.

Updating compare databases on boot environment <zfs1009BE>.

Making boot environment <zfs1009BE> bootable.

Creating boot_archive for /.alt.tmp.b-qD.mnt

updating /.alt.tmp.b-qD.mnt/platform/sun4u/boot_archive

Population of boot environment <zfs1009BE> successful.

Creation of boot environment <zfs1009BE> successful.

Tras finalizar la operación de lucreate, utilice el comando lustatus para ver el estado delentorno de arranque. Por ejemplo:

# lustatus

Boot Environment Is Active Active Can Copy

Name Complete Now On Reboot Delete Status

-------------------------- -------- ------ --------- ------ ----------

ufs1009BE yes yes yes no -

zfs1009BE yes no no yes -

A continuación, examine la lista de componentes de ZFS. Por ejemplo:

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Guía de administración de Solaris ZFS • Octubre de 2009138

Page 139: Guía de administración de Solaris ZFS

EJEMPLO 5–3 Uso de Modernización automática de Solaris para migrar un sistema de archivos root UFS auno ZFS. (Continuación)

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

mpool 7.17G 59.8G 95.5K /mpool

mpool/ROOT 4.66G 59.8G 21K /mpool/ROOT

mpool/ROOT/zfs1009BE 4.66G 59.8G 4.66G /

mpool/dump 2G 61.8G 16K -

mpool/swap 517M 60.3G 16K -

Después, utilice el comando luactivate para activar el nuevo entorno de arranque ZFS. Porejemplo:

# luactivate zfs1009BE

A Live Upgrade Sync operation will be performed on startup of boot environment <zfs1009BE>.

**********************************************************************

The target boot environment has been activated. It will be used when you

reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You

MUST USE either the init or the shutdown command when you reboot. If you

do not use either init or shutdown, the system will not boot using the

target BE.

**********************************************************************

.

.

.

Modifying boot archive service

Activation of boot environment <zfs1009BE> successful.

A continuación, rearranque el sistema en el entorno de arranque ZFS.

# init 6

Confirme que el entorno de arranque ZFS esté activo.

# lustatus

Boot Environment Is Active Active Can Copy

Name Complete Now On Reboot Delete Status

-------------------------- -------- ------ --------- ------ ----------

ufs1009BE yes no no yes -

zfs1009BE yes yes yes no -

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 139

Page 140: Guía de administración de Solaris ZFS

EJEMPLO 5–3 Uso de Modernización automática de Solaris para migrar un sistema de archivos root UFS auno ZFS. (Continuación)

Si vuelve al entorno de arranque UFS, tendrá que volver a importar todas las agrupaciones dealmacenamiento ZFS creadas en el entorno de arranque ZFS porque no están disponiblesautomáticamente en el entorno de arranque UFS.

Si ya no se necesita el entorno de arranque UFS, se puede eliminar con el comando ludelete.

EJEMPLO 5–4 Uso de Modernización automática de Solaris para crear un entorno de arranque ZFS a partirde un entorno de arranque ZFS

El proceso de creación de un entorno de arranque ZFS desde un entorno de arranque ZFS esmuy rápido porque esta operación utiliza las funciones de clonación e instantánea de ZFS. Si elentorno de arranque actual reside en la misma agrupación ZFS mpool, por ejemplo, se omite laopción -p.

Si tiene varios entornos de arranque ZFS en un sistema basado en SPARC, puede utilizar elcomando boot -L para identificar los entornos de arranque disponibles y seleccionar unentorno de arranque desde el cual arrancar mediante el comando boot -Z. En el caso de unsistema basado en x86, el entorno de arranque se puede seleccionar en el menú GRUB. Si deseamás información, consulte el Ejemplo 5–9.

# lucreate -n zfs10092BE

Analyzing system configuration.

Comparing source boot environment <zfs1009BE> file systems with the file

system(s) you specified for the new boot environment. Determining which

file systems should be in the new boot environment.

Updating boot environment description database on all BEs.

Updating system configuration files.

Creating configuration for boot environment <zfs10092BE>.

Source boot environment is <zfs1009BE>.

Creating boot environment <zfs10092BE>.

Cloning file systems from boot environment <zfs1009BE> to create boot environment <zfs10092BE>.

Creating snapshot for <mpool/ROOT/zfs1009BE> on <mpool/ROOT/zfs1009BE@zfs10092BE>.

Creating clone for <mpool/ROOT/zfs1009BE@zfs10092BE> on <mpool/ROOT/zfs10092BE>.

Setting canmount=noauto for </> in zone <global> on <mpool/ROOT/zfs10092BE>.

Population of boot environment <zfs10092BE> successful.

Creation of boot environment <zfs10092BE> successful.

EJEMPLO 5–5 Actualización del entorno de arranque ZFS (luupgrade)

El entorno de arranque ZFS se puede actualizar con paquetes o parches adicionales.

El proceso básico consiste en los siguientes pasos:

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Guía de administración de Solaris ZFS • Octubre de 2009140

Page 141: Guía de administración de Solaris ZFS

EJEMPLO 5–5 Actualización del entorno de arranque ZFS (luupgrade) (Continuación)

■ Crear un entorno de arranque alternativo con el comando lucreate.■ Activar y arrancar desde el entorno de arranque alternativo.■ Actualizar el entorno de arranque ZFS principal con el comando luupgrade para agregar

paquetes o parches.

# lustatus

Boot Environment Is Active Active Can Copy

Name Complete Now On Reboot Delete Status

-------------------------- -------- ------ --------- ------ ----------

zfs1009BE yes no no yes -

zfs10092BE yes yes yes no -

# luupgrade -p -n zfs1009BE -s /net/system/export/s10u8/Solaris_10/Product SUNWchxge

Validating the contents of the media </net/system/export/s10u8/Solaris_10/Product>.

Mounting the BE <zfs1009BE>.

Adding packages to the BE <zfs1009BE>.

Processing package instance <SUNWchxge> from </net/install/export/s10u8/Solaris_10/Product>

Chelsio N110 10GE NIC Driver(sparc) 11.10.0,REV=2006.02.15.20.41

Copyright 2009 Sun Microsystems, Inc. All rights reserved.

Use is subject to license terms.

This appears to be an attempt to install the same architecture and

version of a package which is already installed. This installation

will attempt to overwrite this package.

Using </a> as the package base directory.

## Processing package information.

## Processing system information.

4 package pathnames are already properly installed.

## Verifying package dependencies.

## Verifying disk space requirements.

## Checking for conflicts with packages already installed.

## Checking for setuid/setgid programs.

This package contains scripts which will be executed with super-user

permission during the process of installing this package.

Do you want to continue with the installation of <SUNWchxge> [y,n,?] y

Installing Chelsio N110 10GE NIC Driver as <SUNWchxge>

## Installing part 1 of 1.

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 141

Page 142: Guía de administración de Solaris ZFS

EJEMPLO 5–5 Actualización del entorno de arranque ZFS (luupgrade) (Continuación)

## Executing postinstall script.

Installation of <SUNWchxge> was successful.

Unmounting the BE <zfs1009BE>.

The package add to the BE <zfs1009BE> completed.

Uso de Modernización automática de Solaris paramigrar o actualizar un sistema con zonas (Solaris 1010/08)Modernización automática de Solaris se puede utilizar para migrar un sistema con zonas, perolas configuraciones admitidas son limitadas en la versión Solaris 10 10/08. Si está instalando oactualizando la versión a Solaris 10 5/09, se admiten más configuraciones de zona. Para obtenermás información, consulte “Uso de Modernización automática de Solaris para migrar oactualizar un sistema con zonas (Solaris 10 5/09 y Solaris 10 10/09)” en la página 147.

En esta sección se explica el procedimiento para configurar e instalar un sistema con zonas parapoder actualizarlo y aplicarle parches mediante Modernización automática de Solaris. Si va amigrar un sistema de archivos root ZFS sin zonas, consulte “Uso de Modernización automáticade Solaris para migrar a un sistema de archivos root ZFS (sin zonas)” en la página 137.

Si va a migrar un sistema con zonas, o bien si tiene previsto configurar un sistema con zonas enla versión Solaris 10 10/08, consulte los procedimientos siguientes:

■ “Cómo migrar un sistema de archivos root UFS con roots de zonas en UFS a un sistema dearchivos root ZFS (Solaris 10 10/08)” en la página 143

■ “Cómo configurar un sistema de archivos root ZFS con roots de zonas en ZFS (Solaris 1010/08)” en la página 144

■ “Cómo actualizar o aplicar un parche a un sistema de archivos root ZFS con roots de zona enZFS (Solaris 10 10/08)” en la página 146

■ “Resolución de problemas de montaje de ZFS que impiden arrancar correctamente”en la página 166

Siga los procedimientos recomendados para configurar zonas de un sistema con un sistema dearchivos root ZFS para asegurarse de poder utilizar en él Modernización automática de Solaris.

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Guía de administración de Solaris ZFS • Octubre de 2009142

Page 143: Guía de administración de Solaris ZFS

▼ Cómo migrar un sistema de archivos root UFS con roots de zonas enUFS a un sistema de archivos root ZFS (Solaris 10 10/08)Aplique los pasos siguientes para migrar un sistema de archivos root UFS con zonas instaladas aun sistema de archivos root ZFS y una configuración root de zonas ZFS que se pueda actualizaro a la que se pueda aplicar parches.

En los pasos siguientes, el nombre de la agrupación de ejemplo es rpool y el del entorno dearranque actualmente activo es S10BE*.

Actualice el sistema a la versión Solaris 10 10/08 si se ejecuta una versión de Solaris 10 anterior.Para obtener más información sobre cómo actualizar un sistema que ejecuta la versión Solaris10, consulte Guía de instalación de Solaris 10: Modernización automática de Solaris yplanificación de la modernización.

Cree la agrupación root.Si necesita información sobre los requisitos de agrupaciones root, consulte “Requisitos deinstalación de Solaris y de Modernización automática de Solaris para admitir ZFS”en la página 117.

Confirme que se hayan arrancado las zonas desde el entorno de arranque UFS.

Cree el nuevo entorno de arranque.# lucreate -n S10BE2 -p rpool

Este comando establece conjuntos de datos en la agrupación root del nuevo entorno dearranque y copia el entorno de arranque actual (zonas incluidas) en esos conjuntos de datos.

Active el nuevo entorno de arranque.# luactivate s10BE2

El sistema ya ejecuta un sistema de archivos root ZFS; sin embargo, las roots de zona de UFSsiguen estando en el sistema de archivos root UFS. Los pasos siguientes son necesarios paramigrar por completo las zonas UFS a una configuración ZFS compatible.

Reinicie el sistema.# init 6

Migre las zonas a un entorno de arranque ZFS.

a. Arranque las zonas.

b. Cree otro entorno de arranque en la agrupación.# lucreate S10BE3

1

2

3

4

5

6

7

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 143

Page 144: Guía de administración de Solaris ZFS

c. Active el nuevo entorno de arranque.# luactivate S10BE3

d. Reinicie el sistema.# init 6

En este paso se verifica que se arranque el entorno de arranque ZFS y las zonas.

En esta versión de Solaros, resuelva cualquier problema potencial de punto de montaje.Debido a un error en Modernización automática, el entorno de arranque no activo podría fallarporque un conjunto de datos ZFS o ZFS de una zona del entorno de arranque tiene un punto demontaje no válido.

a. Examine la salida de zfs list.Busque puntos de montaje temporalmente incorrectos. Por ejemplo:# zfs list -r -o name,mountpoint rpool/ROOT/s10u6

NAME MOUNTPOINT

rpool/ROOT/s10u6 /.alt.tmp.b-VP.mnt/

rpool/ROOT/s10u6/zones /.alt.tmp.b-VP.mnt//zones

rpool/ROOT/s10u6/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA

El punto de montaje del entorno de arranque ZFS root (rpool/ROOT/s10u6) debe ser /.

b. Restablezca los puntos de montaje del entorno de arranque ZFS y sus conjuntos de datos.Por ejemplo:# zfs inherit -r mountpoint rpool/ROOT/s10u6

# zfs set mountpoint=/ rpool/ROOT/s10u6

c. Reinicie el sistema.Si la opción se presenta para arrancar un determinado entorno de arranque, en el menúGRUB o el símbolo del sistema OpenBoot Prom, seleccione el entorno de arranque cuyospuntos de montaje se han acabado de corregir.

▼ Cómo configurar un sistema de archivos root ZFS con roots de zonas enZFS (Solaris 10 10/08)Efectúe los pasos siguientes para configurar un sistema de archivos root ZFS y unaconfiguración root de zonas ZFS que se pueda actualizar o a la que se pueda aplicar parches. Enesta configuración, las roots de zonas ZFS se crean como conjuntos de datos ZFS.

En los pasos siguientes, el nombre de la agrupación de ejemplo es rpool y el del entorno dearranque actualmente activo es S10be.

8

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Guía de administración de Solaris ZFS • Octubre de 2009144

Page 145: Guía de administración de Solaris ZFS

Instale el sistema con una root ZFS, ya sea con el método de instalación inicial interactiva o lainstalación Solaris JumpStart.Para obtener más información sobre cómo instalar un sistema de archivos root ZFS con elmétodo de instalación inicial interactiva o con Solaris JumpStart, consulte “Instalación de unsistema de archivos root ZFS (instalación inicial)” en la página 120 o “Instalación de un sistemade archivos root ZFS (instalación JumpStart)” en la página 130.

Arranque el sistema desde la agrupación root recién creada.

Cree un conjunto de datos para agrupar las roots de zonas.Por ejemplo:# zfs create -o canmount=noauto rpool/ROOT/S10be/zones

Cualquier nombre de conjunto de datos legal es valido como nombre para el conjunto de datosde zonas. En los pasos siguientes, el nombre del conjunto de datos de ejemplo es zones.

El establecimiento del valor noauto para la propiedad canmount impide que otra acción distintade la explícita de Modernización automática de Solaris y el código de inicio del sistema monte elconjunto de datos.

Monte el conjunto de datos del contenedor de zonas recién creado.# zfs mount rpool/ROOT/S10be/zones

El conjunto de datos se monta en /zones.

Cree y monte un conjunto de datos para cada root de zona.# zfs create -o canmount=noauto rpool/ROOT/S10be/zones/zonerootA

# zfs mount rpool/ROOT/S10be/zones/zonerootA

Establezca los permisos pertinentes en el directorio root de zona.# chmod 700 /zones/zonerootA

Configure la zona estableciendo la ruta de zona como se indica a continuación:# zonecfg -z zoneA

zoneA: No such zone configured

Use ’create’ to begin configuring a new zone.

zonecfg:zoneA> create

zonecfg:zoneA> set zonepath=/zones/zonerootA

Puede habilitar las zonas para que arranquen automáticamente cuando se arranque el sistemamediante la sintaxis siguiente:

zonecfg:zoneA> set autoboot=true

1

2

3

4

5

6

7

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 145

Page 146: Guía de administración de Solaris ZFS

Instale la zona.# zoneadm -z zoneA install

Arranque la zona.# zoneadm -z zoneA boot

▼ Cómo actualizar o aplicar un parche a un sistema de archivos root ZFScon roots de zona en ZFS (Solaris 10 10/08)Efectúe los pasos siguientes cuando deba actualizar o aplicar parches a un sistema de archivosroot ZFS con roots de zonas en ZFS. Las actualizaciones pueden consistir en una actualizacióndel sistema o la aplicación de parches.

En los pasos siguientes, newBE es el nombre de ejemplo del entorno de arranque que se actualizao al que se aplican parches.

Cree el entorno de arranque para actualizar o aplicar parches.# lucreate -n newBE

Se clona el entorno de arranque que ya existe, incluidas todas las zonas. Se crean conjuntos dedatos para cada conjunto de datos del entorno de arranque original. Los nuevos conjuntos dedatos se crean en la misma agrupación que la agrupación root actual.

Seleccione una de las opciones siguientes para actualizar el sistema o aplicar parches al nuevoentorno de arranque.

■ Actualice el sistema.

# luupgrade -u -n newBE -s /net/install/export/s10u7/latest

La opción -s es la ubicación de un medio de instalación de Solaris.■ Aplique parches al nuevo entorno de arranque.

# luupgrade -t -n newBE -t -s /patchdir 139147-02 157347-14

Active el nuevo entorno de arranque una vez se hayan completado las actualizaciones.# luactivate newBE

Arranque desde el entorno de arranque activado de nuevo.# init 6

8

9

1

2

3

4

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Guía de administración de Solaris ZFS • Octubre de 2009146

Page 147: Guía de administración de Solaris ZFS

En esta versión de Solaris 10/08, resuelva cualquier problema potencial de puntos de montaje.Debido a un error en Modernización automática, el entorno de arranque no activo podría fallarporque un conjunto de datos ZFS o ZFS de una zona del entorno de arranque tiene un punto demontaje no válido.

a. Examine la salida de zfs list.Busque puntos de montaje temporalmente incorrectos. Por ejemplo:# zfs list -r -o name,mountpoint rpool/ROOT/newBE

NAME MOUNTPOINT

rpool/ROOT/newBE /.alt.tmp.b-VP.mnt/

rpool/ROOT/newBE/zones /.alt.tmp.b-VP.mnt//zones

rpool/ROOT/newBE/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA

El punto de montaje del entorno de arranque ZFS root (rpool/ROOT/newBE) debe ser /.

b. Restablezca los puntos de montaje del entorno de arranque ZFS y sus conjuntos de datos.Por ejemplo:# zfs inherit -r mountpoint rpool/ROOT/newBE

# zfs set mountpoint=/ rpool/ROOT/newBE

c. Reinicie el sistema.Si la opción se presenta para arrancar un determinado entorno de arranque, en el menúGRUB o el símbolo del sistema OpenBoot Prom, seleccione el entorno de arranque cuyospuntos de montaje se han acabado de corregir.

Uso de Modernización automática de Solaris paramigrar o actualizar un sistema con zonas (Solaris 105/09 y Solaris 10 10/09)Puede usar la función Modernización automática para migrar o actualizar un sistema con zonasa partir de la versión Solaris 10 10/08. Modernización automática admite las configuraciones dezonas completas y dispersas adicionales a partir de la versión Solaris 10 5/09.

En esta sección se describe cómo configurar e instalar un sistema con zonas para que se puedaaplicar un parche o una actualización con Modernización automática de Solaris a partir de laversión Solaris 10 5/09. Si va a migrar a un sistema de archivos root ZFS sin zonas, consulte“Uso de Modernización automática de Solaris para migrar a un sistema de archivos root ZFS(sin zonas)” en la página 137.

5

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 147

Page 148: Guía de administración de Solaris ZFS

Tenga en cuenta los puntos siguientes cuando se utilice Modernización automática con ZFS ylas zonas a partir de la versión Solaris 10 5/09.

■ Si desea utilizar Modernización automática con configuraciones de zonas que se admiten apartir de la versión Solaris 10 5/09, deberá realizar previamente la actualización del sistema ala versión Solaris 10 5/09 o Solaris 10 10/09 mediante el programa de actualización estándar.

■ A continuación, mediante Modernización automática, puede migrar el sistema de archivosroot UFS con roots de zona a un sistema de archivos root ZFS, o bien puede aplicar unparche o una actualización al sistema de archivos root ZFS y las roots de zonas.

■ No es posible tomar configuraciones de zonas no admitidas de una versión anterior a Solaris10 y migrarlas directamente a la versión Solaris 10 5/09 o Solaris 10 10/09.

Si va a migrar un sistema con zonas o si va a configurar un sistema con zonas a partir de laversión Solaris 10 5/09, repase la información siguiente:

■ “ZFS admitido con información de configuración de directorio root de zonas (Solaris 1010/09) ” en la página 148

■ “Cómo crear un entorno de arranque ZFS con un sistema de archivos root ZFS y una root dezona (Solaris 10 5/09 o Solaris 10 10/09)” en la página 150

■ “Cómo aplicar un parche o una actualización a un sistema de archivos root ZFS con roots dezonas (Solaris 10 5/09 o Solaris 10 10/09)” en la página 152

■ “Cómo migrar un sistema de archivos root UFS con root de zonas a un sistema de archivosroot ZFS (Solaris 10 5/09 o Solaris 10 10/09)” en la página 155

ZFS admitido con información de configuración de directorio root dezonas (Solaris 10 10/09)Revise las configuraciones de zonas admitidas antes de usar la función Modernizaciónautomática para migrar o actualizar un sistema con zonas.

■ Migración de un sistema de archivos root UFS a un sistema de archivos root ZFS – Lasconfiguraciones siguientes de roots de zonas son compatibles:■ En un directorio del sistema de archivos root UFS■ En el subdirectorio de un punto de montaje en el sistema de archivos root UFS■ Sistema de archivos root UFS con un root de zona (como se ha descrito anteriormente) y

una agrupación que no es root ZFS con root de zona

La siguiente configuración de zona/UFS no se admite:■ Sistema de archivos root UFS que tiene una root de zona como punto de montaje

■ Migración o actualización de un sistema de archivos root ZFS – Las configuracionessiguientes de roots de zonas son compatibles:

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Guía de administración de Solaris ZFS • Octubre de 2009148

Page 149: Guía de administración de Solaris ZFS

■ En un conjunto de datos de la agrupación root ZFS. En algunos casos, si un conjunto dedatos de la root de zona no se proporciona antes de la utilización de Modernizaciónautomática, ésta creará un conjunto de datos para la root de zona (zoneds).

■ En un subdirectorio del sistema de archivos root ZFS■ En un conjunto de datos fuera del sistema de archivos root ZFS■ En el subdirectorio de un conjunto de datos fuera del sistema de archivos root ZFS■ En un conjunto de datos de la agrupación no root. Por ejemplo, zonepool/zones es un

conjunto de datos que contiene directorios root de zona y rpool contiene el entorno dearranque ZFS.

zonepool

zonepool/zones

zonepool/zones/myzone

rpool

rpool/ROOT

rpool/ROOT/myBE

La utilización de Modernización automática toma una instantánea y clona las zonas dezonepool y el entorno de arranque rpool si utiliza esta sintaxis:

# lucreate -n newBE

El entorno de arranque newBE de rpool/ROOT/newBE se crea y, si está activado, ofreceacceso a los componentes de zonepool.

En el ejemplo anterior, si /zonepool/zones era un directorio, y no un conjunto de datosindependiente, Modernización automática podría migrarlos como componentes de laagrupación root, rpool.

■ Información de actualización o migración de zonas con zonas para UFS y ZFS – Reviselas siguientes consideraciones que pueden afectar a una migración o una actualización de unentorno ZFS y UFS:■ Si ha configurado las zonas, tal y como se describe en “Uso de Modernización

automática de Solaris para migrar o actualizar un sistema con zonas (Solaris 10 10/08) ”en la página 142 en la versión Solaris 10 10/08 y ha actualizado la versión a Solaris 105/09 o Solaris 10 10/09, debería poder llevar a cabo la migración a un sistema de archivosroot ZFS o utilizar Modernización automática de Solaris para actualizar la versión aSolaris 10 5/09 o Solaris 10 10/09.

■ No cree roots de zonas en directorios anidados, por ejemplo, zones/zone1 ozones/zone1/zone2, ya que de lo contrario el montaje podría fallar en el momento delarranque.

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 149

Page 150: Guía de administración de Solaris ZFS

▼ Cómo crear un entorno de arranque ZFS con un sistema de archivosroot ZFS y una root de zona (Solaris 10 5/09 o Solaris 10 10/09)Utilice este procedimiento una vez que haya finalizado la instalación inicial de Solaris 10 5/09 oSolaris 10 10/09 para crear un sistema de archivos root ZFS o después de haber utilizado lafunción luupgrade para actualizar un sistema de archivos root ZFS a la versión Solaris 10 5/09 oSolaris 10 10/09. Se puede aplicar una actualización o un parche a un entorno de arranque ZFSque se cree mediante este procedimiento.

En los pasos que aparecen a continuación, el sistema Solaris 10 10/09 de ejemplo tiene unsistema de archivos root ZFS y un conjunto de datos root de zonas en /rpool/zones. Se crea unentorno de arranque ZFS denominado zfs10092BE al que se puede aplicar una actualización oun parche.

Revise los sistemas de archivos ZFS existentes. Por ejemplo:# zfs list

NAME USED AVAIL REFER MOUNTPOINT

rpool 7.26G 59.7G 98K /rpool

rpool/ROOT 4.64G 59.7G 21K legacy

rpool/ROOT/zfs1009BE 4.64G 59.7G 4.64G /

rpool/dump 1.00G 59.7G 1.00G -

rpool/export 44K 59.7G 23K /export

rpool/export/home 21K 59.7G 21K /export/home

rpool/swap 1G 60.7G 16K -

rpool/zones 633M 59.7G 633M /rpool/zones

Asegúrese de que las zonas se hayan instalado y arrancado. Por ejemplo:# zoneadm list -cv

ID NAME STATUS PATH BRAND IP

0 global running / native shared

2 zfszone running /rpool/zones native shared

Cree el entorno de arranque ZFS. Por ejemplo:# lucreate -n zfs10092BE

Analyzing system configuration.

Comparing source boot environment <zfs1009BE> file systems with the file

system(s) you specified for the new boot environment. Determining which

file systems should be in the new boot environment.

Updating boot environment description database on all BEs.

Updating system configuration files.

Creating configuration for boot environment <zfs10092BE>.

Source boot environment is <zfs1009BE>.

Creating boot environment <zfs10092BE>.

Cloning file systems from boot environment <zfs1009BE> to create boot environment <zfs10092BE>.

Creating snapshot for <rpool/ROOT/zfs1009BE> on <rpool/ROOT/zfs1009BE@zfs10092BE>.

1

2

3

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Guía de administración de Solaris ZFS • Octubre de 2009150

Page 151: Guía de administración de Solaris ZFS

Creating clone for <rpool/ROOT/zfs1009BE@zfs10092BE> on <rpool/ROOT/zfs10092BE>.

Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs10092BE>.

Creating snapshot for <rpool/zones> on <rpool/zones@zfs10092BE>.

Creating clone for <rpool/zones@zfs10092BE> on <rpool/zones-zfs10092BE>.

Population of boot environment <zfs10092BE> successful.

Creation of boot environment <zfs10092BE> successful.

Active el entorno de arranque ZFS.# lustatus

Boot Environment Is Active Active Can Copy

Name Complete Now On Reboot Delete Status

-------------------------- -------- ------ --------- ------ ----------

zfs1009BE yes yes yes no -

zfs10092BE yes no no yes -

# luactivate zfs10092BE

A Live Upgrade Sync operation will be performed on startup of boot environment <zfs10092BE>.

.

.

.

# init 6

Confirme que las zonas y los sistemas de archivos ZFS se crean en el nuevo entorno de arranque.Por ejemplo:# zfs list

NAME USED AVAIL REFER MOUNTPOINT

rpool 7.38G 59.6G 98K /rpool

rpool/ROOT 4.72G 59.6G 21K legacy

rpool/ROOT/zfs10092BE 4.72G 59.6G 4.64G /

rpool/ROOT/zfs10092BE@zfs10092BE 74.0M - 4.64G -

rpool/ROOT/zfs1009BE 5.45M 59.6G 4.64G /.alt.zfs1009BE

rpool/dump 1.00G 59.6G 1.00G -

rpool/export 44K 59.6G 23K /export

rpool/export/home 21K 59.6G 21K /export/home

rpool/swap 1G 60.6G 16K -

rpool/zones 17.2M 59.6G 633M /rpool/zones

rpool/zones-zfs1009BE 653M 59.6G 633M /rpool/zones-zfs1009BE

rpool/zones-zfs1009BE@zfs10092BE 19.9M - 633M -

# zoneadm list -cv

ID NAME STATUS PATH BRAND IP

0 global running / native shared

- zfszone installed /rpool/zones native shared

4

5

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 151

Page 152: Guía de administración de Solaris ZFS

▼ Cómo aplicar un parche o una actualización a un sistema de archivosroot ZFS con roots de zonas (Solaris 10 5/09 o Solaris 10 10/09)Efectúe los pasos siguientes cuando deba aplicar parches o actualizaciones a un sistema dearchivos root ZFS con roots de zonas en la versión Solaris 10 5/09 o Solaris 10 10/09. Lasactualizaciones pueden consistir en una actualización del sistema o la aplicación de parches.

En los pasos siguientes, zfs10093BE es el nombre de ejemplo del entorno de arranque al que seha aplicado una actualización o parche.

Revise los sistemas de archivos ZFS existentes. Por ejemplo:# zfs list

NAME USED AVAIL REFER MOUNTPOINT

rpool 7.38G 59.6G 100K /rpool

rpool/ROOT 4.72G 59.6G 21K legacy

rpool/ROOT/zfs10092BE 4.72G 59.6G 4.64G /

rpool/ROOT/zfs10092BE@zfs10092BE 75.0M - 4.64G -

rpool/ROOT/zfs1009BE 5.46M 59.6G 4.64G /

rpool/dump 1.00G 59.6G 1.00G -

rpool/export 44K 59.6G 23K /export

rpool/export/home 21K 59.6G 21K /export/home

rpool/swap 1G 60.6G 16K -

rpool/zones 22.9M 59.6G 637M /rpool/zones

rpool/zones-zfs1009BE 653M 59.6G 633M /rpool/zones-zfs1009BE

rpool/zones-zfs1009BE@zfs10092BE 20.0M - 633M -

Asegúrese de que las zonas se hayan instalado y arrancado. Por ejemplo:# zoneadm list -cv

ID NAME STATUS PATH BRAND IP

0 global running / native shared

5 zfszone running /rpool/zones native shared

Cree el entorno de arranque ZFS al que aplicar actualizaciones o parches. Por ejemplo:# lucreate -n zfs10093BE

Analyzing system configuration.

Comparing source boot environment <zfs10092BE> file systems with the file

system(s) you specified for the new boot environment. Determining which

file systems should be in the new boot environment.

Updating boot environment description database on all BEs.

Updating system configuration files.

Creating configuration for boot environment <zfs10093BE>.

Source boot environment is <zfs10092BE>.

Creating boot environment <zfs10093BE>.

Cloning file systems from boot environment <zfs10092BE> to create boot environment <zfs10093BE>.

Creating snapshot for <rpool/ROOT/zfs10092BE> on <rpool/ROOT/zfs10092BE@zfs10093BE>.

Creating clone for <rpool/ROOT/zfs10092BE@zfs10093BE> on <rpool/ROOT/zfs10093BE>.

1

2

3

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Guía de administración de Solaris ZFS • Octubre de 2009152

Page 153: Guía de administración de Solaris ZFS

Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs10093BE>.

Creating snapshot for <rpool/zones> on <rpool/zones@zfs10093BE>.

Creating clone for <rpool/zones@zfs10093BE> on <rpool/zones-zfs10093BE>.

Population of boot environment <zfs10093BE> successful.

Creation of boot environment <zfs10093BE> successful.

Seleccione una de las opciones siguientes para actualizar el sistema o aplicar parches al nuevoentorno de arranque.

■ Actualice el sistema. Por ejemplo:

# luupgrade -u -n zfs10093BE -s /net/install/export/s10uX/combined.s10s_uXwos/latest

La opción -s es la ubicación de un medio de instalación de Solaris.

Este proceso puede ser muy largo.

Para obtener un ejemplo completo del proceso luupgrade, consulte el Ejemplo 5–6.■ Aplique parches al nuevo entorno de arranque. Por ejemplo:

# luupgrade -t -n zfs10093BE -t -s /patchdir patch-id-02 patch-id-04

Active el nuevo entorno de arranque una vez se hayan completado las actualizaciones.# lustatus

Boot Environment Is Active Active Can Copy

Name Complete Now On Reboot Delete Status

-------------------------- -------- ------ --------- ------ ----------

zfs1009BE yes no no yes -

zfs10092BE yes yes yes no -

zfs10093BE yes no no yes -

# luactivate zfs10093BE

A Live Upgrade Sync operation will be performed on startup of boot environment <zfs10093BE>.

.

.

.

Arranque desde el entorno de arranque activado de nuevo.# init 6

Actualización de un sistema de archivos root ZFS con root de zonas a un sistema dearchivos root ZFS de Solaris 10 10/09

En este ejemplo, un entorno de arranque ZFS (zfs509BE), creado en un sistema Solaris 10 5/09con un sistema de archivos root ZFS y root de zonas en una agrupación no root, se actualiza a la

4

5

6

Ejemplo 5–6

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 153

Page 154: Guía de administración de Solaris ZFS

versión Solaris 10 10/09. Este proceso puede durar mucho tiempo. A continuación, el entornode arranque actualizado (zfs10092BE) se activa. Asegúrese de que las zonas se hayan instalado yarrancado antes de intentar la migración.

En este ejemplo, la agrupación zonepool, el conjunto de datos /zonepool/zones, así comozfszone se crean de este modo:

# zpool create zonepool mirror c2t1d0 c2t5d0

# zfs create zonepool/zones

# chmod 700 zonepool/zones

# zonecfg -z zfszone

zfszone: No such zone configured

Use ’create’ to begin configuring a new zone.

zonecfg:zfszone> create

zonecfg:zfszone> set zonepath=/zonepool/zones

zonecfg:zfszone> verify

zonecfg:zfszone> exit

# zoneadm -z zfszone install

cannot create ZFS dataset zonepool/zones: dataset already exists

Preparing to install zone <zfszone>.

Creating list of files to copy from the global zone.

Copying <8960> files to the zone.

.

.

.

# zoneadm list -cv

ID NAME STATUS PATH BRAND IP

0 global running / native shared

2 zfszone running /zonepool/zones native shared

# lucreate -n zfs1009BE

.

.

.

# luactivate zfs1009BE

.

.

.

# init 6

# luupgrade -u -n zfs1009BE -s /net/install/export/s10u8/combined.s10s_u8wos/latest

40410 blocks

miniroot filesystem is <lofs>

Mounting miniroot at </net/system/export/s10u8/latest/Solaris_10/Tools/Boot>

Validating the contents of the media </net/system/export/s10u8//latest>.

The media is a standard Solaris media.

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Guía de administración de Solaris ZFS • Octubre de 2009154

Page 155: Guía de administración de Solaris ZFS

The media contains an operating system upgrade image.

The media contains <Solaris> version <10>.

Constructing upgrade profile to use.

Locating the operating system upgrade program.

Checking for existence of previously scheduled Live Upgrade requests.

Creating upgrade profile for BE <zfs1009BE>.

Determining packages to install or upgrade for BE <zfs1009BE>.

Performing the operating system upgrade of the BE <zfs1009BE>.

CAUTION: Interrupting this process may leave the boot environment unstable

or unbootable.

Upgrading Solaris: 100% completed

Installation of the packages from this media is complete.

Updating package information on boot environment <zfs1009BE>.

Package information successfully updated on boot environment <zfs1009BE>.

Adding operating system patches to the BE <zfs1009BE>.

The operating system patch installation is complete.

INFORMATION: The file </var/sadm/system/logs/upgrade_log> on boot

environment <zfs1009BE> contains a log of the upgrade operation.

INFORMATION: The file </var/sadm/system/data/upgrade_cleanup> on boot

environment <zfs1009BE> contains a log of cleanup operations required.

INFORMATION: Review the files listed above. Remember that all of the files

are located on boot environment <zfs1009BE>. Before you activate boot

environment <zfs1009BE>, determine if any additional system maintenance is

required or if additional media of the software distribution must be

installed.

The Solaris upgrade of the boot environment <zfs1009BE> is complete.

Installing failsafe

Failsafe install is complete.

# luactivate zfs1009BE

# init 6

# lustatus

Boot Environment Is Active Active Can Copy

Name Complete Now On Reboot Delete Status

-------------------------- -------- ------ --------- ------ ----------

zfs509BE yes no no yes -

zfs1009BE yes yes yes no -

# zoneadm list -cv

ID NAME STATUS PATH BRAND IP

0 global running / native shared

- zfszone installed /zonepool/zones native shared

▼ Cómo migrar un sistema de archivos root UFS con root de zonas a unsistema de archivos root ZFS (Solaris 10 5/09 o Solaris 10 10/09)Utilice este procedimiento para actualizar un sistema con un sistema de archivos root UFS yuna root de zonas a la versión Solaris 10 5/09 o Solaris 10 10/09. A continuación, utiliceModernización automática para crear un entorno de arranque ZFS.

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 155

Page 156: Guía de administración de Solaris ZFS

En los pasos que aparecen a continuación, el nombre del entorno de arranque UFS de ejemploes c0t1d0s0, la root de zonas UFS es zonepool/zfszone y el entorno de arranque root ZFS eszfs1009.

Actualice el sistema a la versión Solaris 10 5/09 o Solaris 10 10/09 si se ejecuta una versión deSolaris 10 anterior.Para obtener más información sobre cómo actualizar un sistema que ejecuta la versión Solaris10, consulte Guía de instalación de Solaris 10: Modernización automática de Solaris yplanificación de la modernización.

Cree la agrupación root.Si necesita información sobre los requisitos de agrupaciones root, consulte “Requisitos deinstalación de Solaris y de Modernización automática de Solaris para admitir ZFS”en la página 117.

Confirme que se hayan arrancado las zonas desde el entorno de arranque UFS. Por ejemplo:# zoneadm list -cv

ID NAME STATUS PATH BRAND IP

0 global running / native shared

2 zfszone running /zonepool/zones native shared

Cree el nuevo entorno de arranque ZFS. Por ejemplo:# lucreate -c c1t1d0s0 -n zfs1009 -p rpool

Este comando establece conjuntos de datos en la agrupación root del nuevo entorno dearranque y copia el entorno de arranque actual (zonas incluidas) en esos conjuntos de datos.

Active el nuevo entorno de arranque ZFS. Por ejemplo:# lustatus

Boot Environment Is Active Active Can Copy

Name Complete Now On Reboot Delete Status

-------------------------- -------- ------ --------- ------ ----------

c1t1d0s0 yes yes yes no -

zfs1009BE yes no no yes -

# luactivate zfs1009BE

A Live Upgrade Sync operation will be performed on startup of boot environment <zfs1009BE>.

.

.

.

Reinicie el sistema.# init 6

1

2

3

4

5

6

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Guía de administración de Solaris ZFS • Octubre de 2009156

Page 157: Guía de administración de Solaris ZFS

Confirme que las zonas y los sistemas de archivos ZFS estén creados en el nuevo entorno dearranque. Por ejemplo:# zfs list

NAME USED AVAIL REFER MOUNTPOINT

rpool 6.17G 60.8G 98K /rpool

rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT

rpool/ROOT/zfs1009BE 4.67G 60.8G 4.67G /

rpool/dump 1.00G 60.8G 1.00G -

rpool/swap 517M 61.3G 16K -

zonepool 634M 7.62G 24K /zonepool

zonepool/zones 270K 7.62G 633M /zonepool/zones

zonepool/zones-c1t1d0s0 634M 7.62G 633M /zonepool/zones-c1t1d0s0

zonepool/zones-c1t1d0s0@zfs1009BE 262K - 633M -

# zoneadm list -cv

ID NAME STATUS PATH BRAND IP

0 global running / native shared

- zfszone installed /zonepool/zones native shared

Migración de un sistema de archivos root UFS con root de zonas a un sistema dearchivos root ZFS

En este ejemplo, un sistema Solaris 10 10/09 con una root UFS y una root de zonas(/uzone/ufszone), así como una agrupación que no es root ZFS (pool) y una root de zonas(/pool/zfszone) se migra a un sistema de archivos root ZFS. Asegúrese de que la agrupaciónroot ZFS se haya creado y de que las zonas se hayan instalado y arrancado antes de intentar lamigración.

# zoneadm list -cv

ID NAME STATUS PATH BRAND IP

0 global running / native shared

2 ufszone running /uzone/ufszone native shared

3 zfszone running /pool/zones/zfszone native shared

# lucreate -c ufs1009BE -n zfs1009BE -p rpool

Analyzing system configuration.

No name for current boot environment.

Current boot environment is named <ufs509BE>.

Creating initial configuration for primary boot environment <ufs509BE>.

The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID.

PBE configuration successful: PBE name <ufs1009BE> PBE Boot Device </dev/dsk/c1t0d0s0>.

Comparing source boot environment <ufs1009BE> file systems with the file

system(s) you specified for the new boot environment. Determining which

file systems should be in the new boot environment.

Updating boot environment description database on all BEs.

Updating system configuration files.

The device </dev/dsk/c1t1d0s0> is not a root device for any boot environment; cannot get BE ID.

7

Ejemplo 5–7

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 157

Page 158: Guía de administración de Solaris ZFS

Creating configuration for boot environment <zfs1009BE>.

Source boot environment is <ufs1009BE>.

Creating boot environment <zfs1009BE>.

Creating file systems on boot environment <zfs1009BE>.

Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/zfs1009BE>.

Populating file systems on boot environment <zfs1009BE>.

Checking selection integrity.

Integrity check OK.

Populating contents of mount point </>.

Copying.

Creating shared file system mount points.

Copying root of zone <ufszone> to </.alt.tmp.b-EYd.mnt/uzone/ufszone>.

Creating snapshot for <pool/zones/zfszone> on <pool/zones/zfszone@zfs1009BE>.

Creating clone for <pool/zones/zfszone@zfs1009BE> on <pool/zones/zfszone-zfs1009BE>.

Creating compare databases for boot environment <zfs1009BE>.

Creating compare database for file system </rpool/ROOT>.

Creating compare database for file system </>.

Updating compare databases on boot environment <zfs1009BE>.

Making boot environment <zfs1009BE> bootable.

Creating boot_archive for /.alt.tmp.b-DLd.mnt

updating /.alt.tmp.b-DLd.mnt/platform/sun4u/boot_archive

Population of boot environment <zfs1009BE> successful.

Creation of boot environment <zfs1009BE> successful.

# lustatus

Boot Environment Is Active Active Can Copy

Name Complete Now On Reboot Delete Status

-------------------------- -------- ------ --------- ------ ----------

ufs1009BE yes yes yes no -

zfs1009BE yes no no yes -

# luactivate zfs1009BE

.

.

.

# init 6

.

.

.

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

pool 628M 66.3G 19K /pool

pool/zones 628M 66.3G 20K /pool/zones

pool/zones/zfszone 75.5K 66.3G 627M /pool/zones/zfszone

pool/zones/zfszone-ufs1009BE 628M 66.3G 627M /pool/zones/zfszone-ufs1009BE

pool/zones/zfszone-ufs1009BE@zfs1009BE 98K - 627M -

rpool 7.76G 59.2G 95K /rpool

rpool/ROOT 5.25G 59.2G 18K /rpool/ROOT

rpool/ROOT/zfs1009BE 5.25G 59.2G 5.25G /

Migración de un sistema de archivos root UFS a uno ZFS (Modernización automática de Solaris)

Guía de administración de Solaris ZFS • Octubre de 2009158

Page 159: Guía de administración de Solaris ZFS

rpool/dump 2.00G 59.2G 2.00G -

rpool/swap 517M 59.7G 16K -

# zoneadm list -cv

ID NAME STATUS PATH BRAND IP

0 global running / native shared

- ufszone installed /uzone/ufszone native shared

- zfszone installed /pool/zones/zfszone native shared

Compatibilidad de ZFS con dispositivos de intercambio yvolcado

Durante una instalación inicial o la ejecución de Modernización automática de Solaris desde unsistema de archivos UFS, en la agrupación root ZFS se crea un área de intercambio en unvolumen ZFS. Por ejemplo:

# swap -l

swapfile dev swaplo blocks free

/dev/zvol/dsk/mpool/swap 253,3 16 8257520 8257520

Durante una instalación inicial o la ejecución de Modernización automática de Solaris desde unsistema de archivos UFS, en la agrupación root ZFS se crea un dispositivo de volcado en unvolumen ZFS. Después de configurarse, no hace falta administrar el dispositivo de volcado. Porejemplo:

# dumpadm

Dump content: kernel pages

Dump device: /dev/zvol/dsk/mpool/dump (dedicated)

Savecore directory: /var/crash/t2000

Savecore enabled: yes

Para obtener información sobre el tamaño de los volúmenes de intercambio y volcado creadospor los programas de instalación, consulte “Requisitos de instalación de Solaris y deModernización automática de Solaris para admitir ZFS” en la página 117.

Tanto el tamaño del volumen de intercambio como el tamaño del volumen de volcado sepueden ajustar durante y después de la instalación. Para obtener más información, consulte“Ajuste del tamaño de los dispositivos de intercambio y volcado de ZFS” en la página 160.

Al trabajar con dispositivos de intercambio y volcado de ZFS, debe tener en cuenta losproblemas siguientes:

■ Para el área de intercambio y los dispositivos de volcado deben utilizarse volúmenes ZFSdistintos.

Compatibilidad de ZFS con dispositivos de intercambio y volcado

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 159

Page 160: Guía de administración de Solaris ZFS

■ En la actualidad, no es posible utilizar un archivo de intercambio en un sistema de archivosZFS.

■ Debido a CR 6724860, debe ejecutar savecore manualmente para guardar un volcado dememoria debido a cancelaciones en la ejecución de un programa al utilizar un volumen devolcado ZFS.

■ Si tiene que cambiar el área de intercambio o el dispositivo de volcado después de instalar oactualizar el sistema, utilice los comandos swap y dumpadm como en las versiones anterioresde Solaris. Si desea más información, consulte el Capítulo 20, “Configuring Additional SwapSpace (Tasks)” de System Administration Guide: Devices and File Systems, y el Capítulo 17,“Managing System Crash Information (Tasks)” de System Administration Guide: AdvancedAdministration.

Ajuste del tamaño de los dispositivos de intercambio yvolcado de ZFSDebido a las diferencias en la forma en que una instalación root ZFS establece el tamaño de losdispositivos de intercambio y volcado, podría ser que tuviera que ajustar el tamaño de dichosdispositivos antes, durante o después de la instalación.

■ El rendimiento del volumen de volcado ZFS es mucho mejor cuando el volumen se crea conun tamaño de bloque de 128 KB.

■ Durante una instalación inicial puede ajustar el tamaño de los volúmenes de intercambio yvolcado. Para obtener más información, consulte Ejemplo 5–1.

■ Antes de ejecutar Modernización automática de Solaris puede crear y establecer el tamañode los volúmenes de intercambio y volcado. Por ejemplo:1. Cree la agrupación de almacenamiento.

# zpool create rpool mirror c0t0d0s0 c0t1d0s0

2. Cree el dispositivo de volcado.

# zfs create -V 2G rpool/dump

3. Seleccione una de las opciones siguientes para crear el área de intercambio:■ En un sistema basado en SPARC, cree un área de intercambio. Establezca el tamaño

de bloque en 8 Kbytes.

# zfs create -V 2G -b 8k rpool/swap

■ En un sistema basado en x86, cree un área de intercambio. Establezca el tamaño debloque en 4 Kbytes.

# zfs create -V 2G -b 4k rpool/swap

Compatibilidad de ZFS con dispositivos de intercambio y volcado

Guía de administración de Solaris ZFS • Octubre de 2009160

Page 161: Guía de administración de Solaris ZFS

4. Se debe activar el área de intercambio cuando un nuevo dispositivo de intercambio seagrega o cambia.

Modernización automática de Solaris no cambia el tamaño de volúmenes de intercambio yvolcado ya establecidos.

■ Puede volver a configurar la propiedad volsize del dispositivo de volcado tras haberinstalado un sistema. Por ejemplo:

# zfs set volsize=2G rpool/dump

# zfs get volsize rpool/dump

NAME PROPERTY VALUE SOURCE

rpool/dump volsize 2G -

■ Puede cambiar el tamaño del volumen de intercambio pero hasta que CR 6765386 estéintegrado, es mejor quitar el dispositivo de intercambio en primer lugar. A continuación,vuelva a crearlo. Por ejemplo:

# swap -d /dev/zvol/dsk/rpool/swap

# zfs volsize=2G rpool/swap

# swap -a /dev/zvol/dsk/rpool/swap

Para obtener más información acerca de cómo quitar un dispositivo de intercambio en unsistema activo, consulte este sitio:

http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide

■ Puede ajustar el tamaño de los volúmenes de intercambio y volcado de un perfil deJumpStart mediante una sintaxis de perfil similar a la siguiente:

install_type initial_install

cluster SUNWCXall

pool rpool 16g 2g 2g c0t0d0s0

En este perfil, las entradas 2g y 2g establecen el tamaño del área de intercambio y eldispositivo de volcado en 2 GB.

■ Si necesita más espacio de intercambio en un sistema ya instalado, simplemente agregueotro volumen de intercambio. Por ejemplo:

# zfs create -V 2G rpool/swap2

A continuación, active el nuevo volumen de intercambio. Por ejemplo:

# swap -a /dev/zvol/dsk/rpool/swap2

# swap -l

swapfile dev swaplo blocks free

/dev/zvol/dsk/rpool/swap 256,1 16 1058800 1058800

/dev/zvol/dsk/rpool/swap2 256,3 16 4194288 4194288

Compatibilidad de ZFS con dispositivos de intercambio y volcado

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 161

Page 162: Guía de administración de Solaris ZFS

Arranque desde un sistema de archivos root ZFSLos sistemas basados en SPARC y x86 utilizan el nuevo estilo de arrancar con un contenedor dearranque, que consiste en una imagen de sistema de archivos con los archivos que se necesitanpara arrancar. Si se arranca desde un sistema de archivos root ZFS, los nombres de ruta delcontenedor y el archivo de núcleo se resuelven en el sistema de archivos root que se seleccionapara arrancar.

Si el sistema se arranca para instalar, se utiliza un disco RAM para el sistema de archivos rootdurante todo el proceso de instalación. De este modo, no hace falta arrancar desde el medioextraíble.

Si efectúa una instalación inicial de Solaris 10 10/08 o Solaris 10 5/09, o bien si empleaModernización automática de Solaris para migrar a un sistema de archivos root ZFS en estaversión, puede arrancar desde un sistema de archivos root ZFS tanto en sistemas basados enSPARC como en x86.

El arranque desde un sistema de archivos ZFS es diferente de un sistema de archivos UFSporque, con ZFS, un especificador de dispositivos identifica una agrupación dealmacenamiento, no un solo sistema de archivos root. Una agrupación de almacenamientopuede contener varios conjuntos de datos que se pueden arrancar o sistemas de archivos rootZFS. Si se arranca desde ZFS, debe especificar un dispositivo de arranque y un sistema dearchivos root en la agrupación identificada por el dispositivo de arranque.

De forma predeterminada, el conjunto de datos seleccionado para arrancar es el que quedaidentificado por la propiedad bootfs de la agrupación. Esta selección predeterminada se puedemodificar optando por otro conjunto de datos que se pueden arrancar que se incluya en elcomando boot -Z.

Arranque desde un disco alternativo en unaagrupación root ZFS duplicadaPuede crear una agrupación root ZFS duplicada al instalar el sistema; también puede vincularun disco para crear una agrupación root ZFS duplicada tras la instalación. Examine lossiguientes problemas conocidos relativos a agrupaciones root ZFS duplicadas:

■ CR 6668666: debe instalar la información de arranque en los discos vinculadosadicionalmente mediante los comandos installboot o installgrub si desea habilitar elarranque en los otros discos de la duplicación. Si crea una agrupación root ZFS con elmétodo de instalación inicial, este paso no es necesario. Por ejemplo, si c0t1d0s0 era elsegundo disco agregado a la duplicación, el comando installboot o installgrub será deeste modo:

Arranque desde un sistema de archivos root ZFS

Guía de administración de Solaris ZFS • Octubre de 2009162

Page 163: Guía de administración de Solaris ZFS

sparc# installboot -F zfs /usr/platform/‘uname -i‘/lib/fs/zfs/bootblk /dev/rdsk/c0t1d0s0

x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0

■ Puede arrancar desde distintos dispositivos en una agrupación root ZFS duplicada. Según laconfiguración de hardware, quizá deba actualizar la PROM o el BIOS para especificar otrodispositivo de arranque.Por ejemplo, puede arrancar desde cualquier disco (c1t0d0s0 o c1t1d0s0) de estaagrupación.

# zpool status

pool: rpool

state: ONLINE

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

rpool ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t0d0s0 ONLINE 0 0 0

c1t1d0s0 ONLINE 0 0 0

En un sistema basado en SPARC, especifique el disco alternativo en el indicador ok.

ok boot /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1

Tras rearrancar el sistema, confirme el dispositivo de arranque activo. Por ejemplo:

SPARC# prtconf -vp | grep bootpath

bootpath: ’/pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1,0:a’

En un sistema basado en x86, utilice una sintaxis similar a la siguiente:

x86# prtconf -v|sed -n ’/bootpath/,/value/p’

name=’bootpath’ type=string items=1

value=’/pci@0,0/pci8086,25f8@4/pci108e,286@0/disk@0,0:a’

■ En un sistema basado en x86, seleccione un disco alternativo en la agrupación root ZFSduplicada en el pertinente menú BIOS.

Arranque de un sistema de archivos root ZFS en unsistema basado en SPARCEn un sistema basado en SPARC con varios entornos de arranque ZFS, puede arrancar desdecualquier entorno de arranque mediante el comando luactivate. Después de activar el

Arranque desde un sistema de archivos root ZFS

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 163

Page 164: Guía de administración de Solaris ZFS

entorno de arranque, puede utilizar el comando -L de arranque para obtener una lista deentornos de arranque cuando el dispositivo de arranque contenga una agrupación dealmacenamiento ZFS.

Durante el proceso de instalación y la ejecución de Modernización automática de Solaris, elsistema de archivos root ZFS se designa automáticamente mediante la propiedad bootfs.

En una agrupación puede haber varios conjuntos de datos que se pueden arrancar. De formapredeterminada, la entrada del conjunto de datos que se pueden arrancar del archivo/nombre_agrupación/boot/menu.lst se identifica mediante la propiedad bootfs de laagrupación. Ahora bien, una entrada de menu.lstpuede contener un comando bootfs, queespecifica un conjunto de datos alternativo de la agrupación. De esta manera, el archivomenu.lst puede contener entradas de varios sistemas de archivos root dentro de la agrupación.

Si un sistema se instala con un sistema de archivos root ZFS o se migra a un sistema de archivosroot ZFS, al archivo menu.lst se agrega una entrada similar a la siguiente:

title zfs1009BE

bootfs rpool/ROOT/zfs1009BE

title zfs509BE

bootfs rpool/ROOT/zfs509BE

Al crearse un entorno de arranque, se actualiza el archivo menu.lst automáticamente.

En un sistema basado en SPARC hay dos nuevas opciones de arranque:

■ Puede utilizar el comando de arranque -L para obtener una lista de conjuntos de datos quese puede arrancar en una agrupación ZFS. A continuación, puede seleccionar uno de losconjuntos de datos que se puede arrancar que aparecen en la lista. Se muestran instruccionespormenorizadas para arrancar dicho conjunto de datos. El conjunto de datos seleccionadose puede arrancar siguiendo esas instrucciones. Esta opción sólo está disponible si eldispositivo de arranque dispone de una agrupación de almacenamiento ZFS.

■ Utilice el comando de arranque -Z conjunto_datos para arrancar un determinado conjuntode datos ZFS.

EJEMPLO 5–8 Arranque desde un determinado entorno de arranque ZFS

Si dispone de varios entornos de arranque ZFS en una agrupación de almacenamiento ZFS en eldispositivo de arranque del sistema, puede utilizar el comando luactivate para designar unentorno de arranque predeterminado.

Por ejemplo, los siguientes entornos de arranque ZFS están disponibles como se describe en lasalida de lustatus:

# lustatus

Boot Environment Is Active Active Can Copy

Arranque desde un sistema de archivos root ZFS

Guía de administración de Solaris ZFS • Octubre de 2009164

Page 165: Guía de administración de Solaris ZFS

EJEMPLO 5–8 Arranque desde un determinado entorno de arranque ZFS (Continuación)

Name Complete Now On Reboot Delete Status

-------------------------- -------- ------ --------- ------ ----------

zfs1009BE yes yes yes no -

zfs509BE yes no no yes -

Si dispone de varios entornos de arranque ZFS en el sistema basado en SPARC, puede utilizar elcomando boot -L. Por ejemplo:

ok boot -L

Rebooting with command: boot -L

Boot device: /pci@8,600000/SUNW,qlc@2/fp@0,0/disk@w500000e01082bbd1,0:a File and args: -L

1 zfs1009BE

2 zfs509BE

Select environment to boot: [ 1 - 2 ]: 2

ok boot -Z rpool/ROOT/zfs509BE

EJEMPLO 5–9 SPARC: Arranque de un sistema de archivos ZFS en modo a prueba de anomalías

En un sistema basado en SPARC, puede arrancar desdel el contenedor a prueba de anomalíasubicado en /platform/‘uname -i‘/failsafe como se muestra a continuación. Por ejemplo:

ok boot -F failsafe

Si desea arrancar un contenedor a prueba de anomalías desde un determinado conjunto dedatos que se puede arrancar, utilice una sintaxis similar a la siguiente:

ok boot -Z rpool/ROOT/zfs1009BE -F failsafe

Arranque de un sistema de archivos root ZFS en unsistema basado en x86Las entradas siguientes se agregan al archivo /pool-name /boot/grub/menu.lst durante elproceso de instalación o al ejecutarse Modernización automática de Solaris para arrancar ZFSde forma automática:

title Solaris 10 10/09 s10x_u8wos_07b X86

findroot (pool_rpool,0,a)

kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS

module /platform/i86pc/boot_archive

title Solaris failsafe

findroot (pool_rpool,0,a)

Arranque desde un sistema de archivos root ZFS

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 165

Page 166: Guía de administración de Solaris ZFS

kernel /boot/multiboot kernel/unix -s -B console=ttya

module /boot/x86.miniroot-safe

Si el dispositivo que GRUB identifica como dispositivo de arranque contiene una agrupación dealmacenamiento ZFS, el archivo menu.lst se utiliza para crear el menú GRUB.

En el caso de un sistema basado en x86 con varios entornos de arranque ZFS, el entorno dearranque se puede seleccionar en el menú GRUB. Si el sistema de archivos root correspondientea esta entrada de menú es un conjunto de datos ZFS, se agrega la opción siguiente.

-B $ZFS-BOOTFS

EJEMPLO 5–10 x86: Arranque de un sistema de archivos ZFS

Si se arranca desde un sistema de archivos ZFS, el parámetro -B $ZFS-BOOTFS especifica eldispositivo root en la línea kernel o module en la entrada del menú GRUB. GRUB pasa alnúcleo este valor, similar a todos los parámetros especificados por la opción -B. Por ejemplo:

title Solaris 10 10/09 s10x_u8wos_07b X86

findroot (pool_rpool,0,a)

kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS

module /platform/i86pc/boot_archive

title Solaris failsafe

findroot (pool_rpool,0,a)

kernel /boot/multiboot kernel/unix -s -B console=ttya

module /boot/x86.miniroot-safe

EJEMPLO 5–11 x86: Arranque de un sistema de archivos ZFS en modo a prueba de anomalías

El contenedor a prueba de anomalías de x86 es /boot/x86.miniroot-safe y se puede arrancarseleccionando la entrada a prueba de anomalías de Solaris en el menú GRUB. Por ejemplo:

title Solaris failsafe

findroot (pool_rpool,0,a)

kernel /boot/multiboot kernel/unix -s -B console=ttya

module /boot/x86.miniroot-safe

Resolución de problemas de montaje de ZFS queimpiden arrancar correctamenteEl uso del comando luactivate es la mejor forma de cambiar el entorno de arranque activo. Siel entorno de arranque activo no puede arrancarse, debido a un parche incorrecto o a un errorde configuración, la única forma de arrancar otro entorno de arranque es seleccionar dicho

Arranque desde un sistema de archivos root ZFS

Guía de administración de Solaris ZFS • Octubre de 2009166

Page 167: Guía de administración de Solaris ZFS

entorno en el momento de arrancar. Puede seleccionar otro entorno de arranque en el menúGRUB en un sistema basado en x86, o arrancarlo explícitamente desde la PROM de un sistemabasado en SPARC.

Debido a un error en Modernización automática en la versión Solaris 10 10/08, el entorno dearranque que no está activo podría fallar al arrancar porque los conjuntos de datos ZFS o elconjunto de datos ZFS de una zona del entorno de arranque tienen un punto de montaje noválido. Ese mismo error impide el montaje del entorno de arranque si tiene un conjunto dedatos /var aparte.

Si el conjunto de datos de una zona tiene un punto de montaje no válido, éste se puede corregirsi se realizan los siguientes pasos.

▼ Cómo resolver problemas en puntos de montaje ZFS

Arranque el sistema desde un contenedor a prueba de fallos.

Importe la agrupación.Por ejemplo:# zpool import rpool

Examine la salida de zfs list tras haberse importado la agrupación.Busque puntos de montaje temporalmente incorrectos. Por ejemplo:# zfs list -r -o name,mountpoint rpool/ROOT/s10u6

NAME MOUNTPOINT

rpool/ROOT/s10u6 /.alt.tmp.b-VP.mnt/

rpool/ROOT/s10u6/zones /.alt.tmp.b-VP.mnt//zones

rpool/ROOT/s10u6/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA

El punto de montaje del entorno de arranque root (rpool/ROOT/s10u6) debe ser /.

Si falla el arranque debido a problemas de montaje de /var, busque un punto de montajesimilar incorrecto para el conjunto de datos /var.

Restablezca los puntos de montaje del entorno de arranque ZFS y sus conjuntos de datos.Por ejemplo:# zfs inherit -r mountpoint rpool/ROOT/s10u6

# zfs set mountpoint=/ rpool/ROOT/s10u6

1

2

3

4

Arranque desde un sistema de archivos root ZFS

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 167

Page 168: Guía de administración de Solaris ZFS

Reinicie el sistema.Si la opción se presenta para arrancar un determinado entorno de arranque, en el menú GRUBo el símbolo del sistema OpenBoot Prom, seleccione el entorno de arranque cuyos puntos demontaje se han acabado de corregir.

Recuperación de la agrupación root ZFS o las instantáneas dela agrupación root

Las siguientes secciones describen cómo realizar las siguientes tareas:

■ “Cómo sustituir un disco en la agrupación root ZFS ” en la página 168■ “ Cómo crear instantáneas de la agrupación root ” en la página 170■ “ Cómo volver a crear una agrupación root ZFS y restaurar instantáneas de agrupaciones root

” en la página 171■ “ Cómo deshacer instantáneas de agrupaciones root a partir de un arranque a prueba de

errores ” en la página 173

▼ Cómo sustituir un disco en la agrupación root ZFSEs posible que necesite sustituir un disco en la agrupación root, por los siguientes motivos:

■ La agrupación root es demasiado pequeña y desea sustituirla por un disco mayor.■ El disco de la agrupación root no funciona correctamente. Si el disco está fallando, de forma

que el sistema no arranque, deberá arrancar desde un medio alternativo, como un CD o lared, antes de sustituir el disco de la agrupación root.

Identifique los nombres de ruta del dispositivo de arranque de los discos nuevo y actual paraque pueda probar el arranque desde el disco de sustitución y también arrancar manualmentedesde el disco existente, si fuera necesario, si el disco de sustitución falla. En el ejemplosiguiente, el disco de la agrupación root actual (c1t10d0s0) es:

/pci@8,700000/pci@3/scsi@5/sd@a,0

En el ejemplo siguiente, el disco de arranque de sustitución es (c4t0d0s0):

/pci@8,700000/pci@3/scsi@5/sd@9,0

Conecte físicamente el disco de sustitución.

5

1

Recuperación de la agrupación root ZFS o las instantáneas de la agrupación root

Guía de administración de Solaris ZFS • Octubre de 2009168

Page 169: Guía de administración de Solaris ZFS

Confirme que la sustitución (nuevo) disco tiene una etiqueta SMI y un segmento 0.Para obtener información sobre el reetiquetado de un disco que está diseñado para laagrupación root, consulte el siguiente sitio:

http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide

Adjunte el nuevo disco a la agrupación root.Por ejemplo:# zpool attach rpool c1t10d0s0 c4t0d0s0

Confirme el estado de la agrupación root.Por ejemplo:# zpool status rpool

pool: rpool

state: ONLINE

status: One or more devices is currently being resilvered. The pool will

continue to function, possibly in a degraded state.

action: Wait for the resilver to complete.

scrub: resilver in progress, 25.47% done, 0h4m to go

config:

NAME STATE READ WRITE CKSUM

rpool ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t0d0s0 ONLINE 0 0 0

c1t5d0s0 ONLINE 0 0 0

errors: No known data errors

Después de que se haya completado la actualización de la duplicación, aplique los bloques dearranque al nuevo disco.Por ejemplo:

En un sistema basado en la plataforma SPARC:# installboot -F zfs /usr/platform/‘uname -i‘/lib/fs/zfs/bootblk /dev/rdsk/c1t5d0s0

En un sistema basado en x86:

# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t5d0s0

Compruebe que puede arrancar desde el nuevo disco.Por ejemplo, en un sistema basado en la plataforma SPARC:ok boot /pci@8,700000/pci@3/scsi@5/sd@9,0

2

3

4

5

6

Recuperación de la agrupación root ZFS o las instantáneas de la agrupación root

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 169

Page 170: Guía de administración de Solaris ZFS

Si el sistema se arranca desde el nuevo disco, desconecte el disco antiguo.Por ejemplo:# zpool detach rpool c1t0d0s0

Configure el sistema para arrancar automáticamente desde el nuevo disco, ya sea mediante elcomando eeprom, el comando setenvdesde la PROM de arranque de SPARC, o bien vuelva aconfigurar la BIOS del equipo.

▼ Cómo crear instantáneas de la agrupación rootCree instantáneas de la agrupación root para las recuperaciones. La forma más recomendablede crear instantáneas de agrupaciones root es realizar una instantánea recursiva de laagrupación root.

El procedimiento que se indica a continuación crea una instantánea de agrupación rootrecursiva y almacena la instantánea como un archivo en una agrupación en un sistema remoto.En el caso de error en una agrupación root, el conjunto de datos remoto se puede montarmediante NFS y el archivo de instantánea se puede recibir en la agrupación que se ha vuelto acrear. También puede almacenar instantáneas de agrupaciones root como las instantáneasreales en una agrupación de un sistema remoto. Enviar y recibir las instantáneas desde unsistema remoto es un poco más complicado porque se debe configurar ssh o utilizar rshmientras el sistema que hay que reparar se arranca desde el miniroot del sistema operativoSolaris.

Para obtener información sobre almacenar y recuperar de forma remota instantáneas deagrupación root, así como la información más actualizada sobre la recuperación deagrupaciones root, vaya a este sitio:

http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide

Validar instantáneas almacenadas de forma remota como archivos o instantáneas es un pasoimportante en la recuperación de agrupaciones root y, en cualquiera de los métodos, lasinstantáneas se deben recrear de manera rutinaria, como, por ejemplo, cuando la configuraciónde la agrupación cambia o cuando se actualiza el sistema operativo Solaris.

En el ejemplo siguiente, el sistema se arranca desde el entorno de arranque zfs1009BE.

Cree espacio en un sistema remoto para almacenar las instantáneas.Por ejemplo:remote# zfs create rpool/snaps

7

8

1

Recuperación de la agrupación root ZFS o las instantáneas de la agrupación root

Guía de administración de Solaris ZFS • Octubre de 2009170

Page 171: Guía de administración de Solaris ZFS

Comparta el espacio en el sistema local.Por ejemplo:remote# zfs set sharenfs=’rw=local-system,root=local-system’ rpool/snaps

# share

-@rpool/snaps /rpool/snaps sec=sys,rw=local-system,root=local-system ""

Cree una instantánea recursiva de la agrupación root.local# zfs snapshot -r rpool@0804

local# zfs list

NAME USED AVAIL REFER MOUNTPOINT

rpool 6.17G 60.8G 98K /rpool

rpool@0804 0 - 98K -

rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT

rpool/ROOT@0804 0 - 21K -

rpool/ROOT/zfs1009BE 4.67G 60.8G 4.67G /

rpool/ROOT/zfs1009BE@0804 386K - 4.67G -

rpool/dump 1.00G 60.8G 1.00G -

rpool/dump@0804 0 - 1.00G -

rpool/swap 517M 61.3G 16K -

rpool/swap@0804 0 - 16K -

Envíe las instantáneas de la agrupación root al sistema remoto.Por ejemplo:local# zfs send -Rv rpool@0804 > /net/remote-system/rpool/snaps/rpool.0804

sending from @ to rpool@0804

sending from @ to rpool/swap@0804

sending from @ to rpool/ROOT@0804

sending from @ to rpool/ROOT/zfs1009BE@0804

sending from @ to rpool/dump@0804

▼ Cómo volver a crear una agrupación root ZFS yrestaurar instantáneas de agrupaciones rootEn esta situación, suponga las siguientes condiciones:

■ La agrupación root ZFS no se puede recuperar■ Las instantáneas de las agrupaciones root ZFS se almacenan en un sistema remoto y se

comparten a través de NFS

Todos los pasos que se muestran a continuación se llevan a cabo en el sistema local.

2

3

4

Recuperación de la agrupación root ZFS o las instantáneas de la agrupación root

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 171

Page 172: Guía de administración de Solaris ZFS

Efectúe el arranque desde el CD/DVD o desde la red.En un sistema basado en SPARC, seleccione uno de los siguientes métodos de arranque:ok boot net -s

ok boot cdrom -s

Si no utiliza la opción -s, deberá salir del programa de instalación.

En un sistema basado en x86, seleccione la opción para arrancar desde el DVD o desde la red. Acontinuación, salga del programa de instalación.

Monte el conjunto de datos remoto de instantáneas.Por ejemplo:# mount -F nfs remote-system:/rpool/snaps /mnt

Si los servicios de red no están configurados, es posible que deba especificar la dirección IP delsistema-remoto.

Si se reemplaza el disco de la agrupación root y no contiene una etiqueta de disco que seautilizable por ZFS, deberá etiquetar de nuevo el disco.Para obtener más información sobre cómo volver a etiquetar el disco, consulte el sitio siguiente:

http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide

Vuelva a crear la agrupación root.Por ejemplo:# zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=

/etc/zfs/zpool.cache rpool c1t1d0s0

Restaure las instantáneas de agrupaciones root.Este paso puede tardar algo. Por ejemplo:# cat /mnt/rpool.0804 | zfs receive -Fdu rpool

Compruebe que los conjuntos de datos de agrupaciones root se hayan restaurado.Por ejemplo:# zfs list

NAME USED AVAIL REFER MOUNTPOINT

rpool 6.17G 60.8G 98K /a/rpool

rpool@0804 0 - 98K -

rpool/ROOT 4.67G 60.8G 21K /legacy

rpool/ROOT@0804 0 - 21K -

rpool/ROOT/zfs1009BE 4.67G 60.8G 4.67G /a

rpool/ROOT/zfs1009BE@0804 398K - 4.67G -

rpool/dump 1.00G 60.8G 1.00G -

rpool/dump@0804 0 - 1.00G -

1

2

3

4

5

6

Recuperación de la agrupación root ZFS o las instantáneas de la agrupación root

Guía de administración de Solaris ZFS • Octubre de 2009172

Page 173: Guía de administración de Solaris ZFS

rpool/swap 517M 61.3G 16K -

rpool/swap@0804 0 - 16K -

Defina la propiedad bootfs en el entorno de arranque de la agrupación root.Por ejemplo:# zpool set bootfs=rpool/ROOT/zfs1009BE rpool

Instale los bloques de arranque en el nuevo disco.En un sistema basado en la plataforma SPARC:# installboot -F zfs /usr/platform/‘uname -i‘/lib/fs/zfs/bootblk /dev/rdsk/c1t5d0s0

En un sistema basado en x86:

# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t5d0s0

Reinicie el sistema.# init 6

▼ Cómo deshacer instantáneas de agrupaciones root apartir de un arranque a prueba de erroresEste procedimiento da por hecho que las instantáneas de agrupaciones root existentes estándisponibles. En este ejemplo, las instantáneas de agrupaciones root están disponibles en elsistema local. Por ejemplo:

# zfs snapshot -r rpool@0804

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

rpool 6.17G 60.8G 98K /rpool

rpool@0804 0 - 98K -

rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT

rpool/ROOT@0804 0 - 21K -

rpool/ROOT/zfs1009BE 4.67G 60.8G 4.67G /

rpool/ROOT/zfs1009BE@0804 398K - 4.67G -

rpool/dump 1.00G 60.8G 1.00G -

rpool/dump@0804 0 - 1.00G -

rpool/swap 517M 61.3G 16K -

rpool/swap@0804 0 - 16K -

Apague el sistema y el modo de arranque a prueba de errores.ok boot -F failsafe

Multiple OS instances were found. To check and mount one of them

read-write under /a, select it from the following list. To not mount

7

8

9

1

Recuperación de la agrupación root ZFS o las instantáneas de la agrupación root

Capítulo 5 • Instalación y arranque de un sistema de archivos root ZFS 173

Page 174: Guía de administración de Solaris ZFS

any, select ’q’.

1 /dev/dsk/c1t1d0s0 Solaris 10 10/09 s10s_u8wos_04 SPARC

2 rpool:11306141908645873833 ROOT/zfs10092BE

Please select a device to be mounted (q for none) [?,??,q]: 2

mounting rpool on /a

Starting shell.

Restaure cada una de las instantáneas de agrupaciones root.# zfs rollback -rf rpool@0804

# zfs rollback -rf rpool/ROOT@0804

# zfs rollback -rf rpool/ROOT/zfs1009BE@0804

Vuelva a arrancar en el modo multiusuario.# init 6

2

3

Recuperación de la agrupación root ZFS o las instantáneas de la agrupación root

Guía de administración de Solaris ZFS • Octubre de 2009174

Page 175: Guía de administración de Solaris ZFS

Administración de sistemas de archivos ZFS

Este capítulo ofrece información detallada sobre la administración de sistemas de archivos ZFS.Conceptos como la disposición jerárquica del sistema de archivos, la herencia de propiedades,así como la administración automática de puntos de montaje y cómo compartir interacciones,se incluyen en este capítulo.

Un sistema de archivos ZFS se genera encima de una agrupación de almacenamiento. Lossistemas de archivos se pueden crear y destruir dinámicamente sin que se solicite asignar ni darformato a ningún espacio subyacente. Debido a que los sistemas de archivos son tan ligeros y aque son el punto central de administración en ZFS, puede crear muchos de ellos

Los sistemas de archivos ZFS se administran mediante el comando zfs. El comando zfs ofreceun conjunto de subcomandos que ejecutan operaciones específicas en los sistemas de archivos.Este capítulo describe estos subcomandos detalladamente. Las instantáneas, los volúmenes y losclónicos también se administran mediante este comando, pero estas funciones sólo se explicanbrevemente en este capítulo. Para obtener información detallada sobre instantáneas y clónicos,consulte el Capítulo 7, “Utilización de clónicos e instantáneas de ZFS”. Para obtenerinformación detallada sobre volúmenes ZFS, consulte “Volúmenes de ZFS” en la página 275.

Nota – El término conjunto de datos se utiliza en este capítulo como término genérico parareferirse a un sistema de archivos, instantánea, clónico o volumen

Este capítulo se divide en las secciones siguientes:

■ “Creación y destrucción de sistemas de archivos ZFS” en la página 176■ “Introducción a las propiedades de ZFS” en la página 179■ “Consulta de información del sistema de archivos ZFS” en la página 193■ “Administración de propiedades de ZFS” en la página 195■ “Montaje y compartición de sistemas de archivos ZFS” en la página 201■ “Configuración de cuotas y reservas de ZFS” en la página 207

6C A P Í T U L O 6

175

Page 176: Guía de administración de Solaris ZFS

Creación y destrucción de sistemas de archivos ZFSLos sistemas de archivos ZFS se pueden crear y destruir mediante los comandos zfs create yzfs destroy, respectivamente.

■ “Creación de un sistema de archivos ZFS” en la página 176■ “Destrucción de un sistema de archivos ZFS” en la página 177■ “Cambio de nombre de un sistema de archivos ZFS” en la página 178

Creación de un sistema de archivos ZFSLos sistemas de archivos ZFS se crean mediante el comando zfs create. El subcomandocreate toma un único argumento: el nombre del sistema de archivos que crear. El nombre delsistema de archivos se especifica como nombre de ruta que comienza por el nombre del grupo:

nombre_grupo/[nombre_sistema_archivos/]nombre_sistema_archivos

El nombre de grupo y los nombres del sistema de archivos inicial de la ruta identifican laubicación en la jerarquía donde se creará el nuevo sistema de archivos. Los nombres de todoslos sistemas de archivos intermedios ya deben existir en el grupo. El último nombre de la rutaidentifica el nombre del sistema de archivos que se creará. El nombre del sistema de archivosdebe seguir las convenciones de denominación establecidas en “Requisitos de asignación denombres de componentes de ZFS” en la página 45.

En el ejemplo siguiente, un sistema de archivos denominado bonwick se crea en el sistema dearchivos tank/home.

# zfs create tank/home/bonwick

ZFS monta de forma automática el sistema de archivos recién creado si se crea correctamente.De forma predeterminada, los sistemas de archivos se montan como /conjunto de datos,mediante la ruta proporcionada para el nombre del sistema de archivos en el subcomandocreate. En este ejemplo, el sistema de archivos recién creado bonwick se encuentra en/tank/home/bonwick. Para obtener más información sobre puntos de montaje que seadministran automáticamente, consulte “Administración de puntos de montaje de ZFS”en la página 201.

Para obtener más información sobre el comando zfs create, consulte zfs(1M).

Las propiedades del sistema de archivos pueden establecerse al crear dicho sistema de archivos.

En el ejemplo siguiente se especifica un punto de montaje de /export/zfs y se crea para elsistema de archivos tank/home.

# zfs create -o mountpoint=/export/zfs tank/home

Creación y destrucción de sistemas de archivos ZFS

Guía de administración de Solaris ZFS • Octubre de 2009176

Page 177: Guía de administración de Solaris ZFS

Para obtener más información sobre las propiedades del sistema de archivos, consulte“Introducción a las propiedades de ZFS” en la página 179.

Destrucción de un sistema de archivos ZFSPara destruir un sistema de archivos ZFS, utilice el comando zfs destroy. El sistema dearchivos destruido se desmonta automáticamente y se anula la compartición. Para obtener másinformación sobre puntos de montaje o recursos compartidos administrados automáticamente,consulte “Puntos de montaje automáticos” en la página 202.

En el ejemplo siguiente se destruye el sistema de archivos tabriz.

# zfs destroy tank/home/tabriz

Precaución – No aparece ningún mensaje de confirmación con el subcomando destroy.

Utilícelo con extrema precaución.

Si el sistema de archivos que se desea destruir está ocupado y no se puede desmontar, elcomando zfs destroy falla. Para destruir un sistema de archivos activo, utilice la opción-f. Úsela con precaución, puesto que puede desmontar, destruir y anular la compartición desistemas de archivos activos, lo que provoca un comportamiento inesperado de la aplicación.

# zfs destroy tank/home/ahrens

cannot unmount ’tank/home/ahrens’: Device busy

# zfs destroy -f tank/home/ahrens

El comando zfs destroy también falla si un sistema de archivos tiene subordinados. Paradestruir recursivamente un sistema de archivos y todos sus subordinados, utilice la opción-r. Una destrucción repetitiva también destruye las instantáneas, por lo que debe utilizar estaopción con precaución.

# zfs destroy tank/ws

cannot destroy ’tank/ws’: filesystem has children

use ’-r’ to destroy the following datasets:

tank/ws/billm

tank/ws/bonwick

tank/ws/maybee

# zfs destroy -r tank/ws

Si el sistema de archivos que se debe destruir tiene elementos dependientes indirectos, fallaincluso el comando de destrucción recursiva descrito anteriormente. Para forzar la destrucciónde todos los dependientes, incluidos los sistemas de archivos clonados fuera de la jerarquía dedestino, se debe utilizar la opción -R. Esta opción se debe utilizar con sumo cuidado.

Creación y destrucción de sistemas de archivos ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 177

Page 178: Guía de administración de Solaris ZFS

# zfs destroy -r tank/home/schrock

cannot destroy ’tank/home/schrock’: filesystem has dependent clones

use ’-R’ to destroy the following datasets:

tank/clones/schrock-clone

# zfs destroy -R tank/home/schrock

Precaución – No aparece ningún mensaje de confirmación con las opciones -f, - r o -R, por loque debe utilizarlas con cuidado.

Para obtener más información sobre instantáneas y clónicos, consulte el Capítulo 7,“Utilización de clónicos e instantáneas de ZFS”.

Cambio de nombre de un sistema de archivos ZFSMediante el comando zfs rename se puede cambiar el nombre a los sistemas de archivos. Conel subcomando rename se pueden efectuar las operaciones siguientes:

■ Cambiar el nombre de un sistema de archivos■ Ubicar el sistema de archivos en una nueva ubicación en la jerarquía ZFS■ Cambiar el nombre de un sistema de archivos y cambiar su ubicación con la jerarquía ZFS

El ejemplo siguiente utiliza el subcomando rename para hacer un sencillo cambio de nombre deun sistema de archivos:

# zfs rename tank/home/kustarz tank/home/kustarz_old

Este ejemplo cambia el nombre del sistema de archivos kustarz por el de kustarz_old.

El ejemplo siguiente muestra cómo utilizar zfs rename para reubicar un sistema de archivos.

# zfs rename tank/home/maybee tank/ws/maybee

En este ejemplo, el sistema de archivos maybee se reubica de tank/home a tank/ws. Si reubica unsistema de archivos mediante rename, la nueva ubicación debe estar en el mismo grupo y tenerespacio suficiente para albergar este nuevo sistema de archivos. Si la nueva ubicación no tieneespacio suficiente, posiblemente por haber llegado a su cuota, fallará el cambio de nombre.

Para obtener más información sobre las cuotas, consulte “Configuración de cuotas y reservas deZFS” en la página 207.

La operación de cambio de nombre intenta una secuencia de desmontar/volver a montar para elsistema de archivos y cualquier sistema de archivos subordinado. El cambio de nombre falla sila operación no es capaz de desmontar un sistema de archivos activo. Si se produce esteproblema, debe forzar el desmontaje del sistema de archivos.

Creación y destrucción de sistemas de archivos ZFS

Guía de administración de Solaris ZFS • Octubre de 2009178

Page 179: Guía de administración de Solaris ZFS

Para obtener más información sobre el cambio de nombre de las instantáneas, consulte“Cambio de nombre de instantáneas de ZFS” en la página 217.

Introducción a las propiedades de ZFSLas propiedades son para el mecanismo principal que utiliza para controlar el comportamientode los sistemas de archivos, volúmenes, instantáneas y clónicos. A menos que se indique otracosa, las propiedades que se definen en la sección se aplican a todos los tipos de conjuntos dedatos.

■ “Propiedades nativas de sólo lectura de ZFS” en la página 187■ “Propiedades nativas de ZFS configurables” en la página 188■ “Propiedades de usuario de ZFS” en la página 191

Las propiedades se dividen en dos tipos: nativas y definidas por el usuario. Las propiedadesnativas exportan estadísticas internas o controlan el comportamiento del sistema de archivosZFS. Asimismo, las propiedades nativas son configurables o de sólo lectura. Las propiedades delusuario no repercuten en el comportamiento del sistema de archivos ZFS, pero puede usarlaspara anotar conjuntos de datos de forma que tengan sentido en su entorno. Para obtener másinformación sobre las propiedades del usuario, consulte “Propiedades de usuario de ZFS”en la página 191.

La mayoría de las propiedades configurables también se pueden heredar. Una propiedad que sepuede heredar es aquella que, cuando se establece en un principal, se propaga a todos sussubordinados.

Todas las propiedades heredables tienen un origen asociado. El origen indica la forma en que seha obtenido una propiedad. El origen de una propiedad puede tener los valores siguientes:

local Un origen local indica que la propiedad se haestablecido explícitamente en el conjunto dedatos mediante el comando zfs set, tal como sedescribe en “Configuración de propiedades deZFS” en la página 195.

inherited from nombre_conjunto_datos Un valor de inherited fromnombre_conjunto_datos significa que lapropiedad se ha heredado del superiornombrado.

default Un valor de default significa que laconfiguración de la propiedad no se ha heredadoni se ha establecido localmente. Este origen es elresultado de que ningún superior tiene lapropiedad como local de origen.

Introducción a las propiedades de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 179

Page 180: Guía de administración de Solaris ZFS

La tabla siguiente identifica las propiedades del sistema de archivos ZFS nativo configurable yde sólo lectura. Las propiedades nativas de sólo lectura se identifican como tal. Todas las demáspropiedades nativas que se enumeran en esta tabla son configurables. Para obtener informaciónsobre las propiedades del usuario, consulte “Propiedades de usuario de ZFS” en la página 191.

TABLA 6–1 Descripciones de propiedades nativas de ZFS

Nombre de propiedad TipoValorpredeterminadoDescripción

aclinherit Cadena secure Controla cómo se heredan las entradas de LCA cuando secrean los archivos y los directorios. Los valores sondiscard, noallow, secure y passthrough. Para obteneruna descripción de estos valores, consulte “Modos depropiedades de LCA” en la página 237.

aclmode Cadena groupmask Controla cómo se modifica una entrada de LCA duranteuna operación de chmod. Los valores son discard,groupmask y passthrough. Para obtener una descripciónde estos valores, consulte “Modos de propiedades deLCA” en la página 237.

atime Booleano on Controla si la hora de acceso de los archivos se actualizacuando se leen. Si se desactiva esta propiedad, se evita lageneración de tráfico de escritura al leer archivos y puedemejorar considerablemente el rendimiento, si bienpodría confundir a los programas de envío de correo yotras utilidades similares.

available Número N/D Propiedad de sólo lectura que identifica la cantidad deespacio disponible para el conjunto de datos y todos lossubordinados, suponiendo que no haya otra actividad enel grupo. Como el espacio se comparte en unaagrupación, el espacio disponible puede verse limitadopor varios factores, por ejemplo el tamaño físico de laagrupación, las cuotas, las reservas u otros conjuntos dedatos de la agrupación.

También se puede hacer referencia a esta propiedadmediante su nombre de columna abreviado, avail.

Para obtener más información sobre el cálculo deespacio, consulte “Cálculo del espacio de ZFS”en la página 56.

Introducción a las propiedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009180

Page 181: Guía de administración de Solaris ZFS

TABLA 6–1 Descripciones de propiedades nativas de ZFS (Continuación)

Nombre de propiedad TipoValorpredeterminadoDescripción

canmount Booleano on Controla si un sistema de archivos determinado se puedemontar con el comando zfs mount. Esta propiedad sepuede establecer en cualquier sistema de archivos y lapropiedad no es heredable. No obstante, cuando estapropiedad está establecida en off, los sistemas dearchivos subordinados se pueden heredar, pero el sistemade archivos nunca se monta.

Si se establece la opción noauto, un conjunto de datossólo se puede montar y desmontar de manera explícita. Elconjunto de datos no se monta automáticamente alcrearse o importarse el conjunto de datos, ni se montacon el comando zfs mount- a ni se desmonta con elcomando zfs unmount-a.

Para obtener más información, consulte “Propiedadcanmount” en la página 190.

suma de

comprobación

Cadena on Controla la suma de comprobación utilizada paraverificar la integridad de los datos. El valorpredeterminado es on, que selecciona automáticamenteun algoritmo adecuado, actualmente fletcher2. Losvalores son on, off, fletcher2 , fletcher4 y sha256.El valor off deshabilita la comprobación de integridad enlos datos del usuario. No se recomienda un valor de off.

compression Cadena off Habilita o inhabilita la compresión de este conjunto dedatos. Los valores son on, off y lzjb, gzip o gzip-N. Enla actualidad, configurar esta propiedad en lzjb, gzip ogzip- N equivale a establecerla en on. El valorpredeterminado es off. Habilitar la compresión en unsistema de archivos en el que ya hay datos sólo comprimelos datos nuevos. Los datos que existan están sincomprimir.

También se puede hacer referencia a esta propiedadmediante el nombre de su columna abreviado, compress.

compressratio Número N/D Propiedad de sólo lectura que identifica el índice decompresión alcanzado para este conjunto de datos,expresado como multiplicador. La compresión se puedeactivar ejecutando zfs set compression=on

conjunto_datos.

Se calcula a partir del tamaño lógico de todos los archivosy la cantidad de datos físicos a los que se hace referencia.Incluye grabaciones explícitas mediante el uso de lapropiedad compression.

Introducción a las propiedades de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 181

Page 182: Guía de administración de Solaris ZFS

TABLA 6–1 Descripciones de propiedades nativas de ZFS (Continuación)

Nombre de propiedad TipoValorpredeterminadoDescripción

copies Número 1 Establece la cantidad de copias de datos de usuarios porsistema de archivos. Los valores disponibles son 1, 2 o 3.Estas copias existen además de cualquier redundancia deagrupación. El espacio que utilicen varias copias de datosde usuarios se carga en los pertinentes achivo y conjuntode datos, y se contabiliza en relación con las cuotas yreservas. Además, la propiedad used se actualiza si sehabilitan varias copias. La configuración de estapropiedad debe considerarse al crear el sistema dearchivos, puesto que si se modifica la propiedad encualquier sistema ya creado sólo afecta a los datos nuevosque se escriban.

creation Cadena N/D Propiedad de sólo lectura que identifica la fecha y la horade creación de este conjunto de datos.

devices Booleano on Controla la capacidad de poder abrir archivos dedispositivo en el sistema de archivos.

exec Booleano on Controla si se permite ejecutar programas de este sistemade archivos. Asimismo, si se establece en off, no sepermiten las llamadas de mmap(2) con PROT_EXEC.

mounted booleano N/D Propiedad de sólo lectura que indica si este sistema dearchivos, clónico o instantánea está montado. Estapropiedad no se aplica a los volúmenes. El valor puede sersí o no.

mountpoint Cadena N/D Controla el punto de montaje utilizado para este sistemade archivos. Si la propiedad mountpoint se cambia paraun sistema de archivos, se desmontan éste y cualquiersubordinado que hereden el punto de montaje. Si el valornuevo es legacy, permanecen desmontados. En cambio,se vuelven a montar automáticamente en la nuevaubicación si la propiedad era legacy o none, o bien siestaban montados antes de que cambiara la propiedad.Además, cualquier nuevo sistema de archivoscompartidos se comparte o no en la ubicación nueva.

Para obtener más información sobre el uso de estapropiedad, consulte “Administración de puntos demontaje de ZFS” en la página 201.

Introducción a las propiedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009182

Page 183: Guía de administración de Solaris ZFS

TABLA 6–1 Descripciones de propiedades nativas de ZFS (Continuación)

Nombre de propiedad TipoValorpredeterminadoDescripción

primarycache Cadena off Controla la información que se guarda en la caché en elelementos que se guarda en caché en la ARC. Los valoresposibles son all, none y metadata. Si se establece en all,los datos de usuario y los metadatos se almacenan en lacaché. Si se establece en none, no se completan datos deusuario ni los metadatos se almacenan en la memoriacaché. Si se establece en metadata, sólo los metadatos sealmacenan en la memoria caché. El valorpredeterminado es all.

origin Cadena N/D Propiedad de sólo lectura para volúmenes o sistemas dearchivos clónicos que identifica la instantánea a partir dela cual se ha creado el clónico. No se puede destruir elorigen (ni siquiera con las opciones -r o -f) en tantoexista un clónico.

Los sistemas de archivos no clónicos tienen la propiedadorigin establecida en none.

quota Número (onone)

none Limita la cantidad de espacio que un conjunto de datos ysus subordinados pueden consumir. Esta propiedadfuerza un límite por hard sobre la cantidad de espacioutilizado, incluido todo el espacio consumido porsubordinados, incluidos los sistemas de archivos y lasinstantáneas. La configuración de una cuota en unsubordinado de un conjunto de datos que ya tiene una noanula la cuota del subordinado, sino que impone unlímite adicional. Las cuotas no se pueden establecer envolúmenes, ya que la propiedad volsize representa unacuota implícita.

Para obtener información sobre la configuración decuotas, consulte “Establecimiento de cuotas en sistemasde archivos ZFS” en la página 208.

readonly Booleano off Controla si este conjunto de datos se puede modificar. Sise establece en on, en el conjunto de datos no se puedenefectuar modificaciones.

También se puede hacer referencia a esta propiedadmediante el nombre de su columna abreviado, rdonly.

recordsize Número 128K Especifica un tamaño de bloque sugerido para losarchivos del sistema de archivos.

También se puede hacer referencia a esta propiedadmediante su nombre de columna abreviado, recsize.Para obtener información detallada, consulte “Propiedadrecordsize” en la página 190.

Introducción a las propiedades de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 183

Page 184: Guía de administración de Solaris ZFS

TABLA 6–1 Descripciones de propiedades nativas de ZFS (Continuación)

Nombre de propiedad TipoValorpredeterminadoDescripción

referenced Número N/D Propiedad de sólo lectura que identifica la cantidad dedatos a los que puede acceder este conjunto de datos, yque se pueden compartir o no con otros conjuntos dedatos de la agrupación.

Cuando se crea una instantánea o clónico, inicialmentehace referencia a la misma cantidad de espacio que lainstantánea o sistema de archivos del que se creó, porquesu contenido es idéntico.

También se puede hacer referencia a esta propiedadmediante su nombre de columna abreviado, refer.

refquota Número (onone)

none Establece la cantidad de espacio que puede consumir unconjunto de datos. Esta propiedad impone un límite porhard en la cantidad de espacio que se usa. El límite porhard no incluye el espacio que utilizan los descendientes,por ejemplo las instantáneas y los clónicos.

refreservation Número (onone)

none Establece la cantidad mínima de espacio que se garantizaa un conjunto de datos, sin incluir descendientes comolas instantáneas o los clónicos. Cuando la cantidad deespacio utilizado aparece bajo este valor, se considera queel conjunto de datos utiliza la cantidad de espacioespecificado por refreservation. La reserva derefreservation representa el espacio utilizado de losconjuntos de datos principales, y repercute en las reservasy cuotas de los conjuntos de datos principales.

Si se establece refreservation, sólo se permite unainstantánea en caso de que fuera de esta reserva existaespacio libre en la agrupación para alojar la cantidadactual de bytes a los que se hace referencia en el conjuntode datos.

También se puede hacer referencia a esta propiedadmediante el nombre de su columna abreviado,refreserv.

Introducción a las propiedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009184

Page 185: Guía de administración de Solaris ZFS

TABLA 6–1 Descripciones de propiedades nativas de ZFS (Continuación)

Nombre de propiedad TipoValorpredeterminadoDescripción

reservation Número (onone)

none La cantidad de espacio mínimo garantizado para unconjunto de datos y sus subordinados. Cuando lacantidad de espacio utilizado aparece bajo este valor, seconsidera que el conjunto de datos utiliza la cantidad deespacio especificado por su reserva. Las reservasrepresentan el espacio utilizado de los conjuntos de datosprincipales, y repercuten en las reservas y cuotas de losconjuntos de datos principales.

También se puede hacer referencia a esta propiedadmediante su nombre de columna abreviado, reserv.

Para obtener más información, consulte“Establecimiento de reservas en sistemas de archivosZFS” en la página 212.

secondarycache Cadena off Controla la información que se almacena en la memoriacaché en el L2ARC. Los valores posibles son all, none ymetadata. Si se establece en all, los datos de usuario y losmetadatos se almacenan en la caché. Si se establece ennone, no se completan datos de usuario ni los metadatosse almacenan en la memoria caché. Si se establece enmetadata, sólo los metadatos se almacenan en lamemoria caché. El valor predeterminado es all.

setuid Booleano on Controla si el bit de setuid se cumple en el sistema dearchivos.

sharenfs Cadena off Controla si el sistema de archivos está disponible en NFSy las opciones que se utilizan. Si se establece en on, elcomando zfs share se invoca sin opciones. De locontrario, el comando zfs share se invoca con opcionesequivalentes al contenido de esta propiedad. Si seestablece en off, el sistema de archivos se administramediante los comandos heredados share y unshare y elarchivo dfstab.

Para obtener más información sobre cómo compartir lossistemas de archivos ZFS, consulte “Cómo compartir yanular la compartición de sistemas de archivos ZFS”en la página 205.

snapdir Cadena hidden Controla si el directorio .zfs está oculto o visible en eldirectorio root del sistema de archivos. Para obtener másinformación sobre el uso de instantáneas, consulte“Información general de instantáneas de ZFS”en la página 215.

Introducción a las propiedades de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 185

Page 186: Guía de administración de Solaris ZFS

TABLA 6–1 Descripciones de propiedades nativas de ZFS (Continuación)

Nombre de propiedad TipoValorpredeterminadoDescripción

type Cadena N/D Propiedad de sólo lectura que identifica el tipo de datoscomo filesystem (sistema de archivos o clónico),volume o snapshot.

used Número N/D Propiedad de sólo lectura que identifica la cantidad deespacio que consumen el conjunto de datos y todos susdescendientes.

Para obtener información detallada, consulte “Propiedadused” en la página 188.

usedbychildren Número off Propiedad de sólo lectura que identifica la cantidad deespacio utilizado por subordinados de este conjunto dedatos, que se liberaría si todos los subordinados delconjunto de datos se destruyeran. La abreviatura de lapropiedad es usedchild.

usedbydataset Número off Propiedad de sólo lectura que identifica la cantidad deespacio que utiliza este conjunto de datos en sí, que seliberaría si se destruyera el conjunto de datos, después deeliminar primero las instantáneas y los refreservation.La abreviatura de la propiedad es usedds.

usedbyrefreservation Número off Propiedad de sólo lectura que identifica la cantidad deespacio que utiliza un refreservation establecido eneste conjunto de datos, que se liberaría si elrefreservation se eliminara. La abreviatura de lapropiedad es usedrefreserv.

usedbysnapshots Número off Propiedad de sólo lectura que identifica la cantidad deespacio que consumen las instantáneas de este conjuntode datos. En concreto, es la cantidad de espacio que seliberaría si todas las instantáneas de este conjunto deinstantáneas se destruyeran. Tenga en cuenta que esto noes simplemente la suma de las propiedades used de lasinstantáneas, ya que varias instantáneas puedencompartir el espacio. La abreviatura de la propiedad esusedsnap.

volsize Número N/D En el caso de volúmenes, especifica el tamaño lógico delvolumen.

Para obtener información detallada, consulte “Propiedadvolsize” en la página 191.

Introducción a las propiedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009186

Page 187: Guía de administración de Solaris ZFS

TABLA 6–1 Descripciones de propiedades nativas de ZFS (Continuación)

Nombre de propiedad TipoValorpredeterminadoDescripción

volblocksize Número 8 Kbytes En volúmenes, especifica el tamaño del bloque delvolumen. El tamaño del bloque no se puede cambiarcuando el volumen se ha escrito, por lo que debeestablecer el tamaño del bloque en el momento de lacreación del volumen. El tamaño de bloquepredeterminado para volúmenes es de 8 Kbytes. Es válidacualquier potencia de 2 desde 512 bytes hasta 128 Kbytes.

También se puede hacer referencia a esta propiedadmediante su nombre de columna abreviado, volblock.

zoned Booleano N/D Indica si este conjunto de datos se ha agregado a una zonano global. Si se establece esta propiedad, el punto demontaje no recibe permisos para una tarea específica enla zona global y ZFS no puede montar dicho sistema dearchivos cuando se solicite. Al instalarse una zona porprimera vez, esta propiedad se establece para cualquiersistema de archivos que se agregue.

Para obtener más información sobre el uso de ZFS conzonas instaladas, consulte “Uso de ZFS en un sistemaSolaris con zonas instaladas” en la página 278.

xattr Booleano on Indica si los atributos extendidos se habilitan odeshabilitan para este sistema de archivos. El valorpredeterminado es on.

Propiedades nativas de sólo lectura de ZFSLas propiedades nativas de sólo lectura son las que se pueden recuperar pero no se puedenestablecer. Las propiedades nativas de sólo lectura no se heredan. Algunas propiedades nativasson específicas de un tipo concreto de conjunto de datos. En tales casos, el tipo de conjunto dedatos concreto se menciona en la descripción de la Tabla 6–1.

Las propiedades nativas de sólo lectura aparecen aquí y se describen en la Tabla 6–1.

■ available

■ creation

■ mounted

■ origin

■ compressratio

■ referenced

■ type

Introducción a las propiedades de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 187

Page 188: Guía de administración de Solaris ZFS

■ used

Para obtener más información, consulte “Propiedad used” en la página 188.■ usedbychildren

■ usedbydataset

■ usedbyrefreservation

■ usedbysnapshots

Para obtener más información sobre el cálculo de espacio, incluidas las propiedades used,referenced y available, consulte “Cálculo del espacio de ZFS” en la página 56.

Propiedad used

Cantidad de espacio consumido por este conjunto de datos y todos sus subordinados. Este valorse comprueba con la cuota del conjunto de datos y la reserva. El espacio utilizado no incluye lareserva del conjunto de datos, pero considera la reserva de cualquier conjunto de datossubordinado. La cantidad de espacio que un conjunto de datos consume en su elementoprincipal, y la cantidad de espacio que se libera si el conjunto de datos se destruyerepetidamente, es mayor que el espacio que se utiliza y su reserva.

Cuando se crean instantáneas, su espacio se comparte inicialmente entre la instantánea y elsistema de archivos, y posiblemente con instantáneas anteriores. Conforme cambia el sistemade archivos, el espacio que se compartía anteriormente se vuelve exclusivo para la instantánea, yse cuenta en el espacio utilizado de la instantánea. El espacio que utiliza una instantánearepresenta sólo sus datos exclusivos. Asimismo, eliminar instantáneas puede aumentar lacantidad de espacio exclusivo para (y utilizado por) otras instantáneas. Para obtenerinformación sobre los problemas de espacio y las instantáneas, consulte “Comportamiento defalta de espacio” en la página 57.

La cantidad de espacio utilizada, disponible o referenciada no tiene en cuenta los cambiospendientes. Los cambios pendientes suelen calcularse en pocos segundos. Si se efectúa uncambio en un disco mediante fsync(3c) o O_SYNC no se garantiza necesariamente que lainformación de uso de espacio se actualice de inmediato.

La información de las propiedades usedbychildren, usedbydataset , usedbyrefreservationy usedbysnapshots se puede mostrar mediante el comando zfs list - o space. Estaspropiedades desglosan la propiedad used en el espacio que consumen los subordinados. Paraobtener más información, consulte la Tabla 6–1.

Propiedades nativas de ZFS configurablesLas propiedades nativas configurables son aquellas cuyos valores se pueden recuperar yestablecer. Las propiedades nativas configurables se establecen mediante el comando zfs set,como se describe en “Configuración de propiedades de ZFS” en la página 195, o mediante el

Introducción a las propiedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009188

Page 189: Guía de administración de Solaris ZFS

comando zfs create, como se describe en “Creación de un sistema de archivos ZFS”en la página 176. Salvo las cuotas y las reservas, las propiedades nativas configurables seheredan. Si desea más información sobre cuotas y reservas, consulte “Configuración de cuotas yreservas de ZFS” en la página 207.

Algunas propiedades nativas configurables son específicas de un tipo concreto de conjunto dedatos. En estos casos, el tipo de conjunto de datos concreto se menciona en la descripción de laTabla 6–1. Si no se menciona específicamente, una propiedad se aplica a todos los tipos deconjuntos de datos: sistemas de archivos, clónicos, volúmenes e instantáneas.

Las propiedades configurables aparecen aquí y se describen en la Tabla 6–1.■ aclinherit

Para obtener una descripción detallada, consulte “Modos de propiedades de LCA”en la página 237.

■ aclmode

Para obtener una descripción detallada, consulte “Modos de propiedades de LCA”en la página 237.

■ atime

■ canmount

■ suma de comprobación

■ compression

■ copies

■ devices

■ exec

■ mountpoint

■ primarycache

■ quota

■ readonly

■ recordsize

Para obtener información detallada, consulte “Propiedad recordsize” en la página 190.■ refquota

■ refreservation

■ reservation

■ secondarycache

■ sharenfs

■ setuid

■ snapdir

Introducción a las propiedades de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 189

Page 190: Guía de administración de Solaris ZFS

■ volsize

Para obtener información detallada, consulte “Propiedad volsize” en la página 191.■ volblocksize

■ zoned

Propiedad canmount

Si esta propiedad se establece en off, el sistema de archivos no se puede montar mediante loscomandos zfs mount ni zfs mount -a. Esta propiedad se parece a establecer la propiedadmountpoint en none, excepto que el conjunto de datos todavía tiene una propiedad mountpoint

normal que se puede heredar. Por ejemplo, puede establecer esta propiedad en off, así comoestablecer propiedades heredables para los sistemas de archivos descendientes. Sin embargo, elsistema de archivos no se puede montar nunca ni los usuarios pueden acceder a él. En este caso,el sistema de archivos principal con esta propiedad establecida en off sirve como contenedorpara poder establecer atributos en el contenedor, pero nunca se puede acceder al contenedor ensí.

En el ejemplo siguiente se crea userpool y se desactiva la propiedad canmount. Los puntos demontaje para los sistemas de archivos de usuario subordinados se establecen en un punto demontaje común, /export/home. Los sistemas de archivo subordinados heredan las propiedadesque se establecen en el sistema de archivos superior, pero el sistema de archivos superior no semonta nunca.

# zpool create userpool mirror c0t5d0 c1t6d0

# zfs set canmount=off userpool

# zfs set mountpoint=/export/home userpool

# zfs set compression=on userpool

# zfs create userpool/user1

# zfs create userpool/user2

# zfs list -r userpool

NAME USED AVAIL REFER MOUNTPOINT

userpool 140K 8.24G 24.5K /export/home

userpool/user1 24.5K 8.24G 24.5K /export/home/user1

userpool/user2 24.5K 8.24G 24.5K /export/home/user2

Si la propiedad canmount se establece en noauto, el conjunto de datos sólo se puede montar demanera explícita, no automáticamente. Este valor sólo lo utiliza el software de actualización deSolaris para que en el momento del arranque sólo se monten los conjuntos de datos quepertenecen al entorno de arranque activo.

Propiedad recordsize

Especifica un tamaño de bloque sugerido para los archivos del sistema de archivos.

Esta propiedad se designa exclusivamente para utilizarse con cargas de trabajo de la base dedatos que acceden a los archivos en registros de tamaño fijo. ZFS ajusta automáticamente el

Introducción a las propiedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009190

Page 191: Guía de administración de Solaris ZFS

tamaño de los bloques de acuerdo con algoritmos internos optimizados para los patrones deacceso habituales. En cuanto a las bases de datos que crean archivos muy grandes pero queacceden a los archivos en pequeños bloques aleatorios, estos algoritmos quizá funcionen pordebajo de su nivel habitual. Si se especifica una propiedad recordsize mayor o igual que eltamaño de grabación de la base de datos, el rendimiento puede mejorar considerablemente. Eluso de esta propiedad se desaconseja de manera especial en los sistemas de archivos de finalidadgeneral; puede afectar negativamente al rendimiento. El tamaño especificado debe ser unapotencia de 2 mayor o igual que 512 y menor o igual que 128 Kbytes. El cambio de recordsizeen los sistemas de archivos sólo afecta a los archivos creados posteriormente. No afecta a losarchivos ya creados.

También se puede hacer referencia a esta propiedad mediante su nombre de columnaabreviado, recsize.

Propiedad volsize

El tamaño lógico del volumen. De forma predeterminada, la creación de un volumen estableceuna reserva para la misma cantidad. Cualquier cambio en volsize se refleja en un cambioequivalente a la reserva. Estas comprobaciones se utilizan para evitar un comportamientoinesperado para los usuarios. Un volumen que contenga menos espacio del que indica comodisponible puede provocar un comportamiento indefinido o corrupción en los datos, segúncómo se utilice el volumen. Estos efectos también pueden darse si el tamaño del volumen secambia durante su uso, especialmente si reduce el tamaño. Al ajustar el tamaño del volumen sedebe ir con sumo cuidado.

Aunque no se recomienda, puede crear un volumen disperso si especifica el indicador -s en elcomando zfs create -V o si cambia la reserva después de crear el volumen. Un volumendisperso se define como un volumen donde la reserva no es igual al tamaño del volumen. En unvolumen disperso, los cambios en volsize no se reflejan en la reserva.

Para obtener más información sobre el uso de volúmenes, consulte “Volúmenes de ZFS”en la página 275.

Propiedades de usuario de ZFSAdemás de las propiedades nativas estándar, ZFS es compatible con las propiedades aleatoriasdel usuario. Las propiedades del usuario no repercuten en el comportamiento del sistema dearchivos ZFS, pero puede usarlas para anotar información de manera que tenga sentido en suentorno.

Los nombres de propiedad del usuario deben ajustarse a las características siguientes:

■ Deben contener un signo de dos puntos (': ') para distinguirlos de las propiedades nativas.■ Deben contener letras minúsculas, números y los signos de puntuación siguientes: ':', '+','.',

'_'.

Introducción a las propiedades de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 191

Page 192: Guía de administración de Solaris ZFS

■ Deben mostrar un nombre de propiedad de usuario con un máximo de 256 caracteres.

La convención habitual es que el nombre de la propiedad se divida en los dos componentessiguientes, pero este espacio de nombre no lo aplica ZFS:

module:property

Cuando se hace un uso programático de las propiedades del usuario, utilice un nombre dedominio DNS inverso para el componente módulo de nombres de propiedades para reducir laposibilidad de que dos paquetes desarrollados independientemente utilicen el mismo nombrede propiedad para fines diferentes. Los nombres de propiedad que comiencen por "com.sun." sereservan para el uso de Sun Microsystems.

Los valores de propiedades del usuario muestras las características siguientes:

■ Cadenas aleatorias que se heredan siempre y que nunca se validan.■ El valor máximo de la propiedad del usuario es de 1024 caracteres.

Por ejemplo:

# zfs set dept:users=finance userpool/user1

# zfs set dept:users=general userpool/user2

# zfs set dept:users=itops userpool/user3

Todos los comandos que se utilizan en propiedades, por ejemplo zfs list, zfs get o zfs set,se pueden utilizar para manipular las propiedades nativas y las del usuario.

Por ejemplo:

zfs get -r dept:users userpool

NAME PROPERTY VALUE SOURCE

userpool dept:users all local

userpool/user1 dept:users finance local

userpool/user2 dept:users general local

userpool/user3 dept:users itops local

Para borrar una propiedad de usuario, utilice el comando zfs inherit. Por ejemplo:

# zfs inherit -r dept:users userpool

Si la propiedad no se define en ningún conjunto de datos superior, se elimina por completo.

Introducción a las propiedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009192

Page 193: Guía de administración de Solaris ZFS

Consulta de información del sistema de archivos ZFSEl comando zfs list ofrece un mecanismo ampliable para ver y consultar información delconjunto de datos. En esta sección se explican las consultas básicas y complejas.

Visualización de información básica de ZFSPuede visualizar información básica del conjunto de datos mediante el comando zfs list sinopciones. Este comando muestra los nombres de todos los conjuntos de datos en el sistema,incluidas las propiedades used, available, referenced y mountpoint. Para obtener másinformación sobre estas propiedades, consulte “Introducción a las propiedades de ZFS”en la página 179.

Por ejemplo:

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

pool 476K 16.5G 21K /pool

pool/clone 18K 16.5G 18K /pool/clone

pool/home 296K 16.5G 19K /pool/home

pool/home/marks 277K 16.5G 277K /pool/home/marks

pool/home/marks@snap 0 - 277K -

pool/test 18K 16.5G 18K /test

También puede utilizar este comando para visualizar conjuntos de datos específicos siproporciona el nombre del conjunto de datos en la línea de comandos. Asimismo, utilice laopción -r para mostrar repetidamente todos los subordinados del conjunto de datos. Porejemplo:

# zfs list -r pool/home/marks

NAME USED AVAIL REFER MOUNTPOINT

pool/home/marks 277K 16.5G 277K /pool/home/marks

pool/home/marks@snap 0 - 277K -

Utilice el comando zfs list con nombres de ruta completos para conjuntos de datos,instantáneas y volúmenes. Por ejemplo:

# zfs list /pool/home/marks

NAME USED AVAIL REFER MOUNTPOINT

pool/home/marks 277K 16.5G 277K /pool/home/marks

El ejemplo siguiente muestra cómo visualizar tank/home/chua y todos sus conjuntos de datosdescendientes.

# zfs list -r tank/home/chua

NAME USED AVAIL REFER MOUNTPOINT

tank/home/chua 26.0K 4.81G 10.0K /tank/home/chua

Consulta de información del sistema de archivos ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 193

Page 194: Guía de administración de Solaris ZFS

tank/home/chua/projects 16K 4.81G 9.0K /tank/home/chua/projects

tank/home/chua/projects/fs1 8K 4.81G 8K /tank/home/chua/projects/fs1

tank/home/chua/projects/fs2 8K 4.81G 8K /tank/home/chua/projects/fs2

Para obtener más información sobre el comando zfs list, consulte zfs(1M).

Creación de consultas de ZFS complejasLa salida zfs list se puede personalizar mediante las opciones -o, -f y -H.

Puede personalizar la salida del valor de propiedades mediante la opción -o y una lista separadapor comas de las propiedades en cuestión. Proporcione una propiedad del conjunto de datoscomo valor válido. Para obtener una lista de todas las propiedades de conjuntos de datoscompatibles, consulte “Introducción a las propiedades de ZFS” en la página 179. Además de laspropiedades que se definen, la lista de la opción -o también puede contener name para indicarque la salida debe incluir el nombre del conjunto de datos.

El ejemplo siguiente utiliza zfs list para mostrar el nombre del conjunto de datos, junto conlas propiedades sharenfs y mountpoint .

# zfs list -o name,sharenfs,mountpoint

NAME SHARENFS MOUNTPOINT

tank off /tank

tank/home on /tank/home

tank/home/ahrens on /tank/home/ahrens

tank/home/bonwick on /tank/home/bonwick

tank/home/chua on /tank/home/chua

tank/home/eschrock on legacy

tank/home/moore on /tank/home/moore

tank/home/tabriz ro /tank/home/tabriz

Puede utilizar la opción -t para especificar los tipos de conjuntos de datos que se debenmostrar. Los tipos válidos se describen en la tabla siguiente.

TABLA 6–2 Tipos de conjuntos de datos de ZFS

Tipo Descripción

filesystem Sistemas de archivos y clónicos

volumen Volúmenes

instantánea Instantáneas

Las opciones -t toman una lista separada por comas de los tipos de conjuntos de datos quemostrar. El ejemplo siguiente utiliza las opciones -t y - o simultáneamente para mostrar elnombre y la propiedad used para todos los sistemas:

Consulta de información del sistema de archivos ZFS

Guía de administración de Solaris ZFS • Octubre de 2009194

Page 195: Guía de administración de Solaris ZFS

# zfs list -t filesystem -o name,used

NAME USED

pool 476K

pool/clone 18K

pool/home 296K

pool/home/marks 277K

pool/test 18K

Puede utilizar la opción -H para omitir la cabecera zfs list de la salida que se ha generado.Con la opción -H, todos los espacios en blanco aparecen en la salida como tabuladores. Estaopción se puede utilizar si necesita una salida analizable, por ejemplo, con las secuencias decomandos. El ejemplo siguiente muestra la salida generada a partir del uso del comando zfs

list con la opción -H:

# zfs list -H -o name

pool

pool/clone

pool/home

pool/home/marks

pool/home/marks@snap

pool/test

Administración de propiedades de ZFSLas propiedades del conjunto de datos se administran mediante los subcomandos set, inherity get del comando zfs.

■ “Configuración de propiedades de ZFS” en la página 195■ “Herencia de propiedades de ZFS” en la página 196■ “Consulta de las propiedades de ZFS” en la página 197

Configuración de propiedades de ZFSPuede utilizar el comando zfs set para modificar cualquier propiedad configurable delconjunto de datos. También puede usar el comando zfs create para establecer las propiedadescuando se crea el conjunto de datos. Para obtener una lista de propiedades del conjunto de datosconfigurables, consulte “Propiedades nativas de ZFS configurables” en la página 188. Elcomando zfs set adopta una secuencia de propiedad/valor en el formato propiedad=valor y unnombre de conjunto de datos.

El ejemplo siguiente establece la propiedad atime en off para tank/home. Sólo se puedeestablecer o modificar una propiedad durante cada invocación de zfs set.

# zfs set atime=off tank/home

Administración de propiedades de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 195

Page 196: Guía de administración de Solaris ZFS

Además, cualquier propiedad del sistema de archivos se puede establecer al crear el sistema. Porejemplo:

# zfs create -o atime=off tank/home

Puede especificar las propiedades numéricas mediante los sufijos siguientes, fáciles decomprender (en orden de importancia): BKMGTPEZ. Cualquiera de estos sufijos puede ir seguidode una b opcional que indica los bytes, con la excepción del sufijo B, que ya indica los bytes. Lascuatro invocaciones siguientes de zfs set son expresiones numéricas equivalentes que indicanque la propiedad quota se puede establecer en el valor de 50 GB en el sistema de archivostank/home/marks:

# zfs set quota=50G tank/home/marks

# zfs set quota=50g tank/home/marks

# zfs set quota=50GB tank/home/marks

# zfs set quota=50gb tank/home/marks

Los valores de propiedades no numéricas distinguen mayúsculas de minúsculas y deben estaren minúsculas, excepto mountpoint y sharenfs. Los valores de estas propiedades pueden tenercaracteres en mayúscula y minúscula.

Para obtener más información sobre el comando zfs set, consulte zfs(1M).

Herencia de propiedades de ZFSTodas las propiedades configurables, con la excepción de cuotas y reservas, heredan el valor desu superior, a menos que en el subordinado se establezca explícitamente una cuota o reserva. Siningún superior tiene un valor explícito establecido para una propiedad heredada, se usa elvalor predeterminado para la propiedad. Puede utilizar el comando zfs inherit para eliminarun valor de propiedad y, de este modo, hacer que el valor se herede del elemento superior.

El ejemplo siguiente utiliza el comando zfs set para activar la compresión para el sistema dearchivos tank/home/bonwick. A continuación, zfs inherit se utiliza para desconfigurar lapropiedad compression; de este modo, la propiedad hereda el valor predeterminado de off.Como ni home ni tank tienen la propiedad compression configurada localmente, se utiliza elvalor predeterminado. Si ambos tienen activada la compresión, se utiliza el valor configuradoen el superior más inmediato (home en este ejemplo).

# zfs set compression=on tank/home/bonwick

# zfs get -r compression tank

NAME PROPERTY VALUE SOURCE

tank compression off default

tank/home compression off default

tank/home/bonwick compression on local

# zfs inherit compression tank/home/bonwick

Administración de propiedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009196

Page 197: Guía de administración de Solaris ZFS

# zfs get -r compression tank

NAME PROPERTY VALUE SOURCE

tank compression off default

tank/home compression off default

tank/home/bonwick compression off default

El subcomando inherit se aplica de forma recursiva cuando se especifica la opción -r. En elejemplo siguiente, el comando hace que tank/home y cualquier subordinado que pudiera haberhereden el valor de la propiedad compression.

# zfs inherit -r compression tank/home

Nota – Si se utiliza la opción -r, se borra la configuración actual de la propiedad en todos losconjuntos de datos subordinados.

Para obtener más información sobre el comando zfs, consulte zfs(1M).

Consulta de las propiedades de ZFSLa forma más sencilla de consultar los valores de las propiedades es mediante el comando zfs

list. Para obtener más información, consulte “Visualización de información básica de ZFS”en la página 193. Sin embargo, en el caso de consultas y secuencias de comandos complejas, useel comando zfs get para proporcionar información detallada en un formato personalizado.

Puede utilizar el comando zfs get para recuperar cualquier propiedad del conjunto de datos.El ejemplo siguiente muestra la manera de recuperar una sola propiedad en un conjunto dedatos:

# zfs get checksum tank/ws

NAME PROPERTY VALUE SOURCE

tank/ws checksum on default

La cuarta columna, SOURCE, indica dónde se ha establecido el valor de esta propiedad. La tablasiguiente define el significado de los posibles valores de origen.

TABLA 6–3 Valores posibles de SOURCE (zfs get)

Valor de origen Descripción

default Esta propiedad nunca se ha configurado explícitamente para esteconjunto de datos ni sus superiores. En esta propiedad se utiliza elvalor predeterminado.

Administración de propiedades de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 197

Page 198: Guía de administración de Solaris ZFS

TABLA 6–3 Valores posibles de SOURCE (zfs get) (Continuación)Valor de origen Descripción

inherited from

nombre_conjunto_datosEl valor de esta propiedad se hereda del superior, tal como especificanombre_conjunto_datos.

local El valor de esta propiedad se ha configurado explícitamente para esteconjunto de datos mediante zfs set.

temporary El valor de esta propiedad se ha establecido mediante la opción zfs

mount - o y sólo es válida durante el ciclo de vida del montaje. Paraobtener más información sobre las propiedades de puntos de montajetemporales, consulte “Uso de propiedades de montaje temporales”en la página 204.

- (none) Propiedad de sólo lectura. Su valor lo ha generado ZFS.

Puede utilizar la palabra clave especial all para recuperar todas las propiedades del conjunto dedatos. Los ejemplos siguientes utilizan la palabra clave all para recuperar todas las propiedadesdel conjunto de datos:

# zfs get all pool

NAME PROPERTY VALUE SOURCE

pool type filesystem -

pool creation Thu Aug 27 9:33 2009 -

pool used 72K -

pool available 66.9G -

pool referenced 21K -

pool compressratio 1.00x -

pool mounted yes -

pool quota none default

pool reservation none default

pool recordsize 128K default

pool mountpoint /pool default

pool sharenfs off default

pool checksum on default

pool compression on default

pool atime on default

pool devices on default

pool exec on default

pool setuid on default

pool readonly off default

pool zoned off default

pool snapdir hidden default

pool aclmode groupmask default

pool aclinherit restricted default

pool canmount on default

pool shareiscsi off default

pool xattr on default

Administración de propiedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009198

Page 199: Guía de administración de Solaris ZFS

pool copies 1 default

pool version 4 -

pool utf8only off -

pool normalization none -

pool casesensitivity sensitive -

pool vscan off default

pool nbmand off default

pool sharesmb off default

pool refquota none default

pool refreservation none default

pool primarycache all default

pool secondarycache all default

pool usedbysnapshots 0 -

pool usedbydataset 21K -

pool usedbychildren 51K -

pool usedbyrefreservation 0 -

Nota – Las propiedades casesensitivity, nbmand, normalization, sharemgrutf8only y vscanse establecen en un valor fijo y no se admiten en Solaris 10.

La opción -s de zfs get permite especificar, por tipo de origen, las propiedades que mostrar.Esta opción toma una lista separada por comas que indica los tipos de origen deseados. Sóloaparecen las propiedades con el tipo de origen especificado. Los tipos de origen válidos sonlocal, default, inherited, temporary y none. El ejemplo siguiente muestra todas laspropiedades que se han establecido localmente en pool.

# zfs get -s local all pool

NAME PROPERTY VALUE SOURCE

pool compression on local

Cualquiera de las opciones anteriores se puede combinar con la opción -r para mostrar deforma recursiva las propiedades especificadas en todos los subordinados del conjunto de datosindicado. En el ejemplo siguiente, todas las propiedades temporales de todos los conjuntos dedatos en tank aparecen de forma recursiva:

# zfs get -r -s temporary all tank

NAME PROPERTY VALUE SOURCE

tank/home atime off temporary

tank/home/bonwick atime off temporary

tank/home/marks atime off temporary

Una función reciente permite efectuar consultas con el comando zfs get sin especificar unsistema de archivos de destino, lo cual significa que funciona en todos los grupos o sistemas dearchivos. Por ejemplo:

Administración de propiedades de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 199

Page 200: Guía de administración de Solaris ZFS

# zfs get -s local all

tank/home atime off local

tank/home/bonwick atime off local

tank/home/marks quota 50G local

Para obtener más información sobre el comando zfs get, consulte zfs(1M).

Consulta de propiedades de ZFS para secuencias de comandosEl comando zfs get admite las opciones -H y - o, diseñadas para secuencias de comandos. Laopción -H indica que se debe omitir cualquier información de encabezado y que los espacios enblanco se deben reemplazar con un tabulador. El espacio en blanco uniforme permite el fácilanálisis de los datos. Puede utilizar la opción -o para personalizar la salida. Esta opción tomauna lista separada por comas de los valores que deben salir. Todas las propiedades que sedefinen en “Introducción a las propiedades de ZFS” en la página 179, junto con los valoresliterales de name, value, property y source, se pueden proporcionar en la lista -o.

El ejemplo siguiente muestra la forma de recuperar un valor simple mediante las opciones -H y-o de zfs get.

# zfs get -H -o value compression tank/home

on

La opción -p informa de valores numéricos como sus valores exactos. Por ejemplo, 1 MB seespecifica como 1000000. Esta opción puede usarse de la forma siguiente:

# zfs get -H -o value -p used tank/home

182983742

Puede utilizar la opción -r junto con una de las opciones anteriores para recuperar de formarecursiva los valores solicitados para todos los subordinados. El ejemplo siguiente utiliza lasopciones -r, -o y - H para recuperar el nombre del conjunto de datos y el valor de la propiedadused para export/home y sus subordinados, mientras se omite la salida de cualquierencabezado:

# zfs get -H -o name,value -r used export/home

export/home 5.57G

export/home/marks 1.43G

export/home/maybee 2.15G

Administración de propiedades de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009200

Page 201: Guía de administración de Solaris ZFS

Montaje y compartición de sistemas de archivos ZFSEn esta sección se describe la forma de administrar en ZFS puntos de montaje y sistemas dearchivos compartidos.

■ “Administración de puntos de montaje de ZFS” en la página 201■ “Montaje de sistemas de archivos ZFS” en la página 203■ “Uso de propiedades de montaje temporales” en la página 204■ “Desmontaje de los sistemas de archivos ZFS” en la página 205■ “Cómo compartir y anular la compartición de sistemas de archivos ZFS” en la página 205

Administración de puntos de montaje de ZFSDe forma predeterminada, todos los sistemas de archivos ZFS se montan con ZFS en elarranque mediante el servicio svc://system/filesystem/local de Utilidad de gestión deservicios (SMF). Los sistemas de archivos se montan en /path; pathcorresponde al nombre delsistema de archivos.

Puede anular el punto de montaje predeterminado si configura la propiedad mountpoint enuna ruta específica mediante el comando zfs set. ZFS crea automáticamente este punto demontaje, si fuera necesario, y monta de forma automática este sistema de archivos al invocarseel comando zfs mount -a, sin solicitar la edición del archivo /etc/vfstab.

La propiedad mountpoint se hereda. Por ejemplo, si pool/home tiene mountpoint configuradoen /export/stuff, pool/home/user hereda /export/stuff/user para su propiedadmountpoint.

La propiedad mountpoint se puede establecer en none para impedir que se monte el sistema dearchivos. Además, la propiedad canmount está disponible para determinar si se puede montarun sistema de archivos. Para obtener información sobre la propiedad canmount, consulte“Propiedad canmount” en la página 190.

Si es preciso, los sistemas de archivos también se administran a través de las interfaces demontaje heredadas si la propiedad mountpoint se establece como legacy mediante el comandozfs set. De este modo, se impide que ZFS monte y administre automáticamente este sistemade archivos. En su lugar se deben utilizar las herramientas heredadas que incluyen loscomandos mount y umount, así como el archivo /etc/vfstab. Para obtener más informaciónsobre montajes heredados, consulte “Puntos de montaje heredados” en la página 202.

Al cambiar las estrategias de administración del punto de montaje, se aplican loscomportamientos siguientes:

■ Comportamiento automático del punto de montaje■ Comportamiento del punto de montaje heredado

Montaje y compartición de sistemas de archivos ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 201

Page 202: Guía de administración de Solaris ZFS

Puntos de montaje automáticos■ Al cambiar de legacy o none, ZFS monta automáticamente el sistema de archivos.■ Si ZFS administra el sistema de archivos pero está desmontado, y se cambia la propiedad

mountpoint, el sistema de archivos permanece sin montar.

También puede establecer el punto de montaje predeterminado para el conjunto de datos rootal crearlo mediante la opción -m del comando zpool create. Para obtener más informaciónsobre la creación de agrupaciones, consulte “Creación de un grupo de almacenamiento de ZFS”en la página 67.

ZFS administra cualquier conjunto de datos cuya propiedad mountpoint no sea legacy. En elejemplo siguiente se crea un conjunto de datos cuyo punto de montaje lo administra ZFSautomáticamente.

# zfs create pool/filesystem

# zfs get mountpoint pool/filesystem

NAME PROPERTY VALUE SOURCE

pool/filesystem mountpoint /pool/filesystem default

# zfs get mounted pool/filesystem

NAME PROPERTY VALUE SOURCE

pool/filesystem mounted yes -

También puede configurar explícitamente la propiedad mountpoint tal como se muestra en elejemplo siguiente:

# zfs set mountpoint=/mnt pool/filesystem

# zfs get mountpoint pool/filesystem

NAME PROPERTY VALUE SOURCE

pool/filesystem mountpoint /mnt local

# zfs get mounted pool/filesystem

NAME PROPERTY VALUE SOURCE

pool/filesystem mounted yes -

Si se cambia la propiedad mountpoint, el sistema de archivos se desmonta automáticamente delpunto de montaje anterior y se vuelve a montar en el nuevo punto de montaje. Los directoriosdel punto de montaje se crean según convenga. Si ZFS no puede montar un sistema de archivosporque está activo, se informa de un error y se debe forzar un desmontaje manual.

Puntos de montaje heredadosPuede administrar los sistemas de archivos ZFS con herramientas heredadas si la propiedadmountpoint se configura como legacy. Los sistemas de archivos heredados se debenadministrar mediante los comandos mount y umount, así como el archivo /etc/vfstab. ZFS nomonta automáticamente sistemas de archivos heredados en el arranque, y los comandos ZFSmount y umount no funcionan en conjuntos de datos de este tipo. Los ejemplos siguientesmuestran cómo configurar y administrar un conjunto de datos de ZFS en el modo de herencia:

Montaje y compartición de sistemas de archivos ZFS

Guía de administración de Solaris ZFS • Octubre de 2009202

Page 203: Guía de administración de Solaris ZFS

# zfs set mountpoint=legacy tank/home/eschrock

# mount -F zfs tank/home/eschrock /mnt

Para montar automáticamente un sistema de archivos heredado en el arranque, debe agregaruna entrada al archivo /etc/vfstab. El ejemplo siguiente muestra el aspecto que podría tenerla entrada en el archivo /etc/vfstab:

#device device mount FS fsck mount mount

#to mount to fsck point type pass at boot options

#

tank/home/eschrock - /mnt zfs - yes -

Las entradas device to fsck y fsck pass se han establecido como -. Esta sintaxis se debe a queel comando fsck no es aplicable a los sistemas de archivos ZFS. Para obtener más informaciónsobre la integridad de los datos y la falta de necesidad de fsck en ZFS, consulte “Semánticatransaccional” en la página 41.

Montaje de sistemas de archivos ZFSZFS monta automáticamente sistemas de archivos cuando éstos se crean o cuando el sistemaarranca. El uso del comando zfs mount sólo se necesita al cambiar opciones de montaje, o almontar o desmontar sistemas de archivos explícitamente.

El comando zfs mount sin argumentos muestra todos los sistemas de archivos montadosadministrados por ZFS. No se muestran los puntos de montaje administrados de herencia. Porejemplo:

# zfs mount

tank /tank

tank/home /tank/home

tank/home/bonwick /tank/home/bonwick

tank/ws /tank/ws

Puede utilizar la opción -a para montar todos los sistemas de archivos ZFS administrados. Lossistemas de archivos administrados de herencia no están montados. Por ejemplo:

# zfs mount -a

De forma predeterminada, ZFS no permite el montaje en la parte superior de un directorio queno está vacío. Para forzar un montaje en la parte superior de un directorio que no está vacío,debe usar la opción -O. Por ejemplo:

# zfs mount tank/home/lalt

cannot mount ’/export/home/lalt’: directory is not empty

use legacy mountpoint to allow this behavior, or use the -O flag

# zfs mount -O tank/home/lalt

Montaje y compartición de sistemas de archivos ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 203

Page 204: Guía de administración de Solaris ZFS

Los puntos de montaje heredados se deben administrar mediante las herramientas de herencia.Intentar usar herramientas de ZFS genera un error. Por ejemplo:

# zfs mount pool/home/billm

cannot mount ’pool/home/billm’: legacy mountpoint

use mount(1M) to mount this filesystem

# mount -F zfs tank/home/billm

Cuando se monta un sistema de archivos, utiliza un conjunto de opciones de montaje basadasen los valores de propiedad asociados con el conjunto de datos. La correspondencia entre laspropiedades y las opciones de montaje es la siguiente:

Property Opciones de montaje

devices devices/nodevices

exec exec/noexec

readonly ro/rw

setuid setuid/nosetuid

La opción de montaje nosuid es un alias de nodevices, nosetuid.

Uso de propiedades de montaje temporalesSi alguna de las opciones anteriores se configura explícitamente mediante la opción -o con elcomando zfs mount, el valor de propiedad asociado se anula de manera temporal. Estos valoresde propiedades se indican como temporary mediante el comando zfs get y recuperan laconfiguración original cuando se desmonta el sistema de archivos. Si se cambia un valor depropiedad mientras se monta el conjunto de datos, el cambio surte efecto inmediatamente y seanula cualquier configuración temporal.

En el ejemplo siguiente, la opción de montaje de sólo lectura se configura temporalmente en elsistema de archivos tank/home/perrin:

# zfs mount -o ro tank/home/perrin

En este ejemplo, se supone que el sistema de archivos está desmontado. Para cambiartemporalmente una propiedad de un sistema de archivos que está montado, debe usar la opciónespecial remount. En el ejemplo siguiente, la propiedad atime se cambia temporalmente a offpara un sistema de archivos que esté montado:

# zfs mount -o remount,noatime tank/home/perrin

# zfs get atime tank/home/perrin

NAME PROPERTY VALUE SOURCE

tank/home/perrin atime off temporary

Montaje y compartición de sistemas de archivos ZFS

Guía de administración de Solaris ZFS • Octubre de 2009204

Page 205: Guía de administración de Solaris ZFS

Para obtener más información sobre el comando zfs mount, consulte zfs(1M).

Desmontaje de los sistemas de archivos ZFSLos sistemas de archivos se desmontan mediante el subcomando zfs unmount. El comandounmount puede considerar como argumentos el punto de montaje o el nombre del sistema dearchivos.

En el ejemplo siguiente, el nombre del sistema de archivos desmonta un sistema de archivos:

# zfs unmount tank/home/tabriz

En el ejemplo siguiente, el punto de montaje desmonta el sistema de archivos:

# zfs unmount /export/home/tabriz

El comando unmount falla si el sistema de archivos está activo u ocupado. Para forzar eldesmontaje de un sistema de archivos, use la opción -f. Tenga cuidado al forzar el desmontajede un sistema de archivos si su contenido se utiliza de forma activa. La aplicación se puedecomportar de manera imprevista.

# zfs unmount tank/home/eschrock

cannot unmount ’/export/home/eschrock’: Device busy

# zfs unmount -f tank/home/eschrock

Para ofrecer compatibilidad con versiones anteriores, el comando umount de herencia se puedeutilizar para desmontar sistemas de archivos ZFS. Por ejemplo:

# umount /export/home/bob

Para obtener más información sobre el comando zfs umount, consulte zfs(1M).

Cómo compartir y anular la compartición de sistemasde archivos ZFSAl igual que en los puntos de montaje, ZFS puede compartir automáticamente los sistemas dearchivos mediante la propiedad sharenfs. Gracias a este método, no hay necesidad demodificar el archivo /etc/dfs/dfstab al agregarse un nuevo sistema de archivos. La propiedadsharenfs es una lista de opciones separada por comas para pasar al comando share. El valorespecial on es un alias para las opciones de compartición predeterminadas, que son permisos detipo read/write para cualquier usuario. El valor especial off indica que el sistema de archivosno está administrado por ZFS y se puede compartir por medios tradicionales, como el archivo

Montaje y compartición de sistemas de archivos ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 205

Page 206: Guía de administración de Solaris ZFS

/etc/dfs/dfstab. Todos los sistemas de archivos cuya propiedad sharenfs no estéestablecida en off se comparten durante el arranque.

Control de la semántica de comparticiónDe forma predeterminada, todos los sistemas de archivos están sin compartir. Para compartirun nuevo sistema de archivos, utilice una sintaxis de zfs set similar a la siguiente:

# zfs set sharenfs=on tank/home/eschrock

La propiedad se hereda y los sistemas de archivos se comparten automáticamente al crearse, sisu propiedad heredada no es off. Por ejemplo:

# zfs set sharenfs=on tank/home

# zfs create tank/home/bricker

# zfs create tank/home/tabriz

# zfs set sharenfs=ro tank/home/tabriz

tank/home/bricker y tank/home/tabriz son inicialmente de escritura compartida porqueheredan la propiedad sharenfs de tank/home. Si la propiedad se establece en ro (sólo lectura),tank/home/tabriz es de sólo lectura compartida, al margen de la propiedad sharenfs que seha configurado para tank/home.

Anulación de sistemas de archivos ZFS compartidosSi bien la mayoría de los sistemas de archivos se comparten y su compartición se anulaautomáticamente al arrancar, crear y destruir, en ocasiones la compartición de los sistemas dearchivos se debe anular de forma explícita. Para ello, utilice el comando zfs unshare. Porejemplo:

# zfs unshare tank/home/tabriz

Este comando anula la compartición del sistema de archivos tank/home/tabriz. Para que lossistemas de archivos ZFS dejen de compartirse en el sistema, debe usar la opción - a.

# zfs unshare -a

Cómo compartir sistemas de archivos ZFSEn la mayoría de las ocasiones, el comportamiento automático de ZFS, la compartición alarrancar y crear bastan para un funcionamiento normal. Si por algún motivo anula lacompartición de un sistema de archivos, puede compartirlo de nuevo mediante el comando zfs

share. Por ejemplo:

# zfs share tank/home/tabriz

Montaje y compartición de sistemas de archivos ZFS

Guía de administración de Solaris ZFS • Octubre de 2009206

Page 207: Guía de administración de Solaris ZFS

También puede compartir todos los sistemas de archivos ZFS en el sistema mediante la opción- a.

# zfs share -a

Comportamiento de compartición heredadoSi la propiedad sharenfs es off, ZFS no intenta compartir ni anular la compartición del sistemade archivos en ningún momento. Esta configuración permite la administración con mediostradicionales, por ejemplo el archivo /etc/dfs/dfstab.

A diferencia del comando mount tradicional, los comandos share y unshare tradicionalestodavía son válidos en sistemas de archivos ZFS. De este modo, puede compartir manualmenteun sistema de archivos con opciones distintas de la propiedad sharenfs. Se desaconseja estemodelo de administración. Administre las comparticiones de NFS íntegramente con ZFS o elarchivo /etc/dfs/dfstab. El modelo de administración de ZFS se ha ideado para ser mássencillo y requerir menos recursos que el modelo tradicional. Sin embargo, en algunos casosquizá desee seguir controlando el comportamiento de compartición del sistema de archivosmediante el modelo familiar.

Configuración de cuotas y reservas de ZFSUtilice la propiedad quota para establecer un límite en la cantidad de espacio que puede usar unsistema de archivos. Asimismo, use la propiedad reservation para garantizar que se dispongade cierta cantidad de espacio en un sistema de archivos. Ambas propiedades se aplican alconjunto de datos donde se han configurado y a todos los subordinados de ese conjunto dedatos

Es decir, si una cuota se configura en el conjunto de datos tank/home, la cantidad total deespacio utilizado por tank/home y todos sus subordinados no puede superar la cuota. Asimismo,si se concede una reserva a tank/home, tank/home y todos sus subordinados se separan de esareserva. La propiedad used informa de la cantidad de espacio utilizado por un conjunto dedatos y todos sus subordinados.

Las propiedades refquota y refreservation están disponibles para administrar espacio desistemas de archivos sin tener en cuenta el espacio que consumen los subordinados, porejemplo instantáneas y clónicos.

En esta versión de Solaris, puede establecer una cuota user o group sobre la cantidad de espacioconsumida por archivos que sean propiedad de un determinado grupo o usuario. Laspropiedades de cuota de usuarios y grupos no se pueden establecer en un volumen, en unsistema de archivos que sea anterior a la versión 4 o en una agrupación que sea anterior a laversión 15.

Configuración de cuotas y reservas de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 207

Page 208: Guía de administración de Solaris ZFS

A la hora de determinar las funciones de cuota y reserva que mejor administran los sistemas dearchivos se deben tener en cuenta los puntos siguientes:

■ Las propiedades quota y reservation son apropiadas para administrar espacio consumidopor conjuntos de datos.

■ Las propiedades refquota y refreservation son apropiadas para administrar espacioconsumido por conjuntos de datos e instantáneas.

■ Establecer refquota o refreservation con un valor más alto que el de quota o reservationno tiene repercusión alguna. Si establece las propiedades de quota o refquota, fallarán lasoperaciones que intenten exceder cualquier valor. Es posible exceder un valor de quotasuperior al de refquota. Si se ensucian algunos bloques de instantáneas, quizá se excedarealmente el valor de quota antes de exceder el valor de refquota.

■ Las cuotas de usuarios y grupos proporcionan un medio de administrar más fácilmente elespacio en disco con múltiples cuentas de usuario, como por ejemplo en un entornouniversitario.

Para obtener más información sobre la configuración de cuotas y reservas, consulte“Establecimiento de cuotas en sistemas de archivos ZFS” en la página 208 y “Establecimiento dereservas en sistemas de archivos ZFS” en la página 212.

Establecimiento de cuotas en sistemas de archivos ZFSLas cuotas de ZFS se establecen y visualizan mediante los comandos zfs set y zfs get. En elejemplo siguiente, una cuota de 10 GB se establece en tank/home/bonwick.

# zfs set quota=10G tank/home/bonwick

# zfs get quota tank/home/bonwick

NAME PROPERTY VALUE SOURCE

tank/home/bonwick quota 10.0G local

Las cuotas de ZFS también influyen en la salida de los comandos zfs list y df. Por ejemplo:

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

tank/home 16.5K 33.5G 8.50K /export/home

tank/home/bonwick 15.0K 10.0G 8.50K /export/home/bonwick

tank/home/bonwick/ws 6.50K 10.0G 8.50K /export/home/bonwick/ws

# df -h /export/home/bonwick

Filesystem size used avail capacity Mounted on

tank/home/bonwick 10G 8K 10G 1% /export/home/bonwick

Aunque tank/home tenga un espacio disponible de 33,5 GB, tank/home/bonwick ytank/home/bonwick/ws sólo dispone de 10 GB debido a la cuota de tank/home/bonwick.

Configuración de cuotas y reservas de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009208

Page 209: Guía de administración de Solaris ZFS

No puede configurar una cuota con una cantidad inferior a la que esté usando un conjunto dedatos. Por ejemplo:

# zfs set quota=10K tank/home/bonwick

cannot set quota for ’tank/home/bonwick’: size is less than current used or

reserved space

Puede establecer un valor de refquota en un conjunto de datos que limite la cantidad deespacio que puede consumir el conjunto de datos. Este límite por hard no incluye el espacio queconsumen las instantáneas y los clónicos. Por ejemplo:

# zfs set refquota=10g students/studentA

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

profs 106K 33.2G 18K /profs

students 57.7M 33.2G 19K /students

students/studentA 57.5M 9.94G 57.5M /students/studentA

# zfs snapshot students/studentA@today

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

profs 106K 33.2G 18K /profs

students 57.7M 33.2G 19K /students

students/studentA 57.5M 9.94G 57.5M /students/studentA

students/studentA@today 0 - 57.5M -

Para mayor comodidad, puede establecer otra cuota en un conjunto de datos para administrarmejor el espacio que consumen las instantáneas. Por ejemplo:

# zfs set quota=20g students/studentA

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

profs 106K 33.2G 18K /profs

students 57.7M 33.2G 19K /students

students/studentA 57.5M 9.94G 57.5M /students/studentA

students/studentA@today 0 - 57.5M -

En esta situación hipotética, studentA puede entrar en conflicto con el límite por hard derefquota (10 GB), pero puede eliminar archivos que recuperar aunque haya instantáneas.

En el ejemplo anterior, la cuota más pequeña (10 GB frente a 20 GB) se muestra en la salida dezfs list. Para ver en pantalla el valor de las dos cuotas, use el comando zfs get. Por ejemplo:

# zfs get refquota,quota students/studentA

NAME PROPERTY VALUE SOURCE

students/studentA refquota 10G local

students/studentA quota 20G local

Configuración de cuotas y reservas de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 209

Page 210: Guía de administración de Solaris ZFS

Establecimiento de las cuotas de grupos o usuarios en un sistema dearchivos ZFSPuede definir la cuota de un grupo o un usuario mediante el uso de los comandos zfsuserquota y zfs groupquota como se indica a continuación:

# zfs create students/compsci

# zfs set userquota@student1=10G students/compsci

# zfs create students/labstaff

# zfs set groupquota@staff=20GB students/labstaff

Visualice la cuota del grupo o la del usuario actual como se indica a continuación:

# zfs get userquota@student1 students/compsci

NAME PROPERTY VALUE SOURCE

students/compsci userquota@student1 10G local

# zfs get groupquota@staff students/labstaff

NAME PROPERTY VALUE SOURCE

students/labstaff groupquota@staff 20G local

Puede mostrar el uso general del espacio del grupo y del usuario mediante la consulta de laspropiedades siguientes:

# zfs userspace students/compsci

TYPE NAME USED QUOTA

POSIX User root 227M none

POSIX User student1 455M 10G

# zfs groupspace students/labstaff

TYPE NAME USED QUOTA

POSIX Group root 217M none

POSIX Group staff 217M 20G

Si desea identificar el uso individual del espacio de un grupo o usuario, consulte las propiedadessiguientes:

# zfs get userused@student1 students/compsci

NAME PROPERTY VALUE SOURCE

students/compsci userused@student1 455M local

# zfs get groupused@staff students/labstaff

NAME PROPERTY VALUE SOURCE

students/labstaff groupused@staff 217M local

Las propiedades de cuotas de grupos y usuarios no se muestran si utiliza el comando zfs get

all dataset que muestra una lista de todas las propiedades del sistema de archivos.

Puede eliminar la cuota de un grupo o usuario como se indica a continuación:

Configuración de cuotas y reservas de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009210

Page 211: Guía de administración de Solaris ZFS

# zfs set userquota@user1=none students/compsci

# zfs set groupquota@staff=none students/labstaff

Las cuotas de grupos y usuarios de ZFS proporcionan las siguientes características:

■ Cuando se establece en un sistema de archivos, la cuota de un usuario o grupo que se defineen un sistema de archivos superior no la hereda automáticamente un sistema de archivossubordinado.

■ Sin embargo, la cuota del grupo o usuario se aplica cuando se crea una instantánea o unclónico a partir de un sistema de archivos que tiene una cuota de grupo o usuario. Delmismo modo, se incluye una cuota de usuario o grupo en el sistema de archivos cuando secrea una secuencia mediante el comando zfs send, incluso sin opción -R.

■ Los usuarios sin privilegios sólo pueden acceder al uso de su propio espacio. El usuario rooto el usuario al que se le haya concedido el privilegio userused o groupused, puede acceder ala información de cálculo de espacio de grupos o usuarios de todos.

■ Las propiedades userquota y groupquota no se pueden establecer en volúmenes de ZFS, enun sistema de archivos anteriores a la versión 4, o en una agrupación anterior a la versión 15.

La aplicación de cuotas de usuario o grupo puede retrasarse en varios segundos. Este retrasosignifica que los usuarios pueden exceder su cuota antes de que el sistema perciba que se hasobrepasado la cuota y que rechace la acción de escritura con posterioridad al mensaje de errorEDQUOT.

Puede utilizar el comando quota heredado para revisar las cuotas del usuario en un entornoNFS, por ejemplo, donde se haya montado un sistema de archivos ZFS. Sin ninguna opción, elcomando quota sólo muestra la salida si se ha superado la cuota del usuario. Por ejemplo:

# zfs set userquota@student1=10m students/compsci

# zfs userspace students/compsci

TYPE NAME USED QUOTA

POSIX User root 227M none

POSIX User student1 455M 10M

# quota student1

Block limit reached on /students/compsci

Si reinicia la cuota y el límite de cuota ya no se supera, deberá utilizar el comando quota -v pararevisar la cuota del usuario. Por ejemplo:

# zfs set userquota@student1=10GB students/compsci

# zfs userspace students/compsci

TYPE NAME USED QUOTA

POSIX User root 227M none

POSIX User student1 455M 10G

# quota student1

# quota -v student1

Configuración de cuotas y reservas de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 211

Page 212: Guía de administración de Solaris ZFS

Disk quotas for student1 (uid 201):

Filesystem usage quota limit timeleft files quota limit timeleft

/students/compsci

466029 10485760 10485760

Establecimiento de reservas en sistemas de archivosZFSUna reserva de ZFS es una asignación de espacio del grupo cuya disponibilidad en un conjuntode datos está garantizada. Así, no puede reservar espacio para un conjunto de datos si eseespacio no está disponible en el grupo. La cantidad total de todas las reservas destacadas sinconsumir no puede superar la cantidad de espacio sin utilizar del grupo. Las reservas de ZFS sepueden configurar y visualizar mediante los comandos zfs set y zfs get. Por ejemplo:

# zfs set reservation=5G tank/home/moore

# zfs get reservation tank/home/moore

NAME PROPERTY VALUE SOURCE

tank/home/moore reservation 5.00G local

Las reservas de ZFS pueden afectar a la salida del comando zfs list. Por ejemplo:

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

tank/home 5.00G 33.5G 8.50K /export/home

tank/home/moore 15.0K 10.0G 8.50K /export/home/moore

tank/home utiliza 5 GB de espacio, aunque la cantidad total de espacio a la que hacen referenciatank/home y sus subordinados es mucho menor que 5 GB. El espacio utilizado refleja el espacioreservado para tank/home/moore. Las reservas se tienen en cuenta en el espacio utilizado delconjunto de datos superior y se contabilizan en relación con su cuota, reserva o ambas.

# zfs set quota=5G pool/filesystem

# zfs set reservation=10G pool/filesystem/user1

cannot set reservation for ’pool/filesystem/user1’: size is greater than

available space

Un conjunto de datos puede usar más espacio que su reserva, siempre que haya espaciodisponible en el grupo que no esté reservado y que el uso actual del conjunto de datos esté pordebajo de su cuota. Un conjunto de datos no puede consumir espacio reservado a otro conjuntode datos.

Las reservas no son acumulativas. Es decir, una segunda invocación de zfs set para configuraruna reserva no agrega su reserva a la que ya existe, sino que la segunda reserva sustituye a laprimera.

Configuración de cuotas y reservas de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009212

Page 213: Guía de administración de Solaris ZFS

# zfs set reservation=10G tank/home/moore

# zfs set reservation=5G tank/home/moore

# zfs get reservation tank/home/moore

NAME PROPERTY VALUE SOURCE

tank/home/moore reservation 5.00G local

Puede establecer un valor de refreservation para garantizar espacio para un conjunto dedatos que no incluya espacio consumido por instantáneas y clónicos. El valor de reserva derefreservation incluye el espacio utilizado de los conjuntos de datos principales, y repercuteen los valores de cuota y reserva de los conjuntos de datos superiores. Por ejemplo:

# zfs set refreservation=10g profs/prof1

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

profs 10.0G 23.2G 19K /profs

profs/prof1 10G 33.2G 18K /profs/prof1

También se puede establecer un valor de reserva en el mismo conjunto de datos para garantizarespacio de conjunto de datos e instantáneas. Por ejemplo:

# zfs set reservation=20g profs/prof1

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

profs 20.0G 13.2G 19K /profs

profs/prof1 10G 33.2G 18K /profs/prof1

Las reservas regulares incluyen el espacio utilizado del conjunto principal.

En el ejemplo anterior la cuota más pequeña (10 GB frente a 20 GB) se muesra en la salida dezfs list. Para ver en pantalla el valor de las dos cuotas, use el comando zfs get. Por ejemplo:

# zfs get reservation,refreserv profs/prof1

NAME PROPERTY VALUE SOURCE

profs/prof1 reservation 20G local

profs/prof1 refreservation 10G local

Si se establece refreservation, sólo se permite una instantánea en caso de que fuera de estareserva exista espacio libre en la agrupación para alojar la cantidad actual de bytes a los que sehace referencia en el conjunto de datos.

Configuración de cuotas y reservas de ZFS

Capítulo 6 • Administración de sistemas de archivos ZFS 213

Page 214: Guía de administración de Solaris ZFS

214

Page 215: Guía de administración de Solaris ZFS

Utilización de clónicos e instantáneas de ZFS

En este capítulo se explican procedimientos para crear y administrar clónicos e instantáneas deZFS. También se proporciona información sobre cómo guardar instantáneas.

Este capítulo se divide en las secciones siguientes:

■ “Información general de instantáneas de ZFS” en la página 215■ “Creación y destrucción de instantáneas de ZFS” en la página 216■ “Visualización y acceso a instantáneas de ZFS” en la página 218■ “Restablecimiento de una instantánea ZFS” en la página 219■ “Información general sobre clónicos de ZFS” en la página 220■ “Creación de un clónico de ZFS” en la página 221■ “Destrucción de un clónico de ZFS” en la página 221■ “Envío y recepción de datos ZFS” en la página 223

Información general de instantáneas de ZFSUna instantánea es una copia de sólo lectura de un sistema de archivos o volumen. Lasinstantáneas se pueden crear de forma casi inmediata y al principio consumen poco espacio endisco del grupo. Sin embargo, a medida que el conjunto de datos va cambiando, la instantáneaconsume espacio en disco al seguir haciendo referencia a los datos antiguos, cosa que impide laliberación de espacio.

Las instantáneas de ZFS presentan las características siguientes:

■ Se mantienen en los sucesivos rearranques del sistema.■ El número máximo teórico de instantáneas es 264.■ No utilizan un almacén de copia de seguridad independiente. Las instantáneas consumen

espacio en disco directamente del mismo grupo de almacenamiento que el sistema dearchivos desde el que se crearon.

7C A P Í T U L O 7

215

Page 216: Guía de administración de Solaris ZFS

■ Las instantáneas recursivas se crean rápidamente como una operación atómica Lasinstantáneas se crean todas juntas (todas a la vez) o no se crea ninguna. La ventaja de lasoperaciones atómicas de instantáneas estriba en que los datos se toman siempre en unmomento coherente, incluso en el caso de sistemas de archivos subordinados.

No se puede acceder directamente a las instantáneas de volúmenes, pero se pueden clonar,hacer copias de seguridad, invertir, etc. Para obtener información sobre cómo hacer copias deseguridad de una instantánea ZFS, consulte “Envío y recepción de datos ZFS” en la página 223.

Creación y destrucción de instantáneas de ZFSLas instantáneas se crean con el comando zfs snapshot, que toma como único argumento elnombre de la instantánea que se va a crear. El nombre de las instantáneas se asigna de la formasiguiente:

filesystem@snapnamevolume@snapname

El nombre de la instantánea debe seguir las convenciones de denominación establecidas en“Requisitos de asignación de nombres de componentes de ZFS” en la página 45.

En el ejemplo siguiente, se crea una instantánea de tank/home/ahrens denominada friday.

# zfs snapshot tank/home/ahrens@friday

Puede crear instantáneas de todos los sistemas de archivos descendientes con la opción -r. Porejemplo:

# zfs snapshot -r tank/home@now

# zfs list -t snapshot

NAME USED AVAIL REFER MOUNTPOINT

tank/home@now 0 - 29.5K -

tank/home/ahrens@now 0 - 2.15M -

tank/home/anne@now 0 - 1.89M -

tank/home/bob@now 0 - 1.89M -

tank/home/cindys@now 0 - 2.15M -

Las instantáneas no tienen propiedades modificables. Las propiedades de conjuntos de datos nose pueden aplicar a una instantánea.

# zfs set compression=on tank/home/ahrens@tuesday

cannot set compression property for ’tank/home/ahrens@tuesday’: snapshot

properties cannot be modified

Para destruir instantáneas se utiliza el comando zfs destroy. Por ejemplo:

# zfs destroy tank/home/ahrens@friday

Información general de instantáneas de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009216

Page 217: Guía de administración de Solaris ZFS

Los conjuntos de datos no se pueden destruir si tienen una instantánea. Por ejemplo:

# zfs destroy tank/home/ahrens

cannot destroy ’tank/home/ahrens’: filesystem has children

use ’-r’ to destroy the following datasets:

tank/home/ahrens@tuesday

tank/home/ahrens@wednesday

tank/home/ahrens@thursday

Además, si se han creado clónicos a partir de una instantánea, deben destruirse antes de poderdestruir la instantánea.

Para obtener más información sobre el subcomando destroy, consulte “Destrucción de unsistema de archivos ZFS” en la página 177.

Cambio de nombre de instantáneas de ZFSSe puede cambiar el nombre de las instantáneas, pero debe hacerse en el grupo y el conjunto dedatos desde los que se crearon. Por ejemplo:

# zfs rename tank/home/cindys@083006 tank/home/cindys@today

Además, la sintaxis de acceso directo siguiente proporciona una sintaxis de cambio de nombreequivalente al del ejemplo anterior.

# zfs rename tank/home/cindys@083006 today

La siguiente operación de cambio de nombre de instantánea no es posible porque los nombresdel sistema de archivos y el grupo de destino no coinciden con los del sistema de archivos y elgrupo a partir de los cuales se creó la instantánea.

# zfs rename tank/home/cindys@today pool/home/cindys@saturday

cannot rename to ’pool/home/cindys@today’: snapshots must be part of same

dataset

El comando zfs rename - r permite renombrar instantáneas de forma recursiva. Por ejemplo:

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

users 270K 16.5G 22K /users

users/home 76K 16.5G 22K /users/home

users/home@yesterday 0 - 22K -

users/home/markm 18K 16.5G 18K /users/home/markm

users/home/markm@yesterday 0 - 18K -

users/home/marks 18K 16.5G 18K /users/home/marks

users/home/marks@yesterday 0 - 18K -

users/home/neil 18K 16.5G 18K /users/home/neil

users/home/neil@yesterday 0 - 18K -

Información general de instantáneas de ZFS

Capítulo 7 • Utilización de clónicos e instantáneas de ZFS 217

Page 218: Guía de administración de Solaris ZFS

# zfs rename -r users/home@yesterday @2daysago

# zfs list -r users/home

NAME USED AVAIL REFER MOUNTPOINT

users/home 76K 16.5G 22K /users/home

users/home@2daysago 0 - 22K -

users/home/markm 18K 16.5G 18K /users/home/markm

users/home/markm@2daysago 0 - 18K -

users/home/marks 18K 16.5G 18K /users/home/marks

users/home/marks@2daysago 0 - 18K -

users/home/neil 18K 16.5G 18K /users/home/neil

users/home/neil@2daysago 0 - 18K -

Visualización y acceso a instantáneas de ZFSPuede habilitar o deshabilitar la visualización de los listados de instantáneas en la salida zfslist mediante la propiedad de agrupación listsnapshots. Esta propiedad está habilitada deforma predeterminada.

Si deshabilita esta propiedad, puede utilizar el comando zfs list -t snapshot para mostrarinformación de las instantáneas. O bien, habilite la propiedad de agrupación listsnapshots.Por ejemplo:

# zpool get listsnapshots tank

NAME PROPERTY VALUE SOURCE

tank listsnapshots on default

# zpool set listsnapshots=off tank

# zpool get listsnapshots tank

NAME PROPERTY VALUE SOURCE

tank listsnapshots off local

Se puede acceder a las instantáneas de sistemas de archivos del directorio .zfs/snapshot en laraíz del sistema de archivos. Por ejemplo, si tank/home/ahrens se monta en /home/ahrens, sepuede acceder a los datos de la instantánea tank/home/ahrens@thursday en el directorio/home/ahrens/.zfs/snapshot/thursday .

# ls /tank/home/ahrens/.zfs/snapshot

tuesday wednesday thursday

Se puede obtener una lista de instantáneas de la forma que se indica a continuación:

# zfs list -t snapshot

NAME USED AVAIL REFER MOUNTPOINT

pool/home/anne@monday 0 - 780K -

pool/home/bob@monday 0 - 1.01M -

tank/home/ahrens@tuesday 8.50K - 780K -

tank/home/ahrens@wednesday 8.50K - 1.01M -

Información general de instantáneas de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009218

Page 219: Guía de administración de Solaris ZFS

tank/home/ahrens@thursday 0 - 1.77M -

tank/home/cindys@today 8.50K - 524K -

Se puede obtener una lista de las instantáneas creadas para un determinado sistema de archivosde la forma siguiente:

# zfs list -r -t snapshot -o name,creation tank/home

NAME CREATION

tank/home/ahrens@tuesday Mon Aug 31 11:03 2009

tank/home/ahrens@wednesday Mon Aug 31 11:03 2009

tank/home/ahrens@thursday Mon Aug 31 11:03 2009

tank/home/cindys@now Mon Aug 31 11:04 2009

Cálculo del espacio de instantáneasCuando se crea una instantánea, al principio su espacio lo comparte con el sistema de archivo y,posiblemente, con instantáneas antiguas. A medida que cambia el sistema de archivos, eseespacio compartido inicialmente se convierte en exclusivo de la instantánea, cosa que secontabiliza como tal en la propiedad used. Si se eliminan instantáneas puede aumentarse lacantidad de espacio exclusivo (y de used) de otras instantáneas.

La propiedad referenced de espacio de una instantánea es la misma que tenía el sistema dearchivos cuando se creó la instantánea.

Puede identificar información adicional acerca de cómo se consumen los valores de lapropiedad utilizada. Las nuevas propiedades del sistema de archivos de sólo lectura describen eluso de espacio de clónicos, sistemas de archivos y volúmenes. Por ejemplo:

$ zfs list -o space

NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD

rpool 60.6G 6.37G 0 97K 0 6.37G

rpool/ROOT 60.6G 4.87G 0 21K 0 4.87G

rpool/ROOT/zfs1009BE 60.6G 4.87G 0 4.87G 0 0

rpool/dump 60.6G 1.50G 0 1.50G 0 0

rpool/swap 60.6G 16K 0 16K 0 0

Para ver una descripción de estas propiedades, consulte la Tabla 6–1.

Restablecimiento de una instantánea ZFSEl comando zfs rollback se usa para prescindir de todos los cambios efectuados a partir deuna instantánea determinada. El sistema de archivos vuelve al estado en que se encontraba en elmomento de realizarse la instantánea. De forma predeterminada, el comando no puederestablecer una instantánea que no sea la más reciente.

Para restablecer una instantánea anterior, hay que destruir todas las instantáneas intermedias.Puede destruir versiones anteriores de instantáneas mediante la opción -r.

Información general de instantáneas de ZFS

Capítulo 7 • Utilización de clónicos e instantáneas de ZFS 219

Page 220: Guía de administración de Solaris ZFS

Si una instantánea intermedia tiene clónicos, para destruir los clónicos debe especificarse laopción -R.

Nota – El sistema de archivos que se desea restaurar se debe desmontar y volver a montar, siactualmente está montado. Si el sistema de archivos no se puede desmontar, la restauraciónfalla. La opción -f hace que se desmonte el sistema de archivos, si es necesario.

En este ejemplo, el sistema de archivos tank/home/ahrens se restaura a la instantánea detuesday:

# zfs rollback tank/home/ahrens@tuesday

cannot rollback to ’tank/home/ahrens@tuesday’: more recent snapshots exist

use ’-r’ to force deletion of the following snapshots:

tank/home/ahrens@wednesday

tank/home/ahrens@thursday

# zfs rollback -r tank/home/ahrens@tuesday

En el ejemplo anterior, las instantáneas de wednesday y thursday se eliminan porque se harestaurado la instantánea de tuesday.

# zfs list -r -t snapshot -o name,creation tank/home/ahrens

NAME CREATION

tank/home/ahrens@tuesday Wed Aug 27 16:35 2008

Información general sobre clónicos de ZFSUn clónico consiste en un volumen grabable o sistema de archivos cuyo contenido inicial es elmismo que el del conjunto de datos a partir del cual se ha creado. Al igual que sucede con lasinstantáneas, un clónico se crea casi inmediatamente y al principio no consume espacio endisco adicional. Asimismo, puede crear una instantánea de un clónico.■ “Creación de un clónico de ZFS” en la página 221■ “Destrucción de un clónico de ZFS” en la página 221■ “Sustitución de un sistema de archivos ZFS por un clónico de ZFS” en la página 221

Los clónicos sólo se pueden crear a partir de una instantánea. Al clonarse una instantánea, secrea una dependencia implícita entre ésta y el clónico. Aun en el caso de que el clónico se cree enalguna otra parte de la jerarquía del conjunto de datos, la instantánea original no se podráexistir en tanto exista el clónico. Al propiedad origin muestra esta dependencia y el comandozfs destroy recopila todas estas dependencias, si las hay.

Los clónicos no heredan las dependencias del conjunto de datos del que se crean. Utilice loscomandos zfs get y zfs set para ver y cambiar las propiedades de un conjunto de datosclonado. Para obtener más información sobre el establecimiento de las propiedades deconjuntos de datos de ZFS, consulte “Configuración de propiedades de ZFS” en la página 195.

Información general sobre clónicos de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009220

Page 221: Guía de administración de Solaris ZFS

Debido a que al principio un clónico comparte todo su espacio en disco con la instantáneaoriginal, su propiedad used se establece inicialmente en cero. A medida que se efectúan cambiosen el clónico, consume más espacio. La propiedad used de la instantánea original no tiene encuenta el espacio en disco que consume el clónico.

Creación de un clónico de ZFSPara crear un clónico, utilice el comando zfs clone; especifique la instantánea a partir de lacual se va a crear, así como el nombre del nuevo volumen o sistema de archivos. El nuevovolumen o sistema de archivos se puede colocar en cualquier parte de la jerarquía de ZFS. Eltipo del nuevo conjunto de datos (por ejemplo, el volumen o sistema de archivos) es idéntico alde la instantánea de la que se crea el clónico. El clónico de un sistema de archivos no se puedecrear en un grupo que no sea donde se ubica la instantánea del sistema de archivos original.

En este ejemplo, se crea un clónico denominado tank/home/ahrens/bug123 con el mismocontenido inicial que la instantánea de tank/ws/gate@yesterday.

# zfs snapshot tank/ws/gate@yesterday

# zfs clone tank/ws/gate@yesterday tank/home/ahrens/bug123

En este ejemplo, se crea un espacio de trabajo clónico a partir de la instantánea deprojects/newproject@today para un usuario temporal denominadoprojects/teamA/tempuser. A continuación, las propiedades se establecen en el espacio detrabajo clónico.

# zfs snapshot projects/newproject@today

# zfs clone projects/newproject@today projects/teamA/tempuser

# zfs set sharenfs=on projects/teamA/tempuser

# zfs set quota=5G projects/teamA/tempuser

Destrucción de un clónico de ZFSPara destruir clónicos de ZFS se utiliza el comando zfs destroy. Por ejemplo:

# zfs destroy tank/home/ahrens/bug123

Para poder destruir la instantánea principal, antes hay que destruir los clónicos.

Sustitución de un sistema de archivos ZFS por unclónico de ZFSEl comando zfs promote es apto para reemplazar un sistema de archivos ZFS activo por unclónico de ese sistema de archivos. Esta función facilita la clonación y sustitución de sistemas dearchivos para que el sistema de archivos de origen se convierta en el clónico del sistema de

Información general sobre clónicos de ZFS

Capítulo 7 • Utilización de clónicos e instantáneas de ZFS 221

Page 222: Guía de administración de Solaris ZFS

archivos especificado. Asimismo, posibilita la destrucción del sistema de archivos a partir delcual se creó el clónico. Sin la promoción de clónicos no es posible destruir un sistema dearchivos de origen de clónicos activos. Para obtener más información sobre la destrucción declónicos, consulte “Destrucción de un clónico de ZFS” en la página 221.

En este ejemplo, se clona el sistema de archivos tank/test/productA y el sistema de archivosclónico, tank/test/productAbeta, se convierte en el sistema de archivostank/test/productA.

# zfs create tank/test

# zfs create tank/test/productA

# zfs snapshot tank/test/productA@today

# zfs clone tank/test/productA@today tank/test/productAbeta

# zfs list -r tank/test

NAME USED AVAIL REFER MOUNTPOINT

tank/test 314K 8.24G 25.5K /tank/test

tank/test/productA 288K 8.24G 288K /tank/test/productA

tank/test/productA@today 0 - 288K -

tank/test/productAbeta 0 8.24G 288K /tank/test/productAbeta

# zfs promote tank/test/productAbeta

# zfs list -r tank/test

NAME USED AVAIL REFER MOUNTPOINT

tank/test 316K 8.24G 27.5K /tank/test

tank/test/productA 0 8.24G 288K /tank/test/productA

tank/test/productAbeta 288K 8.24G 288K /tank/test/productAbeta

tank/test/productAbeta@today 0 - 288K -

En la salida de zfs list, observe que el espacio perteneciente al sistema de archivos productAoriginal se ha sustituido por el sistema de archivos productAbeta.

Complete el proceso de sustitución de clónicos cambiando el nombre de los sistemas dearchivos. Por ejemplo:

# zfs rename tank/test/productA tank/test/productAlegacy

# zfs rename tank/test/productAbeta tank/test/productA

# zfs list -r tank/test

NAME USED AVAIL REFER MOUNTPOINT

tank/test 316K 8.24G 27.5K /tank/test

tank/test/productA 288K 8.24G 288K /tank/test/productA

tank/test/productA@today 0 - 288K -

tank/test/productAlegacy 0 8.24G 288K /tank/test/productAlegacy

Si lo desea, puede eliminar el sistema de archivos heredado. Por ejemplo:

# zfs destroy tank/test/productAlegacy

Información general sobre clónicos de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009222

Page 223: Guía de administración de Solaris ZFS

Envío y recepción de datos ZFSEl comando zfs send crea una representación de flujo de datos de una instantánea que se grabaen una salida estándar. De forma predeterminada, se crea un flujo de datos completo. Puederedirigir la salida a un archivo u otro sistema. El comando zfs receive crea una instantáneacuyo contenido se especifica en el flujo de datos que figura en la entrada estándar. Si se recibe unflujo de datos completo, también se crea un sistema de archivos. Con estos comandos puedeenviar y recibir datos de instantáneas ZFS y sistemas de archivos. Consulte los ejemplos de lasección siguiente.■ “Envío de una instantánea ZFS” en la página 224■ “Recepción de una instantánea ZFS” en la página 225■ “Duplicación remota de datos de ZFS” en la página 229■ “Cómo guardar datos de ZFS con otros productos de copia de seguridad” en la página 229

Para guardar datos ZFS existen las soluciones de copia de seguridad siguientes:■ Productos empresariales de copia de seguridad – Si necesita las siguientes funciones,

considere la opción de una solución empresarial de copia de seguridad:■ Restauración por archivo■ Verificación de soportes de copia de seguridad■ administración de soportes

■ Instantáneas de sistemas de archivos y restauración de instantáneas – Utilice los comandoszfs snapshot y zfs rollback para crear con facilidad una copia de un sistema de archivosy restablecer su versión anterior si lo necesita. Esta solución es válida, por ejemplo, pararestaurar uno o varios archivos de una versión anterior.Para obtener más información sobre cómo crear y restaurar una versión de instantánea,consulte “Información general de instantáneas de ZFS” en la página 215.

■ Guardar instantáneas – Utilice los comandos zfs send y zfs receive para enviar y recibiruna instantánea ZFS. Puede guardar cambios incrementales entre instantáneas, pero nopuede restaurar archivos de manera individual. Es preciso restaurar toda la instantánea delsistema de archivos. Estos comandos no constituyen una solución de copia de seguridadcompleta para guardar los datos de ZFS.

■ Duplicación remota – Utilice los comandos zfs send y zfs receive para copiar un sistemade archivos de un sistema a otro. Este proceso difiere del tradicional producto para laadministración de volúmenes que quizá duplique dispositivos a través de una WAN. No senecesita ninguna clase de configuración ni hardware especiales. La ventaja de replicar unsistema de archivos ZFS es poder volver a crear un sistema de archivos de un grupo dealmacenamiento en otro sistema y especificar distintos niveles de configuración de esenuevo conjunto, por ejemplo RAID-Z, pero con los mismos datos del sistema de archivos.

■ Utilidades de archivado – Guarde datos de ZFS con utilidades de archivado como tar, cpioy pax, o productos de copia de seguridad de otros proveedores. Actualmente, tanto tar

como cpio traducen correctamente las LCA del estilo de NFSv4, pero no ocurre lo mismocon pax.

Envío y recepción de datos ZFS

Capítulo 7 • Utilización de clónicos e instantáneas de ZFS 223

Page 224: Guía de administración de Solaris ZFS

Envío de una instantánea ZFSPuede utilizar el comando zfs send para enviar una copia de una instantánea y recibirla en otraagrupación del mismo sistema o en otra agrupación de un sistema diferente que se utiliza paraalmacenar datos de copia de seguridad. Por ejemplo, para enviar la instantánea de otraagrupación del mismo sistema, utilice una sintaxis similar a la siguiente:

# zfs send tank/data@snap1 | zfs recv spool/ds01

Si envía el flujo de instantáneas a otro sistema, utilice el comando ssh para enviar la salida zfssend. Por ejemplo:

host1# zfs send tank/dana@snap1 | ssh host2 zfs recv newtank/dana

Si se envía un flujo de datos completo, el sistema de archivos de destino no debe existir.

Los datos incrementales se pueden guardar con la opción zfs send - i. Por ejemplo:

host1# zfs send -i tank/dana@snap1 tank/dana@snap2 | ssh host2 zfs recv newtank/dana

El primer argumento es la instantánea anterior (instantánea1) y el segundo argumento(instantánea2) es la instantánea posterior. En este caso, para que la recepción incremental seaposible, debe existir el sistema de archivos newtank/dana.

El origen de instantánea1 incremental se puede especificar como último componente delnombre de la instantánea. Este método abreviado significa que sólo se debe indicar el nombredespués del signo de arroba @ para instantánea1, que se supone que procede del mismo sistemade archivos que instantánea2. Por ejemplo:

host1# zfs send -i snap1 tank/dana@snap2 > ssh host2 zfs recv newtank/dana

Esta sintaxis equivale al ejemplo anterior de sintaxis incremental.

Si se intenta generar un flujo de datos incremental a partir de una instantánea1 de otro sistemade archivos, aparece en pantalla el mensaje siguiente:

cannot send ’pool/fs@name’: not an earlier snapshot from the same fs

Si es necesario guardar bastantes copias, quizá deba plantearse comprimir una representaciónde flujos de datos de instantáneas de ZFS con el comando gzip. Por ejemplo:

# zfs send pool/fs@snap | gzip > backupfile.gz

Envío y recepción de datos ZFS

Guía de administración de Solaris ZFS • Octubre de 2009224

Page 225: Guía de administración de Solaris ZFS

Recepción de una instantánea ZFSAl recibir una instantánea de sistema de archivos, debe tener en cuenta los aspectos siguientes:

■ Se reciben la instantánea y el sistema de archivos.■ Se desmontan el sistema de archivos y todos los sistemas de archivos subordinados.■ Mientras se efectúa la recepción, no es posible acceder a los sistemas de archivos.■ El sistema de archivos original que se va a recibir no debe existir mientras se transfiere.■ Si hay un nombre de sistema de archivos conflictivo, se puede cambiar el nombre con el

comando zfs rename.

Por ejemplo:

# zfs send tank/gozer@0830 > /bkups/gozer.083006

# zfs receive tank/gozer2@today < /bkups/gozer.083006

# zfs rename tank/gozer tank/gozer.old

# zfs rename tank/gozer2 tank/gozer

Puede utilizar zfs recv como alias para el comando zfs receive.

Si realiza un cambio en el sistema de archivos de destino y quiere efectuar otro envíoincremental de una instantánea, antes debe restaurar el sistema de archivos receptor.

Por ejemplo, para llevar a cabo un cambio en el sistema de archivos siguiente:

host2# rm newtank/dana/file.1

Y efectúa un envío incremental de tank/dana@snap3, para poder recibir la instantáneaincremental primero debe restaurar el sistema de archivos receptor. Para eliminar el paso de larestauración, utilice la opción -F. Por ejemplo:

host1# zfs send -i tank/dana@snap2 tank/dana@snap3 | ssh host2 zfs recv -F newtank/dana

Al recibir una instantánea incremental, ya debe existir el sistema de archivos de destino.

Si efectúa cambios en el sistema de archivos y no restaura el sistema de archivos receptor pararecibir la nueva instantánea incremental, o no utiliza la opción - F, aparece en pantalla elmensaje siguiente:

host1# zfs send -i tank/dana@snap4 tank/dana@snap5 | ssh host2 zfs recv newtank/dana

cannot receive: destination has been modified since most recent snapshot

Para que la opción -F funcione debidamente, primero hay que efectuar estas comprobaciones:

■ Si la instantánea más reciente no coincide con el origen incremental, no se completan larestauración ni la recepción, y se genera un mensaje de error.

Envío y recepción de datos ZFS

Capítulo 7 • Utilización de clónicos e instantáneas de ZFS 225

Page 226: Guía de administración de Solaris ZFS

■ Si inadvertidamente se indica un nombre de sistema de archivos que no coincide con elorigen incremental del comando zfs receive, no se completan la restauración ni larecepción, y se genera el siguiente mensaje de error.

cannot send ’pool/fs@name’: not an earlier snapshot from the same fs

Envío y recepción de flujos de instantáneas ZFScomplejosEn esta sección se describe cómo utilizar las opciones zfs send -I y -R para enviar y recibirflujos de instantáneas más complejos.

Al enviar y recibir flujos de instantáneas ZFS, tenga en cuenta los puntos siguientes:■ Utilice la opción zfs send -I para enviar todos los flujos incrementales de una instantánea a

una instantánea acumulativa. Utilice también esta opción para enviar un flujo incrementalde la instantánea de origen para crear un clon. Para que se acepte el flujo incremental, lainstantánea original ya debe estar en la parte receptora.

■ Utilice la opción zfs send -R para enviar un flujo de replicación de todos los sistemas dearchivos descendentes. Cuando se reciben, se conservan todas las propiedades, lasinstantáneas, los sistemas de archivos descendentes y los clones.

■ También puede utilizar ambas opciones para enviar un flujo de replicación incremental.■ Se mantienen los cambios realizados en las propiedades y las destrucciones y cambios de

nombres de los sistemas de archivos y las instantáneas.■ Si no se especifica zfs recv -F al recibir el flujo de replicación, se omiten las

destrucciones de conjuntos de datos. La sintaxis zfs recv -F en este caso tambiénmantiene su propiedad de aplicar rollback (inversión) si es preciso.

■ Al igual que en otros casos (que no sean zfs send -R) - i o -I, si se utiliza -I, se envíantodas las instantáneas entre instantáneaA e instantáneaD. Si se utiliza -i, sólo se envíainstantáneaD (para todos los descendentes).

■ Para recibir cualquiera de estos nuevos tipos de flujos zfs send, el sistema receptor debeejecutar una versión del software capaz de enviarlos. La versión del flujo se incrementa.Sin embargo, puede acceder a los flujos desde versiones de agrupaciones más antiguasutilizando una versión del software más reciente. Por ejemplo, puede enviar y recibir flujoscreados con las opciones más recientes a o desde una agrupación de la versión 3. Sinembargo, debe ejecutar software reciente para recibir un flujo enviado con las opciones másrecientes.

EJEMPLO 7–1 Ejemplos—Envío y recepción de flujos de instantáneas ZFS complejos

Un grupo de instantáneas incrementales se puede combinar en una instantánea utilizando laopción zfs send -I. Por ejemplo:

Envío y recepción de datos ZFS

Guía de administración de Solaris ZFS • Octubre de 2009226

Page 227: Guía de administración de Solaris ZFS

EJEMPLO 7–1 Ejemplos—Envío y recepción de flujos de instantáneas ZFS complejos (Continuación)

# zfs send -I pool/fs@snapA pool/fs@snapD > /snaps/fs@all-I

Elimine las instantáneas B, C y D.

# zfs destroy pool/fs@snapB

# zfs destroy pool/fs@snapC

# zfs destroy pool/fs@snapD

Reciba la instantánea combinada.

# zfs receive -d -F pool/fs < /snaps/fs@all-I

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

pool 428K 16.5G 20K /pool

pool/fs 71K 16.5G 21K /pool/fs

pool/fs@snapA 16K - 18.5K -

pool/fs@snapB 17K - 20K -

pool/fs@snapC 17K - 20.5K -

pool/fs@snapD 0 - 21K -

También puede utilizar el comando zfs send -I para combinar una instantánea y unainstantánea clónica para crear un conjunto de datos combinado. Por ejemplo:

# zfs create pool/fs

# zfs snapshot pool/fs@snap1

# zfs clone pool/fs@snap1 pool/clone

# zfs snapshot pool/clone@snapA

# zfs send -I pool/fs@snap1 pool/clone@snapA > /snaps/fsclonesnap-I

# zfs destroy pool/clone@snapA

# zfs destroy pool/clone

# zfs receive -F pool/clone < /snaps/fsclonesnap-I

Utilice el comando zfs send -R para replicar un sistema de archivos ZFS y todos los sistemas dearchivos descendentes, hasta la instantánea en cuestión. Cuando se reciben, se conservan todaslas propiedades, las instantáneas, los sistemas de archivos descendentes y los clones.

En el ejemplo siguiente, se crean instantáneas de los sistemas de archivos de usuario. Se crea unflujo de replicación de todas las instantáneas de usuario. A continuación, se destruyen y serecuperan las instantáneas y los sistemas de archivos originales.

# zfs snapshot -r users@today

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

users 187K 33.2G 22K /users

users@today 0 - 22K -

users/user1 18K 33.2G 18K /users/user1

Envío y recepción de datos ZFS

Capítulo 7 • Utilización de clónicos e instantáneas de ZFS 227

Page 228: Guía de administración de Solaris ZFS

EJEMPLO 7–1 Ejemplos—Envío y recepción de flujos de instantáneas ZFS complejos (Continuación)

users/user1@today 0 - 18K -

users/user2 18K 33.2G 18K /users/user2

users/user2@today 0 - 18K -

users/user3 18K 33.2G 18K /users/user3

users/user3@today 0 - 18K -

# zfs send -R users@today > /snaps/users-R

# zfs destroy -r users

# zfs receive -F -d users < /snaps/users-R

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

users 196K 33.2G 22K /users

users@today 0 - 22K -

users/user1 18K 33.2G 18K /users/user1

users/user1@today 0 - 18K -

users/user2 18K 33.2G 18K /users/user2

users/user2@today 0 - 18K -

users/user3 18K 33.2G 18K /users/user3

users/user3@today 0 - 18K -

Puede utilizar el comando zfs send -R para replicar el conjunto de datos users y susdescendentes y enviar el flujo replicado a otra agrupación, users2.

# zfs create users2 mirror c0t1d0 c1t1d0

# zfs receive -F -d users2 < /snaps/users-R

# zfs list

NAME USED AVAIL REFER MOUNTPOINT

users 224K 33.2G 22K /users

users@today 0 - 22K -

users/user1 33K 33.2G 18K /users/user1

users/user1@today 15K - 18K -

users/user2 18K 33.2G 18K /users/user2

users/user2@today 0 - 18K -

users/user3 18K 33.2G 18K /users/user3

users/user3@today 0 - 18K -

users2 188K 16.5G 22K /users2

users2@today 0 - 22K -

users2/user1 18K 16.5G 18K /users2/user1

users2/user1@today 0 - 18K -

users2/user2 18K 16.5G 18K /users2/user2

users2/user2@today 0 - 18K -

users2/user3 18K 16.5G 18K /users2/user3

users2/user3@today 0 - 18K -

Envío y recepción de datos ZFS

Guía de administración de Solaris ZFS • Octubre de 2009228

Page 229: Guía de administración de Solaris ZFS

Duplicación remota de datos de ZFSLos comandos zfs send y zfs recv se utilizan para copiar de forma remota una representaciónde flujos de datos de instantánea de un sistema a otro. Por ejemplo:

# zfs send tank/cindy@today | ssh newsys zfs recv sandbox/restfs@today

Este comando envía los datos de instantánea tank/cindy@today y los recibe en el sistema dearchivos sandbox/restfs; además, crea una instantánea restfs@today en el sistema newsys .En este ejemplo, se ha configurado al usuario para que utilice el comando ssh en el sistemaremoto.

Cómo guardar datos de ZFS con otros productos decopia de seguridadAparte de los comandos zfs send y zfs receive, para guardar archivos ZFS también son aptasutilidades de archivado como los comandos tar y cpio. Todas estas utilidades permitenguardar y restaurar atributos de archivos ZFS y LCA. Seleccione las opciones correspondientespara los comandos tar y cpio.

Para obtener información actualizada sobre problemas con ZFS y productos de copia deseguridad de otros proveedores, consulte las notas de la versión de Solaris 10 o las preguntasfrecuentes sobre ZFS en:

http://opensolaris.org/os/community/zfs/faq/#backupsoftware

Envío y recepción de datos ZFS

Capítulo 7 • Utilización de clónicos e instantáneas de ZFS 229

Page 230: Guía de administración de Solaris ZFS

230

Page 231: Guía de administración de Solaris ZFS

Uso de las LCA para proteger archivos ZFS

En este capítulo se proporciona información sobre el uso de las LCA de (listas de control deacceso) para proteger los archivos ZFS otorgando más permisos granulares que los permisosUNIX estándar.

Este capítulo se divide en las secciones siguientes:■ “Nuevo modelo de LCA de Solaris” en la página 231■ “Establecimiento de las LCA en archivos ZFS” en la página 238■ “Establecimiento y configuración de las LCA en archivos ZFS en formato detallado”

en la página 240■ “Establecimiento y configuración de las LCA en archivos ZFS en formato compacto”

en la página 254

Nuevo modelo de LCA de SolarisLas versiones anteriores de Solaris admitían una implementación de LCA que se basaba sobretodo en la especificación LCA de borrador POSIX. Estas clases de LCA se utilizan para protegerarchivos UFS y se traducen de versiones de NFS anteriores a NFSv4.

NFSv4 es un nuevo modelo de LCA totalmente compatible que permite la interoperatividadentre clientes UNIX y que no son UNIX. La nueva implementación de LCA, tal como se indicaen las especificaciones de NFSv4, aporta una semántica mucho más rica que las LCA del tipoNT.

A continuación se exponen las diferencias principales del nuevo modelo de LCA:■ Se basa en la especificación de NFSv4 y se parece a las LCA del tipo NT.■ Proporciona un conjunto mucho más granular de privilegios de acceso. Para obtener más

información, consulte la Tabla 8–2.■ Se define y visualiza con los comandos chmod y ls, en lugar de los comandos setfacl y

getfacl.

8C A P Í T U L O 8

231

Page 232: Guía de administración de Solaris ZFS

■ Aporta una semántica heredada mucho más rica para establecer la forma en que se aplicanprivilegios de acceso del directorio a los directorios, y así sucesivamente. Para obtener másinformación, consulte “Herencia de LCA” en la página 236.

Los modelos de LCA proporcionan un control de acceso mucho más granular que los permisosde archivos estándar. De forma muy parecida a las LCA de borrador POSIX, las nuevas LCAdisponen de varias entradas de control de acceso.

Las LCA de borrador POSIX emplean una sola entrada para definir los permisos que seconceden y los que se deniegan. El nuevo modelo de LCA presenta dos clases de entradas decontrol de acceso que afectan a la comprobación de acceso: ALLOW y DENY. Así, a partir de unaentrada de control de acceso que defina un conjunto de permisos no puede deducirse si seconceden o deniegan los permisos que hay definidos en dicha entrada.

La traducción entre las LCA del tipo NFSv4 y las de borrador POSIX se efectúa de la manerasiguiente:

■ Si emplea una utilidad que tiene en cuenta las LCA, por ejemplo los comandos cp, mv, tar,cpio o rcp, para transferir archivos UFS con LCA a un sistema de archivos ZFS, las LCA deborrador POSIX se traducen a sus equivalentes del tipo NFSv4.

■ Algunas LCA de tipo NFSv4 se traducen a LCA de borrador POSIX. Si una LCA de tipoNFSv4 no se traduce a una LCA de borrador POSIX, en pantalla aparece un mensajeparecido al siguiente:

# cp -p filea /var/tmp

cp: failed to set acl entries on /var/tmp/filea

■ Si crea un contenedor UFS tar o cpio con la opción de mantener las LCA ACL (tar -p ocpio -P) en un sistema que ejecuta una versión actual de Solaris, las LCA se pierden si elcontenedor se extrae a un sistema que ejecuta una versión inferior de Solaris.Se extraen todos los archivos con los modelos de archivos correctos, pero se omiten lasentradas de LCA.

■ El comando ufsrestore es apto para restaurar datos en un sistema de archivos ZFS. Si losdatos originales incluyen LCA de tipo POSIX, se convierten a LCA de tipo NFSv4.

■ Si intenta definir una LCA del tipo NFSv4 en un archivo UFS, en pantalla aparece unmensaje similar al siguiente:

chmod: ERROR: ACL type’s are different

■ Si intenta definir una LCA de borrador POSIX en un archivo ZFS, en pantalla se muestranmensajes parecidos al siguiente:

# getfacl filea

File system doesn’t support aclent_t style ACL’s.

See acl(5) for more information on Solaris ACL support.

Nuevo modelo de LCA de Solaris

Guía de administración de Solaris ZFS • Octubre de 2009232

Page 233: Guía de administración de Solaris ZFS

Para obtener información sobre otras limitaciones con las LCA y demás productos para copiasde seguridad, consulte “Cómo guardar datos de ZFS con otros productos de copia de seguridad”en la página 229.

Descripciones de la sintaxis para definir las LCASe proporcionan dos formatos básicos de LCA:

Sintaxis para definir LCA triviales

chmod [options] A[index]{+|=}owner@ |group@ |everyone@:

access-permissions/...[:inheritance-flags]: deny | allow archivo

chmod [options] A-owner@, group@, everyone@:access-permissions/...[:inheritance-flags]:deny | allow archivo ...

chmod [options] A[index]- archivo

Sintaxis para definir LCA no triviales

chmod [options] A[index]{+|=}user|group:name:access-permissions/...[:inheritance-flags]:deny | allow archivo

chmod [options] A-user|group:name:access-permissions /...[:inheritance-flags]:deny |

allow archivo ...

chmod [options] A[index]- archivo

owner@, group@, everyone@Identifica el tipo de entrada LCA de la sintaxis de LCA triviales. Para obtener una descripciónde tipos de entradas LCA, consulte la Tabla 8–1.

user or group:ACL-entry-ID=username or groupnameIdentifica el tipo de entrada LCA de la sintaxis de LCA explícitas. El usuario y el grupo deACL-entry-type debe contener también el ACL-entry-ID, username o groupname. Paraobtener una descripción de tipos de entradas LCA, consulte la Tabla 8–1.

access-permissions/.../Identifica los permisos de acceso que se conceden o deniegan. Para obtener una descripciónde los permisos de acceso de LCA, consulte la Tabla 8–2.

inheritance-flagsIdentifica una lista opcional de indicadores de herencia de LCA. Para obtener unadescripción de los indicadores de herencia de LCA, consulte la Tabla 8–3.

deny | allowIdentifica si se conceden o deniegan los permisos de acceso.

En el ejemplo siguiente, el valor de ID de entrada LCA no es relevante.

Nuevo modelo de LCA de Solaris

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 233

Page 234: Guía de administración de Solaris ZFS

group@:write_data/append_data/execute:deny

El ejemplo siguiente incluye un ID de entrada LCA porque en la LCA se incluye un usuarioespecífico (tipo de entrada LCA).

0:user:gozer:list_directory/read_data/execute:allow

Cuando en pantalla se muestra una entrada de LCA, se parece al ejemplo siguiente:

2:group@:write_data/append_data/execute:deny

El 2 o el ID de índice de este ejemplo identifica la entrada de LCA de la LCA más grande, quepodría tener varias entreadas para owner (propietario), UID específicos, group (grupo) yeveryone (cualquiera). Se puede especificar el ID de índice con el comando chmod paraidentificar la parte de la LCA que desea modificar. Por ejemplo, el ID de índice 3 puedeidentificarse como A3 en el comando chmod de una forma similar a la siguiente:

chmod A3=user:venkman:read_acl:allow filename

Los tipos de entrada LCA, que son las representaciones de LCA de los propietarios, grupos, etc.,se describen en la tabla siguiente.

TABLA 8–1 Tipos de entradas de LCA

Tipo de entrada de LCA Descripción

owner@ Especifica el acceso que se concede al propietario del objeto.

group@ Especifica el acceso que se concede al grupo propietario del objeto.

everyone@ Especifica el acceso que se concede a cualquier usuario o grupo que no coincida conninguna otra entrada de LCA.

user Con un nombre de usuario, especifica el acceso que se concede a un usuarioadicional del objeto. Debe incluir el ID de entrada LCA, que contiene unnombre_usuario o ID_usuario. Si el valor no es un ID de usuario numérico onombre_usuario válido, el tipo de entrada de LCA tampoco es válido.

group Con un nombre de grupo, especifica el acceso que se concede a un grupo adicionaldel objeto. Debe incluir el ID de entrada LCA, que contiene un nombre_grupo oID_grupo. Si el valor no es un ID de grupo numérico o nombre_grupo válido, el tipode entrada de LCA tampoco es válido.

En la tabla siguiente se describen los privilegios de acceso de LCA.

Nuevo modelo de LCA de Solaris

Guía de administración de Solaris ZFS • Octubre de 2009234

Page 235: Guía de administración de Solaris ZFS

TABLA 8–2 Privilegios de acceso de LCA

Privilegio de accesoPrivilegio de accesocompacto Descripción

add_file e Permiso para agregar un archivo nuevo a un directorio.

add_subdirectory p En un directorio, permiso para crear un subdirectorio.

append_data p Marcador de posición. Actualmente no se ha implementado.

delete d Permiso para eliminar un archivo.

delete_child E Permiso para eliminar un archivo o un directorio dentro de undirectorio.

execute x Permiso para ejecutar un archivo o buscar en el contenido de undirectorio.

list_directory r Permiso para resumir el contenido de un directorio.

read_acl C Permiso para leer la LCA (ls).

read_attributes a Permiso para leer los atributos básicos (no LCA) de un archivo. Losatributos de tipo stat pueden considerarse atributos básicos.Permitir este bit de la máscara de acceso significa que la entidadpuede ejecutar ls(1) y stat(2).

read_data r Permiso para leer el contenido del archivo.

read_xattr S Permiso para leer los atributos extendidos de un archivo o al buscaren el directorio de atributos extendidos del archivo.

synchronize s Marcador de posición. Actualmente no se ha implementado.

write_xattr W Permiso para crear atributos extendidos o escribir en el directoriode atributos extendidos.

Si se concede este permiso a un usuario, el usuario puede crear undirectorio de atributos extendidos para un archivo. Los permisos deatributo del archivo controlan el acceso al atributo por parte delusuario.

write_data e Permiso para modificar o reemplazar el contenido de un archivo.

write_attributes A Permiso para cambiar las horas asociadas con un archivo odirectorio a un valor arbitratrio.

write_acl C Permiso para escribir en la LCA o posibilidad de modificarlamediante el comando chmod.

Nuevo modelo de LCA de Solaris

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 235

Page 236: Guía de administración de Solaris ZFS

TABLA 8–2 Privilegios de acceso de LCA (Continuación)

Privilegio de accesoPrivilegio de accesocompacto Descripción

write_owner O Permiso para cambiar el grupo o propietario del archivo. Oposibilidad de ejecutar los comandos chown o chgrp en el archivo.

Permiso para adquirir la propiedad de un archivo o para cambiar lapropiedad del grupo del archivo a un grupo al que pertenezca elusuario. Si desea cambiar la propiedad de grupo o archivo a unusuario o grupo arbitrario, se necesita el privilegioPRIV_FILE_CHOWN.

Herencia de LCALa finalidad de utilizar la herencia de LCA es que los archivos o directorios que se creen puedanheredar las LCA que en principio deben heredar, pero sin prescindir de los bits de permiso en eldirectorio superior.

De forma predeterminada, las LCA no se propagan. Si en un directorio se establece una LCA notrivial, no se heredará en ningún directorio posterior. Debe especificar la herencia de una LCAen un archivo o directorio.

En la tabla siguiente se describen los indicadores de herencia opcionales.

TABLA 8–3 Indicadores de herencia de LCA

Indicador de herenciaIndicador de herenciacompacto Descripción

file_inherit f La LCA sólo se hereda del directorio superior a los archivos deldirectorio.

dir_inherit d La LCA sólo se hereda del directorio superior a lossubdirectorios del directorio.

inherit_only i La LCA se hereda del directorio superior, pero únicamente seaplica a los archivos y subdirectorios que se creen, no aldirectorio en sí. Para especificar lo que se hereda. se necesita elindicador file_inherit, dir_inherit o ambos.

no_propagate n La LCA se hereda sólo del directorio superior al contenido delprimer nivel del directorio. Se excluye el contenido del segundonivel o inferiores. Para especificar lo que se hereda. se necesitael indicador file_inherit, dir_inherit o ambos.

- N/D Ningún permiso concedido.

Nuevo modelo de LCA de Solaris

Guía de administración de Solaris ZFS • Octubre de 2009236

Page 237: Guía de administración de Solaris ZFS

Además, se puede establecer una directriz de herencia de LCA predeterminada del sistema dearchivos más o menos estricta mediante la propiedad del sistema de archivos aclinherit.Para obtener más información, consulte la siguiente sección.

Modos de propiedades de LCAEl sistema de archivos ZFS incluye dos modos de propiedades en relación con las LCA:■ aclinherit – Propiedad que determina el comportamiento de la herencia de LCA. Puede

tener los valores de propiedad siguientes:■ discard – En los objetos nuevos, si se crea un archivo o directorio, no se heredan

entradas de LCA. La LCA del archivo o directorio es igual al modo de permiso delarchivo o directorio.

■ noallow – En los objetos nuevos, sólo se heredan las entradas de LCA cuyo tipo deacceso sea deny.

■ restricted – En los objetos nuevos, al heredarse una entrada de LCA se eliminan lospermisos write_owner y write_acl.

■ passthrough – Si el valor de propiedad se configura como passthrough, los archivos secrean con un modo que determinan las entradas de control de acceso que se puedenheredar. Si no existen entradas de control de acceso que se puedan heredar y que afectenal modo, el modo se configurará de acuerdo con el modo solicitado desde la aplicación.

■ Passthrough-x – Tiene la misma semántica que passthrough, excepto que cuandopassthrough-x está habilitada, los archivos se crean con el permiso de ejecución (x),pero sólo si el permiso de ejecución se ha establecido en el modo de creación de archivosy en un ACE heredable que afecta al modo.

El modo predeterminado para aclinherit es restricted.■ aclmode – Esta propiedad modifica el comportamiento de LCA al crear un archivo por

primera vez o si el comando chmod modifica el modo de un archivo o directorio. Puede tenerlos valores siguientes:■ discard – Se eliminan todas las entradas de LCA menos las que se necesiten para definir

el modo del archivo o directorio.■ groupmask – Se reducen los permisos de LCA de usuario o grupo para que no sean

mayores que los bits de permisos de grupo, a menos que se trate de una entrada deusuario cuyo ID de usuario sea idéntico al del propietario del archivo o directorio. Así,los permisos de LCA se reducen para que no superen los bits de permisos del propietario.

■ passthrough – Durante el funcionamiento de chmod, las entradas de control de accesoque no sean owner@, group@ o everyone@ no se modifican de ningún modo. Las entradasde control de acceso con owner@, group@ o everyone@ están desactivadas para configurarel modo de archivo de acuerdo con lo solicitado por el funcionamiento de chmod.

groupmask es el modo predeterminado de la propiedad aclmode.

Nuevo modelo de LCA de Solaris

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 237

Page 238: Guía de administración de Solaris ZFS

Establecimiento de las LCA en archivos ZFSAl implementarse con ZFS, las LCA se componen de una matriz de entradas de LCA. ZFSproporciona un modelo de LCA pura en el que todos los archivos disponen de una LCA.Normalmente, las LCA son triviales en el sentido de que únicamente representan las entradasde UNIX propietario/grupo/otros tradicionales.

Los archivos ZFS siguen teniendo bits de permisos y un modo; sin embargo, estos valores sonmás de una caché de lo que representa la LCA. Así, si cambia los permisos del archivo, su LCAse actualiza en consonancia. Además, si elimina una LCA no trivial que concedía a un usuarioacceso a un archivo o directorio, ese usuario quizá siga disponiendo de acceso gracias a los bitsde permisos del archivo o directorio que conceden acceso al grupo o a todos los usuarios. Todaslas decisiones de control de acceso se supeditan a los permisos representados en una LCA dearchivo o directorio.

A continuación se proporcionan las reglas principales de acceso de LCA de un archivo ZFS:■ ZFS procesa entradas de LCA en el orden que figuran en la LCA, de arriba abajo.■ Sólo se procesan las entradas de LCA que tengan a "alguien" que coincida con quien solicita

acceso.■ Una vez se concede un permiso, una entrada de denegación de LCA posterior no lo puede

denegar en el mismo conjunto de permisos de LCA.■ El permiso write_acl se concede de forma incondicional al propietario del archivo aunque

el permiso se deniegue explícitamente. De lo contrario, se deniega cualquier permiso que noquede especificado.Cuando se deniegan permisos o falta un permiso de acceso, el subsistema de privilegiosdetermina la solicitud de acceso que se concede al propietario del archivo o superusuario. Esun mecanismo para permitir que los propietarios de archivos siempre puedan acceder a susarchivos y que los superusuarios puedan modificar archivos en situaciones de recuperación.

Si en un directorio se establece una LCA no trivial, los directorios subordinados no heredan laLCA de manera automática. Si se establece una LCA no trivial y desea que la hereden losdirectorios subordinados, debe utilizar los indicadores de herencia de LCA. Para obtener másinformación, consulte la Tabla 8–3 y “Establecimiento de herencia de LCA en archivos ZFS enformato detallado” en la página 246.

Al crear un archivo, y en función del valor umask, se aplica una LCA similar a la siguiente:

$ ls -v file.1

-r--r--r-- 1 root root 206663 Aug 31 11:53 file.1

0:owner@:write_data/append_data/execute:deny

1:owner@:read_data/write_xattr/write_attributes/write_acl/write_owner

:allow

2:group@:write_data/append_data/execute:deny

3:group@:read_data:allow

Establecimiento de las LCA en archivos ZFS

Guía de administración de Solaris ZFS • Octubre de 2009238

Page 239: Guía de administración de Solaris ZFS

4:everyone@:write_data/append_data/write_xattr/execute/write_attributes

/write_acl/write_owner:deny

5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize

:allow

Cada categoría de usuario de este ejemplo (owner@, group@, everyone@) tiene dos entradas deLCA. Una entrada es para los permisos deny y otra para los permisos allow.

A continuación se proporciona una descripción de esta LCA de archivo:

0:owner@ Se deniega al propietario los permisos de modificación y ejecución del archivo(write_data/append_data/execute:deny).

1:owner@ El propietario puede leer y modificar el contenido del archivo (read_data/write_data/append_data). También puede modificar atributosdel archivo como indicaciones de hora, atributos extendidos y LCA(write_xattr/write_attributes /write_acl). Además, puede modificarla propiedad del archivo (write_owner:allow).

2:group@ Se deniega al grupo permisos de modificación y ejecución del archivo(write_data/append_data/execute:deny).

3:group@ Se concede al grupo permisos de lectura del archivo (read_data:allow ).

4:everyone@ Se deniega a quien no sea usuario ni grupo permisos para modificar o ejecutarel contenido del archivo; tampoco puede modificar ningún atributo delarchivo (write_data/append_data/write_xattr/execute/write_attributes/write_acl/write_owner:deny ).

5:everyone@ Se concede a quien no sea usuario ni grupo permisos de lectura del archivo ylos atributos del archivo(read_data/read_xattr/read_attributes/read_acl/synchronize:allow ). El permiso de acceso synchronize no estáimplementado en la actualidad.

Si se crea un directorio, y según el valor de umask, una LCA de directorio predeterminadatendrá un aspecto similar al siguiente:

$ ls -dv dir.1

drwxr-xr-x 2 root root 2 Aug 31 11:54 dir.1

0:owner@::deny

1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

2:group@:add_file/write_data/add_subdirectory/append_data:deny

3:group@:list_directory/read_data/execute:allow

4:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

Establecimiento de las LCA en archivos ZFS

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 239

Page 240: Guía de administración de Solaris ZFS

5:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

A continuación se proporciona una descripción de esta LCA de directorio:

0:owner@ La lista de denegación a propietarios está vacía para el directorio (::deny).

1:owner@ El propietario puede leer y modificar el contenido del directorio(list_directory/read_data/add_file/write_data/add_subdirectory/append_data ), buscar en el contenido (execute) ymodificar atributos del archivo como indicaciones de hora, atributosextendidos y LCA ( write_xattr/write_attributes/write_acl). Además,puede modificar la propiedad del directorio (write_owner:allow).

2:group@ El grupo no puede agregar ni modificar contenido del directorio (add_file/write_data/add_subdirectory/append_data

:deny).

3:group@ El grupo puede agrupar y leer el contenido del directorio. Además, tienepermisos de ejecución para buscar en el contenido del directorio(list_directory/read_data/execute:allow).

4:everyone@ Se deniega a quien no sea usuario ni grupo permisos para agregar o modificarel contenido del directorio(add_file/write_data/add_subdirectory/append_data). Además, sedeniega el permiso para modificar atributos del directorio. (write_xattr/write_attributes/write_acl/write_owner:deny).

5:everyone@ Se concede a quien no sea usuario ni grupo permisos de lectura y ejecucióndel contenido y los atributos del directorio(list_directory/read_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow ). El permiso de accesosynchronize no está implementado en la actualidad.

Establecimiento y configuración de las LCA en archivos ZFS enformato detallado

El comando chmod es válido para modificar las LCA de archivos ZFS. La sintaxis siguiente delcomando chmod para modificar LCA utiliza especificación LCA para identificar el formato de laLCA. Para obtener una descripción de especificación LCA, consulte “Descripciones de la sintaxispara definir las LCA” en la página 233.

■ Adición de entradas de LCA■ Adición de una entrada de LCA para un usuario

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Guía de administración de Solaris ZFS • Octubre de 2009240

Page 241: Guía de administración de Solaris ZFS

% chmod A+acl-specification filename

■ Adición de una entrada de LCA mediante ID_índice

% chmod Aindex-ID+acl-specification filename

Esta sintaxis inserta la nueva entrada de LCA en la ubicación de ID_índice que seespecifica.

■ Sustitución de una entrada de LCA

% chmod A=acl-specification filename

% chmod Aindex-ID=acl-specification filename

■ Eliminación de entradas de LCA■ Eliminación de una entrada de LCA mediante ID_índice

% chmod Aindex-ID- filename

■ Eliminación de una entrada de LCA por usuario

% chmod A-acl-specification filename

■ Eliminación de todas las entradas de control de acceso no triviales de un archivo

% chmod A- filename

Para ver en pantalla información de LCA en modo detallado, se utiliza el comando ls - v. Porejemplo:

# ls -v file.1

-rw-r--r-- 1 root root 206663 Aug 31 11:53 file.1

0:owner@:execute:deny

1:owner@:read_data/write_data/append_data/write_xattr/write_attributes

/write_acl/write_owner:allow

2:group@:write_data/append_data/execute:deny

3:group@:read_data:allow

4:everyone@:write_data/append_data/write_xattr/execute/write_attributes

/write_acl/write_owner:deny

5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize

:allow

Para obtener información sobre el uso del formato de LCA compacto, consulte“Establecimiento y configuración de las LCA en archivos ZFS en formato compacto”en la página 254.

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 241

Page 242: Guía de administración de Solaris ZFS

EJEMPLO 8–1 Modificación de LCA triviales en archivos ZFS

Esta sección proporciona ejemplos de cómo configurar y mostrar LCA triviales.

En el ejemplo siguiente, en file.1 hay una LCA trivial:

# ls -v file.1

-rw-r--r-- 1 root root 206663 Aug 31 11:53 file.1

0:owner@:execute:deny

1:owner@:read_data/write_data/append_data/write_xattr/write_attributes

/write_acl/write_owner:allow

2:group@:write_data/append_data/execute:deny

3:group@:read_data:allow

4:everyone@:write_data/append_data/write_xattr/execute/write_attributes

/write_acl/write_owner:deny

5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize

:allow

En el ejemplo siguiente, se conceden permisos de write_data para group@.

# chmod A2=group@:append_data/execute:deny file.1

# chmod A3=group@:read_data/write_data:allow file.1

# ls -v file.1

-rw-rw-r-- 1 root root 206663 Aug 31 11:53 file.1

0:owner@:execute:deny

1:owner@:read_data/write_data/append_data/write_xattr/write_attributes

/write_acl/write_owner:allow

2:group@:append_data/execute:deny

3:group@:read_data/write_data:allow

4:everyone@:write_data/append_data/write_xattr/execute/write_attributes

/write_acl/write_owner:deny

5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize

:allow

En el ejemplo siguiente, los permisos de file.1 se establecen en 644.

# chmod 644 file.1

# ls -v file.1

-rw-r--r-- 1 root root 206663 Aug 31 11:53 file.1

0:owner@:execute:deny

1:owner@:read_data/write_data/append_data/write_xattr/write_attributes

/write_acl/write_owner:allow

2:group@:write_data/append_data/execute:deny

3:group@:read_data:allow

4:everyone@:write_data/append_data/write_xattr/execute/write_attributes

/write_acl/write_owner:deny

5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize

:allow

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Guía de administración de Solaris ZFS • Octubre de 2009242

Page 243: Guía de administración de Solaris ZFS

EJEMPLO 8–2 Establecimiento de LCA no triviales en archivos ZFS

En esta sección se proporcionan ejemplos de establecimiento y visualización de LCA notriviales.

En el ejemplo siguiente, se agregan permisos de read_data/execute para el usuario gozer en eldirectorio test.dir.

# chmod A+user:gozer:read_data/execute:allow test.dir

# ls -dv test.dir

drwxr-xr-x+ 2 root root 2 Aug 31 12:02 test.dir

0:user:gozer:list_directory/read_data/execute:allow

1:owner@::deny

2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

3:group@:add_file/write_data/add_subdirectory/append_data:deny

4:group@:list_directory/read_data/execute:allow

5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

En el ejemplo siguiente, se retiran los permisos de read_data/execute para el usuario gozer.

# chmod A0- test.dir

# ls -dv test.dir

0:owner@::deny

1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

2:group@:add_file/write_data/add_subdirectory/append_data:deny

3:group@:list_directory/read_data/execute:allow

4:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

5:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

EJEMPLO 8–3 Interacción de LCA con permisos en archivos ZFS

Estos ejemplos de LCA ilustran la interacción entre el establecimiento de las LCA y el cambio delos bits de permisos del archivo o el directorio.

En el ejemplo siguiente, en file.2 hay una LCA trivial:

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 243

Page 244: Guía de administración de Solaris ZFS

EJEMPLO 8–3 Interacción de LCA con permisos en archivos ZFS (Continuación)

# ls -v file.2

-rw-r--r-- 1 root root 2836 Aug 31 12:06 file.2

0:owner@:execute:deny

1:owner@:read_data/write_data/append_data/write_xattr/write_attributes

/write_acl/write_owner:allow

2:group@:write_data/append_data/execute:deny

3:group@:read_data:allow

4:everyone@:write_data/append_data/write_xattr/execute/write_attributes

/write_acl/write_owner:deny

5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize

:allow

En el ejemplo siguiente, la concesión de permisos de LCA se retiran de everyone@.

# chmod A5- file.2

# ls -v file.2

-rw-r-----+ 1 root root 2836 Aug 31 12:06 file.2

0:owner@:execute:deny

1:owner@:read_data/write_data/append_data/write_xattr/write_attributes

/write_acl/write_owner:allow

2:group@:write_data/append_data/execute:deny

3:group@:read_data:allow

4:everyone@:write_data/append_data/write_xattr/execute/write_attributes

/write_acl/write_owner:deny

En esta salida, los bits de permisos del archivo se restablecen de 655 a 650. Los permisos delectura de everyone@ se han suprimido de los bits de permisos del archivo cuando se retiran lospermisos de LCA de everyone@.

En el ejemplo siguiente, la LCA se reemplaza con permisos de read_data/write_data paraeveryone@.

# chmod A=everyone@:read_data/write_data:allow file.3

# ls -v file.3

-rw-rw-rw-+ 1 root root 2455 Aug 31 12:08 file.3

0:everyone@:read_data/write_data:allow

En esta salida, la sintaxis de chmod reemplaza la LCA con permisos deread_data/write_data:allow por permisos de lectura/escritura para owner (propietario),group (grupo) y everyone@ (cualquiera). En este modelo, everyone@ especifica acceso acualquier grupo o usuario. Como no hay entrada de LCA de owner@ o group@ LCA para anularlos permisos de propietario y grupo, los bits de permisos se establecen en 666.

En el ejemplo siguiente, la LCA se reemplaza por permisos de lectura para el usuario gozer.

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Guía de administración de Solaris ZFS • Octubre de 2009244

Page 245: Guía de administración de Solaris ZFS

EJEMPLO 8–3 Interacción de LCA con permisos en archivos ZFS (Continuación)

# chmod A=user:gozer:read_data:allow file.3

# ls -v file.3

----------+ 1 root root 2455 Aug 31 12:08 file.3

0:user:gozer:read_data:allow

En esta salida, los permisos de archivo se calcula que sean 000 porque no hay entradas de LCApara owner@, group@ ni everyone@, que representan los componentes de permisos habituales deun archivo. El propietario del archivo puede solventar esta situación restableciendo lospermisos (y la LCA) de la forma siguiente:

# chmod 655 file.3

# ls -v file.3

-rw-r-xr-x+ 1 root root 2455 Aug 31 12:08 file.3

0:user:gozer::deny

1:user:gozer:read_data:allow

2:owner@:execute:deny

3:owner@:read_data/write_data/append_data/write_xattr/write_attributes

/write_acl/write_owner:allow

4:group@:write_data/append_data:deny

5:group@:read_data/execute:allow

6:everyone@:write_data/append_data/write_xattr/write_attributes

/write_acl/write_owner:deny

7:everyone@:read_data/read_xattr/execute/read_attributes/read_acl

/synchronize:allow

EJEMPLO 8–4 Restauración de LCA triviales en archivos ZFS

Puede utilizar el comando chmod para eliminar todas las LCA no triviales de un archivo odirectorio.

En el ejemplo siguiente, hay dos entradas de control de acceso no triviales en test5.dir.

# ls -dv test5.dir

drwxr-xr-x+ 2 root root 2 Aug 31 12:11 test5.dir

0:user:lp:read_data:file_inherit:deny

1:user:gozer:read_data:file_inherit:deny

2:owner@::deny

3:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

4:group@:add_file/write_data/add_subdirectory/append_data:deny

5:group@:list_directory/read_data/execute:allow

6:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 245

Page 246: Guía de administración de Solaris ZFS

EJEMPLO 8–4 Restauración de LCA triviales en archivos ZFS (Continuación)

7:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

En el ejemplo siguiente, se han eliminado las LCA no triviales de los usuarios gozer and lp. LaLCA restante contiene los seis valores predeterminados de owner@, group@ y everyone@.

# chmod A- test5.dir

# ls -dv test5.dir

drwxr-xr-x 2 root root 2 Aug 31 12:11 test5.dir

0:owner@::deny

1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

2:group@:add_file/write_data/add_subdirectory/append_data:deny

3:group@:list_directory/read_data/execute:allow

4:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

5:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

Establecimiento de herencia de LCA en archivos ZFS enformato detalladoPuede determinar la forma en que se heredan o no las LCA en archivos o directorios. De formapredeterminada, las LCA no se propagan. Si en un directorio se establece una LCA no trivial, nose heredará en ningún directorio posterior. Debe establecer la herencia de una LCA en unarchivo o directorio.

Además, se proporcionan dos propiedades de LCA que se pueden establecer de forma global ensistemas de archivos: aclinherit y aclmode. De modo predeterminado, aclinherit seestablece en restricted y aclmode se establece en groupmask.

Para obtener más información, consulte “Herencia de LCA” en la página 236.

EJEMPLO 8–5 Herencia de LCA predeterminada

De forma predeterminada, las LCA no se propagan por una estructura de directorios.

En el ejemplo siguiente, se aplica una entrada de control de acceso no trivial deread_data/write_data/execute para el usuario gozer en test.dir.

# chmod A+user:gozer:read_data/write_data/execute:allow test.dir

# ls -dv test.dir

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Guía de administración de Solaris ZFS • Octubre de 2009246

Page 247: Guía de administración de Solaris ZFS

EJEMPLO 8–5 Herencia de LCA predeterminada (Continuación)

drwxr-xr-x+ 2 root root 2 Aug 31 13:02 test.dir

0:user:gozer:list_directory/read_data/add_file/write_data/execute:allow

1:owner@::deny

2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

3:group@:add_file/write_data/add_subdirectory/append_data:deny

4:group@:list_directory/read_data/execute:allow

5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

Si se crea un subdirectorio de test.dir, no se propaga la entrada de control de acceso delusuario gozer. El usuario gozer sólo dispondrá de acceso a sub.dir si se le conceden permisosde acceso de sub.dir como propietario del archivo, miembro del grupo o everyone@.

# mkdir test.dir/sub.dir

# ls -dv test.dir/sub.dir

drwxr-xr-x 2 root root 2 Aug 31 13:26 test.dir/sub.dir

0:owner@::deny

1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

2:group@:add_file/write_data/add_subdirectory/append_data:deny

3:group@:list_directory/read_data/execute:allow

4:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

5:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

EJEMPLO 8–6 Concesión de herencia de LCA en archivos y directorios

En los ejemplos siguientes se identifican las entradas de control de acceso de archivos ydirectorios que se aplican al establecerse el indicador file_inherit.

En este ejemplo, se agregan permisos de read_data/write_data en archivos del directoriotest.dir para el usuario gozer, de manera que disponga de acceso de lectura en cualquierarchivo que se cree.

# chmod A+user:gozer:read_data/write_data:file_inherit:allow test2.dir

# ls -dv test2.dir

drwxr-xr-x+ 2 root root 2 Aug 31 13:26 test2.dir

0:user:gozer:read_data/write_data:file_inherit:allow

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 247

Page 248: Guía de administración de Solaris ZFS

EJEMPLO 8–6 Concesión de herencia de LCA en archivos y directorios (Continuación)

1:owner@::deny

2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

3:group@:add_file/write_data/add_subdirectory/append_data:deny

4:group@:list_directory/read_data/execute:allow

5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

En el ejemplo siguiente, los permisos del usuario de gozer se aplican en el archivotest2.dir/file.2 recién creado. La herencia de LCA concedida,read_data:file_inherit:allow, significa que el usuario gozer puede leer el contenido decualquier archivo que se cree.

# touch test2.dir/file.2

# ls -v test2.dir/file.2

-rw-r--r--+ 1 root root 0 Aug 31 13:27 test2.dir/file.2

0:user:gozer:write_data:deny

1:user:gozer:read_data/write_data:allow

2:owner@:execute:deny

3:owner@:read_data/write_data/append_data/write_xattr/write_attributes

/write_acl/write_owner:allow

4:group@:write_data/append_data/execute:deny

5:group@:read_data:allow

6:everyone@:write_data/append_data/write_xattr/execute/write_attributes

/write_acl/write_owner:deny

7:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize

:allow

Como aclmode se establece en el modo predeterminado groupmask para este archivo, el usuariogozer no dispone del permiso write_data en file.2 porque no lo concede el permiso delgrupo del archivo.

El permiso inherit_only, que se concede si se establecen los indicadores file_inherit odir_inherit, se emplea para propagar la LCA por la estructura de directorios. Así, al usuariogozer sólo se le conceden o deniegan permisos de everyone@ a menos que sea propietario delarchivo o miembro del grupo propietario del archivo. Por ejemplo:

# mkdir test2.dir/subdir.2

# ls -dv test2.dir/subdir.2

drwxr-xr-x+ 2 root root 2 Aug 31 13:28 test2.dir/subdir.2

0:user:gozer:list_directory/read_data/add_file/write_data:file_inherit

/inherit_only:allow

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Guía de administración de Solaris ZFS • Octubre de 2009248

Page 249: Guía de administración de Solaris ZFS

EJEMPLO 8–6 Concesión de herencia de LCA en archivos y directorios (Continuación)

1:owner@::deny

2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

3:group@:add_file/write_data/add_subdirectory/append_data:deny

4:group@:list_directory/read_data/execute:allow

5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

En los ejemplos siguientes se identifican las LCA de archivo y directorio que se aplican si seestablecen los indicadores file_inherit y dir_inherit.

En el ejemplo siguiente, al usuario gozer se le conceden permisos de lectura, escritura yejecución que se heredan para archivos y directorios recientemente creados.

# chmod A+user:gozer:read_data/write_data/execute:file_inherit/dir_inherit:allow

test3.dir

# ls -dv test3.dir

drwxr-xr-x+ 2 root root 2 Aug 31 13:29 test3.dir

0:user:gozer:list_directory/read_data/add_file/write_data/execute

:file_inherit/dir_inherit:allow

1:owner@::deny

2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

3:group@:add_file/write_data/add_subdirectory/append_data:deny

4:group@:list_directory/read_data/execute:allow

5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

# touch test3.dir/file.3

# ls -v test3.dir/file.3

-rw-r--r--+ 1 root root 0 Jun 20 14:42 test3.dir/file.3

0:user:gozer:write_data/execute:deny

1:user:gozer:read_data/write_data/execute:allow

2:owner@:execute:deny

3:owner@:read_data/write_data/append_data/write_xattr/write_attributes

/write_acl/write_owner:allow

4:group@:write_data/append_data/execute:deny

5:group@:read_data:allow

6:everyone@:write_data/append_data/write_xattr/execute/write_attributes

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 249

Page 250: Guía de administración de Solaris ZFS

EJEMPLO 8–6 Concesión de herencia de LCA en archivos y directorios (Continuación)

/write_acl/write_owner:deny

7:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize

:allow

# mkdir test3.dir/subdir.1

# ls -dv test3.dir/subdir.1

drwxr-xr-x+ 2 root root 2 Aug 31 13:32 test3.dir/subdir.1

0:user:gozer:list_directory/read_data/add_file/write_data/execute

:file_inherit/dir_inherit/inherit_only:allow

1:user:gozer:add_file/write_data:deny

2:user:gozer:list_directory/read_data/add_file/write_data/execute:allow

3:owner@::deny

4:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

5:group@:add_file/write_data/add_subdirectory/append_data:deny

6:group@:list_directory/read_data/execute:allow

7:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

8:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

En estos ejemplos, debido a que los bits de permisos del directorio principal para group@ yeveryone@ deniegan permisos de lectura y ejecución, al usuario gozer se le deniegan permisosde escritura y ejecución. La propiedad predeterminada aclmode es restricted, lo cual significaque no se heredan los permisos write_data y execute.

En el siguiente ejemplo, al usuario gozer se le conceden derechos de lectura, escritura yejecución que se heredan para archivos recientemente creados pero que no se propagan por elresto del directorio.

# chmod A+user:gozer:read_data/write_data/execute:file_inherit/no_propagate:allow

test4.dir

# ls -dv test4.dir

drwxr-xr-x+ 2 root root 2 Aug 31 13:34 test4.dir

0:user:gozer:list_directory/read_data/add_file/write_data/execute

:file_inherit/no_propagate:allow

1:owner@::deny

2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

3:group@:add_file/write_data/add_subdirectory/append_data:deny

4:group@:list_directory/read_data/execute:allow

5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Guía de administración de Solaris ZFS • Octubre de 2009250

Page 251: Guía de administración de Solaris ZFS

EJEMPLO 8–6 Concesión de herencia de LCA en archivos y directorios (Continuación)

6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

Como puede verse en este ejemplo, si se crea un subdirectorio, los permisosread_data/write_data/execute del usuario gozer no se propagan al nuevo directoriosub4.dir.

mkdir test4.dir/sub4.dir

# ls -dv test4.dir/sub4.dir

drwxr-xr-x 2 root root 2 Aug 31 13:35 test4.dir/sub4.dir

0:owner@::deny

1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

2:group@:add_file/write_data/add_subdirectory/append_data:deny

3:group@:list_directory/read_data/execute:allow

4:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

5:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

Como se observa en el ejemplo siguiente, el permiso read_data/write_data/execute delusuario gozer para archivos se propaga al archivo que acaba de crearse.

# touch test4.dir/file.4

# ls -v test4.dir/file.4

-rw-r--r--+ 1 root root 0 Aug 31 13:35 test4.dir/file.4

0:user:gozer:write_data/execute:deny

1:user:gozer:read_data/write_data/execute:allow

2:owner@:execute:deny

3:owner@:read_data/write_data/append_data/write_xattr/write_attributes

/write_acl/write_owner:allow

4:group@:write_data/append_data/execute:deny

5:group@:read_data:allow

6:everyone@:write_data/append_data/write_xattr/execute/write_attributes

/write_acl/write_owner:deny

7:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize

:allow

EJEMPLO 8–7 Herencia de LCA con el modo LCA establecido en passthrough

Si la propiedad aclmode del sistema de archivos tank/cindys se establece en passthrough, elusuario gozer hereda la LCA que se aplica a test4.dir para el archivo recién creado file.4 dela manera que se indica a continuación:

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 251

Page 252: Guía de administración de Solaris ZFS

EJEMPLO 8–7 Herencia de LCA con el modo LCA establecido en passthrough (Continuación)

# zfs set aclmode=passthrough tank/cindys

# touch test4.dir/file.4

# ls -v test4.dir/file.4

-rw-r--r--+ 1 root root 0 Aug 31 13:39 test4.dir/file.4

0:user:gozer:write_data/execute:deny

1:user:gozer:read_data/write_data/execute:allow

2:owner@:execute:deny

3:owner@:read_data/write_data/append_data/write_xattr/write_attributes

/write_acl/write_owner:allow

4:group@:write_data/append_data/execute:deny

5:group@:read_data:allow

6:everyone@:write_data/append_data/write_xattr/execute/write_attributes

/write_acl/write_owner:deny

7:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize

:allow

En esta salida se observa que la LCAread_data/write_data/execute:allow:file_inherit/dir_inherit establecida en eldirectorio principal, test4.dir, se transfiere al usuario gozer.

EJEMPLO 8–8 Herencia de LCA con el modo LCA establecido en discard

Si la propiedad aclmode de un sistema de archivos se establece en discard, las LCA puedendescartarse potencialmente si cambian los bits de permisos en un directorio. Por ejemplo:

# zfs set aclmode=discard tank/cindys

# chmod A+user:gozer:read_data/write_data/execute:dir_inherit:allow test5.dir

# ls -dv test5.dir

drwxr-xr-x+ 2 root root 2 Aug 31 13:40 test5.dir

0:user:gozer:list_directory/read_data/add_file/write_data/execute

:dir_inherit:allow

1:owner@::deny

2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

3:group@:add_file/write_data/add_subdirectory/append_data:deny

4:group@:list_directory/read_data/execute:allow

5:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

6:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

Si, posteriormente, decide restringir los bits de permisos de un directorio, se prescinde de laLCA no trivial. Por ejemplo:

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Guía de administración de Solaris ZFS • Octubre de 2009252

Page 253: Guía de administración de Solaris ZFS

EJEMPLO 8–8 Herencia de LCA con el modo LCA establecido en discard (Continuación)

# chmod 744 test5.dir

# ls -dv test5.dir

drwxr--r-- 2 root root 2 Aug 31 13:40 test5.dir

0:owner@::deny

1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

2:group@:add_file/write_data/add_subdirectory/append_data/execute:deny

3:group@:list_directory/read_data:allow

4:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/execute/write_attributes/write_acl/write_owner:deny

5:everyone@:list_directory/read_data/read_xattr/read_attributes/read_acl

/synchronize:allow

EJEMPLO 8–9 Herencia de LCA con el modo de herencia de LCA establecido en nonallow

En este ejemplo se establecen dos LCA no triviales con herencia de archivos. Una LCA concedeel permiso read_data y una LCA deniega el permiso read_data. Asimismo, el ejemplo muestrala manera de especificar dos entradas de control de acceso en el mismo comando chmod.

# zfs set aclinherit=noallow tank/cindys

# chmod A+user:gozer:read_data:file_inherit:deny,user:lp:read_data:file_inherit:allow

test6.dir

# ls -dv test6.dir

drwxr-xr-x+ 2 root root 2 Aug 31 13:43 test6.dir

0:user:gozer:read_data:file_inherit:deny

1:user:lp:read_data:file_inherit:allow

2:owner@::deny

3:owner@:list_directory/read_data/add_file/write_data/add_subdirectory

/append_data/write_xattr/execute/write_attributes/write_acl

/write_owner:allow

4:group@:add_file/write_data/add_subdirectory/append_data:deny

5:group@:list_directory/read_data/execute:allow

6:everyone@:add_file/write_data/add_subdirectory/append_data/write_xattr

/write_attributes/write_acl/write_owner:deny

7:everyone@:list_directory/read_data/read_xattr/execute/read_attributes

/read_acl/synchronize:allow

Como se indica en el ejemplo siguiente, al crear un archivo, se prescinde de la LCA que concedeel permiso read_data.

# touch test6.dir/file.6

# ls -v test6.dir/file.6

-rw-r--r-- 1 root root 0 Aug 31 13:44 test6.dir/file.6

Establecimiento y configuración de las LCA en archivos ZFS en formato detallado

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 253

Page 254: Guía de administración de Solaris ZFS

EJEMPLO 8–9 Herencia de LCA con el modo de herencia de LCA establecido en nonallow(Continuación)

0:owner@:execute:deny

1:owner@:read_data/write_data/append_data/write_xattr/write_attributes

/write_acl/write_owner:allow

2:group@:write_data/append_data/execute:deny

3:group@:read_data:allow

4:everyone@:write_data/append_data/write_xattr/execute/write_attributes

/write_acl/write_owner:deny

5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize

:allow

Establecimiento y configuración de las LCA en archivos ZFS enformato compacto

En archivos ZFS puede establecer y visualizar permisos en un formato compacto que utiliza 14caracteres exclusivos para representar los permisos. Las letras que representan los permisoscompactos se enumeran en la Tabla 8–2 y la Tabla 8–3.

Puede visualizar listas de LCA en formato compacto para archivos y directorios mediante elcomando ls -V. Por ejemplo:

# ls -V file.1

-rw-r--r-- 1 root root 206663 Aug 31 13:54 file.1

owner@:--x-----------:------:deny

owner@:rw-p---A-W-Co-:------:allow

group@:-wxp----------:------:deny

group@:r-------------:------:allow

everyone@:-wxp---A-W-Co-:------:deny

everyone@:r-----a-R-c--s:------:allow

La salida de LCA compacta se interpreta de la forma siguiente:

owner@ Se deniega al propietario permisos de ejecución en el archivo (x= execute).

owner@ El propietario puede leer y modificar el contenido del archivo (rw=read_data/write_data), (p= append_data). Asimismo, puede modificaratributos del archivo como indicaciones de hora, atributos extendidos y LCA(A=write_xattr , W=write_attributes, C= write_acl). Además, elpropietario puede modificar la propiedad del archivo (o=write_owner).

group@ Se deniega al grupo los permisos de modificación y ejecución del archivo(write_data, p=append_data y x=execute).

group@ Se concede al grupo permisos de ejecución en el archivo (r= read_data).

Establecimiento y configuración de las LCA en archivos ZFS en formato compacto

Guía de administración de Solaris ZFS • Octubre de 2009254

Page 255: Guía de administración de Solaris ZFS

everyone@ Se deniega a quien no sea usuario ni grupo los permisos de ejecución omodificación del contenido del archivo, y de modificación de los atributos delarchivo (w=write_data, x= execute, p=append_data, A=write_xattr,W=write_attributes , C=write_acl y o= write_owner).

everyone@ Se concede a quien no sea usuario ni grupo los permisos de lectura del archivo ylos atributos del archivo (r=read_data, a=append_data, R=read_xattr ,c=read_acl y s= synchronize). El permiso de acceso synchronize no estáimplementado en la actualidad.

El formato compacto de las LCA presenta las ventajas siguientes respecto al formato detallado:

■ Los permisos se pueden especificar como argumentos posicionales en el comando chmod.■ Los caracteres de guión (-), que no identifican permisos, se pueden eliminar. Sólo hace falta

especificar los caracteres necesarios.■ Los indicadores de permisos y de herencia se establecen de la misma manera.

Para obtener información sobre el uso del formato de LCA detallado, consulte “Establecimientoy configuración de las LCA en archivos ZFS en formato detallado” en la página 240.

EJEMPLO 8–10 Establecimiento y visualización de las LCA en formato compacto

En el ejemplo siguiente, en file.1 hay una LCA trivial:

# ls -V file.1

-rw-r--r-- 1 root root 206663 Aug 31 13:54 file.1

owner@:--x-----------:------:deny

owner@:rw-p---A-W-Co-:------:allow

group@:-wxp----------:------:deny

group@:r-------------:------:allow

everyone@:-wxp---A-W-Co-:------:deny

everyone@:r-----a-R-c--s:------:allow

En este ejemplo, los permisos de lectura y ejecución de datos se agregan para el usuario gozer enfile.1.

# chmod A+user:gozer:rx:allow file.1

# ls -V file.1

-rw-r--r--+ 1 root root 206663 Aug 31 13:54 file.1

user:gozer:r-x-----------:------:allow

owner@:--x-----------:------:deny

owner@:rw-p---A-W-Co-:------:allow

group@:-wxp----------:------:deny

group@:r-------------:------:allow

everyone@:-wxp---A-W-Co-:------:deny

everyone@:r-----a-R-c--s:------:allow

Establecimiento y configuración de las LCA en archivos ZFS en formato compacto

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 255

Page 256: Guía de administración de Solaris ZFS

EJEMPLO 8–10 Establecimiento y visualización de las LCA en formato compacto (Continuación)

Una forma alternativa de agregar los mismos permisos para el usuario gozer consiste eninsertar una LCA nueva en una posición determinada, por ejemplo 4. Así, las posiciones 4–6que ya existían se desplazan hacia abajo. Por ejemplo:

# chmod A4+user:gozer:rx:allow file.1

# ls -V file.1

-rw-r--r--+ 1 root root 206663 Aug 31 14:05 file.1

owner@:--xp----------:------:deny

owner@:rw-----A-W-Co-:------:allow

group@:-wxp----------:------:deny

group@:r-------------:------:allow

user:gozer:r-x-----------:------:allow

everyone@:-wxp---A-W-Co-:------:deny

everyone@:r-----a-R-c--s:------:allow

En el ejemplo siguiente, al usuario gozer se le conceden permisos de lectura, escritura yejecución que se heredan para archivos y directorios recientemente creados mediante elformato de LCA comprimido.

# chmod A+user:gozer:rwx:fd:allow dir.2

# ls -dV dir.2

drwxr-xr-x+ 2 root root 2 Aug 28 13:21 dir.2

user:gozer:rwx-----------:fd----:allow

owner@:--------------:------:deny

owner@:rwxp---A-W-Co-:------:allow

group@:-w-p----------:------:deny

group@:r-x-----------:------:allow

everyone@:-w-p---A-W-Co-:------:deny

everyone@:r-x---a-R-c--s:------:allow

También puede cortar y pegar indicadores de herencia y permisos de la salida de ls -V en elformato compacto de chmod. Por ejemplo, para duplicar los permisos e indicadores deherencia en dir.2 del usuario gozer en el usuario cindys en dir.2, copie y pegue los permisose indicadores de herencia ( rwx-----------:f-----:allow) en el comando chmod. Porejemplo:

# chmod A+user:cindys:rwx-----------:fd----:allow dir.2

# ls -dV dir.2

drwxr-xr-x+ 2 root root 2 Aug 28 14:12 dir.2

user:cindys:rwx-----------:fd----:allow

user:gozer:rwx-----------:fd----:allow

owner@:--------------:------:deny

owner@:rwxp---A-W-Co-:------:allow

group@:-w-p----------:------:deny

Establecimiento y configuración de las LCA en archivos ZFS en formato compacto

Guía de administración de Solaris ZFS • Octubre de 2009256

Page 257: Guía de administración de Solaris ZFS

EJEMPLO 8–10 Establecimiento y visualización de las LCA en formato compacto (Continuación)

group@:r-x-----------:------:allow

everyone@:-w-p---A-W-Co-:------:deny

everyone@:r-x---a-R-c--s:------:allow

EJEMPLO 8–11 Herencia de LCA con el modo LCA heredado establecido en passthrough

Un sistema de archivos que tiene la propiedad aclinherit establecida en passthrough heredatodas las entradas LCA que se pueden heredar sin modificaciones en las entradas LCA cuandose heredan. Si la propiedad se configura como passthrough, los archivos se crean con un modode permiso que determinan las entradas de control de acceso que se pueden heredar. Si noexisten entradas de control de acceso que se puedan heredar y que afecten al modo de permiso,el modo de permiso se configurará de acuerdo con el modo solicitado desde la aplicación.

Los ejemplos siguientes utilizan sintaxis de LCA compacta para mostrar cómo heredar bits depermisos estableciendo el modo aclinherit en passthrough.

En este ejemplo, se establece una LCA en test1.dir para forzar la herencia. La sintaxis crea unaentrada LCA owner@, group@ y everyone@ para cada archivo que cree. Los directorios que creeheredan una entrada LCA @owner, group@ y everyone@. Asimismo, los directorios heredanotras 6 entradas de control de acceso que propagan las entradas de control de acceso a losdirectorios y archivos que se creen.

# zfs set aclinherit=passthrough tank/cindys

# pwd

/tank/cindys

# mkdir test1.dir

# chmod A=owner@:rwxpcCosRrWaAdD:fd:allow,group@:rwxp:fd:allow,everyone@::fd:allow

test1.dir

# ls -Vd test1.dir

drwxrwx---+ 2 root root 2 Aug 31 14:11 test1.dir

owner@:rwxpdDaARWcCos:fd----:allow

group@:rwxp----------:fd----:allow

everyone@:--------------:fd----:allow

En este ejemplo, un archivo recién creado hereda la LCA especificada para heredarse en losarchivos recién creados.

# cd test1.dir

# touch file.1

# ls -V file.1

-rwxrwx---+ 1 root root 0 Aug 31 14:14 file.1

owner@:rwxpdDaARWcCos:------:allow

group@:rwxp----------:------:allow

Establecimiento y configuración de las LCA en archivos ZFS en formato compacto

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 257

Page 258: Guía de administración de Solaris ZFS

EJEMPLO 8–11 Herencia de LCA con el modo LCA heredado establecido en passthrough(Continuación)

everyone@:--------------:------:allow

En este ejemplo, un directorio que se cree hereda tanto las entradas que controlan el acceso aeste directorio como las entradas de control de acceso para la futura propagación a loselementos secundarios del directorio que se cree.

# mkdir subdir.1

# ls -dV subdir.1

drwxrwx---+ 2 root root 2 Aug 31 14:15 subdir.1

owner@:rwxpdDaARWcCos:fdi---:allow

owner@:rwxpdDaARWcCos:------:allow

group@:rwxp----------:fdi---:allow

group@:rwxp----------:------:allow

everyone@:--------------:fdi---:allow

everyone@:--------------:------:allow

Las entradas -di-- y f-i--- propagan la herencia y no se tienen en cuenta durante el control deacceso. En este ejemplo, se crea un archivo con una LCA trivial en otro directorio en el que nohaya entradas de control de acceso heredadas.

# cd /tank/cindys

# mkdir test2.dir

# cd test2.dir

# touch file.2

# ls -V file.2

-rw-r--r-- 1 root root 0 Aug 31 14:16 file.2

owner@:--x-----------:------:deny

owner@:rw-p---A-W-Co-:------:allow

group@:-wxp----------:------:deny

group@:r-------------:------:allow

everyone@:-wxp---A-W-Co-:------:deny

everyone@:r-----a-R-c--s:------:allow

EJEMPLO 8–12 Herencia de LCA con el modo LCA heredado establecido en passthrough-X

Cuando aclinherit=passthrough-x está habilitada, los archivos se crean con el permiso deejecución (x) para owner@, group@ o everyone@, pero sólo si el permiso de ejecución se define enel modo de creación de archivos y en un ACE heredable que afecta al modo.

El siguiente ejemplo muestra cómo se heredan los permisos de ejecución al establecer el modoaclinherit en passthrough-x.

# zfs set aclinherit=passthrough-x tank/cindys

Establecimiento y configuración de las LCA en archivos ZFS en formato compacto

Guía de administración de Solaris ZFS • Octubre de 2009258

Page 259: Guía de administración de Solaris ZFS

EJEMPLO 8–12 Herencia de LCA con el modo LCA heredado establecido en passthrough-X(Continuación)

Los siguientes ACL se establecen en /tank/cindys/test1.dir para proporcionar herencia deLCA ejecutable para los archivos de owner@,

# chmod A=owner@:rwxpcCosRrWaAdD:fd:allow,group@:rwxp:fd:allow,everyone@::fd:allow test1.dir

# ls -Vd test1.dir

drwxrwx---+ 2 root root 2 Aug 31 15:05 test1.dir

owner@:rwxpdDaARWcCos:fd----:allow

group@:rwxp----------:fd----:allow

everyone@:--------------:fd----:allow

Un archivo (file1) se crea con permisos solicitados 0666. Los permisos resultantes son 0660. Elpermiso de ejecución no se ha heredado porque el modo de creación no lo solicitó.

# touch test1.dir/file1

# ls -V test1.dir/file1

-rw-rw----+ 1 root root 0 Aug 31 15:06 test1.dir/file1

owner@:rw-pdDaARWcCos:------:allow

group@:rw-p----------:------:allow

everyone@:--------------:------:allow

A continuación, se generará un ejecutable llamado t mediante el compilador cc en el directoriotestdir.

# cc -o t t.c

# ls -V t

-rwxrwx---+ 1 root root 7396 Dec 3 15:19 t

owner@:rwxpdDaARWcCos:------:allow

group@:rwxp----------:------:allow

everyone@:--------------:------:allow

Los permisos resultantes son 0770 porque cc solicitó permisos 0777, que provocaron que elpermiso de ejecución se heredara de las entradas owner@, group@ y everyone@.

Establecimiento y configuración de las LCA en archivos ZFS en formato compacto

Capítulo 8 • Uso de las LCA para proteger archivos ZFS 259

Page 260: Guía de administración de Solaris ZFS

260

Page 261: Guía de administración de Solaris ZFS

Administración delegada de ZFS

Este capítulo describe la forma de utilizar la administración delegada para permitir que losusuarios sin privilegios puedan efectuar tareas de administración de ZFS.■ “Descripción general de la administración delegada de ZFS” en la página 261■ “Delegación de permisos de ZFS” en la página 262■ “Visualización de permisos delegados de ZFS” en la página 266■ “Delegación de permisos ZFS (ejemplos)” en la página 268■ “Eliminación de permisos ZFS (ejemplos)” en la página 272

Descripción general de la administración delegada de ZFSEsta función permite distribuir permisos más concretos a determinados usuarios, grupos o atodo el mundo. Se permiten dos tipos de permisos delegados:■ Se pueden especificar permisos concretos a determinadas personas, por ejemplo crear,

destruir, montar, crear instantánea, etcétera.■ Se pueden definir grupos de permisos denominadosconjuntos de permisos. Un conjunto de

permisos se puede actualizar posteriormente y todos los usuarios de dicho conjuntoadquieren ese cambio de forma automática. Los conjuntos de permisos comienzan con elcarácter @ y tienen 64 caracteres como máximo. Después del carácter @, los demás caracteresdel nombre del conjunto están sujetos a las mismas restricciones que los nombres desistemas de archivos ZFS normales.

La administración delegada de ZFS proporciona funciones parecidas al modelo de seguridadRBAC. El modelo de delegación de ZFS aporta las ventajas siguientes en la administración deagrupaciones de almacenamiento y sistemas de archivos ZFS:■ Si se migra la agrupación, se mantienen los permisos en la agrupación de almacenamiento

ZFS.■ Proporciona herencia dinámica para poder controlar cómo se propagan los permisos por

los sistemas de archivos.

9C A P Í T U L O 9

261

Page 262: Guía de administración de Solaris ZFS

■ Se puede configurar para que sólo el creador de un sistema de archivos pueda destruir esesistema de archivos.

■ Se pueden distribuir permisos en determinados sistemas de archivos. Los sistemas dearchivos creados pueden designar permisos automáticamente.

■ Este modelo proporciona administración NFS simple. Por ejemplo, un usuario que cuentacon permisos explícitos puede crear una instantánea por NFS en el correspondientedirectorio .zfs/snapshot.

A la hora de distribuir tareas de ZFS, plantéese la posibilidad de utilizar la administracióndelegada. Si desea información sobre el uso de RBAC para llevar a cabo tareas generales deadministración de Solaris, consulte la Parte III, “Roles, Rights Profiles, and Privileges” de SystemAdministration Guide: Security Services.

Inhabilitación de permisos delegados de ZFSMediante la propiedad delegation se puede habilitar o inhabilitar la administración delegadade la agrupación. Por ejemplo:

# zpool get delegation users

NAME PROPERTY VALUE SOURCE

users delegation on default

# zpool set delegation=off users

# zpool get delegation users

NAME PROPERTY VALUE SOURCE

users delegation off local

De forma predeterminada se activa la propiedad delegation.

Delegación de permisos de ZFSUtilice el comando zfs allow para conceder permisos en conjuntos de datos ZFS a usuariosque no sean root de las maneras siguientes:

■ Los permisos individuales se pueden conceder a un grupo, un usuario o a todo el mundo.■ Los grupos de permisos individuales se pueden conceder como conjunto de permisos a un

grupo, un usuario o a todo el mundo.■ Los permisos se pueden conceder localmente sólo al conjunto de datos actual o a todos los

elementos descendientes de dicho conjunto de datos.

En la tabla siguiente figuran las operaciones que se pueden delegar y los permisos dependientesque se necesitan para efectuar las operaciones delegadas.

Delegación de permisos de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009262

Page 263: Guía de administración de Solaris ZFS

Permiso (subcomando) Descripción Dependencias

allow Capacidad para conceder a otro usuariolos permisos que tiene uno mismo.

También debe tener el permiso que se estáconcediendo.

clone Capacidad para clonar cualquierinstantánea del conjunto de datos.

También se debe disponer de lascapacidades create y mount en el sistemade archivos de origen.

create Capacidad para crear conjuntos dearchivos descendientes.

También se debe disponer de la capacidadmount.

destroy Capacidad para destruir un conjunto dedatos.

También se debe disponer de la capacidadmount.

mount Capacidad para montar y desmontar unconjunto de datos, así como para crear ydestruir vínculos de dispositivos devolumen.

promote Capacidad para promover un clónico aun conjunto de datos.

También se debe disponer de lascapacidades mount y promote en el sistemade archivos de origen.

receive Capacidad para crear sistemas dearchivos descendientes mediante elcomando zfs receive.

También se debe disponer de lascapacidades mount y create.

rename Capacidad para cambiar el nombre a unconjunto de datos.

También se debe disponer de lascapacidades create y mount en el nuevoelemento principal.

rollback Capacidad para invertir una instantánea. También se debe disponer de la capacidadmount.

send Capacidad para enviar un flujo deinstantáneas.

share Capacidad para compartir y anular lacompartición de un conjunto de datos.

snapshot Capacidad para obtener una instantáneade un conjunto de datos.

Puede delegar el siguiente conjunto de permisos, pero el permiso puede estar limitado a acceso,lectura o cambio:

■ groupquota

■ groupused

■ userprop

■ userquota

■ userused

Delegación de permisos de ZFS

Capítulo 9 • Administración delegada de ZFS 263

Page 264: Guía de administración de Solaris ZFS

Además, puede delegar las siguientes propiedades de ZFS a usuarios que no sean root:

■ aclinherit

■ aclmode

■ atime

■ canmount

■ casesensitivity

■ checksum

■ compression

■ copies

■ devices

■ exec

■ mountpoint

■ nbmand

■ normalization

■ primarycache

■ quota

■ readonly

■ recordsize

■ refreservation

■ reservation

■ secondarycache

■ setuid

■ shareiscsi

■ sharenfs

■ sharesmb

■ snapdir

■ utf8only

■ version

■ volblocksize

■ volsize

■ vscan

■ xattr

■ zoned

Algunas de estas propiedades sólo se pueden establecer al crear el conjunto de datos. Paraobtener una descripción de estas propiedades, consulte “Introducción a las propiedades deZFS” en la página 179.

Delegación de permisos de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009264

Page 265: Guía de administración de Solaris ZFS

Descripción de sintaxis para delegar permisos (zfsallow)A continuación se muestra la sintaxis de zfs allow:

# zfs allow -[ldugecs] everyone|user|group[,,...] perm|@setname,...] filesystem| volume

La siguiente sintaxis de zfs allow (en negrita) identifica a quién se delegan los permisos:

zfs allow [-uge]|user|group|everyone [,...] filesystem | volume

Se pueden especificar varias entidades en una lista separada por comas. Si no se especificanopciones de -uge, el argumento se interpreta de forma preferente como la palabra claveeveryone, después como nombre de usuario y, en último lugar, como grupo de nombre. Paraespecificar un usuario o grupo denominado “everyone”, utilice la opción -u o -g. Paraespecificar un grupo con el mismo nombre que un usuario, utilice la opción -g. La opción -c

concede permisos de create-time.

La siguiente sintaxis de zfs allow (en negrita) identifica cómo se especifican los permisos yconjuntos de permisos:

zfs allow [-s] ... perm|@setname [,...] filesystem | volume

Se pueden especificar varios permisos en una lista separada por comas. Los nombres depermisos son los mismos que las propiedades y los subcomandos de ZFS. Para obtener másinformación, consulte la sección anterior.

Los permisos se pueden agregar a conjuntos de permisos y los identifica la opción -s. Otroscomandos de zfs allow pueden utilizar conjuntos de permisos para el sistema de archivosespecificado y sus elementos descendientes. Los conjuntos de permisos se evalúandinámicamente, por lo tanto los cambios que haya en un conjunto se actualizan de manerainmediata. Los conjuntos de permisos siguen las mismas convenciones de denominación quelos sistemas de archivos ZFS; sin embargo, el nombre debe comenzar con el signo de arroba (@)y tener un máximo de 64 caracteres.

La siguiente sintaxis de zfs allow (en negrita) identifica cómo se delegan los permisos:

zfs allow [-ld] ... ... filesystem | volume

La opción -l indica que el permiso se concede para el conjunto de datos especificado pero no alos elementos descendientes, a menos que también se especifique la opción -d. La opción -d

indica que el permiso se concede a los conjuntos de datos descendientes y no a este conjunto dedatos, a menos que también se especifique la opción -l. Si no se especifica ninguna de lasopciones de -ld, los permisos se conceden para el volumen o sistema de archivos y todos suselementos descendientes.

Delegación de permisos de ZFS

Capítulo 9 • Administración delegada de ZFS 265

Page 266: Guía de administración de Solaris ZFS

Eliminación de permisos delegados de ZFS (zfsunallow)Mediante el comando zfs unallow se pueden eliminar los permisos que se han concedido.

Por ejemplo, suponga que ha delegado los permisos create, destroy, mount y snapshot de laforma siguiente:

# zfs allow cindys create,destroy,mount,snapshot tank/cindys

# zfs allow tank/cindys

-------------------------------------------------------------

Local+Descendent permissions on (tank/cindys)

user cindys create,destroy,mount,snapshot

-------------------------------------------------------------

Para eliminar estos permisos, debe utilizar una sintaxis similar a la siguiente:

# zfs unallow cindys tank/cindys

# zfs allow tank/cindys

Uso de la administración delegada de ZFSEn esta sección se proporcionan ejemplos de visualización y delegación de permisos de ZFS.

Visualización de permisos delegados de ZFSPara visualizar permisos puede utilizar el comando siguiente:

# zfs allow dataset

Este comando muestra los permisos que se establecen o permiten en este conjunto de datos. Lasalida contiene los componentes siguientes:

■ Conjuntos de permisos■ Permisos específicos o permisos create-time■ Conjunto de datos local■ Conjuntos de datos locales y descendientes■ Sólo conjuntos de datos descendientes

EJEMPLO 9–1 Visualización de permisos de administración delegados básicos

La salida de este ejemplo indica que el usuario cindys tiene permisos para crear, destruir,montar y crear instantáneas en el sistema de archivos tank/cindys.

Uso de la administración delegada de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009266

Page 267: Guía de administración de Solaris ZFS

EJEMPLO 9–1 Visualización de permisos de administración delegados básicos (Continuación)

# zfs allow tank/cindys

-------------------------------------------------------------

Local+Descendent permissions on (tank/cindys)

user cindys create,destroy,mount,snapshot

EJEMPLO 9–2 Visualización de permisos de administración delegados complejos

La salida de este ejemplo indica los permisos siguientes en los sistemas de archivos pool/fred ypool.

Para el sistema de archivos pool/fred:■ Se definen dos conjuntos de permisos:

■ @eng (create, destroy, snapshot, mount, clone, promote, rename)■ @simple (create, mount)

■ Los permisos create-time se establecen para el conjunto de permisos @eng y la propiedadmountpoint. Create-time significa que, tras la creación de un conjunto de permisos, seconceden el conjunto de permisos @eng y la propiedad mountpoint.

■ Al usuariotom se le concede el conjunto de permisos @eng; al usuario joe se le conceden lospermisos create, destroy y mount para sistemas de archivos locales.

■ Al usuario fred se le concede el conjunto de permisos @basic, así como los permisos sharey rename para los sistemas de archivos locales y descendientes.

■ Al usuario barney y al grupo de usuarios staff se les concede el grupo de permisos @basicsólo para sistemas de archivos descendientes.

Para el sistema de archivos pool:■ Se define el conjunto de permisos @simple (create, destroy, mount).■ Al grupo staff se le concede el conjunto de permisos @simple en el sistema de archivos

local.

A continuación se muestra el resultado de este ejemplo:

$ zfs allow pool/fred

------------------------------------------------------------------------------

Permission sets on (pool/fred)

@eng create,destroy,snapshot,mount,clone,promote,rename

@simple create,mount

Create time permissions on (pool/fred)

@eng,mountpoint

Local permissions on (pool/fred)

user tom @eng

user joe create,destroy,mount

Uso de la administración delegada de ZFS

Capítulo 9 • Administración delegada de ZFS 267

Page 268: Guía de administración de Solaris ZFS

EJEMPLO 9–2 Visualización de permisos de administración delegados complejos (Continuación)

Local+Descendent permissions on (pool/fred)

user fred @basic,share,rename

Descendent permissions on (pool/fred)

user barney @basic

group staff @basic

------------------------------------------------------------------------------

Permission sets on (pool)

@simple create,destroy,mount

Local permissions on (pool)

group staff @simple

------------------------------------------------------------------------------

Delegación de permisos ZFS (ejemplos)

EJEMPLO 9–3 Delegación de permisos a un determinado usuario

Si concede los permisos create y mount a un determinado usuario, compruebe que dichousuario disponga de permisos en el punto de montaje subyacente.

Por ejemplo, para proporcionar al usuario los permisos marks create y mount entank, primeroestablezca los permisos:

# chmod A+user:marks:add_subdirectory:fd:allow /tank

A continuación, utilice el comando zfs allow para conceder los permisos create , destroy ymount. Por ejemplo:

# zfs allow marks create,destroy,mount tank

El usuario marks ya puede crear sus propios sistemas de archivos en el sistema de archivos tank.Por ejemplo:

# su marks

marks$ zfs create tank/marks

marks$ ^D

# su lp

$ zfs create tank/lp

cannot create ’tank/lp’: permission denied

EJEMPLO 9–4 Delegación de los permisos create y destroy en un grupo

El ejemplo siguiente muestra cómo configurar un sistema de archivos de forma que cualquierintegrante del grupo staff pueda crear y montar sistemas de archivos en el sistema de archivos

Uso de la administración delegada de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009268

Page 269: Guía de administración de Solaris ZFS

EJEMPLO 9–4 Delegación de los permisos create y destroy en un grupo (Continuación)

tank, así como destruir sus propios sistemas de archivos. Ahora bien, los miembros del grupostaff no pueden destruir los sistemas de archivos de nadie más.

# zfs allow staff create,mount tank

# zfs allow -c create,destroy tank

# zfs allow tank

-------------------------------------------------------------

Create time permissions on (tank)

create,destroy

Local+Descendent permissions on (tank)

group staff create,mount

-------------------------------------------------------------

# su cindys

cindys% zfs create tank/cindys

cindys% exit

# su marks

marks% zfs create tank/marks/data

marks% exit

cindys% zfs destroy tank/marks/data

cannot destroy ’tank/mark’: permission denied

EJEMPLO 9–5 Delegación de permisos en el nivel correcto del sistema de archivos

Compruebe que conceda permisos a los usuarios en el nivel correcto del sistema de archivos.Por ejemplo, al usuario marks se le concede los permisos create, destroy y mount para lossistemas de archivos local y descendiente. Al usuario marks se le concede permiso local paracrear una instantánea del sistema de archivos tank, pero no puede crear una instantánea de supropio sistema de archivos. Así pues, no se le ha concedido el permiso snapshot en el nivelcorrecto del sistema de archivos.

# zfs allow -l marks snapshot tank

# zfs allow tank

-------------------------------------------------------------

Local permissions on (tank)

user marks snapshot

Local+Descendent permissions on (tank)

user marks create,destroy,mount

-------------------------------------------------------------

# su marks

marks$ zfs snapshot tank/@snap1

marks$ zfs snapshot tank/marks@snap1

cannot create snapshot ’mark/marks@snap1’: permission denied

Para conceder permiso al usuario marks en el nivel descendiente, utilice la opción zfs allow

- d. Por ejemplo:

Uso de la administración delegada de ZFS

Capítulo 9 • Administración delegada de ZFS 269

Page 270: Guía de administración de Solaris ZFS

EJEMPLO 9–5 Delegación de permisos en el nivel correcto del sistema de archivos (Continuación)

# zfs unallow -l marks snapshot tank

# zfs allow -d marks snapshot tank

# zfs allow tank

-------------------------------------------------------------

Descendent permissions on (tank)

user marks snapshot

Local+Descendent permissions on (tank)

user marks create,destroy,mount

-------------------------------------------------------------

# su marks

$ zfs snapshot tank@snap2

cannot create snapshot ’tank@snap2’: permission denied

$ zfs snapshot tank/marks@snappy

El usuario marks ahora sólo puede crear una instantánea por debajo del nivel de tank.

EJEMPLO 9–6 Definición y uso de permisos delegados complejos

Puede conceder permisos a usuarios o grupos. Por ejemplo, el siguiente comando zfs allow

concede determinados permisos al grupo staff. Asimismo, se conceden los permisos destroyy snapshot una vez creados los sistemas de archivos de tank.

# zfs allow staff create,mount tank

# zfs allow -c destroy,snapshot tank

# zfs allow tank

-------------------------------------------------------------

Create time permissions on (tank)

destroy,snapshot

Local+Descendent permissions on (tank)

group staff create,mount

-------------------------------------------------------------

Debido a que el usuario marks pertenece al grupo staff, puede crear sistemas de archivos entank. Además, el usuario marks puede crear una instantánea de tank/marks2 porque disponede los correspondientes permisos para hacerlo. Por ejemplo:

# su marks

$ zfs create tank/marks2

$ zfs allow tank/marks2

-------------------------------------------------------------

Local permissions on (tank/marks2)

user marks destroy,snapshot

-------------------------------------------------------------

Create time permissions on (tank)

destroy,snapshot

Uso de la administración delegada de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009270

Page 271: Guía de administración de Solaris ZFS

EJEMPLO 9–6 Definición y uso de permisos delegados complejos (Continuación)

Local+Descendent permissions on (tank)

group staff create

everyone mount

-------------------------------------------------------------

Sin embargo, no puede crear una instantánea de tank/marks porque carece de loscorrespondientes permisos. Por ejemplo:

$ zfs snapshot tank/marks2@snap1

$ zfs snapshot tank/marks@snappp

cannot create snapshot ’tank/marks@snappp’: permission denied

Si dispone del permiso create en su directorio principal, puede crear directorios deinstantáneas. Esta situación hipotética es útil si el sistema de archivos están montado por NFS.Por ejemplo:

$ cd /tank/marks2

$ ls

$ cd .zfs

$ ls

snapshot

$ cd snapshot

$ ls -l

total 3

drwxr-xr-x 2 marks staff 2 Dec 15 13:53 snap1

$ pwd

/tank/marks2/.zfs/snapshot

$ mkdir snap2

$ zfs list

NAME USED AVAIL REFER MOUNTPOINT

tank 264K 33.2G 33.5K /tank

tank/marks 24.5K 33.2G 24.5K /tank/marks

tank/marks2 46K 33.2G 24.5K /tank/marks2

tank/marks2@snap1 21.5K - 24.5K -

tank/marks2@snap2 0 - 24.5K -

$ ls

snap1 snap2

$ rmdir snap2

$ ls

snap1

EJEMPLO 9–7 Definición y uso de un conjunto de permisos delegados de ZFS

En el ejemplo siguiente se muestra cómo crear un conjunto de permisos @myset, conceder elgrupo de permisos y cambiar el nombre del permiso para el grupo staff respecto al sistema de

Uso de la administración delegada de ZFS

Capítulo 9 • Administración delegada de ZFS 271

Page 272: Guía de administración de Solaris ZFS

EJEMPLO 9–7 Definición y uso de un conjunto de permisos delegados de ZFS (Continuación)

archivos tank. cindys, usuario del grupo staff, tiene permiso para crear un sistema dearchivos en tank. Sin embargo, el usuario lp no tiene permiso para crear un sistema de archivosen tank.

# zfs allow -s @myset create,destroy,mount,snapshot,promote,clone,readonly tank

# zfs allow tank

-------------------------------------------------------------

Permission sets on (tank)

@myset clone,create,destroy,mount,promote,readonly,snapshot

-------------------------------------------------------------

# zfs allow staff @myset,rename tank

# zfs allow tank

-------------------------------------------------------------

Permission sets on (tank)

@myset clone,create,destroy,mount,promote,readonly,snapshot

Local+Descendent permissions on (tank)

group staff @myset,rename

# chmod A+group:staff:add_subdirectory:fd:allow tank

# su cindys

cindys% zfs create tank/data

Cindys% zfs allow tank

-------------------------------------------------------------

Permission sets on (tank)

@myset clone,create,destroy,mount,promote,readonly,snapshot

Local+Descendent permissions on (tank)

group staff @myset,rename

-------------------------------------------------------------

cindys% ls -l /tank

total 15

drwxr-xr-x 2 cindys staff 2 Aug 8 14:10 data

cindys% exit

# su lp

$ zfs create tank/lp

cannot create ’tank/lp’: permission denied

Eliminación de permisos ZFS (ejemplos)El comando zfs unallow se usa para eliminar permisos concedidos. Por ejemplo, el usuariocindys tiene permisos para crear, destruir, montar y crear instantáneas en el sistema dearchivos tank/cindys.

# zfs allow cindys create,destroy,mount,snapshot tank/cindys

# zfs allow tank/cindys

-------------------------------------------------------------

Uso de la administración delegada de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009272

Page 273: Guía de administración de Solaris ZFS

Local+Descendent permissions on (tank/cindys)

user cindys create,destroy,mount,snapshot

-------------------------------------------------------------

La siguiente sintaxis de zfs unallow elimina el permiso para crear instantáneas del usuariocindys en el sistema de archivos tank/cindys:

# zfs unallow cindys snapshot tank/cindys

# zfs allow tank/cindys

-------------------------------------------------------------

Local+Descendent permissions on (tank/cindys)

user cindys create,destroy,mount

-------------------------------------------------------------

cindys% zfs create tank/cindys/data

cindys% zfs snapshot tank/cindys@today

cannot create snapshot ’tank/cindys@today’: permission denied

Otro ejemplo: el usuario marks tiene los permisos siguientes en el sistema de archivostank/marks:

# zfs allow tank/marks

-------------------------------------------------------------

Local+Descendent permissions on (tank/marks)

user marks create,destroy,mount

-------------------------------------------------------------

En este ejemplo, la siguiente sintaxis de zfs unallow elimina todos los permisos del usuariomarks de tank/marks:

# zfs unallow marks tank/marks

La siguiente sintaxis de zfs unallow elimina un conjunto de permisos del sistema de archivostank.

# zfs allow tank

-------------------------------------------------------------

Permission sets on (tank)

@myset clone,create,destroy,mount,promote,readonly,snapshot

Create time permissions on (tank)

create,destroy,mount

Local+Descendent permissions on (tank)

group staff create,mount

-------------------------------------------------------------

# zfs unallow -s @myset tank

$ zfs allow tank

-------------------------------------------------------------

Create time permissions on (tank)

create,destroy,mount

Uso de la administración delegada de ZFS

Capítulo 9 • Administración delegada de ZFS 273

Page 274: Guía de administración de Solaris ZFS

Local+Descendent permissions on (tank)

group staff create,mount

-------------------------------------------------------------

Uso de la administración delegada de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009274

Page 275: Guía de administración de Solaris ZFS

Temas avanzados de ZFS

En este capítulo se describen los volúmenes de ZFS, el uso de ZFS en un sistema Solaris conzonas instaladas, grupos root alternativos de ZFS y perfiles de derechos de ZFS.

Este capítulo se divide en las secciones siguientes:

■ “Volúmenes de ZFS” en la página 275■ “Uso de ZFS en un sistema Solaris con zonas instaladas” en la página 278■ “Uso de grupos root de ZFS alternativos” en la página 284■ “Perfiles de derechos de ZFS” en la página 285

Volúmenes de ZFSUn volumen ZFS es un conjunto de datos que representa un dispositivo de bloques. Losvolúmenes ZFS se identifican como dispositivos en el directorio /dev/zvol/{dsk,rdsk}/path.

En el ejemplo siguiente, se crea un volumen de ZFS de 5 GB, tank/vol:

# zfs create -V 5gb tank/vol

Al crear un volumen, automáticamente se reserva espacio para el tamaño inicial del volumen. Eltamaño de reserva sigue aumentando hasta igualar el tamaño del volumen para que no hayaningún comportamiento inesperado. Por ejemplo, si disminuye el tamaño del volumen, losdatos podrían dañarse. El cambio del volumen se debe realizar con mucho cuidado.

Además, si crea una instantánea de un volumen que cambia de tamaño, podría provocarincoherencias en el sistema de archivos si intenta invertir la instantánea o crear un clónico apartir de la instantánea.

Para obtener información sobre las propiedades de sistemas de archivos que se pueden aplicar avolúmenes, consulte la Tabla 6–1.

10C A P Í T U L O 1 0

275

Page 276: Guía de administración de Solaris ZFS

Si utiliza un sistema Solaris con zonas instaladas, los volúmenes de ZFS no se pueden crear niclonar en una zona no global. Cualquier intento de crear o clonar un volumen desde una zonano global resultará fallido. Para obtener información sobre el uso de volúmenes de ZFS en unazona global, consulte “Adición de volúmenes de ZFS a una zona no global” en la página 281.

Uso de un volumen de ZFS como dispositivo devolcado o intercambioDurante la instalación de un sistema de archivos root ZFS o una migración desde un sistema dearchivos root UFS, se crea un dispositivo de intercambio en un volumen ZFS de la agrupaciónroot ZFS. Por ejemplo:

# swap -l

swapfile dev swaplo blocks free

/dev/zvol/dsk/rpool/swap 253,3 16 8257520 8257520

Durante la instalación de un sistema de archivos root ZFS o una migración desde un sistema dearchivos root UFS, se crea un dispositivo de volcado en un volumen ZFS de la agrupación rootZFS. Después de configurarse, no hace falta administrar el dispositivo de volcado. Por ejemplo:

# dumpadm

Dump content: kernel pages

Dump device: /dev/zvol/dsk/rpool/dump (dedicated)

Savecore directory: /var/crash/t2000

Savecore enabled: yes

Debido a CR 6724860, debe ejecutar savecore manualmente para guardar un volcado dañadocuando utilice un volumen de volcado ZFS.

Si necesita modificar el área de intercambio o el dispositivo de volcado tras instalar o actualizarel sistema, utilice los comandos swap y dumpadm como en las versiones anteriores de Solaris.Para crear un área de intercambio adicional, cree un volumen ZFS de un tamaño específico ypermita el intercambio en dicho dispositivo. Por ejemplo:

# zfs create -V 2G rpool/swap2

# swap -a /dev/zvol/dsk/rpool/swap2

# swap -l

swapfile dev swaplo blocks free

/dev/zvol/dsk/rpool/swap 256,1 16 2097136 2097136

/dev/zvol/dsk/rpool/swap2 256,5 16 4194288 4194288

No intercambie a un archivo en un sistema de archivos ZFS. La configuración de archivos deintercambio ZFS no es posible.

Volúmenes de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009276

Page 277: Guía de administración de Solaris ZFS

Para obtener información sobre cómo ajustar el tamaño de los volúmenes de intercambio yvolcado, consulte “Ajuste del tamaño de los dispositivos de intercambio y volcado de ZFS”en la página 160.

Uso de un volumen de ZFS como objetivo iSCSI deSolarisEn la versión de Solaris se admiten los iniciadores y objetivos iSCSI de Solaris.

Además, puede crear fácilmente un volumen de ZFS como objetivo iSCSI estableciendo lapropiedad shareiscsi en el volumen. Por ejemplo:

# zfs create -V 2g tank/volumes/v2

# zfs set shareiscsi=on tank/volumes/v2

# iscsitadm list target

Target: tank/volumes/v2

iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a

Connections: 0

Tras crear el objetivo iSCSI, configure el iniciador iSCSI. Para obtener más información sobreobjetivos e iniciadores iSCSI de Solaris, consulte el Capítulo 14, “Configuring Solaris iSCSITargets and Initiators (Tasks)” de System Administration Guide: Devices and File Systems.

Nota – Los objetivos iSCSI de Solaris también se pueden crear y administrar con el comandoiscsitadm. Si se establece la propiedad shareiscsi en un volumen de ZFS, no utilice elcomando iscsitadm para crear el mismo dispositivo de destino. De lo contrario, terminaráteniendo información de destino duplicada en el mismo dispositivo.

Un volumen de ZFS como objetivo iSCSI se administra de la misma manera que otro conjuntode datos de ZFS. Sin embargo, las funciones de cambiar nombre, exportar e importar son algodistintas en los objetivos iSCSI.■ Si se cambia el nombre de un volumen de ZFS, el objetivo iSCSI se sigue llamando de la

misma forma. Por ejemplo:

# zfs rename tank/volumes/v2 tank/volumes/v1

# iscsitadm list target

Target: tank/volumes/v1

iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a

Connections: 0

■ La exportación de un grupo que contenga un volumen de ZFS compartido elimina elobjetivo. La importación de un grupo que contenga un volumen de ZFS compartido haceque se comparta el objetivo. Por ejemplo:

Volúmenes de ZFS

Capítulo 10 • Temas avanzados de ZFS 277

Page 278: Guía de administración de Solaris ZFS

# zpool export tank

# iscsitadm list target

# zpool import tank

# iscsitadm list target

Target: tank/volumes/v1

iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a

Connections: 0

Toda la información de configuración de objetivos iSCSI se guarda con el conjunto de datos. Aligual que un sistema de archivos NFS compartido, un objetivo iSCSI que se importa a otrosistema se comparte correspondientemente.

Uso de ZFS en un sistema Solaris con zonas instaladasLas secciones siguientes explican cómo utilizar ZFS en un sistema con zonas de Solaris.

■ “Adición de sistemas de archivos ZFS a una zona no global” en la página 279■ “Delegación de conjuntos de datos a una zona no global” en la página 280■ “Adición de volúmenes de ZFS a una zona no global” en la página 281■ “Uso de grupos de almacenamiento de ZFS en una zona” en la página 281■ “Administración de propiedades de ZFS en una zona” en la página 282■ “Interpretación de la propiedad zoned” en la página 283

Para obtener información sobre cómo configurar zonas en un sistema con un sistema dearchivos root ZFS que se va a migrar o al que se aplicarán parches con Modernizaciónautomática de Solaris, consulte “Uso de Modernización automática de Solaris para migrar oactualizar un sistema con zonas (Solaris 10 10/08) ” en la página 142 o “Uso de Modernizaciónautomática de Solaris para migrar o actualizar un sistema con zonas (Solaris 10 5/09 y Solaris 1010/09)” en la página 147.

Al asociar conjuntos de datos de ZFS con zonas, hay que tener en cuenta los puntos siguientes:

■ Puede agregar un sistema de archivos ZFS o un clónico de ZFS a una zona no global con osin delegación de control administrativo.

■ Puede agregar un volumen de ZFS como dispositivo a zonas no globales.■ Por ahora no es posible asociar instantáneas de ZFS con zonas.

En las secciones siguientes, un conjunto de datos de ZFS hace referencia a un sistema dearchivos o clónico.

La adición de un conjunto de datos permite que la zona no global comparta espacio con la zonaglobal, si bien el administrador de zonas no puede controlar las propiedades ni crear sistemas dearchivos en la jerarquía de sistemas de archivos subyacente. Es lo mismo que agregar cualquierotro sistema de archivos a una zona; es aconsejable utilizarlo si la finalidad principal escompartir espacio.

Uso de ZFS en un sistema Solaris con zonas instaladas

Guía de administración de Solaris ZFS • Octubre de 2009278

Page 279: Guía de administración de Solaris ZFS

ZFS permite también la delegación de conjuntos de datos a una zona no global, con lo cual eladministrador de zonas dispone de control absoluto sobre el conjunto de datos y todos sussubordinados. El administrador de zonas puede crear y destruir sistemas de archivos o clónicosde ese conjunto de datos, así como modificar las propiedades de los conjuntos de datos. Eladministrador de zonas no puede incidir en los conjuntos de datos que no se hayan agregado ala zona ni sobrepasar las cuotas de alto nivel establecidas en el conjunto de datos exportado.

Al utilizar ZFS en un sistema Solaris con zonas instaladas hay que tener en cuenta los puntossiguientes:

■ Un sistema de archivos ZFS agregado a una zona no global debe tener la propiedadmountpoint definida en legacy.

■ Debido al CR 6449301, no agregue ningún conjunto de datos ZFS a una zona no globalcuando configure la zona no global. En lugar de ello, agregue un conjunto de datos ZFS trasla instalación de la zona.

■ Cuando tanto el origen zonepath como el destino zonepath residen en ZFS y se encuentranen la misma agrupación, zoneadm clone utiliza automáticamente el clónico de ZFS paraclonar una zona. El comando zoneadm clone toma una instantánea de ZFS de la zonepathde origen y configura la zonepath de destino. No puede utilizar el comando zfs clone paraclonar una zona. Si desea más información, consulte la Parte II, “Zonas” de Guía deadministración de sistemas: Zonas de Solaris y administración de recursos y contenedores deSolaris.

■ Si delega un sistema de archivos ZFS a una zona no global, debe eliminar ese sistema dearchivos de la zona no global antes de utilizar Modernización automática de Solaris. De locontrario, la operación Modernización automática fallará debido a un error del sistema dearchivos de sólo lectura.

Adición de sistemas de archivos ZFS a una zona noglobalUn sistema de archivos ZFS se puede agregar como sistema de archivos genérico si la finalidades compartir espacio con la zona global. Un sistema de archivos ZFS agregado a una zona noglobal debe tener la propiedad mountpoint definida en legacy.

Un sistema de archivos ZFS puede agregarse a una zona no global mediante el comandozonecfg y el subcomando add fs. Por ejemplo:

En el ejemplo siguiente, un administrador global de la zona global agrega a la zona no global unsistema de archivos ZFS.

# zonecfg -z zion

zonecfg:zion> add fs

zonecfg:zion:fs> set type=zfs

Uso de ZFS en un sistema Solaris con zonas instaladas

Capítulo 10 • Temas avanzados de ZFS 279

Page 280: Guía de administración de Solaris ZFS

zonecfg:zion:fs> set special=tank/zone/zion

zonecfg:zion:fs> set dir=/export/shared

zonecfg:zion:fs> end

Esta sintaxis agrega el sistema de archivos ZFS tank/zone/zion a la zona ya configurada zion,montada en /export/shared. La propiedad mountpoint del sistema de archivos se debeestablecer en legacy y el sistema de archivos ya no se puede montar en otra ubicación. Eladministrador de zonas puede crear y destruir archivos en el sistema de archivos. El sistema dearchivos no se puede volver a montar en una ubicación distinta; el administrador de zonastampoco puede modificar propiedades del sistema de archivos, por ejemplo atime, readonly,compression, etcétera. El administrador de zonas global se encarga de configurar y controlar laspropiedades del sistema de archivos.

Para más información sobre el comando zonecfg y la configuración de tipos de recursos conzonecfg, consulte la Parte II, “Zonas” de Guía de administración de sistemas: Zonas de Solaris yadministración de recursos y contenedores de Solaris.

Delegación de conjuntos de datos a una zona noglobalSi el objetivo principal es delegar la administración del almacenamiento a una zona, ZFSpermite agregar conjuntos de datos a una zona no global mediante el comando zonecfg y elsubcomando add dataset.

En el ejemplo siguiente, un administrador global de la zona global delega a la zona no global unsistema de archivos ZFS.

# zonecfg -z zion

zonecfg:zion> add dataset

zonecfg:zion:dataset> set name=tank/zone/zion

zonecfg:zion:dataset> end

A diferencia de agregar un sistema de archivos, esta sintaxis hace que el sistema de archivos ZFStank/zone/zion quede visible en la zona ya configurada zion. El administrador de zonaspuede establecer las propiedades del sistema de archivos, así como crear subordinados.Además, puede tomar instantáneas, crear clónicos y controlar toda la jerarquía del sistema dearchivos.

Si está utilizando Modernización automática de Solaris para actualizar el entorno de arranquede ZFS con zonas no globales, elimine los conjuntos de datos delegados antes de la operación deModernización automática, o ésta fallará con un error del sistema de archivos de sólo lectura.Por ejemplo:

zonecfg:zion>

zonecfg:zone1> remove dataset name=tank/zone/zion

zonecfg:zone1> exit

Uso de ZFS en un sistema Solaris con zonas instaladas

Guía de administración de Solaris ZFS • Octubre de 2009280

Page 281: Guía de administración de Solaris ZFS

Para obtener más información sobre las acciones factibles en las zonas, consulte“Administración de propiedades de ZFS en una zona” en la página 282.

Adición de volúmenes de ZFS a una zona no globalLos volúmenes de ZFS no se pueden agregar a una zona no global mediante el comandozonecfg y el subcomando add dataset. Si se detecta un intento de agregar un volumen deZFS, la zona no puede arrancar. Sin embargo, pueden agregarse volúmenes a una zonautilizando el comando zonecfg y el subcomando add device.

En el ejemplo siguiente, un administrador global de la zona global agrega a la zona no global unvolumen de ZFS.

# zonecfg -z zion

zion: No such zone configured

Use ’create’ to begin configuring a new zone.

zonecfg:zion> create

zonecfg:zion> add device

zonecfg:zion:device> set match=/dev/zvol/dsk/tank/vol

zonecfg:zion:device> end

Esta sintaxis exporta el volumen tank/vol a la zona. Agregar un volumen sin formato a unazona conlleva riesgos en la seguridad, incluso si el volumen no se corresponde con undispositivo físico. En particular, el administrador de zonas podría crear sistemas de archivosincorrectamente formados que causen confusión en el sistema al intentar un montaje. Paraobtener más información sobre cómo agregar dispositivos a zonas y sus riesgos en la seguridad,consulte “Interpretación de la propiedad zoned” en la página 283.

Para obtener más información sobre cómo añadir dispositivos a zonas, consulte la Parte II,“Zonas” de Guía de administración de sistemas: Zonas de Solaris y administración de recursos ycontenedores de Solaris.

Uso de grupos de almacenamiento de ZFS en una zonaLos grupos de almacenamiento de ZFS no se pueden crear ni modificar en una zona. El modelode administración delegada centraliza el control de dispositivos de almacenamiento físicos en lazona global y el control de almacenamiento virtual en zonas no globales. Aunque un conjuntode datos de grupo se puede agregar a una zona, en una zona no se permite ningún comando quemodifique las características físicas del grupo, por ejemplo crear, agregar o eliminardispositivos. Aunque se agreguen dispositivos físicos a una zona mediante el comando zonecfg

y el subcomando add device, o aunque se utilicen archivos, el comando zpool no permite lacreación de grupos en la zona.

Uso de ZFS en un sistema Solaris con zonas instaladas

Capítulo 10 • Temas avanzados de ZFS 281

Page 282: Guía de administración de Solaris ZFS

Administración de propiedades de ZFS en una zonaTras agregar un conjunto de datos a una zona, el administrador de zonas puede controlardeterminadas propiedades del conjunto. Si un conjunto de datos se agrega a una zona, todos sussuperiores se ven como conjuntos de datos de sólo lectura, mientras que el conjunto agregado ytodos sus subordinados se pueden escribir. Por ejemplo, tenga en cuenta la configuraciónsiguiente:

global# zfs list -Ho name

tank

tank/home

tank/data

tank/data/matrix

tank/data/zion

tank/data/zion/home

Si tank/data/zion se agrega a una zona, cada conjunto de datos tendrá las propiedadessiguientes.

Conjunto de datos Visible Escribible Propiedades invariables

tank Sí No -

tank/home No - -

tank/data Sí No -

tank/data/matrix No - -

tank/data/zion Sí Sí sharenfs, zoned, quota,reservation

tank/data/zion/home Sí Sí sharenfs, zoned

Cada conjunto superior de tank/zone/zion es visible como de sólo lectura, todos los conjuntossubordinados se pueden escribir y los conjuntos que no forman parte de la jerarquía superior nose ven. El administrador de zonas no puede cambiar la propiedad sharenfs porque las zonas noglobales no son válidas como servidores NFS. El administrador de zonas tampoco puedecambiar la propiedad zoned; de lo contrario, habría un riesgo en la seguridad como se explica enla sección siguiente.

Se puede modificar cualquier otra propiedad modificable, menos la propiedad quota y elconjunto de datos. Este comportamiento permite que el administrador de zonas globalescontrole la ocupación de espacio de todos los conjuntos de datos utilizados por la zona noglobal.

Asimismo, el administrador de zonas globales no puede modificar las propiedades sharenfs ymountpoint después de que un conjunto de datos se haya agregado a una zona no global.

Uso de ZFS en un sistema Solaris con zonas instaladas

Guía de administración de Solaris ZFS • Octubre de 2009282

Page 283: Guía de administración de Solaris ZFS

Interpretación de la propiedad zoned

Si un conjunto de datos se agrega a una zona no global, se debe marcar de modo especial paraque determinadas propiedades no se interpreten en el contexto de la zona global. Tras haberagregado un conjunto de datos a una zona no global bajo el control de un administrador dezonas, su contenido ya no es fiable. Como en cualquier sistema de archivos, puede haberbinarios setuid, vínculos simbólicos o contenido dudoso que podría repercutir negativamenteen la seguridad de la zona global. Además, la propiedad mountpoint no se puede interpretar enel contexto de la zona global. Por otro lado, el administrador de zonas podría afectar al espaciode nombre de la zona global. Para ocuparse de esto último, ZFS utiliza la propiedad zoned paraindicar que un conjunto de datos se ha delegado a una zona no global en un determinadomomento.

La propiedad zoned consiste en un valor booleano que se activa automáticamente la primeravez que se arranca una zona que contiene un conjunto de datos de ZFS. Un administrador dezonas no tiene que activar manualmente esta propiedad. Si se define la propiedad zoned,elconjunto de datos no se puede montar ni compartir en la zona global, y se omite al ejecutarse loscomandos zfs share -a o zfs mount -a. En el ejemplo siguiente, tank/zone/zion se haagregado a una zona y tank/zone/global no se ha agregado:

# zfs list -o name,zoned,mountpoint -r tank/zone

NAME ZONED MOUNTPOINT

tank/zone/global off /tank/zone/global

tank/zone/zion on /tank/zone/zion

# zfs mount

tank/zone/global /tank/zone/global

tank/zone/zion /export/zone/zion/root/tank/zone/zion

Observe la diferencia entre la propiedad mountpoint y el directorio en que está montado elconjunto de datos tank/zone/zion. La propiedad mountpoint refleja la propiedad comoalmacenada en disco, no donde el conjunto de datos está montado en el sistema.

Si se elimina un conjunto de datos de una zona o se destruye una zona, la propiedad zoned no seelimina de forma automática. Este comportamiento se debe a los riegos de seguridad inherentesa estas tareas. Debido a que un usuario que no es de confianza dispone de acceso completo alconjunto de datos y sus subordinados, la propiedad mountpoint podría definirse en valoresincorrectos o en los sistemas de archivos podría haber binarios setuid.

Para prevenir riesgos en la seguridad, el administrador de zonas globales debe suprimirmanualmente la propiedad zoned si se desea volver a utilizar el conjunto de datos de algunamanera. Antes de establecer la propiedad zoned en off, compruebe que la propiedadmountpoint del conjunto de datos y todos sus subordinados se establezca en valores razonablesy que no haya binarios setuid, o desactive la propiedad setuid.

Tras haber comprobado que no queden puntos débiles en la seguridad, la propiedad zoned sepuede desactivar mediante los comandos zfs set o zfs inherit. Si la propiedad zoned se

Uso de ZFS en un sistema Solaris con zonas instaladas

Capítulo 10 • Temas avanzados de ZFS 283

Page 284: Guía de administración de Solaris ZFS

desactiva mientras un conjunto de datos se utiliza en una zona, el sistema podría manifestar uncomportamiento impredecible. La propiedad se debe modificar únicamente si se tiene la certezade que ninguna zona no global no está utilizando el conjunto de datos.

Uso de grupos root de ZFS alternativosCuando se crea un grupo, queda intrínsecamente vinculado con el sistema host. El sistema hostestá pendiente del grupo para poder detectar si está disponible o no. Si bien es útil en elfuncionamiento normal, este control puede suponer un obstáculo al arrancar desde otrosoporte o al crear un grupo en un soporte extraíble. Para solucionar este problema, ZFSproporciona una función de grupos root alternativos. Una agrupación root alternativa no semantiene a lo largo de los rearranques del sistema y todos los puntos de montaje se modificanpara vincularse con el root de la agrupación.

Creación de grupos root de ZFS alternativosLa finalidad más habitual por la que se crea un grupo root alternativo es utilizarlo con soportesextraíbles. En estos casos, los usuarios suelen preferir un solo sistema de archivos, montado enalgún lugar seleccionado en el sistema de destino. Si se crea un grupo root alternativo mediantela opción -R, el punto de montaje del sistema de archivos root se establece automáticamente en/, que es el equivalente del root alternativo.

En el ejemplo siguiente, un grupo denominado morpheus se crea con /mnt como ruta de accesoroot alternativa:

# zpool create -R /mnt morpheus c0t0d0

# zfs list morpheus

NAME USED AVAIL REFER MOUNTPOINT

morpheus 32.5K 33.5G 8K /mnt/

Observe el sistema de archivos único morpheus, cuyo punto de montaje es el root alternativo delgrupo, /mnt. El punto de montaje que se guarda en disco es / y la ruta completa de /mnt sólo seinterpreta en el contexto del grupo root alternativo. Así, este sistema de archivos se puedeimportar y exportar en un grupo root alternativo arbitrario de otro sistema.

Importación de grupos root alternativosLos grupos también se pueden importar mediante un root alternativo. Esta función posibilitasituaciones de recuperación en que los puntos de montaje no se deben interpretar en el contextodel root actual, sino en determinados directorios temporales en los que se pueden efectuarreparaciones. Esta función también es apta para montar soportes extraíbles como se haexplicado anteriormente.

Uso de grupos root de ZFS alternativos

Guía de administración de Solaris ZFS • Octubre de 2009284

Page 285: Guía de administración de Solaris ZFS

En el ejemplo siguiente, un grupo denominado morpheus se importa con /mnt como ruta deacceso root alternativa: En este ejemplo se da por sentado que morpheus se ha exportadopreviamente.

# zpool import -R /mnt morpheus

# zpool list morpheus

NAME SIZE USED AVAIL CAP HEALTH ALTROOT

morpheus 33.8G 68.0K 33.7G 0% ONLINE /mnt

# zfs list morpheus

NAME USED AVAIL REFER MOUNTPOINT

morpheus 32.5K 33.5G 8K /mnt/morpheus

Perfiles de derechos de ZFSSi desea efectuar tareas de administración de ZFS sin utilizar la cuenta de superusuario (root),puede asumir una función con cualquiera de los perfiles siguientes para llevar a cabo dichastareas de administración:

■ Administración de almacenamiento de ZFS – Proporciona la capacidad de crear, destruir ymanipular dispositivos en un grupo de almacenamiento de ZFS

■ Administración de sistemas de archivos ZFS – Brinda la capacidad de crear, destruir ymodificar sistemas de archivos ZFS

Para obtener más información sobre la creación o asignación de funciones, consulte SystemAdministration Guide: Security Services.

Además de utilizar funciones RBAC para administrar sistemas de archivos ZFS, también puedeconsiderar la posibilidad de utilizar la administración delegada de ZFS para tareas deadministración ZFS distribuidas. Para más información, consulte el Capítulo 9,“Administración delegada de ZFS”.

Perfiles de derechos de ZFS

Capítulo 10 • Temas avanzados de ZFS 285

Page 286: Guía de administración de Solaris ZFS

286

Page 287: Guía de administración de Solaris ZFS

Resolución de problemas y recuperación dedatos de ZFS

En este capítulo se explica la forma de identificar y solucionar los modos de error de ZFS.También se proporciona información para la prevención de errores.

Este capítulo se divide en las secciones siguientes:

■ “Modos de error de ZFS” en la página 287■ “Comprobación de la integridad de los datos de ZFS” en la página 289■ “Identificación de problemas en ZFS” en la página 291■ “Reparación de una configuración de ZFS dañada” en la página 297■ “Resolución de un dispositivo que no se encuentra” en la página 297■ “Sustitución o reparación de un dispositivo dañado” en la página 299■ “Reparación de datos dañados” en la página 308■ “Reparación de un sistema que no se puede arrancar” en la página 311

Modos de error de ZFSComo si fuera una combinación de sistema de archivos y Volume Manager, ZFS puedepresentar una amplia modalidad de errores. Este capítulo comienza con una breve introducciónde los modos de error y posteriormente explica el modo de identificarlos en un sistema que estáen funcionamiento. Al final del capítulo, se proporcionan instrucciones para solucionar losproblemas. ZFS detecta tres tipos básicos de errores:

■ “Dispositivos que faltan en un grupo de almacenamiento de ZFS” en la página 288■ “Dispositivos dañados de un grupo de almacenamiento de ZFS” en la página 288■ “Datos dañados de ZFS” en la página 288

En un mismo grupo se pueden dar los tres errores, con lo cual un procedimiento completo dereparación implica detectar y corregir un error, luego ocuparse del siguiente error y asísucesivamente.

11C A P Í T U L O 1 1

287

Page 288: Guía de administración de Solaris ZFS

Dispositivos que faltan en un grupo dealmacenamiento de ZFSSi un dispositivo ha desaparecido totalmente del sistema, ZFS detecta que dicho sistema no sepuede abrir y le asigna en estado UNAVAIL. Según el nivel de duplicación de datos que tenga elgrupo, ello podría comportar o no que todo el grupo no quedara disponible. Si se elimina undisco de un dispositivo RAID-Z o duplicado, el grupo sigue estando disponible. Si se eliminantodos los componentes de una duplicación, si se elimina más de un dispositivo en un dispositivoRAID-Z o si se elimina un dispositivo de un solo disco de nivel superior, el grupo pasa a tener elestado FAULTED. No habrá ningún dato accesible hasta que se vuelva a colocar el dispositivo.

Dispositivos dañados de un grupo de almacenamientode ZFSEl término "dañado" se aplica a una amplia diversidad de errores. Entre otros, están los erroressiguientes:■ Errores transitorios de E/S debido a discos o controladores incorrectos■ Datos en disco dañados por rayos cósmicos■ Errores de controladores debidos a datos que se transfieren o reciben de ubicaciones

incorrectas■ Anulación simple e involuntaria de partes del dispositivo físico por parte de un usuario

En determinados casos, estos errores son transitorios, por ejemplo errores aleatorios de E/Smientras el controlador tiene problemas. En otros, las consecuencias son permanentes, porejemplo la corrupción del disco. Aun así, el hecho de que los daños sean permanentes noimplica necesariamente que el error se repita más adelante. Por ejemplo, si un administradorsobrescribe involuntariamente parte de un disco, no ha habido ningún error de hardware y nohace falta reemplazar el dispositivo. No resulta nada fácil identificar con exactitud lo que hasucedido en un dispositivo. Ello se aborda en mayor profundidad más adelante en otra sección.

Datos dañados de ZFSLa corrupción de datos tiene lugar cuando uno o varios errores de dispositivos (dañados o quefaltan) afectan a un dispositivo virtual de alto nivel. Por ejemplo, la mitad de una duplicaciónpuede sufrir innumerables errores sin causar la más mínima corrupción de datos. Si se detectaun error en la misma ubicación de la otra parte de la duplicación, se obtendrá como resultadodatos dañados.

Los datos quedan permanentemente dañados y deben tratarse de forma especial durante lareparación. Aunque se reparen o reemplacen los dispositivos subyacentes, los datos originalesse pierden irremisiblemente. En estas circunstancias, casi siempre se requiere la restauración de

Modos de error de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009288

Page 289: Guía de administración de Solaris ZFS

datos a partir de copias de seguridad. Los errores de datos se registran conforme se detectan.Como se explica en la sección siguiente, pueden controlarse mediante limpiezas rutinarias dedisco. Si se quita un bloque dañado, el siguiente pase de limpieza reconoce que la corrupción yano está presente y suprime del sistema cualquier indicio de error.

Comprobación de la integridad de los datos de ZFSEn ZFS no hay una utilidad fsck equivalente. Desde siempre, esta utilidad ha servido para lareparación y validación de datos.

Reparación de datosEn los sistemas de archivos tradicionales, el método de escritura de datos es intrínsecamentevulnerable a errores imprevistos que generan incoherencias en los datos. Debido a que unsistema de archivos tradicional no es transaccional, puede haber bloques sin referenciar,recuentos de vínculos erróneos u otras estructuras de datos no coherentes. La adición de diariossoluciona algunos de estos problemas, pero puede comportar otros si el registro no se puedeinvertir. En ZFS no se da ninguno de estos problemas. El único modo de que puedan existirdatos incoherentes en el disco es por un fallo del hardware (en cuyo caso, la agrupación deberíahaber sido redundante) o porque hay un error en el software de ZFS.

Como la utilidad fsck se ha concebido para reparar errores conocidos propios de los sistemasde archivos, resulta imposible ejecutar dicha utilidad en un sistema de archivos con problemasno conocidos. Con el tiempo, la experiencia podría corroborar que determinados problemas deerrores de datos son suficientemente habituales y sencillos como para poder desarrollar unutilidad de reparación; ahora bien, estos problemas siempre se pueden evitar utilizando gruposredundantes.

Si el grupo no es redundante, siempre existe la posibilidad de que los errores en los datos lleguena hacer que parte o todos los datos queden inaccesibles.

Validación de datosAparte de reparar datos, la utilidad fsck valida que los datos en disco no tengan problemas.Desde siempre, esta tarea se ha efectuado desmontando el sistema de archivos y ejecutando lautilidad fsck, seguramente con el sistema en modo monousuario durante el proceso. Estasituación comporta un tiempo de inactividad proporcional al tamaño del sistema de archivosque se comprueba. En lugar de hacer que una determinada utilidad realice la pertinentecomprobación, ZFS brinda un mecanismo para ejecutar una comprobación rutinaria de todoslos datos. Esta función, denominada limpieza, se suele utilizar en la memoria y en otros sistemascomo método para detectar y evitar errores antes de que deriven en errores de hardware osoftware.

Comprobación de la integridad de los datos de ZFS

Capítulo 11 • Resolución de problemas y recuperación de datos de ZFS 289

Page 290: Guía de administración de Solaris ZFS

Control de la limpieza de datos de ZFSCuando ZFS detecta un error, ya sea mediante el proceso de limpieza o al acceder a un archivopor algún motivo, el error se registra internamente para poder disponer de una visión generalinmediata de todos los errores conocidos del grupo.

Limpieza explícita de datos de ZFSLa forma más sencilla de comprobar la integridad de los datos es ejecutar una limpieza explícitade todos los datos del grupo. Este proceso afecta a todos los datos del grupo y verifica que sepuedan leer todos los bloques. El proceso de limpieza transcurre todo lo deprisa que permitenlos dispositivos, aunque la prioridad de cualquier E/S quede por debajo de las operacionesnormales. Esta operación puede incidir negativamente en el rendimiento, aunque el sistema dearchivos se puede seguir usando y está disponible casi como siempre. Para iniciar una limpiezaexplícita, utilice el comando zpool scrub. Por ejemplo:

# zpool scrub tank

El estado de la limpieza actual puede verse en la salida de zpool status. Por ejemplo:

# zpool status -v tank

pool: tank

state: ONLINE

scrub: scrub completed after 0h7m with 0 errors on Tue Sep 1 09:20:52 2009

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

mirror ONLINE 0 0 0

c1t0d0 ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

errors: No known data errors

Sólo puede haber una activa operación de limpieza por grupo.

Con la opción -s se puede detener una operación de limpieza. Por ejemplo:

# zpool scrub -s tank

En la mayoría de los casos, una operación de limpieza para asegurar la integridad de los datoscontinúa hasta finalizar. Si considera que el proceso va a afectar negativamente al rendimientodel sistema, puede detenerla.

La ejecución rutinaria de limpiezas también garantiza la E/S continua en todos los discos delsistema. La ejecución rutinaria de limpiezas tiene el inconveniente de impedir que los discos

Comprobación de la integridad de los datos de ZFS

Guía de administración de Solaris ZFS • Octubre de 2009290

Page 291: Guía de administración de Solaris ZFS

inactivos pasen a la modalidad de bajo consumo. Si en general el sistema efectúa E/Spermanentemente, o si el consumo de energía no es ningún problema, se puede prescindir deeste tema.

Para obtener más información sobre la interpretación de la salida de zpool status, consulte“Consulta del estado de un grupo de almacenamiento de ZFS” en la página 96.

Limpieza y actualización de la duplicación de datos de ZFSAl reemplazar un dispositivo, se inicia una operación de actualización de duplicación de datospara transferir datos de las copias correctas al nuevo dispositivo. Este proceso es una forma delimpieza de disco. Por lo tanto, una acción de este tipo sólo puede darse en el grupo en unmomento determinado. Si hay una operación de limpieza en curso, una operación deactualización de duplicación de datos suspende la limpieza en curso y la reinicia una vezconcluida la actualización de duplicación.

Para obtener más información sobre la actualización de duplicación de datos, consulte“Visualización del estado de la actualización de duplicación de datos” en la página 306.

Identificación de problemas en ZFSEn las secciones siguientes se explica la manera de identificar problemas en los sistemas dearchivos ZFS o grupos de almacenamiento.

■ “Cómo establecer si un grupo de almacenamiento de ZFS tiene problemas” en la página 292■ “Revisión de la salida de zpool status” en la página 293■ “Creación de informes del sistema sobre mensajes de error de ZFS” en la página 296

Las funciones siguientes son válidas para identificar problemas en la configuración de ZFS:

■ Información detallada de grupos de almacenamiento de ZFS con el comando zpool status

■ Informes de errores en grupos y dispositivos a través de mensajes de diagnóstico deZFS/FMA

■ Los comandos anteriores de ZFS que modificaban la información sobre el estado de losgrupos se ven ahora mediante el comando zpool history

Casi todas las resoluciones de problemas de ZFS se centran en el comando zpool status. Estecomando analiza los errores del sistema e identifica el problema más grave, sugiere una acción yproporciona un vínculo a documentación técnica para obtener más información. Aunquepueda haber varios problemas, el comando sólo identifica un problema del grupo. Por ejemplo,los errores de datos dañados siempre denotan que ha fallado alguno de los dispositivos. Lasustitución del dispositivo defectuoso no soluciona los problemas de corrupción de datos.

Además, se proporciona un dispositivo de diagnósticos de ZFS para detectar e informar sobreerrores en grupos y dispositivos. También se informa de errores de suma de comprobación, E/S,

Identificación de problemas en ZFS

Capítulo 11 • Resolución de problemas y recuperación de datos de ZFS 291

Page 292: Guía de administración de Solaris ZFS

dispositivos y grupos asociados con errores de dispositivos o grupos. Los errores de ZFSindicados por fmd se muestran en la consola y el archivo de mensajes del sistema. En la mayoríade los casos, el mensaje de fmd remite al comando zpool status para obtener másinstrucciones sobre recuperación.

A continuación se expone el proceso básico de recuperación:

■ Si procede, utilice el comando zpool history para identificar los comandos de ZFSanteriores que han desembocado en la situación de error. Por ejemplo:

# zpool history tank

History for ’tank’:

2009-09-01.09:26:15 zpool create tank mirror c0t1d0 c0t2d0 c0t3d0

2009-09-01.09:26:34 zfs create tank/erick

2009-09-01.09:26:41 zfs set checksum=off tank/erick

Las sumas de comprobación de esta salida están inhabilitadas para el sistema de archivostank/erick. No se recomienda esta configuración.

■ Identifique los errores mediante los mensajes de fmd que aparecen en la consola del sistemao en los archivos de /var/adm/messages.

■ En el comando zpool status -x, busque más instrucciones de reparación.■ Repare errores, por ejemplo:

■ Reemplace el dispositivo defectuoso o que falta y establezca las conexiones con él.■ Restaure la configuración defectuosa o los datos dañados a partir de una copia de

seguridad.■ Verifique la recuperación mediante el comando zpool status - x.■ Si procede, efectúe una copia de seguridad de la configuración que se ha restaurado.

En este capítulo se explica la forma de interpretar la salida del comando zpool status con el finde diagnosticar el tipo de error y remitir al usuario a alguna de las secciones siguientes parasolucionar el problema. Si bien el comando ejecuta automáticamente casi todo el proceso, esimportante comprender con exactitud los problemas que se identifican para poder diagnosticarel tipo de error.

Cómo establecer si un grupo de almacenamiento deZFS tiene problemasLa forma más fácil de determinar si el sistema tiene problemas conocidos es mediante elcomando zpool status -x. Este comando sólo describe grupos que presentan problemas. Sien el sistema no hay grupos problemáticos, el comando emite el escueto mensaje siguiente:

# zpool status -x

all pools are healthy

Identificación de problemas en ZFS

Guía de administración de Solaris ZFS • Octubre de 2009292

Page 293: Guía de administración de Solaris ZFS

Sin el indicador -x, el comando muestra el estado completo de todas las agrupaciones (o de laagrupación solicitada, si se indica en la línea de comandos), incluso si las agrupaciones están enbuen estado.

Para obtener más información sobre las opciones de línea de comandos en la salida de zpoolstatus, consulte “Consulta del estado de un grupo de almacenamiento de ZFS” en la página 96.

Revisión de la salida de zpool status

La salida completa de zpool status se parece a la siguiente:

# zpool status tank

pool: tank

state: DEGRADED

status: One or more devices has been taken offline by the administrator.

Sufficient replicas exist for the pool to continue functioning in a

degraded state.

action: Online the device using ’zpool online’ or replace the device with

’zpool replace’.

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

tank DEGRADED 0 0 0

mirror DEGRADED 0 0 0

c1t0d0 ONLINE 0 0 0

c1t1d0 OFFLINE 0 0 0

errors: No known data errors

Esta salida se divide en varias secciones:

Información sobre el estado general del grupoEsta sección en el encabezado de la salida de zpool status contiene los campos siguientes;algunos de ellos sólo se muestran cuando hay grupos con problemas:

pool El nombre del grupo.

state Estado actual del grupo. Esta información se refiere únicamente a la capacidad delgrupo de proporcionar el nivel pertinente de replicación. Es posible que los gruposen estado ONLINE sigan teniendo dispositivos defectuosos o datos dañados.

status Descripción de lo que sucede en el grupo. Si no se detectan problemas, este campose omite.

Identificación de problemas en ZFS

Capítulo 11 • Resolución de problemas y recuperación de datos de ZFS 293

Page 294: Guía de administración de Solaris ZFS

action Acción recomendada para la reparación de errores. Este campo es un formularioabreviado que remite al usuario a una de las secciones siguientes. Si no se detectanproblemas, este campo se omite.

see Referencia a información técnica que contiene datos detallados sobre reparaciones.Los artículos en línea se actualizan con más frecuencia que esta guía. Son la fuentede información de referencia más aconsejable en cuanto a procedimientos dereparación. Si no se detectan problemas, este campo se omite.

scrub Identifica el estado actual de una operación de limpieza, que puede contener lafecha y hora de conclusión de la última operación de limpieza, una limpieza encurso o si no se ha solicitado ninguna operación de limpieza.

errors Identifica errores conocidos de datos o la ausencia de esta clase de errores.

Información de configuración de la agrupaciónEl campo config de la salida de zpool status describe la disposición de configuración de losdispositivos que conforman el grupo, además de su estado y los posibles errores generados porlos dispositivos. Puede mostrar uno de los estados siguientes: ONLINE, FAULTED, DEGRADED,UNAVAILABLE u OFFLINE. Si el estado es cualquiera de ellos menos ONLINE, significa que se poneel peligro la tolerancia a errores del grupo.

La segunda sección de la salida de configuración muestra estadísticas de errores. Dichos erroresse dividen en tres categorías:

■ READ – Errores de E/S al emitir una solicitud de lectura.■ WRITE – Errores de E/S al emitir una solicitud de escritura.■ CKSUM – Errores de suma de comprobación. El dispositivo ha devuelto datos dañados como

resultado de una solicitud de lectura.

Estos errores son aptos para determinar si los daños son permanentes. Una cantidad pequeñade errores de E/S puede denotar un corte temporal del suministro; una cantidad grande puededenotar un problema permanente en el dispositivo. Estos errores no necesariamentecorresponden a datos dañados según la interpretación de las aplicaciones. Si el dispositivo seencuentra en una configuración redundante, los dispositivos de disco podrían mostrar erroresirreparables, aunque no aparezcan errores en la duplicación o el nivel de dispositivos RAID-Z.Si tal fuera el caso, ZFS recuperaría correctamente los datos en buen estado e intentaría repararlos datos dañados a partir de los datos duplicados.

Para obtener más información sobre la interpretación de estos errores para determinar erroresen dispositivos, consulte “Cómo determinar el tipo de error en dispositivos” en la página 299.

En la última columna de la salida de zpool status se muestra información complementariaadicional. Dicha información se expande en el campo state para ayudar en el diagnóstico demodos de errores. Si un dispositivo tiene el estado FAULTED, este campo informa de si el

Identificación de problemas en ZFS

Guía de administración de Solaris ZFS • Octubre de 2009294

Page 295: Guía de administración de Solaris ZFS

dispositivo no está accesible o si dicho dispositivo tiene los datos dañados. Si se ejecuta laactualización de la duplicación de datos, el dispositivo muestra el progreso del proceso.

Para obtener más información sobre el control del progreso de la actualización de duplicaciónde datos, consulte “Visualización del estado de la actualización de duplicación de datos”en la página 306.

Estado del proceso de limpiezaLa tercera sección de la salida de zpool status describe el estado actual de cualquier proceso delimpieza explícita. Esta información es diferente de si se detectan errores en el sistema, aunquees válida para determinar la exactitud de la información sobre datos dañados. Si la últimaoperación de limpieza ha concluido correctamente, lo más probable es que se haya detectadocualquier tipo de datos dañados.

Para obtener más información sobre la limpieza de datos y la forma de interpretar esainformación, consulte “Comprobación de la integridad de los datos de ZFS” en la página 289.

Errores de datos dañadosEl comando zpool status muestra también si hay errores conocidos asociados con el grupo.Estos errores se pueden haber detectado durante la limpieza del disco o en el transcurso delfuncionamiento normal. ZFS mantiene un registro constante de todos los errores de datosasociados con el grupo. El registro se reinicia cada vez que concluye una limpieza total delsistema.

Los errores de datos dañados siempre son fatales. El hecho de que existan denota que al menosuna aplicación ha tenido un error de E/S debido a los datos dañados del grupo. Los errores dedispositivos en un grupo redundante no generan datos dañados ni forman parte de esteregistro. De forma predeterminada, sólo se muestra el número de errores detectados. La opciónzpool status -v proporciona una lista completa de errores con los detalles. Por ejemplo:

# zpool status -v

pool: tank

state: UNAVAIL

status: One or more devices are faulted in response to IO failures.

action: Make sure the affected devices are connected, then run ’zpool clear’.

see: http://www.sun.com/msg/ZFS-8000-HC

scrub: scrub completed after 0h0m with 0 errors on Tue Sep 1 09:51:01 2009

config:

NAME STATE READ WRITE CKSUM

tank UNAVAIL 0 0 0 insufficient replicas

c1t0d0 ONLINE 0 0 0

c1t1d0 UNAVAIL 4 1 0 cannot open

Identificación de problemas en ZFS

Capítulo 11 • Resolución de problemas y recuperación de datos de ZFS 295

Page 296: Guía de administración de Solaris ZFS

errors: Permanent errors have been detected in the following files:

/tank/data/aaa

/tank/data/bbb

/tank/data/ccc

El comando fmd muestra un mensaje parecido en la consola del sistema y el archivo/var/adm/messages. Con el comando fmdump se puede hacer un seguimiento de estosmensajes.

Para obtener más información sobre la interpretación de errores sobre corrupción de datos,consulte “Identificación del tipo de corrupción de datos” en la página 309.

Creación de informes del sistema sobre mensajes deerror de ZFSAparte de hacer un constante seguimiento de los errores en el grupo, ZFS muestra mensajes desyslog cuando se generan eventos de interés. Las situaciones siguientes generan eventos quenotificar al administrador:

■ Transición de estados del dispositivo – Si un dispositivo pasa a tener el estado FAULTED,ZFS registra un mensaje que indica que la tolerancia a errores del grupo puede estar enpeligro. Se envía un mensaje parecido si el dispositivo se conecta posteriormente, con lo cualel grupo se recupera del error.

■ Datos dañados – Si se detecta cualquier tipo de datos dañados, ZFS registra un mensaje enel que se indica su ubicación y el momento en que tiene lugar. Este mensaje se registra sólo laprimera vez que se detecta. Los accesos posteriores no generan ningún mensaje.

■ Errores de grupos y de dispositivos – Si tiene lugar un error de grupo o dispositivo, eldaemon del administrador de errores informa de dichos errores mediante mensajes desyslog y mediante el comando fmdump.

Si ZFS detecta un error de dispositivo y se recupera automáticamente, no se genera ningunanotificación. Esta clase de errores no supone ningún fallo en la redundancia del grupo ni laintegridad de los datos. Además, esta clase de errores suele ser fruto de un problema decontrolador provisto de su propio conjunto de mensajes de error.

Identificación de problemas en ZFS

Guía de administración de Solaris ZFS • Octubre de 2009296

Page 297: Guía de administración de Solaris ZFS

Reparación de una configuración de ZFS dañadaZFS mantiene una caché de grupos activos y su configuración en el sistema de archivos root. Sieste archivo se daña o de alguna manera se desincroniza respecto a lo que se almacena en disco,ya no se puede abrir el grupo. ZFS procura evitar esta situación, si bien los errores arbitrariossiempre se pueden dar debido a la naturaleza del almacenamiento y el sistema de archivossubyacente. Al final termina desapareciendo un grupo del sistema cuando lo normal es queestuviera disponible. Esta situación también puede presentarse como una configuración parcialen la que faltan un número no determinado de dispositivos virtuales de nivel superior. Seacomo sea, la configuración se puede recuperar exportando el grupo (si está visible) yvolviéndolo a importar.

Para obtener más información sobre importación y exportación de grupos, consulte“Migración de grupos de almacenamiento de ZFS” en la página 105.

Resolución de un dispositivo que no se encuentraSi no se puede abrir un dispositivo, se muestra como UNAVAILABLE en la salida de zpoolstatus. Este estado indica que ZFS no ha podido abrir el dispositivo la primera vez que seaccedió al grupo, o que desde entonces el dispositivo ya no está disponible. Si el dispositivo haceque no quede disponible un dispositivo virtual de alto nivel, el grupo queda completamenteinaccesible. De lo contrario, podría verse en peligro la tolerancia a errores del grupo. Encualquier caso, sólo debe volver a conectar el dispositivo al sistema para restablecer elfuncionamiento normal.

Por ejemplo, en pantalla puede aparecer parecido al siguiente procedente de fmd tras un errorde dispositivo:

SUNW-MSG-ID: ZFS-8000-FD, TYPE: Fault, VER: 1, SEVERITY: Major

EVENT-TIME: Tue Sep 1 09:36:46 MDT 2009

PLATFORM: SUNW,Sun-Fire-T200, CSN: -, HOSTNAME: neo

SOURCE: zfs-diagnosis, REV: 1.0

EVENT-ID: a1fb66d0-cc51-cd14-a835-961c15696fed

DESC: The number of I/O errors associated with a ZFS device exceeded

acceptable levels. Refer to http://sun.com/msg/ZFS-8000-FD for more information.

AUTO-RESPONSE: The device has been offlined and marked as faulted. An attempt

will be made to activate a hot spare if available.

IMPACT: Fault tolerance of the pool may be compromised.

REC-ACTION: Run ’zpool status -x’ and replace the bad device.

El paso siguiente es utilizar el comando zpool status -x para ver información máspormenorizada del problema y la resolución. Por ejemplo:

Resolución de un dispositivo que no se encuentra

Capítulo 11 • Resolución de problemas y recuperación de datos de ZFS 297

Page 298: Guía de administración de Solaris ZFS

En esta salida puede observarse que el dispositivo que no se encuentra c1t1d0 no funciona. Sidetermina que la unidad está defectuosa, reemplace el dispositivo.

A continuación, utilice el comando zpool online para conectar el dispositivo reemplazado.Por ejemplo:

# zpool online tank c1t1d0

Confirme que el grupo con el dispositivo reemplazado esté correcto.

# zpool status -x tank

pool ’tank’ is healthy

Cómo volver a conectar físicamente el dispositivoLa forma de volver a conectar un dispositivo que falta depende del tipo de dispositivo. Si es unaunidad con conexión a red, se debe restaurar la conectividad. Si se trata de un dispositivo USB uotro medio extraíble, debe volverse a conectar al sistema. Si consiste en un disco local, podríahaber fallado un controlador de tal forma que el dispositivo ya no estuviera visible en el sistema.En tal caso, el controlador se debe reemplazar en el punto en que los discos vuelvan a estardisponibles. Pueden darse otros problemas, según el tipo de hardware y su configuración. Si unaunidad falla y ya no está visible en el sistema (cosa improbable), el dispositivo debe tratarsecomo si estuviera dañado. Siga los procedimientos que se indican en “Sustitución o reparaciónde un dispositivo dañado” en la página 299.

Notificación de ZFS sobre disponibilidad dedispositivosDespués de que un dispositivo se vuelve a conectar al sistema, ZFS puede detectar o noautomáticamente su disponibilidad. Si el grupo ya tenía errores o el sistema se rearrancó comoparte del procedimiento de conexión, ZFS vuelve a explorar automáticamente todos losdispositivos cuando intenta abrir el grupo. Si el grupo se había degradado y el dispositivo sereemplazó cuando el sistema estaba activo, se debe notificar a ZFS que el dispositivo ya estádisponible y listo para abrirse de nuevo mediante el comando zpool online. Por ejemplo:

# zpool online tank c0t1d0

Para obtener más información sobre la conexión de dispositivos, consulte “Cómo conectar undispositivo” en la página 85.

Resolución de un dispositivo que no se encuentra

Guía de administración de Solaris ZFS • Octubre de 2009298

Page 299: Guía de administración de Solaris ZFS

Sustitución o reparación de un dispositivo dañadoEsta sección describe la forma de determinar tipos de errores en dispositivos, eliminar errorestransitorios y reemplazar un dispositivo.

Cómo determinar el tipo de error en dispositivosEl concepto dispositivo dañado es bastante ambiguo; puede referirse a varias situaciones:

■ Deterioro de bits – Con el tiempo, eventos aleatorios como campos magnéticos o rayoscósmicos pueden hacer que los bits almacenados en disco deriven en eventos de carácterimpredecible. Son eventos relativamente poco frecuentes, pero lo suficientementehabituales como para causar daños en datos de sistemas grandes o con procesos de largaduración. En general, estos errores son transitorios.

■ Lecturas o escrituras de ubicaciones incorrectas – Los errores de firmware o hardwarepueden hacer que lecturas o escrituras de bloques enteros hagan referencia a ubicacionesincorrectas en el disco. Suelen ser errores transitorios, pero si se dan en grandes cantidades,podrían denotar una unidad defectuosa.

■ Error de administrador – Los administradores pueden sobrescribir inadvertidamenteporciones del disco con datos dañados (por ejemplo, sobrescribir porciones de /dev/zeroen el disco) que dañen el disco de manera permanente. Estos errores siempre sontransitorios.

■ Interrupción temporal del suministro de energía– Durante un determinado periodo detiempo, quizá no se pueda acceder a un disco, lo que puede provocar errores de E/S. Estasituación se suele asociar con dispositivos conectados a redes, aunque los discos localestambién pueden sufrir interrupciones temporales de suministro de energía. Estos errorespueden ser transitorios o no.

■ Hardware dañado o con comportamiento inusual – Esta situación constituye un cajón desastre de todos los problemas que puede presentar un hardware defectuoso. Puedenconsistir en errores de E/S, transportes defectuosos que causan errores aleatorios, etcétera.Estos errores suelen ser permanentes.

■ Dispositivo sin conexión – Si un dispositivo está sin conexión, se supone que eladministrador le ha asignado este estado porque en principio presenta algún problema. Eladministrador que asigna este estado al dispositivo puede establecer si dicha suposición escorrecta.

Diagnosticar con exactitud la naturaleza del problema puede resultar un proceso complicado.El primer paso es examinar la cantidad de errores en la salida de zpool status tal como semuestra:

# zpool status -v pool

Sustitución o reparación de un dispositivo dañado

Capítulo 11 • Resolución de problemas y recuperación de datos de ZFS 299

Page 300: Guía de administración de Solaris ZFS

Los errores pueden ser de E/S o de suma de comprobación, y pueden denotar el posible tipo dedefecto. El funcionamiento normal prevé muy pocos errores (sólo unos pocos en periodos detiempo prolongados). Si detecta una gran cantidad de errores, probablemente denote lainminencia de un error o la inutilización completa de un dispositivo. Sin embargo, la patologíade errores de administrador puede derivar en grandes cantidades de errores. El registro delsistema es la otra fuente de información. Si el registro tiene una gran cantidad de mensajes decontrolador de canal de fibra o SCSI, es probable que la situación sea sintomática de gravesproblemas de hardware. Si no se generan mensajes de syslog, es probable que los daños seantransitorios.

El objetivo es responder a la pregunta siguiente:

¿Es probable que este dispositivo vuelva a tener un error?

Los errores que suceden sólo una vez se consideran transitorios y no denotan problemaspotenciales. Los errores continuos o suficientemente graves como para indicar problemaspotenciales en el hardware se consideran errores "fatales". El hecho de determinar el tipo deerror trasciende el ámbito de cualquier software automatizado que haya actualmente en ZFS,por lo cual eso es una tarea propia de los administradores. Una vez determinado el error, sepuede llevar a cabo la acción pertinente. Suprima los errores transitorios o reemplace losdispositivos con errores fatales. Estos procedimientos de reparación se explican en las seccionessiguientes.

Aun en caso de que los errores de dispositivos se consideren transitorios, se pueden habergenerado errores incorregibles en los datos del grupo. Estos errores precisan procedimientosespeciales de reparación, incluso si el dispositivo subyacente se considera que está en buenestado o se ha reparado. Para obtener más información sobre cómo reparar errores de datos,consulte “Reparación de datos dañados” en la página 308.

Supresión de errores transitoriosSi los errores en dispositivos se consideran transitorios, en el sentido que es poco probable queincidan más adelante en el buen estado del dispositivo, se pueden suprimir tranquilamente paraindicar que no se ha producido ningún error fatal. Para suprimir los recuentos de errores deRAID-Z o dispositivos duplicados, utilice el comando zpool clear. Por ejemplo:

# zpool clear tank c1t1d0

Esta sintaxis suprime todos los errores de dispositivo y recuentos de errores de datos asociadoscon el dispositivo.

Utilice la sintaxis siguiente para suprimir todos los errores asociados con los dispositivosvirtuales del grupo y para suprimir los recuentos de errores asociados con el grupo:

Sustitución o reparación de un dispositivo dañado

Guía de administración de Solaris ZFS • Octubre de 2009300

Page 301: Guía de administración de Solaris ZFS

# zpool clear tank

Para obtener más información sobre la supresión de errores de dispositivos, consulte“Supresión de dispositivos de grupos de almacenamiento” en la página 86.

Sustitución de un dispositivo de un grupo dealmacenamiento de ZFSSi los daños en un dispositivo son permanentes o es posible que lo sean en el futuro, dichodispositivo debe reemplazarse. El hecho de que el dispositivo pueda sustituirse o no depende dela configuración.

■ “Cómo determinar si un dispositivo se puede reemplazar o no” en la página 301■ “Dispositivos que no se pueden reemplazar” en la página 302■ “Sustitución de un dispositivo de un grupo de almacenamiento de ZFS” en la página 302■ “Visualización del estado de la actualización de duplicación de datos” en la página 306

Cómo determinar si un dispositivo se puede reemplazar o noPara que un dispositivo se pueda reemplazar, el grupo debe tener el estado ONLINE. Eldispositivo debe formar parte de una configuración redundante o tener el estado correcto (enestado ONLINE). Si el disco forma parte de una configuración redundante, debe habersuficientes réplicas desde las que poder recuperar datos en buen estado. Si dos discos conduplicación de cuatro vías están defectuosos, se puede reemplazar cualquiera de ellos porque sedispone de réplicas en buen estado. Sin embargo, si están defectuosos dos discos de undispositivo RAID-Z de cuatro vías, ninguno de ellos se puede reemplazar porque no se disponede suficientes réplicas desde las que recuperar datos. Si el dispositivo está dañado pero está conconexión, se puede reemplazar siempre y cuando el grupo no tenga el estado FAULTED. Sinembargo, cualquier dato incorrecto del dispositivo se copia al nuevo dispositivo a menos quehayan suficientes réplicas con datos correctos.

En la configuración siguiente, el disco c1t1d0 se puede reemplazar y los datos del grupo secopian a partir de la réplica en buen estado, c1t0d0.

mirror DEGRADED

c1t0d0 ONLINE

c1t1d0 FAULTED

El disco c1t0d0 también se puede reemplazar, aunque no es factible la recuperación automáticade datos debido a la falta de réplicas en buen estado.

En la configuración siguiente, no se puede reemplazar ninguno de los discos dañados. Losdiscos con el estado ONLINE tampoco pueden reemplazarse porque el grupo está dañado.

Sustitución o reparación de un dispositivo dañado

Capítulo 11 • Resolución de problemas y recuperación de datos de ZFS 301

Page 302: Guía de administración de Solaris ZFS

raidz FAULTED

c1t0d0 ONLINE

c2t0d0 FAULTED

c3t0d0 FAULTED

c3t0d0 ONLINE

En la configuración siguiente, el disco de nivel superior tampoco se puede reemplazar, si bien elel disco nuevo se va a copiar cualquier dato dañado.

c1t0d0 ONLINE

c1t1d0 ONLINE

Si cualquiera de los discos está defectuoso, no se puede reemplazar porque el grupo quedaríadañado.

Dispositivos que no se pueden reemplazarSi la pérdida de un dispositivo implica dañar el grupo, o el dispositivo contiene demasiadoserrores en los datos en una configuración no redundante, la correcta sustitución del dispositivono es factible. Si la redundancia es insuficiente, no es posible restaurar con datos en buen estadoel dispositivo dañado. En este caso, la única posibilidad es destruir el grupo, volver a crear laconfiguración y restaurar los datos en ese proceso.

Para obtener más información sobre cómo restaurar todo un grupo, consulte “Reparación dedaños en los grupos de almacenamiento de ZFS” en la página 311.

Sustitución de un dispositivo de un grupo de almacenamiento de ZFSTras determinar que se puede reemplazar un dispositivo, utilice el comando zpool replace

para reemplazarlo. Si reemplaza el dispositivo dañado, emplee el comando siguiente:

# zpool replace tank c1t1d0 c2t0d0

Este comando comienza migrando datos al dispositivo nuevo desde el dispositivo dañado, o deotros dispositivos si el grupo forma parte de una configuración redundante. Cuando finaliza elcomando, desconecta el dispositivo dañado de la configuración. Es entonces cuando eldispositivo se puede eliminar del sistema. Si ya ha eliminado el dispositivo y lo ha reemplazadopor uno nuevo en la misma ubicación, utilice la forma de un solo dispositivo del comando. Porejemplo:

# zpool replace tank c1t1d0

Este comando selecciona un disco sin formato, le aplica el formato correspondiente y comienzaa actualizar la duplicación de datos a partir del resto de la configuración.

Sustitución o reparación de un dispositivo dañado

Guía de administración de Solaris ZFS • Octubre de 2009302

Page 303: Guía de administración de Solaris ZFS

Para obtener más información acerca del comando zpool replace, consulte “Sustitución dedispositivos en un grupo de almacenamiento” en la página 86.

EJEMPLO 11–1 Sustitución de un dispositivo de un grupo de almacenamiento de ZFS

El ejemplo siguiente muestra cómo reemplazar un dispositivo (c1t3d0) en la agrupación dealmacenamiento duplicada tank en un sistema Sun Fire x4500. Si va a reemplazar el discoc1t3d0 con un nuevo disco de la misma ubicación (c1t3d0), desconfigure el disco antes deintentar reemplazarlo. Los pasos básicos son los siguientes:

■ En primer lugar, desconecte el disco que va a reemplazar. No puede desconfigurar un discoque se esté utilizando.

■ Identifique el disco (c1t3d0) que va a desconfigurar y desconfigúrelo. La agrupación sedegradará con el disco desconectado en esta configuración sin duplicada, pero la agrupaciónseguirá estando disponible.

■ Sustituya físicamente el disco (c1t3d0). Antes de quitar la unidad que falla, asegúrese de quese encienda el LED azul que indica que el disco está listo para quitarlo.

■ Vuelva a configurar el disco (c1t3d0).■ Conecte de nuevo el disco (c1t3d0).■ Ejecute el comando zpool replace para reemplazar el disco (c1t3d0).

Nota – Si ha configurado previamente la propiedad de agrupación autoreplace=on, se daráformato y se sustituirá automáticamente cualquier dispositivo nuevo que se detecte en lamisma ubicación física como dispositivo que antes pertenecía a la agrupación, mediante elcomando zpool replace. Es posible que el hardware no sea compatible con esta función.

■ Si un disco fallido se sustituye automáticamente por un repuesto en marcha, puede que debadesconectarlo después de dicha sustitución. Por ejemplo, si c2t4d0 es aún un repuestoactivo después de sustituir el disco fallido, desconéctelo.

# zpool detach tank c2t4d0

# zpool offline tank c1t3d0

# cfgadm | grep c1t3d0

sata1/3::dsk/c1t3d0 disk connected configured ok

# cfgadm -c unconfigure sata1/3

Unconfigure the device at: /devices/pci@0,0/pci1022,7458@2/pci11ab,11ab@1:3

This operation will suspend activity on the SATA device

Continue (yes/no)? yes

# cfgadm | grep sata1/3

sata1/3 disk connected unconfigured ok

<Replace the physical disk c1t3d0>

Sustitución o reparación de un dispositivo dañado

Capítulo 11 • Resolución de problemas y recuperación de datos de ZFS 303

Page 304: Guía de administración de Solaris ZFS

EJEMPLO 11–1 Sustitución de un dispositivo de un grupo de almacenamiento de ZFS (Continuación)

# cfgadm -c configure sata1/3

# cfgadm | grep sata3/7

sata3/7::dsk/c5t7d0 disk connected configured ok

# zpool online tank c1t3d0

# zpool replace tank c1t3d0

# zpool status

pool: tank

state: ONLINE

scrub: resilver completed after 0h0m with 0 errors on Tue Apr 22 14:44:46 2008

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t1d0 ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t2d0 ONLINE 0 0 0

c1t2d0 ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t3d0 ONLINE 0 0 0

c1t3d0 ONLINE 0 0 0

errors: No known data errors

Tenga en cuenta que el comando zpool output anterior podría mostrar tanto los discos nuevoscomo los antiguos en un encabezado replacing. Por ejemplo:

replacing DEGRADED 0 0 0

c1t3d0s0/o FAULTED 0 0 0

c1t3d0 ONLINE 0 0 0

Este texto indica que el proceso de sustitución está en curso y se está actualizando la duplicaciónde datos.

Si va a reemplazar un disco (c1t3d0) con otro disco (c4t3d0), sólo tiene que ejecutar elcomando zpool replace después de haber sustituido físicamente el disco. Por ejemplo:

# zpool replace tank c1t3d0 c4t3d0

# zpool status

pool: tank

state: DEGRADED

scrub: resilver completed after 0h0m with 0 errors on Tue Apr 22 14:54:50 2008

config:

Sustitución o reparación de un dispositivo dañado

Guía de administración de Solaris ZFS • Octubre de 2009304

Page 305: Guía de administración de Solaris ZFS

EJEMPLO 11–1 Sustitución de un dispositivo de un grupo de almacenamiento de ZFS (Continuación)

NAME STATE READ WRITE CKSUM

tank DEGRADED 0 0 0

mirror ONLINE 0 0 0

c0t1d0 ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t2d0 ONLINE 0 0 0

c1t2d0 ONLINE 0 0 0

mirror DEGRADED 0 0 0

c0t3d0 ONLINE 0 0 0

replacing DEGRADED 0 0 0

c1t3d0 OFFLINE 0 0 0

c4t3d0 ONLINE 0 0 0

errors: No known data errors

Es posible que deba ejecutar el comando zpool status varias veces hasta finalizar la sustitucióndel disco.

# zpool status tank

pool: tank

state: ONLINE

scrub: resilver completed after 0h0m with 0 errors on Tue Apr 22 14:54:50 2008

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t1d0 ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t2d0 ONLINE 0 0 0

c1t2d0 ONLINE 0 0 0

mirror ONLINE 0 0 0

c0t3d0 ONLINE 0 0 0

c4t3d0 ONLINE 0 0 0

EJEMPLO 11–2 Sustitución de un dispositivo de registro que presenta errores

El ejemplo siguiente muestra la recuperación de un dispositivo de registro c0t5d0 que presentaerrores en la agrupación de almacenamiento, pool. Los pasos básicos son los siguientes:

■ Revise el resultado de zpool status -x y el mensaje de diagnóstico de FMA que sedescriben a continuación:

Sustitución o reparación de un dispositivo dañado

Capítulo 11 • Resolución de problemas y recuperación de datos de ZFS 305

Page 306: Guía de administración de Solaris ZFS

EJEMPLO 11–2 Sustitución de un dispositivo de registro que presenta errores (Continuación)

http://www.sun.com/msg/ZFS-8000-K4

■ Reemplace físicamente el dispositivo de registro que presenta errores.■ Conecte el dispositivo de registro.■ Borre la condición de error de la agrupación.

# zpool status -x

pool: pool

state: FAULTED

status: One or more of the intent logs could not be read.

Waiting for adminstrator intervention to fix the faulted pool.

action: Either restore the affected device(s) and run ’zpool online’,

or ignore the intent log records by running ’zpool clear’.

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

pool FAULTED 0 0 0 bad intent log

mirror ONLINE 0 0 0

c0t1d0 ONLINE 0 0 0

c0t4d0 ONLINE 0 0 0

logs FAULTED 0 0 0 bad intent log

c0t5d0 UNAVAIL 0 0 0 cannot open

<Physically replace the failed log device>

# zpool online pool c0t5d0

# zpool clear pool

Visualización del estado de la actualización de duplicación de datosEl proceso de reemplazar una unidad puede tardar una considerable cantidad de tiempo, enfunción del tamaño de la unidad y la cantidad de datos que haya en el grupo. El proceso detransferir datos de un dispositivo a otro se denomina actualización de la duplicación de datos , elcual se puede controlar mediante el comando zpool status.

Los sistemas de archivos tradicionales actualizan duplicaciones de datos en los bloques. Debidoa que ZFS suprime la disposición artificial de capas de Volume Manager, puede ejecutar laactualización de duplicación de datos de manera más potente y controlada. Esta funciónpresenta dos ventajas principales:

■ ZFS sólo actualiza la duplicación de los datos necesarios. En caso de una breve interrupcióndel suministro (en contraposición a un reemplazo completo del dispositivo), laactualización de duplicación de datos del disco puede hacerse en cuestión de segundos, enlugar de actualizar la duplicación de todo el disco, o de temas complicados con la DRL(Dirty Region Loggin, inicio de sesión en zonas deterioradas) que permiten determinados

Sustitución o reparación de un dispositivo dañado

Guía de administración de Solaris ZFS • Octubre de 2009306

Page 307: Guía de administración de Solaris ZFS

administradores de volúmenes. Si se reemplaza todo un disco, el tiempo que implica elproceso de actualización de duplicación de datos es proporcional a la cantidad de datos quese utilizan en disco. La sustitución de un disco de 500 GB puede tardar varios segundos sisólo se utilizan algunos gigabytes de la agrupación.

■ La actualización de duplicación de datos es un proceso seguro que se puede interrumpir. Siel sistema se queda sin conexión o se rearranca, el proceso de actualización de duplicaciónde datos reanuda la tarea exactamente en el punto que se había interrumpido, sin que hagafalta hacer nada.

Para observar el progreso de la actualización de duplicación de datos, utilice el comando zpool

status. Por ejemplo:

# zpool status tank

pool: tank

state: ONLINE

status: One or more devices is currently being resilvered. The pool will

continue to function, possibly in a degraded state.

action: Wait for the resilver to complete.

scrub: resilver in progress for 0h2m, 16.43% done, 0h13m to go

config:

NAME STATE READ WRITE CKSUM

tank DEGRADED 0 0 0

mirror DEGRADED 0 0 0

replacing DEGRADED 0 0 0

c1t0d0 ONLINE 0 0 0

c2t0d0 ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

En este ejemplo, el disco c1t0d0 se sustituye por c2t0d0. Este evento se refleja en la salida delestado mediante la presencia del dispositivo virtual que reemplaza en la configuración. Estedispositivo no es real ni es factible crear un grupo con esta clase de dispositivos virtuales. Laúnica finalidad de este dispositivo es visualizar el proceso de actualización de duplicación dedatos e identificar con exactitud el dispositivo que se reemplaza.

Cualquier agrupación sometida al proceso de actualización de duplicación de datos adquiere elestado ONLINE o DEGRADED, porque hasta que no haya finalizado dicho proceso es incapaz deproporcionar el nivel necesario de redundancia. La actualización de duplicación de datos seejecuta lo más deprisa posible, si bien la E/S siempre se programa con una prioridad inferior a laE/S solicitada por el usuario, para que repercuta en el sistema lo menos posible. Tras finalizarsela actualización de duplicación de datos, la configuración asume los parámetros nuevos. Porejemplo:

# zpool status tank

pool: tank

state: ONLINE

Sustitución o reparación de un dispositivo dañado

Capítulo 11 • Resolución de problemas y recuperación de datos de ZFS 307

Page 308: Guía de administración de Solaris ZFS

scrub: resilver completed after 0h0m with 0 errors on Tue Sep 1 10:55:54 2009

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

mirror ONLINE 0 0 0

c2t0d0 ONLINE 0 0 0

c1t1d0 ONLINE 0 0 0

errors: No known data errors

El grupo pasa de nuevo al estado ONLINE y el disco dañado original (c1t0d0) desaparece de laconfiguración.

Reparación de datos dañadosEn las secciones siguientes se explica el procedimiento para identificar el tipo de corrupción dedatos y, si es factible, cómo reparar los datos.

■ “Identificación del tipo de corrupción de datos” en la página 309■ “Reparación de un archivo o directorio dañado” en la página 310■ “Reparación de daños en los grupos de almacenamiento de ZFS” en la página 311

Para reducir al mínimo las posibilidades de que los datos sufran daños, ZFS utiliza sumas decomprobación, redundancia y datos que se reparan a sí mismos. Ahora bien, los datos sepueden dañar si el grupo no es redundante, si tiene lugar cuando el grupo está en estado"degraded" o se combina una improbable serie de eventos para dañar varias copias dedeterminados datos. Sea cual sea el origen, el resultado es el mismo: Los datos quedan dañados yno se puede acceder a ellos. Las medidas que se toman dependen del tipo de datos dañados y suvalor relativo. Se pueden dañar dos tipos básicos de datos:

■ Metadatos de grupo – Para abrir un grupo y acceder a conjuntos de datos, ZFS debe analizarcierta cantidad de datos. Si se dañan estos datos, no se puede acceder a todo el grupo o apartes enteras de la jerarquía de conjuntos de datos.

■ Datos de objeto – En este caso, se daña un determinado archivo o directorio. Ello puedehacer que no se pueda acceder a una parte del archivo o directorio, o causar la interrupcióndel objeto.

Los datos se verifican durante el funcionamiento normal y durante el proceso de limpieza. Paraobtener más información sobre cómo verificar la integridad de datos de grupos, consulte“Comprobación de la integridad de los datos de ZFS” en la página 289.

Reparación de datos dañados

Guía de administración de Solaris ZFS • Octubre de 2009308

Page 309: Guía de administración de Solaris ZFS

Identificación del tipo de corrupción de datosDe forma predeterminada, el comando zpool status avisa únicamente de la presencia dedaños, pero no indica su ubicación. Por ejemplo:

# zpool status

pool: monkey

state: ONLINE

status: One or more devices has experienced an error resulting in data

corruption. Applications may be affected.

action: Restore the file in question if possible. Otherwise restore the

entire pool from backup.

see: http://www.sun.com/msg/ZFS-8000-8A

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

monkey ONLINE 0 0 0

c1t1d0s6 ONLINE 0 0 0

c1t1d0s7 ONLINE 0 0 0

errors: 8 data errors, use ’-v’ for a list

Cada error indica solamente que ha habido un error en un determinado momento. Eso nosignifica que cada error siga estando en el sistema. En circunstancias normales, es la situaciónhabitual. Determinadas interrupciones temporales del suministro pueden comportar daños enlos datos que se reparan automáticamente cuando finaliza dicha interrupción. Se garantiza laejecución completa de un proceso de limpieza del grupo para examinar cada bloque activo delgrupo, con lo cual el registro de errores se reinicia cuando concluye la limpieza. Si considera queya no hay errores y no quiere esperar a que finalice la limpieza, reinicie todos los errores delgrupo mediante el comando zpool online.

Si los datos dañados afectan a metadatos de todo el grupo, la salida difiere ligeramente. Porejemplo:

# zpool status -v morpheus

pool: morpheus

id: 1422736890544688191

state: FAULTED

status: The pool metadata is corrupted.

action: The pool cannot be imported due to damaged devices or data.

see: http://www.sun.com/msg/ZFS-8000-72

config:

morpheus FAULTED corrupted data

c1t10d0 ONLINE

Reparación de datos dañados

Capítulo 11 • Resolución de problemas y recuperación de datos de ZFS 309

Page 310: Guía de administración de Solaris ZFS

Si los daños afectan a todo el grupo, éste pasa al estado FAULTED , ya que posiblemente no podráproporcionar el nivel de redundancia necesario.

Reparación de un archivo o directorio dañadoSi un archivo o directorio resultasen dañados, según el tipo de corrupción, el sistema podríaseguir funcionando. Si en el sistema no hay copias de los datos de buena calidad, cualquier dañoque tenga lugar será irreparable. Si los datos afectados son importantes, la única alternativa esrecuperarlos a partir de una copia de seguridad. Aun así, debe poder realizar una recuperaciónsin necesidad de restaurar toda la agrupación.

Si se ha dañado un bloque datos de archivo, el archivo se puede eliminar sin problemas; de estemodo, el error desaparece del sistema. Utilice el comando zpool status -v para ver en pantallauna lista con nombres de archivos que tienen errores constantes. Por ejemplo:

# zpool status -v

pool: monkey

state: ONLINE

status: One or more devices has experienced an error resulting in data

corruption. Applications may be affected.

action: Restore the file in question if possible. Otherwise restore the

entire pool from backup.

see: http://www.sun.com/msg/ZFS-8000-8A

scrub: none requested

config:

NAME STATE READ WRITE CKSUM

monkey ONLINE 0 0 0

c1t1d0s6 ONLINE 0 0 0

c1t1d0s7 ONLINE 0 0 0

errors: Permanent errors have been detected in the following files:

/monkey/a.txt

/monkey/bananas/b.txt

/monkey/sub/dir/d.txt

/monkey/ghost/e.txt

/monkey/ghost/boo/f.txt

La salida anterior se interpreta de la forma siguiente:

■ Si se busca la ruta de acceso del archivo y se monta el conjunto de datos, se muestra enpantalla toda la ruta del archivo. Por ejemplo:

/monkey/a.txt

Reparación de datos dañados

Guía de administración de Solaris ZFS • Octubre de 2009310

Page 311: Guía de administración de Solaris ZFS

■ Si se busca la ruta de acceso del archivo pero el conjunto de datos no se monta, en pantalla semuestra el nombre del conjunto de datos sin una barra inclinada (/), seguido de la ruta deacceso del conjunto de datos al archivo. Por ejemplo:

monkey/ghost/e.txt

■ Si no se puede trasladar correctamente el número de objeto a una ruta de archivo, ya sea porun error o porque el objeto no tiene asociada ninguna ruta de archivo auténtica, como en elcaso de dnode_t, en pantalla se muestra nombre del conjunto de datos seguido del númerode objeto. Por ejemplo:

monkey/dnode:<0x0>

■ Si se daña un objeto del conjunto de metaobjetos, en pantalla se muestra un etiqueta especialde <metadata>, seguida del número de objeto.

Si los daños se dan en un directorio o en los metadatos de un archivo, la única alternativa escolocar el archivo en otra ubicación. Puede colocar cualquier archivo o directorio en unaubicación menos apropiada para poder restaurar el objeto original.

Reparación de daños en los grupos dealmacenamiento de ZFSSi los metadatos de un grupo resultan dañados de forma que no es posible abrir el grupo, dichogrupo y todos sus datos deben restaurarse a partir de una copia de seguridad. Losprocedimientos para ello son muy variados: dependen de la configuración de los grupos y de laestrategia de las copias de seguridad. En primer lugar, guarde la configuración tal como apareceen zpool status para poder crearla de nuevo una vez se haya destruido el grupo. Acontinuación, utilice zpool destroy -f para destruir el grupo. Asimismo, conserve un archivoque contenga la disposición de los conjuntos de datos y guarde en lugar seguro las distintaspropiedades que se han definido, ya que si en algún momento no se puede acceder al grupo,tampoco se podrá acceder a esta información. A partir de la configuración del grupo y ladisposición del conjunto de datos, es posible reconstruir toda la configuración tras ladestrucción del grupo. Los datos se pueden rellenar utilizando cualquier método derestauración o copia de seguridad.

Reparación de un sistema que no se puede arrancarZFS se ha concebido para mantenerse robusto y estable frente a los errores. Aun así, los erroresde software o problemas imprevistos pueden desequilibrar el sistema al intentar acceder a ungrupo. Como parte del proceso de arranque se debe abrir cada grupo, lo que significa que esta

Reparación de un sistema que no se puede arrancar

Capítulo 11 • Resolución de problemas y recuperación de datos de ZFS 311

Page 312: Guía de administración de Solaris ZFS

clase de errores harán que el sistema entre en un bucle de arranques de emergencia. Parasolucionar esta situación, debe indicar a ZFS que no busque agrupaciones al inicio.

ZFS mantiene una caché interna de grupos disponibles junto con sus configuraciones en/etc/zfs/zpool.cache. La ubicación y el contenido de este archivo son personales ysusceptibles de cambiarse. Si el sistema no se puede arrancar, arranque en none mediante laopción de arranque -m milestone=none. Cuando el sistema se haya iniciado, vuelva a montarel sistema de archivos root como grabable y cambie el nombre o cambie la ubicación del archivo/etc/zfs/zpool.cache. Estas acciones hacen que ZFS no tenga en cuenta que en el sistema haygrupos, lo cual impide que intente acceder al grupo dañado que causa el problema. Acontinuación, puede pasar a un estado normal del sistema mediante el comando svcadm

milestone all. Se puede aplicar un proceso similar al arrancar desde un sistema de archivosroot alternativo para efectuar reparaciones.

Cuando el sistema se haya iniciado, puede intentar importar el grupo mediante el comandozpool import. Sin embargo, es probable que se cause el mismo error del arranque, puesto queel comando emplea el mismo mecanismo de acceso a grupos. Si en el sistema hay variasagrupaciones, haga lo siguiente:

■ Elimine o mueva el archivo zpool.cache a otra ubicación como se ha indicado antes.■ Determine qué agrupación podría tener problemas utilizando el comando fmdump -eV para

ver las agrupaciones que han informado de errores fatales.■ Importe una a una las agrupaciones que tienen problemas, como se describe en la salida de

fmdump.

Reparación de un sistema que no se puede arrancar

Guía de administración de Solaris ZFS • Octubre de 2009312

Page 313: Guía de administración de Solaris ZFS

Índice

Aacceder

instantánea ZFS(ejemplo), 218

actualización de de duplicación (resilver),definición, 44

actualización de duplicación y limpieza de datos,descripción, 291

actualizargrupo de almacenamiento de ZFS

descripción, 112administración delegada, descripción general, 261administración delegada de ZFS, descripción

general, 261administración simplificada, descripción, 42administración tradicional de volúmenes, diferencias

entre sistemas de archivos ZFS y tradicionales, 57agregar

discos a una configuración de RAID-Z(ejemplo), 79

dispositivos a grupo de almacenamiento de ZFS(zpool add)(ejemplo), 77

dispositivos caché (ejemplo), 80dispositivos de registro duplicados (ejemplo), 79sistema de archivos ZFS a una zona no global

(ejemplo), 279volumen ZFS a una zona no global

(ejemplo), 281agrupación, definición, 44agrupación de almacenamiento duplicada (zpool

create), (ejemplo), 67

agrupaciones de almacenamiento de ZFS, configuraciónde RAID-Z, descripción, 64

agrupaciones de almacenamiento ZFSagrupación

definición, 44agrupaciones root alternativas, 284bandas dinámicas, 66componentes, 59conectar y desconectar dispositivos

descripción, 84configuración duplicada, descripción, 63crear (zpool create)

(ejemplo), 67crear configuración duplicada (zpool create)

(ejemplo), 67datos dañados

descripción, 288desconectar un dispositivo (zpool offline)

(ejemplo), 84destruir (zpool destroy)

(ejemplo), 76determinar la existencia de problemas (zpool

status -x)descripción, 293

determinar si un dispositivo se puede reemplazardescripción, 301

dispositivo virtualdefinición, 45

dispositivos ausentes (con fallos)descripción, 288

duplicacióndefinición, 44

313

Page 314: Guía de administración de Solaris ZFS

agrupaciones de almacenamiento ZFS (Continuación)exportar

(ejemplo), 106identificar para importar (zpool import -a)

(ejemplo), 107identificar problemas

descripción, 292importar

(ejemplo), 110importar de distintos directorios (zpool import -d)

(ejemplo), 109limpieza de datos

descripción, 290limpieza y actualización de duplicación de datos

descripción, 291migrar

descripción, 105RAID-Z

definición, 44reemplazar un dispositivo (zpool replace)

(ejemplo), 86reemplazar un dispositivo ausente

(ejemplo), 297reparación de datos

descripción, 289reparar daños en la agrupación

descripción, 311reparar un directorio o archivo dañado

descripción, 310reparar un sistema que no se puede arrancar

descripción, 312reparar una configuración ZFS dañada, 297resilver

definición, 44usar archivos, 63validación de datos

descripción, 289ver proceso de actualización de duplicación de datos

(ejemplo), 307visualizar estado de salud, 102visualizar estado de salud detallado

(ejemplo), 104

agrupaciones de almacenamiento ZFS (zpool online)desconectar un dispositivo

(ejemplo), 85agrupaciones root alternativas

crear(ejemplo), 284

descripción, 284importar

(ejemplo), 284ajustar, tamaños de dispositivos de intercambio y

volcado, 160almacenamiento en agrupaciones, descripción, 40archivos, como componentes de agrupaciones de

almacenamiento ZFS, 63archivos de sistemas ZFS

arrancar un entorno de arranque ZFS conboot -Lyboot -Z

(ejemplo con SPARC), 164arrancar

sistema de archivos root, 162un entorno de arranque ZFS con boot -L y boot -Z

en sistemas SPARC, 164

Bbandas dinámicas

descripción, 66función de agrupación de almacenamiento, 66

bloques de arranque, instalar con installboot einstallgrub, 162

borrar un dispositivogrupo de almacenamiento de ZFS

(ejemplo), 86

Ccambiar nombre

instantánea de ZFS(ejemplo), 217

sistema de archivos ZFS(ejemplo), 178

canmount property, descripción, 181clónico, definición, 43

Índice

Guía de administración de Solaris ZFS • Octubre de 2009314

Page 315: Guía de administración de Solaris ZFS

clónicoscrear

(ejemplo), 221destruir

(ejemplo), 221funciones, 220

compartirsistemas de archivos ZFS

descripción, 206ejemplo, 206

componentes, agrupaciones de almacenamientoZFS, 59

componentes de ZFS, requisitos de asignación denombres, 45

comportamiento por falta de espacio, diferencias entresistemas de archivos ZFS y tradicionales, 57

comprobar, integridad de datos ZFS, 289conectar

dispositivos a un grupo de almacenamiento de ZFS(zpool attach)(ejemplo), 82

conectar un dispositivoagrupación de almacenamiento ZFS (zpool online)

(ejemplo), 85conectar y desconectar dispositivos

agrupación de almacenamiento ZFSdescripción, 84

configuración de RAID-Z(ejemplo), 68función de redundancia, 64paridad doble, descripción, 64paridad sencilla, descripción, 64vista conceptual, 64

configuración duplicadadescripción, 63función de redundancia, 63vista conceptual, 63

configurarLCA en archivo ZFS (modo detallado)

(descripción, 240LCA en archivos ZFS

descripción, 238propiedad compression

(ejemplo), 52

configurar (Continuación)propiedad mountpoint, 52propiedad quota (ejemplo), 53propiedad sharenfs

(ejemplo), 52reserva del sistema de archivos ZFS

(ejemplo), 212conjunto de datos

definición, 43descripción, 175

conjuntos de permisos, definición, 261contabilización de espacio ZFS, diferencias entre

sistemas de archivos ZFS y tradicionales, 56controlar, validación de datos (limpieza), 290crear

agrupación de almacenamiento de ZFSdescripción, 66

agrupación de almacenamiento ZFS (zpool create)(ejemplo), 67

agrupación de almacenamiento ZFS duplicada(zpool create)(ejemplo), 67

agrupaciones root alternativas(ejemplo), 284

clónico de ZFS(ejemplo), 221

grupo de almacenamiento de RAID-Z de paridaddoble (zpool create)(ejemplo), 69

grupo de almacenamiento de RAID-Z de paridadsencilla (zpool create)(ejemplo), 68

instantánea ZFS(ejemplo), 216

jerarquía de sistema de archivos ZFS, 50sistema de archivos ZFS, 52

(ejemplo), 176descripción, 176

sistema de archivos ZFS básico (zpool create)(ejemplo), 48

una agrupación de almacenamiento con dispositivoscaché (ejemplo), 70

una agrupación de almacenamiento con dispositivosde registro (ejemplo), 70

Índice

315

Page 316: Guía de administración de Solaris ZFS

crear (Continuación)una agrupación de almacenamiento ZFS (zpoolcreate)

(ejemplo), 48volumen ZFS

(ejemplo), 275cuotas y reservas, descripción, 207

Ddatos

actualización de duplicacióndescripción, 291

corrupción identificada (zpool status -v)(ejemplo), 295

dañados, 288limpiar

(ejemplo), 290reparar, 289validación (limpieza), 289

datos con suma de comprobación, descripción, 41datos de autocorrección, descripción, 65dejar de compartir

sistemas de archivos ZFS(ejemplo), 206

delegación propiedad, inhabilitar, 262delegar

conjunto de datos a una zona no global(ejemplo), 280

permisos (ejemplo), 268delegar permisos, zfs allow, 265delegar permisos a un determinado usuario,

(ejemplo), 268delegar permisos en un grupo, (ejemplo), 269desconectar

dispositivos de un grupo de almacenamiento de ZFS(zpool attach)(ejemplo), 83

desconectar un dispositivo (zpool offline)agrupación de almacenamiento ZFS

(ejemplo), 84desmontar

sistemas de archivos ZFS(ejemplo), 205

destruiragrupación de almacenamiento de ZFS

descripción, 66agrupación de almacenamiento ZFS (zpool

destroy)(ejemplo), 76

clónico de ZFS(ejemplo), 221

instantánea ZFS(ejemplo), 217

sistema de archivos ZFS(ejemplo), 177

sistema de archivos ZFS con dependientes(ejemplo), 177

detectardispositivos en uso

(ejemplo), 73niveles de duplicación no coincidentes

(ejemplo), 74determinar

si un dispositivo se puede reemplazardescripción, 301

tipo de error en el dispositivodescripción, 299

diferencias entre sistemas de archivos ZFS ytradicionalesadministración tradicional de volúmenes, 57comportamiento por falta de espacio, 57contabilización de espacio ZFS, 56granularidad de sistemas de archivos, 55montar sistemas de archivos ZFS, 57nuevo modelo de LCA de Solaris, 58

discos, como componentes de grupos dealmacenamiento de ZFS, 60

discos completos, como componentes de grupos dealmacenamiento de ZFS, 60

dispositivo virtual, definición, 45dispositivos caché

consideraciones para el uso, 70crear una agrupación con (ejemplo), 70

dispositivos caché, agregar, (ejemplo), 80dispositivos caché, eliminar, (ejemplo), 80dispositivos de intercambio y volcado

ajustar tamaños, 160

Índice

Guía de administración de Solaris ZFS • Octubre de 2009316

Page 317: Guía de administración de Solaris ZFS

dispositivos de intercambio y volcado (Continuación)descripción, 159problemas, 159

dispositivos de registro duplicados, crear unaagrupación (ejemplo), 70

dispositivos de registro duplicados, agregar,(ejemplo), 79

dispositivos de registro independientes,consideraciones de uso, 28

dispositivos en usodetectar

(ejemplo), 73dispositivos virtuales, como componentes de grupos de

almacenamiento de ZFS, 71duplicación, definición, 44

Eeliminar, dispositivos caché (ejemplo), 80eliminar permisos, zfs unallow, 266ensayo

creación de grupos de almacenamiento de ZFS(zpool create -n)(ejemplo), 75

enumerargrupos de almacenamiento de ZFS

(ejemplo), 97enviar y recibir

datos de sistema de archivos ZFSdescripción, 223

establecerherencia LCA en archivo ZFS (modo detallado)

(ejemplo), 246LCA en archivo ZFS (modo compacto)

(ejemplo), 255descripción, 254

puntos de montaje heredados(ejemplo), 203

etiqueta EFIdescripción, 60interacción con ZFS, 60

exportaragrupaciones de almacenamiento ZFS

(ejemplo), 106

Ffunciones de replicación de ZFS, duplicada o

RAID-Z, 63

Ggranularidad de sistemas de archivos, diferencias entre

sistemas de archivos ZFS y tradicionales, 55grupos de almacenamiento de ZFS

actualizardescripción, 112

agregar dispositivos a (zpool add)(ejemplo), 77

borrar un dispositivo(ejemplo), 86

conectar dispositivos a (zpool attach)(ejemplo), 82

crear una configuración de RAID-Z (zpool create)(ejemplo), 68

datos dañados identificados (zpool status -v)(ejemplo), 295

desconectar dispositivos de (zpool attach)(ejemplo), 83

determinar tipo de error en el dispositivodescripción, 299

dispositivos dañadosdescripción, 288

dispositivos virtuales, 71enumerar

(ejemplo), 97estadísticas de E/S de todo el grupo

(ejemplo), 100estadísticas de E/S de vdev

(ejemplo), 101identificar tipo de corrupción de datos (zpool

status -v)(ejemplo), 309

información sobre el estado general del grupo pararesolución de problemasdescripción, 293

limpieza de datos(ejemplo), 290

mensajes de error del sistemadescripción, 296

Índice

317

Page 318: Guía de administración de Solaris ZFS

grupos de almacenamiento de ZFS (Continuación)modos de error, 287notificar a ZFS que se ha reconectado un dispositivo

(zpool online)(ejemplo), 298

perfiles de derechos, 285punto de montaje predeterminado, 75realizar ensayo (zpool create -n)

(ejemplo), 75recuperar un grupo destruido

(ejemplo), 111reemplazar un dispositivo (zpool replace)

(ejemplo), 302salida de grupo de almacenamiento de secuencia de

comandos(ejemplo), 98

suprimir errores de dispositivos (zpool clear)(ejemplo), 300

usar discos completos, 60visualizar estado

(ejemplo), 103guardar

datos del sistema de archivos ZFS (zfs send)(ejemplo), 224

Hheredar

propiedades de ZFS(zfs inherit)descripción, 196

historial de comandos, historial de zpool, 33historial de zpool, (ejemplo), 33

Iidentificar

agrupación de almacenamiento ZFS para importar(zpool import -a)(ejemplo), 107

requisitos de almacenamiento, 49tipo de corrupción de datos (zpool status -v)

(ejemplo), 309

importaragrupaciones de almacenamiento ZFS

(ejemplo), 110agrupaciones de almacenamiento ZFS de distintos

directorios (zpool import -d)(ejemplo), 109

agrupaciones root alternativas(ejemplo), 284

instalación inicial de sistema de archivos root ZFS,(ejemplo), 121

instalación JumpStartsistema de archivos root

ejemplos de perfiles, 130problemas, 134

instalarsistema de archivos root ZFS

(instalación inicial), 120funciones, 116instalación JumpStart, 130requisitos, 117

instalar bloques de arranqueinstallboot y installgrup

(ejemplo), 162instantánea

acceder(ejemplo), 218

cambiar nombre(ejemplo), 217

contabilización de espacio, 219crear

(ejemplo), 216definición, 45destruir

(ejemplo), 217funciones, 215restaurar

(ejemplo), 220

Jjerarquía de sistema de archivos, crear, 50

Índice

Guía de administración de Solaris ZFS • Octubre de 2009318

Page 319: Guía de administración de Solaris ZFS

LLCA

configurar en archivos ZFSdescripción, 238

configurar LCA en archivo ZFS (modo detallado)descripción, 240

descripción, 231descripción de formato, 233diferencias de LCA de borrador POSIX, 232establecer herencia LCA en archivo ZFS (modo

detallado)(ejemplo), 246

establecer LCA en archivo ZFS (modo compacto)(ejemplo), 255descripción, 254

herencia de LCA, 236indicadores de herencia de LCA, 236LCA en archivo ZFS

descripción detallada, 239LCA en directorio ZFS

descripción detallada, 240modificar LCA triviales en archivo ZFS (modo

detallado)(ejemplo), 242

modo de propiedad aclmode, 237modo de propiedadaclinherit, 237modos de propiedades de LCA, 237privilegios de acceso, 234restaurar LCA trivial en archivo ZFS (modo

detallado)(ejemplo), 245

tipos de entrada, 234LCA de borrador POSIX, descripción, 232LCA de NFSv4

descripción de formato, 233diferencias de LCA de borrador POSIX, 232herencia de LCA, 236indicadores de herencia de LCA, 236modelo

descripción, 231modos de propiedades de LCA, 237

LCA de Solarisdescripción de formato, 233diferencias de LCA de borrador POSIX, 232

LCA de Solaris (Continuación)herencia de LCA, 236indicadores de herencia de LCA, 236modos de propiedades de LCA, 237nuevo modelo

descripción, 231limpiar

(ejemplo), 290un dispositivo en una agrupación de

almacenamiento ZFS (zpool clear)descripción, 86

limpieza, validación de datos, 289lista

agrupaciones de almacenamiento ZFSdescripción, 96

descendientes de sistemas de archivos ZFS(ejemplo), 193

información de agrupación ZFS, 50propiedades de ZFS (zfs list)

(ejemplo), 197propiedades de ZFS para secuencias de comandos

(ejemplo), 200propiedades de ZFS por valor de origen

(ejemplo), 199sistemas de archivos ZFS

(ejemplo), 193sistemas de archivos ZFS (zfs list)

(ejemplo), 53luactivate

sistema de archivos root(ejemplo), 139

lucreate

entorno de arranque ZFS desde un entorno dearranque ZFS(ejemplo de), 140

migración de sistemas de archivos root(ejemplo), 137

Mmigrar

sistema de archivos root UFS a sistema de archivosroot ZFS(Modernización automática de Solaris), 134

Índice

319

Page 320: Guía de administración de Solaris ZFS

migrar, sistema de archivos root UFS a sistema dearchivos root ZFS (Continuación)

problemas, 136migrar agrupaciones de almacenamiento ZFS,

descripción, 105modelo de LCA, Solaris, diferencias entre sistemas de

archivos ZFS y tradicionales, 58Modernización automática de Solaris

migración de sistemas de archivos root(ejemplo), 137

para migración de sistema de archivos root, 134problemas de migración de sistemas de archivos

root, 136modificar

LCA triviales en archivo ZFS (modo detallado)(ejemplo), 242

modo de propiedad aclinherit, 237modo de propiedad aclmode, 237modo de propiedad LCA

aclinherit, 180aclmode, 180

modos de error, 287dispositivos dañados, 288

modos de fallo, dispositivos ausentes (con fallos), 288modos de fallos, datos dañados, 288montar

sistemas de archivos ZFS(ejemplo), 203

montar sistemas de archivos ZFS, diferencias entresistemas de archivos ZFS y tradicionales, 57

mostrarsyslog que informa de mensajes de error de ZFS

descripción, 296

Nniveles de duplicación no coincidentes

detectar(ejemplo), 74

notificara ZFS sobre un dispositivo reconectado (zpool

online)(ejemplo), 298

Ppalabras clave de perfiles JumpStart, sistema de archivos

root ZFS, 131perfiles de derechos

para administrar sistemas de archivos ZFS y gruposde almacenamientodescripción, 285

propiedad altroot, descripción, 93propiedad atime, descripción, 180propiedad autoreplace, descripción, 94propiedad available, descripción, 180propiedad available, descripción, 94propiedad bootfs, descripción, 94propiedad canmount, descripción detallada, 190propiedad capacity, descripción, 94propiedad checksum, descripción, 181propiedad compression, descripción, 181propiedad compressratio, descripción, 181propiedad copies, descripción, 182propiedad creation, descripción, 182propiedad delegation, descripción, 94propiedad devices, descripción, 182propiedad exec, descripción, 182propiedad failmode, descripción, 95propiedad guid, descripción, 95propiedad health, descripción, 95propiedad listsnapshots, descripción, 95propiedad mounted, descripción, 182propiedad mountpoint, descripción, 182propiedad origin, descripción, 183propiedad primarycache, descripción, 183propiedad quota, descripción, 183propiedad read-only, descripción, 183propiedad recordsize, descripción, 183propiedad referenced, descripción, 184propiedad refquota, descripción, 184propiedad refreservation, descripción, 184propiedad reservation, descripción, 185propiedad secondarycache, descripción, 185propiedad setuid, descripción, 185propiedad sharenfs

descripción, 185, 206propiedad size, descripción, 95propiedad snapdir, descripción, 185

Índice

Guía de administración de Solaris ZFS • Octubre de 2009320

Page 321: Guía de administración de Solaris ZFS

propiedad type, descripción, 186propiedad used

descripción, 186descripción detallada, 188

propiedad used, descripción, 95propiedad usedbychildren, descripción, 186propiedad usedbyrefreservation, descripción, 186propiedad usedbysnapshots, descripción, 186propiedad version, descripción, 96propiedad volblocksize, descripción, 187propiedad volsize

descripción, 186descripción detallada, 191

propiedad xattr, descripción, 187propiedad zoned, descripción, 187propiedades configurables de ZFS

aclinherit, 180aclmode, 180atime, 180canmount, 181

descripción detallada, 190checksum, 181compression, 181copies, 182descripción, 189devices, 182exec, 182mountpoint, 182primarycache, 183quota, 183read-only, 183recordsize, 183

descripción detallada, 190refquota, 184refreservation, 184reservation, 185secondarycache, 185setuid, 185sharenfs, 185snapdir, 185used

descripción detallada, 188volblocksize, 187volsize, 186

propiedades configurables de ZFS, volsize(Continuación)

descripción detallada, 191xattr, 187zoned, 187

propiedades de agrupaciones de ZFSbootfs, 94capacity, 94

propiedades de agrupaciones ZFSalroot, 93autoreplace, 94available, 94delegation, 94, 95guid, 95health, 95size, 95used, 95version, 96

propiedades de la agrupación ZFS, listsnapshots, 95propiedades de sólo lectura de ZFS

available, 180compression, 181creation, 182descripción, 187mounted, 182origin, 183referenced, 184type, 186used, 186usedbychildren, 186usedbydataset, 186usedbyrefreservation, 186usedbysnapshots, 186

propiedades de ZFSaclinherit, 180aclmode, 180administración en una zona

descripción, 282atime, 180available, 180canmount, 181

descripción detallada, 190checksum, 181compression, 181

Índice

321

Page 322: Guía de administración de Solaris ZFS

propiedades de ZFS (Continuación)compressratio, 181configurables, 189copies, 182creation, 182descripción, 179descripción de propiedades heredables, 179devices, 182exec, 182heredable, descripción, 179mounted, 182origin, 183propiedades del usuario

descripción detallada, 191punto de montaje, 182quota, 183read-only, 183recordsize, 183

descripción detallada, 190referenced, 184refquota, 184refreservation, 184reservation, 185secondarycache, 183, 185setuid, 185sharenfs, 185snapdir, 185sólo lectura, 187type, 186used, 186

descripción detallada, 188usedbychildren, 186usedbydataset, 186usedbyrefreservation, 186usedbysnapshots, 186volblocksize, 187volsize, 186

descripción detallada, 191xattr, 187zoned, 187

propiedades del usuario de ZFS(ejemplo), 191descripción detallada, 191

propiedades ZFSpropiedad zoned

descripción detallada, 283propiedadrecordsize, descripción detallada, 190punto de montaje

predeterminado para grupos de almacenamiento deZFS, 75

valor predeterminado para sistema de archivosZFS, 176

puntos de montajeadministrar ZFS

descripción, 201antiguos, 201automáticos, 202

RRAID-Z, definición, 44RAID-Z configuración, agregar discos, (ejemplo), 79recibir

datos de sistema de archivos ZFS (zfs receive)(ejemplo), 225

recuperargrupo de almacenamiento de ZFS destruido

(ejemplo), 111reemplazar

un dispositivo (zpool replace)(ejemplo), 86, 302, 307

un dispositivo ausente(ejemplo), 297

reparardaños en la agrupación

descripción, 311reparar un directorio o archivo dañado

descripción, 310un sistema que no se puede arrancar

descripción, 312una configuración ZFS dañada

descripción, 297repuestos en marcha

crear(ejemplo), 89

descripción(ejemplo), 89

Índice

Guía de administración de Solaris ZFS • Octubre de 2009322

Page 323: Guía de administración de Solaris ZFS

requisitos, para instalación y Modernizaciónautomática, 117

requisitos de almacenamiento, identificar, 49requisitos de asignación de nombres, componentes de

ZFS, 45requisitos de hardware y software, 47resolución de problemas

corrupción de datos identificada (zpool status -v)(ejemplo), 295

determinar la existencia de problemas (zpoolstatus -x), 293

determinar si un dispositivo se puede reemplazardescripción, 301

determinar tipo de corrupción de datos (zpoolstatus -v)(ejemplo), 309

determinar tipo de error en el dispositivodescripción, 299

dispositivos ausentes (con fallos), 288dispositivos dañados, 288identificar problemas, 292información sobre el estado general del grupo

descripción, 293modos de error de ZFS, 287notificar a ZFS que se ha reconectado un dispositivo

(zpool online)(ejemplo), 298

reemplazar un dispositivo (zpool replace)(ejemplo), 302, 307

reemplazar un dispositivo ausente(ejemplo), 297

reparar daños en la agrupacióndescripción, 311

reparar un directorio o archivo dañadodescripción, 310

reparar un sistema que no se puede arrancardescripción, 312

reparar una configuración ZFS dañada, 297suprimir errores de dispositivos (zpool clear)

(ejemplo), 300syslog que informa de mensajes de error de

ZFS, 296

restaurarinstantánea de ZFS

(ejemplo), 220LCA trivial en archivo ZFS (modo detallado)

(ejemplo), 245

Ssecuencia de comandos

salida de grupo de almacenamiento de ZFS(ejemplo), 98

semántica de transacciones, descripción, 41sistema de archivos, definición, 44sistema de archivos ZFS

descripción, 175valor cuota propiedad

(ejemplo), 196sistemas de archivos ZFS

administración de propiedades en una zonadescripción, 282

administración simplificadadescripción, 42

administrar puntos de montajedescripción, 201

administrar puntos de montaje antiguosdescripción, 201

administrar puntos de montaje automáticos, 202agregar sistema de archivos ZFS a una zona no global

(ejemplo), 279agregar volumen ZFS a una zona no global

(ejemplo), 281almacenamiento en agrupaciones

descripción, 40arrancar un sistema de archivos root

descripción, 162cambiar nombre

(ejemplo), 178clónico

crear, 221destruir, 221reemplazar un sistema de archivos

(ejemplo), 222clónicos

definición, 43

Índice

323

Page 324: Guía de administración de Solaris ZFS

sistemas de archivos ZFS, clónicos (Continuación)descripción, 220

compartirdescripción, 206ejemplo, 206

configurar LCA en archivo ZFS (modo detallado)descripción, 240

configurar LCA en archivos ZFSdescripción, 238

configurar punto de montaje heredado(ejemplo), 203

configurar una reserva(ejemplo), 212

conjunto de datosdefinición, 43

contabilización de espacio de instantánea, 219crear

(ejemplo), 176crear un volumen ZFS

(ejemplo), 275datos con suma de comprobación

descripción, 41dejar de compartir

(ejemplo), 206delegar conjunto de datos a una zona no global

(ejemplo), 280descripción, 40desmontar

(ejemplo), 205destruir

(ejemplo), 177destruir con dependientes

(ejemplo), 177dispositivos de intercambio y volcado

ajustar tamaños, 160descripción, 159problemas, 159

enviar y recibirdescripción, 223

establecer herencia LCA en archivo ZFS (mododetallado)(ejemplo), 246

establecer LCA en archivo ZFS (modo compacto)(ejemplo), 255

sistemas de archivos ZFS, establecer LCA en archivoZFS (modo compacto) (Continuación)

descripción, 254establecer punto de montaje (zfs set mountpoint)

(ejemplo), 202guardar flujos de datos (zfs send)

(ejemplo), 224heredar propiedad de (zfs inherit)

(ejemplo), 196instalación inicial de sistema de archivos root

ZFS, 120instalación JumpStart de sistema de archivos

root, 130instalar un sistema de archivos root, 116instantánea

acceder, 218cambiar nombre, 217crear, 216definición, 45destruir, 217restaurar, 220

LCA en archivo ZFSdescripción detallada, 239

LCA en directorio ZFSdescripción detallada, 240

lista(ejemplo), 193

lista de descendientes(ejemplo), 193

lista de propiedades de (zfs list)(ejemplo), 197

lista de propiedades para secuencias de comandos(ejemplo), 200

lista de propiedades por valor de origen(ejemplo), 199

migración de sistema de archivos root conModernización automática de Solaris, 134

migración de sistemas de archivos root conModernización automática de Solaris(ejemplo), 137

modificar LCA triviales en archivo ZFS (mododetallado)(ejemplo), 242

Índice

Guía de administración de Solaris ZFS • Octubre de 2009324

Page 325: Guía de administración de Solaris ZFS

sistemas de archivos ZFS (Continuación)montar

(ejemplo), 203perfiles de derechos, 285problemas de migración de sistemas de archivos

root, 136punto de montaje predeterminado

(ejemplo), 176recibir flujos de datos (zfs receive)

(ejemplo), 225requisitos de instalación y Modernización

automática, 117requisitos para asignación de nombres de

componentes, 45restaurar LCA trivial en archivo ZFS (modo

detallado)(ejemplo), 245

semántica de transaccionesdescripción, 41

sistema de archivosdefinición, 44

snapshotdescripción, 215

suma de comprobacióndefinición, 43

tipos de conjuntos de datosdescripción, 194

utilizar en un sistema Solaris con zonas instaladasdescripción, 279

valor atime property(ejemplo), 195

visualizar sin información de cabecera(ejemplo), 195

visualizar tipos(ejemplo), 194

volumendefinición, 45

sistemas de archivos ZFS (zfs set quota)establecer una cuota

(ejemplo), 208suma de comprobación, definición, 43suprimir

errores de dispositivos (zpool clear)(ejemplo), 300

Tterminología

actualización de de duplicación (resilver), 44agrupación, 44clónico, 43conjunto de datos, 43dispositivo virtual, 45duplicación, 44instantánea, 45RAID-Z, 44sistema de archivos, 44suma de comprobación, 43volumen, 45

tipos de conjuntos de datos, descripción, 194

Uusedbydataset propiedad, descripción, 186

Vvalor

cuota de sistemas de archivos ZFS(zfs set quota)(ejemplo), 208

cuota de ZFS(ejemplo), 196

puntos de montaje de ZFS(zfs set mountpoint)(ejemplo), 202

ZFS atimepropiedad(ejemplo), 195

visualizarestadísticas de E/S de grupos de almacenamiento de

ZFSdescripción, 100

estadísticas de E/S de todo el grupo dealmacenamiento de ZFS(ejemplo), 100

estadísticas de E/S de vdev de grupo dealmacenamiento de ZFS(ejemplo), 101

estado de salud de las agrupaciones dealmacenamientodescripción, 102

Índice

325

Page 326: Guía de administración de Solaris ZFS

visualizar (Continuación)estado de salud detallado de agrupaciones dealmacenamiento ZFS

(ejemplo), 104estado del grupo de almacenamiento de ZFS

(ejemplo), 103historial de comandos, 33permisos delegados (ejemplo), 266sistemas de archivos ZFS sin información de

cabecera(ejemplo), 195

tipos de sistemas de archivos ZFS(ejemplo), 194

volumen, definición, 45volumen ZFS, descripción, 275

Zzfs allow

descripción, 265visualizar permisos delegados, 266

zfs create

(ejemplo), 52, 176descripción, 176

zfs destroy, (ejemplo), 177zfs destroy -r, (ejemplo), 177zfs get, (ejemplo), 197zfs get -H -o, (ejemplo), 200zfs get -s, (ejemplo), 199zfs inherit, (ejemplo), 196ZFS intent log (ZIL), descripción, 28zfs list

(ejemplo), 53, 193zfs list -H, (ejemplo), 195zfs list -r, (ejemplo), 193zfs list -t, (ejemplo), 194zfs mount, (ejemplo), 203zfs promote, promoción de clónicos (ejemplo), 222zfs receive, (ejemplo), 225zfs rename, (ejemplo), 178zfs send, (ejemplo), 224zfs set atime, (ejemplo), 195zfs set compression, (ejemplo), 52zfs set cuota, (ejemplo), 196

zfs set mountpoint

(ejemplo), 52, 202zfs set mountpoint=legacy, (ejemplo), 203zfs set quota

(ejemplo), 53, 208zfs set reservation, (ejemplo), 212zfs set sharenfs, (ejemplo), 52zfs set sharenfs=on, ejemplo, 206zfs unallow, descripción, 266zfs unmount, (ejemplo), 205zonas

administración de propiedades de ZFS en una zonadescripción, 282

agregar sistema de archivos ZFS a una zona no global(ejemplo), 279

agregar volumen ZFS a una zona no global(ejemplo), 281

delegar conjunto de datos a una zona no global(ejemplo), 280

utilizar con sistemas de archivos ZFSdescripción, 279

zoned propiedaddescripción detallada, 283

zoned propiedad, descripción detallada, 283zpool add, (ejemplo), 77zpool attach

(ejemplo), 82, 83zpool clear

(ejemplo), 86descripción, 86

zpool create

(ejemplo), 48, 50agrupación básica

(ejemplo), 67agrupación de almacenamiento duplicada

(ejemplo), 67grupo de almacenamiento de RAID-Z

(ejemplo), 68zpool create -n

ensayo(ejemplo), 75

zpool destroy, (ejemplo), 76zpool export, (ejemplo), 106zpool import -a, (ejemplo), 107

Índice

Guía de administración de Solaris ZFS • Octubre de 2009326

Page 327: Guía de administración de Solaris ZFS

zpool import -D, (ejemplo), 111zpool import -d, (ejemplo), 109zpool import nombre, (ejemplo), 110zpool iostat, todo el grupo (ejemplo), 100zpool iostat -v, vdev (ejemplo), 101zpool list

(ejemplo), 50, 97descripción, 96

zpool list -Ho name, (ejemplo), 98zpool offline, (ejemplo), 84zpool online, (ejemplo), 85zpool replace, (ejemplo), 86zpool status -v, (ejemplo), 104zpool status -x, (ejemplo), 103zpool upgrade, 112

Índice

327

Page 328: Guía de administración de Solaris ZFS

328