Cómo configurar cuotas y reservas de ZFS

Cómo configurar cuotas y reservas de ZFS
ZFS Cuota y Reserva se utilizan para limitar la cantidad de espacio en disco que un sistema de archivos ZFS específico puede usar desde el grupo ZFS.

Cuota ZFS: Digamos que tienes un grupo de tamaño ZFS 10 GB. Ha creado un sistema de archivos ZFS en ese grupo. Si establece una cuota de 2 GB Para ese sistema de archivos ZFS, el sistema de archivos ZFS puede usar solo 2 GB de espacio en disco desde el grupo. No puede usar más que eso, incluso si hay espacio libre disponible en la piscina.

Reserva ZFS: Si establece una cuota de 2 GB Para un sistema de archivos ZFS, ZFS no asignará 2 GB de espacio de disco para ese sistema de archivos inmediatamente. El espacio en disco se asignará según sea necesario hasta que se alcance el límite de cuota. Imagine que tiene muchos sistemas de archivos en su grupo ZFS, y muchos usuarios les están escribiendo. Puede llegar un momento en que no se alcanza el límite de cuota de un sistema de archivos, pero otros sistemas de archivos han llenado el espacio de disco del grupo. Entonces, a pesar de que el sistema de archivos utilizó menos de 2 GB de espacio en disco desde la piscina, todavía no escribirá en la piscina, ya que el grupo no tiene espacio de disco gratuito.

Para resolver este problema, puede usar la reserva ZFS. Puedes configurar 2 GB De reserva para su sistema de archivos ZFS muy especial, y en el momento en que establece la reserva, se asignarán 2 GB de espacio en disco para el sistema de archivos desde el grupo ZFS. De esta manera, no importa cuántos datos almacenen otros sistemas de archivos en ese grupo, aún tendrá espacios de disco dedicados disponibles para su sistema de archivos, y aún podrá crear archivos en ese sistema de archivos incluso si el grupo está lleno (no tiene ninguno espacio libre en disco).

En este artículo, le mostraré cómo configurar cuotas y reservas para los sistemas de archivos ZFS. Entonces empecemos.

Tabla de contenido

  1. Creación de grupos y sistemas de archivos ZFS
  2. Configuración de la cuota del sistema de archivos ZFS
  3. Configuración de la reserva del sistema de archivos ZFS
  4. Configuración de la reserva del sistema de archivos ZFS junto con la cuota
  5. Desactivar la reserva del sistema de archivos ZFS
  6. Desactivar la cuota del sistema de archivos ZFS
  7. Conclusión
  8. Referencias

Creación de grupos y sistemas de archivos ZFS

Para experimentar con la cuota y la reserva de ZFS, crearé un grupo ZFS piscina y 4 sistemas de archivos ZFS FS1, FS2, FS3, y FS4 en la piscina ZFS piscina. Si quieres seguir, puedes hacer lo mismo.

Este artículo utilizará el VDB y VDC Dispositivos de almacenamiento para crear el grupo ZFS piscina.

$ sudo lsblk -e7 -d

Para crear la piscina ZFS piscina utilizando el VDB y VDC dispositivos de almacenamiento, ejecute el siguiente comando:

$ sudo zpool Create -f Pool1 VDB VDC

Una piscina ZFS piscina debe crearse.

$ SUDO ZFS Lista

Crea los sistemas de archivos FS1, FS2, FS3, y FS4 en la piscina ZFS piscina Con los siguientes comandos:

$ sudo ZFS CREATE POOD1/FS1
$ sudo ZFS CREATE POOO1/FS2
$ sudo ZFS CREATE POOO1/FS3
$ sudo ZFS CREATE POOO1/FS4

Los sistemas de archivos ZFS FS1, FS2, FS3, y FS4 debe crearse en la piscina ZFS piscina.

$ SUDO ZFS Lista

Configuración de la cuota del sistema de archivos ZFS

