Omitir Vínculos de navegación | |
Salir de la Vista de impresión | |
Administración de Oracle Solaris 11.1: sistemas de archivos ZFS Oracle Solaris 11.1 Information Library (Español) |
1. Sistema de archivos ZFS de Oracle Solaris (introducción)
2. Procedimientos iniciales con Oracle Solaris ZFS
3. Administración de agrupaciones de almacenamiento de Oracle Solaris ZFS
4. Gestión de componentes de la agrupación raíz ZFS
5. Administración de sistemas de archivos ZFS de Oracle Solaris
Administración de sistemas de archivos AFS (descripción general)
Creación, destrucción y cambio de nombre de sistemas de archivos ZFS
Creación de un sistema de archivos ZFS
Destrucción de un sistema de archivos ZFS
Cambio de nombre de un sistema de archivos ZFS
Introducción a las propiedades de ZFS
Propiedades nativas de sólo lectura de ZFS
Propiedades nativas de ZFS configurables
Consulta de información del sistema de archivos ZFS
Visualización de información básica de ZFS
Creación de consultas de ZFS complejas
Administración de propiedades de ZFS
Configuración de propiedades de ZFS
Herencia de propiedades de ZFS
Consulta de las propiedades de ZFS
Consulta de propiedades de ZFS para secuencias de comandos
Montaje de sistemas de archivos ZFS
Administración de puntos de montaje de ZFS
Montaje de sistemas de archivos ZFS
Uso de propiedades de montaje temporales
Desmontaje de los sistemas de archivos ZFS
Cómo compartir y anular la compartición de sistemas de archivos ZFS
Sintaxis del uso compartido de ZFS heredados
Sintaxis de uso compartido de ZFS nuevo
Uso compartido de ZFS con herencia por propiedad
Herencia de uso compartido de ZFS en agrupaciones más antiguas
Recursos compartidos ZFS designados
Recursos compartidos ZFS automáticos
Visualización de información de recurso compartido ZFS
Cambio de valores de propiedad de un recurso compartido ZFS
Publicación y anulación de la publicación de recursos compartidos ZFS
Eliminación de un recurso compartido ZFS
Uso compartido de archivos ZFS en una zona no global
Migración del uso compartido de ZFS y problemas de transición
Resolución de problemas de uso compartido de sistemas de archivos ZFS
Configuración de cuotas y reservas de ZFS
Establecimiento de cuotas en sistemas de archivos ZFS
Establecimiento de las cuotas de usuarios y grupos en un sistema de archivos ZFS
Cifrado de sistemas de archivos ZFS
Cambio de claves de un sistema de archivos ZFS cifrado
Gestión de claves de cifrado ZFS
Delegación de permisos de operaciones de claves de ZFS
Montaje de un sistema de archivos ZFS cifrado
Actualización de sistemas de archivos ZFS cifrados
Interacciones entre propiedades de compresión, eliminación de datos duplicados y cifrado de ZFS
Ejemplos de cifrado de sistemas de archivos ZFS
Migración de sistemas de archivos ZFS
Cómo migrar un sistema de archivos a un sistema de archivos ZFS
Resolución de problemas de migraciones del sistema de archivos ZFS
Actualización de sistemas de archivos ZFS
6. Uso de clones e instantáneas de Oracle Solaris ZFS
7. Uso de listas de control de acceso y atributos para proteger archivos Oracle Solaris ZFS
8. Administración delegada de ZFS Oracle Solaris
9. Temas avanzados de Oracle Solaris ZFS
10. Recuperación de agrupaciones y solución de problemas de Oracle Solaris ZFS
11. Archivado de instantáneas y recuperación de agrupaciones raíz
12. Prácticas de ZFS recomendadas por Oracle Solaris
Puede usar la propiedad quota para establecer un límite en la cantidad de espacio en el disco que puede usar un sistema de archivos. Asimismo, puede usar la propiedad reservation para garantizar que un sistema de archivos disponga de una cierta cantidad de espacio en el disco. Ambas propiedades se aplican al sistema de archivos donde se han configurado y a todos los descendientes de ese sistema de archivos.
Es decir, si una cuota se configura en el sistema de archivos tank/home, la cantidad total de espacio utilizado por tank/home y todos sus descendientes no puede superar la cuota. Asimismo, si se concede una reserva a tank/home, tank/home y todos sus descendientes se separan de esa reserva. La propiedad used informa de la cantidad de espacio utilizado por un sistema de archivos y todos sus descendientes.
Las propiedades refquota y refreservation están disponibles para administrar el espacio de sistemas de archivos sin tener en cuenta el espacio en el disco que consumen los descendientes, como las instantáneas y los clones.
En esta versión de Solaris, puede establecer una cuota de usuario o grupo sobre la cantidad de espacio en el disco consumida por archivos que sean propiedad de un determinado grupo o usuario. Las propiedades de cuota de usuarios y grupos no se pueden establecer en un volumen, en un sistema de archivos que sea anterior a la versión 4, o en una agrupación que sea anterior a la versión 15.
A la hora de determinar las funciones de cuota y reserva que mejor administran los sistemas de archivos se deben tener en cuenta los puntos siguientes:
Las propiedades quota y reservation son apropiadas para administrar el espacio en el disco consumido por sistemas de archivos y sus descendientes.
Las propiedades refquota y refreservation son apropiadas para administrar el espacio en el disco consumido por sistemas de archivos e instantáneas.
Establecer la propiedad refquota o refreservation con un valor más alto que el de la propiedad quota o reservation no tiene repercusión alguna. Si establece las propiedades de quota o refquota, fallarán las operaciones que intenten exceder cualquier valor. Es posible exceder un valor de quota superior al de refquota. Si se ensucian algunos bloques de instantáneas, quizá se exceda realmente 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 el espacio en el disco con múltiples cuentas de usuario, como por ejemplo en un entorno universitario.
Para obtener más información sobre la configuración de cuotas y reservas, consulte Establecimiento de cuotas en sistemas de archivos ZFS y Establecimiento de reservas en sistemas de archivos ZFS.
Las cuotas en los sistemas de archivos ZFS se pueden configurar y visualizar mediante los comandos zfs set y zfs get. En el ejemplo siguiente, se establece una cuota de 10 GB para tank/home/jeff:
# zfs set quota=10G tank/home/jeff # zfs get quota tank/home/jeff NAME PROPERTY VALUE SOURCE tank/home/jeff quota 10G local
Las cuotas también influyen en la salida de los comandos zfs list y df. Por ejemplo:
# zfs list -r tank/home NAME USED AVAIL REFER MOUNTPOINT tank/home 1.45M 66.9G 36K /tank/home tank/home/eric 547K 66.9G 547K /tank/home/eric tank/home/jeff 322K 10.0G 291K /tank/home/jeff tank/home/jeff/ws 31K 10.0G 31K /tank/home/jeff/ws tank/home/lori 547K 66.9G 547K /tank/home/lori tank/home/mark 31K 66.9G 31K /tank/home/mark # df -h /tank/home/jeff Filesystem Size Used Avail Use% Mounted on tank/home/jeff 10G 306K 10G 1% /tank/home/jeff
Tenga en cuenta que, si bien tank/home tiene un espacio en disco disponible de 66.9 GB, tank/home/jeff y tank/home/jeff/ws sólo cuentan con 10 GB de espacio en disco disponible para cada uno, debido a la cuota de tank/home/jeff.
No puede configurar una cuota con una cantidad inferior a la que esté usando un sistema de archivos. Por ejemplo:
# zfs set quota=10K tank/home/jeff cannot set property for 'tank/home/jeff': size is less than current used or reserved space
Puede establecer un valor de refquota en un sistema de archivos que limite la cantidad de espacio en el disco que puede consumir el sistema de archivos. Este límite fijo no incluye el espacio en el disco consumido por descendientes. Por ejemplo, la cuota de 10 GB de studentA no se ve afectada por el espacio utilizado por las instantáneas.
# zfs set refquota=10g students/studentA # zfs list -t all -r students NAME USED AVAIL REFER MOUNTPOINT students 150M 66.8G 32K /students students/studentA 150M 9.85G 150M /students/studentA students/studentA@yesterday 0 - 150M - # zfs snapshot students/studentA@today # zfs list -t all -r students students 150M 66.8G 32K /students students/studentA 150M 9.90G 100M /students/studentA students/studentA@yesterday 50.0M - 150M - students/studentA@today 0 - 100M -
Para mayor comodidad, puede establecer otra cuota en un sistema de archivos para administrar mejor el espacio que consumen las instantáneas. Por ejemplo:
# zfs set quota=20g students/studentA # zfs list -t all -r students NAME USED AVAIL REFER MOUNTPOINT students 150M 66.8G 32K /students students/studentA 150M 9.90G 100M /students/studentA students/studentA@yesterday 50.0M - 150M - students/studentA@today 0 - 100M -
En esta situación hipotética, studentA puede entrar en conflicto con el límite físico de refquota (10 GB), pero studentA puede eliminar archivos que recuperar aunque haya instantáneas.
En el ejemplo anterior, la menor de las dos cuotas (10 GB si se compara con 20 GB) aparece en la salida zfs list. Para ver 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
Puede definir la cuota de un grupo o un usuario mediante el uso de los comandos zfs userquota y zfs groupquota, respectivamente. Por ejemplo:
# zfs create students/compsci # zfs set userquota@student1=10G students/compsci # zfs create students/labstaff # zfs set groupquota@labstaff=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@labstaff students/labstaff NAME PROPERTY VALUE SOURCE students/labstaff groupquota@labstaff 20G local
Puede mostrar el uso general del espacio en el disco del usuario o grupo mediante la consulta de las propiedades siguientes:
# zfs userspace students/compsci TYPE NAME USED QUOTA POSIX User root 350M none POSIX User student1 426M 10G # zfs groupspace students/labstaff TYPE NAME USED QUOTA POSIX Group labstaff 250M 20G POSIX Group root 350M none
Para identificar el uso individual del espacio en el disco de un usuario o grupo, consulte las propiedades siguientes:
# zfs get userused@student1 students/compsci NAME PROPERTY VALUE SOURCE students/compsci userused@student1 550M local # zfs get groupused@labstaff students/labstaff NAME PROPERTY VALUE SOURCE students/labstaff groupused@labstaff 250 local
Las propiedades de cuotas de grupos y usuarios no se muestran si utiliza el comando zfs get all del conjunto de datos, 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:
# zfs set userquota@student1=none students/compsci # zfs set groupquota@labstaff=none students/labstaff
Las cuotas de usuarios o grupos en sistemas de archivos ZFS proporcionan las siguientes funciones:
La cuota de un usuario o grupo que se define en un sistema de archivos superior no la hereda automáticamente un sistema de archivos descendiente.
Sin embargo, la cuota del grupo o usuario se aplica cuando se crea una instantánea o un clon a partir de un sistema de archivos que tiene una cuota de grupo o usuario. Del mismo modo, se incluye una cuota de usuario o grupo en el sistema de archivos cuando se crea 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 en el disco. El usuario root o el usuario al que se le haya concedido el privilegio userused o groupused, puede acceder a la 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, en un sistema de archivos anterior 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 retraso significa que los usuarios pueden exceder su cuota antes de que el sistema perciba que se ha sobrepasado la cuota y que rechace la acción de escritura con posterioridad al mensaje de error EDQUOT.
Puede utilizar el comando quota heredado para revisar las cuotas del usuario en un entorno NFS; por ejemplo, donde se haya montado un sistema de archivos ZFS. Sin ninguna opción, el comando 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 350M none POSIX User student1 550M 10M # quota student1 Block limit reached on /students/compsci
Si reinicia la cuota de usuario y el límite de cuota ya no se supera, podrá utilizar el comando quota -v para revisar la cuota del usuario. Por ejemplo:
# zfs set userquota@student1=10GB students/compsci # zfs userspace students/compsci TYPE NAME USED QUOTA POSIX User root 350M none POSIX User student1 550M 10G # quota student1 # quota -v student1 Disk quotas for student1 (uid 102): Filesystem usage quota limit timeleft files quota limit timeleft /students/compsci 563287 10485760 10485760 - - - - -
Una reserva de ZFS es una asignación de espacio en el disco de la agrupación cuya disponibilidad en un conjunto de datos está garantizada. Así, no puede reservar espacio en el disco para un conjunto de datos si ese espacio no está disponible en la agrupación. La cantidad total de todas las reservas pendientes sin consumir no puede superar la cantidad de espacio en el disco sin utilizar de la agrupación. Las reservas de ZFS se pueden configurar y visualizar mediante los comandos zfs set y zfs get. Por ejemplo:
# zfs set reservation=5G tank/home/bill # zfs get reservation tank/home/bill NAME PROPERTY VALUE SOURCE tank/home/bill reservation 5G local
Las reservas de pueden afectar a la salida del comando zfs list. Por ejemplo:
# zfs list -r tank/home NAME USED AVAIL REFER MOUNTPOINT tank/home 5.00G 61.9G 37K /tank/home tank/home/bill 31K 66.9G 31K /tank/home/bill tank/home/jeff 337K 10.0G 306K /tank/home/jeff tank/home/lori 547K 61.9G 547K /tank/home/lori tank/home/mark 31K 61.9G 31K /tank/home/mark
tank/home utiliza 5 GB de espacio, aunque la cantidad total de espacio a la que hacen referencia tank/home y sus descendientes es mucho menor que 5 GB. El espacio utilizado refleja el espacio reservado para tank/home/bill. Las reservas se tienen en cuenta en el espacio en el disco utilizado del sistema de archivos 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 en el disco que su reserva, siempre que haya espacio disponible en la agrupación que no esté reservado y que el uso actual del conjunto de datos esté por debajo de su cuota. Un conjunto de datos no puede consumir espacio en el disco reservado a otro conjunto de datos.
Las reservas no son acumulativas. Es decir, una segunda invocación de zfs set para configurar una reserva no agrega su reserva a la que ya existe, sino que la segunda reserva sustituye la primera. Por ejemplo:
# zfs set reservation=10G tank/home/bill # zfs set reservation=5G tank/home/bill # zfs get reservation tank/home/bill NAME PROPERTY VALUE SOURCE tank/home/bill reservation 5G local
Puede establecer una reserva refreservation para garantizar espacio en el disco para un conjunto de datos que no incluya espacio en el disco consumido por instantáneas y clones. Esta reserva se explica en el cálculo del espacio utilizado en los conjuntos de datos principales, y repercute en las cuotas y reservas del conjunto de datos superior. 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 una reserva en el mismo conjunto de datos para garantizar espacio 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 se explican en el cálculo del espacio utilizado en el principal.
En el ejemplo anterior, la menor de las dos cuotas (10 GB si se compara con 20 GB) aparece en la salida zfs list. Para ver 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 esta reserva exista suficiente espacio no reservado en la agrupación para alojar la cantidad actual de bytes a los que se hace referencia en el conjunto de datos.