Para configurar una cuota para un sistema de archivos ZFS, deberá configurar el cuota y refQucta Propiedades de ese sistema de archivos ZFS.

cuota: La cuota se establecerá para los clones de datos, instantáneas del sistema de archivos y del sistema de archivos. Por lo tanto, el tamaño total de los datos de su sistema de archivos, instantáneas del sistema de archivos y clones del sistema de archivos no puede exceder el límite de cuota.

En breve,

sistema de archivos datos tamaño + sistema de archivos instantáneas tamaño + sistema de archivos clones tamaño < cuota límite

Refquota: El límite de la cuota solo se establece para los datos del sistema de archivos, no para las instantáneas del sistema de archivos y los clones del sistema de archivos.

En breve,

sistema de archivos datos tamaño < refQucta límite

Por defecto, el cuota y refQucta Las propiedades no se establecen en ningún sistema de archivos ZFS. Por lo tanto, los datos del sistema de archivos, las instantáneas del sistema de archivos y los clones del sistema de archivos de cualquier sistema de archivos ZFS pueden abarcar todo el tamaño del grupo ZFS.

Como se puede ver, cuota y refQucta las propiedades se establecen en ninguno en el sistema de archivos ZFS FS1 por defecto. Es lo mismo para el FS2, FS3, y FS4 sistemas de archivos también.

$ sudo ZFS Get Refquota, Cuas Pool1/FS1

Para establecer una cuota de 2 GB para el sistema de archivos ZFS FS1, Ejecute el siguiente comando:

$ sudo zfs set cuota = 2g Pool1/FS1

Como puede ver, una cuota de 2 GB está configurado para el sistema de archivos ZFS FS1.

$ sudo zfs obtenga cuota piscina1/fs1

Después 2 GB de cuota está configurado para el sistema de archivos ZFS FS1, el espacio de disco disponible (APROVECHAR) del FS1 El sistema de archivos debe ser 2 GB En lugar del espacio de disco disponible de la piscina piscina (8.72 GB En este caso), como puede ver en la captura de pantalla a continuación.

$ SUDO ZFS Lista

Has establecido una cuota de 2 GB para el sistema de archivos ZFS FS1. Por lo tanto, no puede conservar más de 2 GB de datos en el sistema de archivos FS1. Imagine crear algunas instantáneas y clones del sistema de archivos que usaron aproximadamente 1 GB de espacio en disco. En ese caso, tendrá solo 1 GB de espacio en disco disponible para datos sobre el FS1 sistema de archivos. Si las instantáneas y clones del sistema de archivos usan aproximadamente 1.5 GB de espacio en disco, tendrá solo 500 MB de espacio en disco disponible para datos sobre el FS1 sistema de archivos. Eso es un problema.

A veces, es posible que desee dedicar un espacio de disco para almacenar solo datos en su sistema de archivos ZFS, para que las instantáneas y clones del sistema de archivos no usen todo el espacio de disco disponible desde el sistema de archivos ZFS. Puedes configurar el refQucta propiedad para eso.

Digamos que quieres establecer una cuota de 2 GB para el sistema de archivos ZFS FS2 y dedicar 1 GB de espacio en disco solo para datos. De esta manera, solo puedes usar 1 GB de espacio en disco para almacenar instantáneas del sistema de archivos y clones.

Configuración 2 GB de cuota para el sistema de archivos ZFS FS2 como sigue:

$ sudo zfs set cuota = 2g Pool1/FS1

Como se puede ver, 2 GB de cuota se establece para el sistema de archivos ZFS FS2.

$ SUDO ZFS Lista

Dedicar 1 GB de espacio en disco para almacenar solo datos para el sistema de archivos ZFS FS2, selecciona el refQucta Propiedad del sistema de archivos FS2 como sigue:

$ sudo zfs set refquota = 1g Pool1/FS2

Como puedes ver, el refQucta la propiedad está establecida en 1 GB, y el cuota la propiedad está establecida en 2 GB en el sistema de archivos ZFS FS2.

$ sudo ZFS Get Refquota, Cuas Pool1/FS2

El espacio de disco disponible del sistema de archivos ZFS FS2 debiera ser 1 GB (1024 mb) - el tamaño que ha visto usando el refQucta propiedad, como puede ver en la captura de pantalla a continuación.

$ SUDO ZFS Lista

Después de establecer la cuota, veamos cómo se asignan los espacios de disco cuando crea archivos en los sistemas de archivos ZFS FS1 y FS2.

Crear un 200 MB archivo prueba.img En el sistema de archivos ZFS FS1 como sigue:

$ sudo dd if =/dev/random of =/proup1/fs1/test.IMG BS = 1M Count = 200 Status = Progress

Crear un 100 MB archivo prueba.img En el sistema de archivos ZFS FS2 como sigue:

$ sudo dd if =/dev/random of =/proup1/fs2/test.img bs = 1M count = 100 status = progreso

Como se puede ver, FS1 usos 200 MB de espacio en disco y FS2 usos 100 MB de espacio en disco desde la piscina piscina. En total, 300 MB del espacio en disco se usa desde la piscina piscina. Aunque haya establecido cuotas para el FS1 y FS2 Sistemas de archivos, solo se asigna el espacio de disco requerido para los sistemas de archivos FS1 y FS2 de la piscina piscina.

$ SUDO ZFS Lista

Si desea establecer una cuota solo para los datos de un sistema de archivos ZFS, no para las instantáneas y clones del sistema de archivos, entonces solo configure el refQucta Propiedad en el sistema de archivos ZFS deseado. No tienes que configurar el cuota propiedad. De esta manera, las instantáneas y clones del sistema de archivos pueden ocupar tanto espacio en disco como se requiera desde el grupo ZFS. Pero el límite de cuota solo se colocará en los datos que almacena en su sistema de archivos ZFS.

Si no toma ninguna instantánea del sistema de archivos o realiza clones del sistema de archivos, entonces cuota y refQucta trabajar de la misma manera. No importa cuál usas.

Configuración de la reserva del sistema de archivos ZFS

Anteriormente, ha visto que cuando establece una cuota en un sistema de archivos ZFS, no se asigna automáticamente espacio de disco para ese sistema de archivos desde el grupo ZFS. El espacio en disco se asigna a medida que se crean archivos en ese sistema de archivos. No hay problema con eso. Pero, hay momentos en los que no quieres eso.

En algunos casos, es posible que desee dedicar algo de espacio en disco para un sistema de archivos ZFS específico desde el grupo. De esta manera, incluso si otros sistemas de archivos llenan el grupo, aún tendrá espacios gratuitos en su sistema de archivos ZFS. Para esto se utiliza la reserva de ZFS.

Para configurar una reserva para un sistema de archivos ZFS, deberá configurar el reserva y reflexión Propiedades de ese sistema de archivos ZFS.

Reserva: El espacio de disco se reservará para los datos de datos, instantáneas del sistema de archivos y clones del sistema de archivos de un sistema de archivos ZFS desde el grupo ZFS.

Refreservación: El espacio en disco se reservará solo para los datos de un sistema de archivos ZFS desde el grupo ZFS. No se reservará espacio en disco para las instantáneas del sistema de archivos y los clones del sistema de archivos.

Por defecto, el reserva y reflexión Las propiedades no se establecen en ningún sistema de archivos ZFS. Por lo tanto, ZFS no asigna ningún espacio de disco para los datos, instantáneas del sistema de archivos y clones del sistema de archivos de ningún sistema de archivos ZFS desde el grupo ZFS.

Como se puede ver, reserva y reflexión las propiedades se establecen en ninguno en el sistema de archivos ZFS FS3 por defecto. Es lo mismo para el FS1, FS2, y FS4 sistemas de archivos también.

$ sudo zfs obtenga una reserva, el grupo de refrigeración 1/fs3

Por defecto, los sistemas de archivos ZFS FS3 y FS4 tener el mismo espacio de disco gratis (8.43 GB) como la piscina piscina.

$ SUDO ZFS Lista

Reservar 2 GB de espacio en disco para el sistema de archivos ZFS FS3 (Para datos del sistema de archivos, instantáneas y clones) desde el grupo, establezca el reserva Propiedad del sistema de archivos ZFS FS3 como sigue:

$ sudo zfs set reserva = 2g Pool1/FS3

Como puedes ver, el reserva la propiedad está establecida en 2 GB para el sistema de archivos ZFS FS3.

$ sudo ZFS Get Reservation Pool1/FS3

Observe que, inmediatamente después de establecer el reserva propiedad de 2 GB para el sistema de archivos ZFS FS3, 2 GB se usa desde la piscina ZFS piscina1. Además, el espacio de disco disponible para el sistema de archivos ZFS FS3 es 2 GB Más que la piscina ZFS piscina2.

$ SUDO ZFS Lista

Reservar 1 GB de espacio en disco solo para los datos (no para instantáneas y clones) del sistema de archivos ZFS FS4 Desde la piscina, configure el reflexión Propiedad del sistema de archivos ZFS FS4 como sigue:

$ sudo ZFS Set Refreservación = 1G Pool1/FS4

El reflexión la propiedad debe establecerse en 1 GB para el sistema de archivos ZFS FS4, Como puede ver en la captura de pantalla a continuación.

$ sudo ZFS Get Refreservation Pool1/FS4

Observe que, inmediatamente después de establecer el reflexión propiedad de 1 GB para el sistema de archivos ZFS FS4, 1 GB se usa desde el sistema de archivos ZFS FS41. 1 GB También se usa en la piscina ZFS piscina2, y el espacio de disco disponible del sistema de archivos ZFS FS4 es 1 GB más3 que la piscina ZFS piscina4.

$ SUDO ZFS Lista

Configuración de la reserva del sistema de archivos ZFS junto con la cuota

También puede usar la reserva junto con la cuota en los sistemas de archivos de ZFS. Veamos algunos ejemplos.

Digamos que quieres establecer una cuota de 2 GB para el sistema de archivos ZFS FS3 y reservar 2 GB de espacio en disco para el sistema de archivos ZFS FS3 (Para almacenar datos del sistema de archivos, instantáneas y clones) desde el grupo ZFS.

Para hacer eso, configure el cuota y reserva Propiedades del sistema de archivos ZFS FS3 como sigue:

$ sudo zfs set cuota = 2g reserva = 2g Pool1/FS3

El cuota y reserva Propiedades del sistema de archivos ZFS FS3 debe estar configurado en 2 GB, Como puede ver en la captura de pantalla a continuación.

$ sudo zfs obtenga cuota, reserva Pool1/FS3

El espacio de disco disponible del sistema de archivos ZFS FS3 debe estar configurado en 2 GB. 2 GB del espacio en disco también debe reservarse para el sistema de archivos ZFS FS3 de la piscina ZFS piscina.

$ SUDO ZFS Lista

Digamos que quieres establecer una cuota de 2 GB para el sistema de archivos ZFS FS4. Pero, solo quieres permitir 1 GB de espacio en disco para almacenar datos del sistema de archivos y el otro 1 GB Para almacenar instantáneas y clones del sistema de archivos. Además, quieres reservar 1 GB de espacio en disco para almacenar el sistema de archivos ZFS FS4 de la piscina ZFS.

Para hacer eso, configure el cuota, refQucta, y reflexión Propiedades del sistema de archivos ZFS FS4 como sigue:

$ sudo zfs set cuota = 2g refquota = 1g refreservación = 1g piscina1/fs4

El cuota Propiedad del sistema de archivos ZFS FS4 debe estar configurado en 2 GB, y el refQucta y reflexión Las propiedades deben establecerse en 1 GB, Como puede ver en la captura de pantalla a continuación.

$ sudo ZFS Set Cuota, Refquota, Refreservación Pool1/FS4

El espacio de disco disponible del sistema de archivos ZFS FS4 debe estar configurado en 1 GB. 1 GB del espacio en disco también debe reservarse para el sistema de archivos ZFS FS4 de la piscina ZFS piscina.

$ SUDO ZFS Lista

Digamos que quieres establecer una cuota de 2 GB para el sistema de archivos ZFS FS4. Pero, solo quieres permitir 1 GB de espacio en disco para almacenar datos del sistema de archivos y el otro 1 GB Para almacenar instantáneas y clones del sistema de archivos. Además, quieres reservar 2 GB de espacio en disco para almacenar los datos del sistema de archivos, las instantáneas y los clones y 1 GB de espacio en disco de esa reserva para almacenar solo el sistema de archivos ZFS FS4.

Para hacer eso, configure el cuota, refQucta, reserva, y reflexión Propiedades del sistema de archivos ZFS FS4 como sigue:

$ sudo zfs set cuota = 2g refquota = 1g reserva = 2g refreservación = 1g Pool1/FS4

Como puedes ver, el cuota y reserva Propiedades del sistema de archivos ZFS FS4 están establecidos en 2 GB, y el refQucta y reflexión las propiedades se establecen en 1 GB.

$ sudo ZFS Get Cuota, Refquota, Reserva, Preervación de la Punta1/FS4

Anteriormente, el sistema de archivos ZFS reservado 1 GB de espacio en disco desde la piscina piscina. Ahora se reservó 1 GB más. En total, 2 GB del espacio de disco está reservado para el sistema de archivos ZFS FS4 de la piscina ZFS piscina. Además, el límite de cuota está configurado para el sistema de archivos ZFS FS4.

$ SUDO ZFS Lista

Desactivar la reserva del sistema de archivos ZFS

Puedes configurar el reserva y reflexión propiedad de un sistema de archivos ZFS a ninguno o 0 para deshabilitar la reserva para ese sistema de archivos ZFS.

Para deshabilitar la reserva para el sistema de archivos ZFS FS4, selecciona el reserva y reflexión Propiedades del sistema de archivos ZFS FS4 a ninguno como sigue:

$ sudo ZFS Set Reservation = Ninguno Refreservación = Ninguno Pool1/FS4

La reserva debe deshabilitarse para el sistema de archivos ZFS FS4.

$ sudo ZFS Obtenga una reserva, el grupo de refreservación1/FS4

Como se puede ver, 2 GB de espacio en disco (4.49 GB a 2.29 GB ahora) se desasigna desde la piscina ZFS piscina Como una reserva está deshabilitada para el sistema de archivos ZFS FS4.

$ SUDO ZFS Lista

Desactivar la cuota del sistema de archivos ZFS

Puedes configurar el cuota y refQucta propiedad de un sistema de archivos ZFS a ninguno o 0 Para deshabilitar la cuota para ese sistema de archivos ZFS.

Para deshabilitar la cuota para el sistema de archivos ZFS FS4, selecciona el cuota y refQucta Propiedades del sistema de archivos ZFS FS4 a ninguno como sigue:

$ sudo zfs set cuota = ninguno refquota = ninguno de los piscinas1/fs4

La cuota debe deshabilitarse para el sistema de archivos ZFS FS4.

$ sudo zfs obtenga cuota, refquota piscol1/fs4

Como puede ver, no se establecen límites de cuota para el sistema de archivos ZFS FS4 ya no.

$ SUDO ZFS Lista

Conclusión

En este artículo, he discutido las funciones de cuota y reserva del sistema de archivos ZFS. Le he mostrado cómo configurar cuotas y reservas para los sistemas de archivos ZFS. También le he mostrado cómo deshabilitar las cuotas y las reservas de los sistemas de archivos ZFS.

Referencias

[1] Configuración de cuotas y reservas ZFS (Guía de administración de Solaris ZFS)