Gestión de sistemas de archivos
Creación, modificación y administración de sistemas de archivos en Red Hat Enterprise Linux 8
Resumen
Hacer que el código abierto sea más inclusivo
Red Hat se compromete a sustituir el lenguaje problemático en nuestro código, documentación y propiedades web. Estamos empezando con estos cuatro términos: maestro, esclavo, lista negra y lista blanca. Debido a la enormidad de este esfuerzo, estos cambios se implementarán gradualmente a lo largo de varias versiones próximas. Para más detalles, consulte el mensaje de nuestro CTO Chris Wright.
Proporcionar comentarios sobre la documentación de Red Hat
Agradecemos su opinión sobre nuestra documentación. Por favor, díganos cómo podemos mejorarla. Para ello:
Para comentarios sencillos sobre pasajes concretos:
- Asegúrese de que está viendo la documentación en el formato Multi-page HTML. Además, asegúrese de ver el botón Feedback en la esquina superior derecha del documento.
- Utilice el cursor del ratón para resaltar la parte del texto que desea comentar.
- Haga clic en la ventana emergente Add Feedback que aparece debajo del texto resaltado.
- Siga las instrucciones mostradas.
Para enviar comentarios más complejos, cree un ticket de Bugzilla:
- Vaya al sitio web de Bugzilla.
- Como componente, utilice Documentation.
- Rellene el campo Description con su sugerencia de mejora. Incluya un enlace a la(s) parte(s) pertinente(s) de la documentación.
- Haga clic en Submit Bug.
Capítulo 1. Resumen de los sistemas de archivos disponibles
La elección del sistema de archivos apropiado para su aplicación es una decisión importante debido al gran número de opciones disponibles y las compensaciones involucradas. Este capítulo describe algunos de los sistemas de archivos que se entregan con Red Hat Enterprise Linux 8 y proporciona antecedentes históricos y recomendaciones sobre el sistema de archivos adecuado para su aplicación.
1.1. Tipos de sistemas de archivos
Red Hat Enterprise Linux 8 soporta una variedad de sistemas de archivos (FS). Los diferentes tipos de sistemas de archivos resuelven diferentes tipos de problemas y su uso es específico de la aplicación. En el nivel más general, los sistemas de archivos disponibles pueden ser agrupados en los siguientes tipos principales:
Tipo | Sistema de archivos | Atributos y casos de uso |
---|---|---|
Disco o FS local | XFS | XFS es el sistema de archivos por defecto en RHEL. Debido a que presenta los archivos como extensiones, es menos vulnerable a la fragmentación que ext4. Red Hat recomienda desplegar XFS como su sistema de archivos local a menos que haya razones específicas para hacer lo contrario: por ejemplo, compatibilidad o casos de esquina en torno al rendimiento. |
ext4 | ext4 tiene la ventaja de la longevidad en Linux. Por lo tanto, es soportado por casi todas las aplicaciones de Linux. En la mayoría de los casos, rivaliza con XFS en cuanto a rendimiento. ext4 se utiliza habitualmente para los directorios personales. | |
FS en red o cliente-servidor | NFS | Utilice NFS para compartir archivos entre varios sistemas de la misma red. |
SMB | Utiliza SMB para compartir archivos con sistemas Microsoft Windows. | |
Almacenamiento compartido o disco compartido FS | GFS2 | GFS2 proporciona acceso de escritura compartido a los miembros de un clúster informático. El énfasis está en la estabilidad y la fiabilidad, con la experiencia funcional de un sistema de archivos local como sea posible. SAS Grid, Tibco MQ, IBM Websphere MQ y Red Hat Active MQ se han implantado con éxito en GFS2. |
FS de gestión de volumen | Stratis (avance tecnológico) | Stratis es un gestor de volúmenes construido sobre una combinación de XFS y LVM. El propósito de Stratis es emular las capacidades ofrecidas por los sistemas de archivos de gestión de volúmenes como Btrfs y ZFS. Es posible construir esta pila manualmente, pero Stratis reduce la complejidad de la configuración, implementa las mejores prácticas y consolida la información de errores. |
1.2. Sistemas de archivos locales
Los sistemas de archivos locales son sistemas de archivos que se ejecutan en un único servidor local y se conectan directamente al almacenamiento.
Por ejemplo, un sistema de archivos local es la única opción para los discos SATA o SAS internos, y se utiliza cuando su servidor tiene controladores RAID de hardware internos con unidades locales. Los sistemas de archivos locales son también los sistemas de archivos más comunes utilizados en el almacenamiento conectado a la SAN cuando el dispositivo exportado en la SAN no es compartido.
Todos los sistemas de archivos locales son compatibles con POSIX y son totalmente compatibles con todas las versiones de Red Hat Enterprise Linux. Los sistemas de archivos compatibles con POSIX proporcionan soporte para un conjunto bien definido de llamadas al sistema, tales como read()
, write()
, y seek()
.
Desde el punto de vista del programador de aplicaciones, hay relativamente pocas diferencias entre los sistemas de archivos locales. Las diferencias más notables desde la perspectiva del usuario están relacionadas con la escalabilidad y el rendimiento. Al considerar la elección de un sistema de archivos, hay que tener en cuenta el tamaño que debe tener el sistema de archivos, las características únicas que debe tener y el rendimiento bajo su carga de trabajo.
Sistemas de archivos locales disponibles
- XFS
- ext4
1.3. El sistema de archivos XFS
XFS es un sistema de archivos de 64 bits altamente escalable, de alto rendimiento, robusto y maduro que soporta archivos y sistemas de archivos muy grandes en un solo host. Es el sistema de archivos por defecto en Red Hat Enterprise Linux 8. XFS fue desarrollado originalmente a principios de los 90 por SGI y tiene una larga historia de funcionamiento en servidores y matrices de almacenamiento extremadamente grandes.
Las características de XFS incluyen:
- Fiabilidad
- El registro en el diario de los metadatos, que garantiza la integridad del sistema de archivos después de un fallo del sistema, ya que mantiene un registro de las operaciones del sistema de archivos que puede reproducirse cuando se reinicia el sistema y se vuelve a montar el sistema de archivos
- Amplia comprobación de la coherencia de los metadatos en tiempo de ejecución
- Utilidades de reparación escalables y rápidas
- Registro de cuotas. Esto evita la necesidad de largas comprobaciones de consistencia de cuotas después de una caída.
- Escalabilidad y rendimiento
- Tamaño del sistema de archivos soportado hasta 1024 TiB
- Capacidad para soportar un gran número de operaciones simultáneas
- Indexación del árbol B para la escalabilidad de la gestión del espacio libre
- Sofisticados algoritmos de lectura anticipada de metadatos
- Optimizaciones para cargas de trabajo de vídeo en streaming
- Regímenes de asignación
- Asignación basada en la extensión
- Políticas de asignación con conocimiento de las franjas
- Asignación retardada
- Pre-asignación de espacio
- Inodos asignados dinámicamente
- Otras características
- Copias de archivos basadas en Reflink (nuevo en Red Hat Enterprise Linux 8)
- Utilidades de copia de seguridad y restauración estrechamente integradas
- Desfragmentación en línea
- Crecimiento del sistema de archivos en línea
- Amplia capacidad de diagnóstico
-
Atributos extendidos (
xattr
). Esto permite al sistema asociar varios pares nombre/valor adicionales por archivo. - Cuotas de proyectos o directorios. Esto permite restringir las cuotas sobre un árbol de directorios.
- Marcas de tiempo de subsegundos
Características de rendimiento
XFS tiene un alto rendimiento en sistemas grandes con cargas de trabajo empresariales. Un sistema grande es aquel con un número relativamente alto de CPUs, múltiples HBAs y conexiones a matrices de discos externas. XFS también tiene un buen rendimiento en sistemas más pequeños que tienen una carga de trabajo de E/S paralela y multihilo.
XFS tiene un rendimiento relativamente bajo para cargas de trabajo intensivas en metadatos de un solo hilo: por ejemplo, una carga de trabajo que crea o borra un gran número de archivos pequeños en un solo hilo.
1.4. El sistema de archivos ext4
El sistema de archivos ext4 es la cuarta generación de la familia de sistemas de archivos ext. Fue el sistema de archivos por defecto en Red Hat Enterprise Linux 6.
El controlador ext4 puede leer y escribir en los sistemas de archivos ext2 y ext3, pero el formato del sistema de archivos ext4 no es compatible con los controladores ext2 y ext3.
ext4 añade varias características nuevas y mejoradas, como:
- Tamaño del sistema de archivos soportado hasta 50 TiB
- Metadatos basados en el alcance
- Asignación retardada
- Suma de comprobación del diario
- Gran soporte de almacenamiento
Los metadatos basados en la extensión y las funciones de asignación retardada proporcionan una forma más compacta y eficiente de rastrear el espacio utilizado en un sistema de archivos. Estas características mejoran el rendimiento del sistema de archivos y reducen el espacio consumido por los metadatos. La asignación retardada permite que el sistema de archivos posponga la selección de la ubicación permanente para los datos de usuario recién escritos hasta que los datos se descarguen en el disco. Esto permite un mayor rendimiento, ya que puede permitir asignaciones más grandes y contiguas, lo que permite al sistema de archivos tomar decisiones con mucha más información.
El tiempo de reparación del sistema de archivos mediante la utilidad fsck
en ext4 es mucho más rápido que en ext2 y ext3. Algunas reparaciones de sistemas de archivos han demostrado un aumento del rendimiento de hasta seis veces.
1.5. Comparación de XFS y ext4
XFS es el sistema de archivos por defecto en RHEL. Esta sección compara el uso y las características de XFS y ext4.
- Comportamiento de los errores de metadatos
-
En ext4, se puede configurar el comportamiento cuando el sistema de archivos encuentra errores de metadatos. El comportamiento por defecto es simplemente continuar la operación. Cuando XFS encuentra un error de metadatos irrecuperable, cierra el sistema de archivos y devuelve el error
EFSCORRUPTED
. - Cuotas
En ext4, puedes habilitar las cuotas al crear el sistema de archivos o posteriormente en un sistema de archivos existente. A continuación, puede configurar la aplicación de cuotas mediante una opción de montaje.
Las cuotas XFS no son una opción remountable. Debes activar las cuotas en el montaje inicial.
La ejecución del comando
quotacheck
en un sistema de archivos XFS no tiene ningún efecto. La primera vez que se activa la contabilidad de cuotas, XFS comprueba las cuotas automáticamente.- Redimensionamiento del sistema de archivos
- XFS no tiene ninguna utilidad para reducir el tamaño de un sistema de archivos. Sólo se puede aumentar el tamaño de un sistema de archivos XFS. En comparación, ext4 permite tanto ampliar como reducir el tamaño de un sistema de archivos.
- Números de inodo
El sistema de archivos ext4 no admite más de232 inodos.
XFS asigna dinámicamente los inodos. Un sistema de archivos XFS no puede quedarse sin inodos mientras haya espacio libre en el sistema de archivos.
Algunas aplicaciones no pueden manejar correctamente números de inodo mayores que232 en un sistema de archivos XFS. Estas aplicaciones pueden provocar el fallo de las llamadas stat de 32 bits con el valor de retorno
EOVERFLOW
. El número de inodo es superior a232 en las siguientes condiciones:- El sistema de archivos es mayor de 1 TiB con inodos de 256 bytes.
- El sistema de archivos es mayor de 2 TiB con inodos de 512 bytes.
Si su aplicación falla con números de inodo grandes, monte el sistema de archivos XFS con la opción
-o inode32
para imponer números de inodo inferiores a232. Tenga en cuenta que el uso deinode32
no afecta a los inodos que ya están asignados con números de 64 bits.ImportanteUtilice la opción
inode32
en not a menos que un entorno específico lo requiera. La opcióninode32
cambia el comportamiento de la asignación. Como consecuencia, podría producirse el errorENOSPC
si no hay espacio disponible para asignar inodos en los bloques de disco inferiores.
1.6. Elegir un sistema de archivos local
Para elegir un sistema de archivos que cumpla con los requisitos de su aplicación, debe entender el sistema de destino en el que va a desplegar el sistema de archivos. Puede utilizar las siguientes preguntas para informar su decisión:
- ¿Tiene un servidor grande?
- ¿Tiene grandes necesidades de almacenamiento o tiene una unidad SATA local y lenta?
- ¿Qué tipo de carga de trabajo de E/S espera que presente su aplicación?
- ¿Cuáles son sus requisitos de rendimiento y latencia?
- ¿Cuál es la estabilidad de su servidor y hardware de almacenamiento?
- ¿Cuál es el tamaño típico de sus archivos y conjuntos de datos?
- Si el sistema falla, ¿cuánto tiempo de inactividad puede sufrir?
Si tanto tu servidor como tu dispositivo de almacenamiento son grandes, XFS es la mejor opción. Incluso con matrices de almacenamiento más pequeñas, XFS funciona muy bien cuando el tamaño medio de los archivos es grande (por ejemplo, de cientos de megabytes).
Si su carga de trabajo actual ha funcionado bien con ext4, permanecer con ext4 debería proporcionarle a usted y a sus aplicaciones un entorno muy familiar.
El sistema de archivos ext4 tiende a funcionar mejor en sistemas que tienen una capacidad de E/S limitada. Funciona mejor con un ancho de banda limitado (menos de 200MB/s) y hasta una capacidad de 1000 IOPS. Para cualquier cosa con mayor capacidad, XFS tiende a ser más rápido.
XFS consume aproximadamente el doble de CPU por operación de metadatos en comparación con ext4, por lo que si tienes una carga de trabajo limitada a la CPU con poca concurrencia, entonces ext4 será más rápido. En general, ext4 es mejor si una aplicación utiliza un único hilo de lectura/escritura y archivos pequeños, mientras que XFS brilla cuando una aplicación utiliza múltiples hilos de lectura/escritura y archivos más grandes.
No se puede reducir un sistema de archivos XFS. Si necesita poder reducir el sistema de archivos, considere utilizar ext4, que admite la reducción sin conexión.
En general, Red Hat recomienda que utilice XFS a menos que tenga un caso de uso específico para ext4. También debería medir el rendimiento de su aplicación específica en su servidor y sistema de almacenamiento de destino para asegurarse de que elige el tipo de sistema de archivos apropiado.
Escenario | Sistema de archivos recomendado |
---|---|
Ningún caso de uso especial | XFS |
Servidor grande | XFS |
Dispositivos de almacenamiento de gran tamaño | XFS |
Archivos grandes | XFS |
E/S multihilo | XFS |
E/S de un solo hilo | ext4 |
Capacidad de E/S limitada (menos de 1000 IOPS) | ext4 |
Ancho de banda limitado (menos de 200 MB/s) | ext4 |
Carga de trabajo con CPU | ext4 |
Apoyo a la contracción fuera de línea | ext4 |
1.7. Sistemas de archivos en red
Los sistemas de archivos en red, también denominados sistemas de archivos cliente/servidor, permiten a los sistemas cliente acceder a los archivos almacenados en un servidor compartido. Esto hace posible que varios usuarios en varios sistemas compartan archivos y recursos de almacenamiento.
Estos sistemas de archivos se construyen a partir de uno o varios servidores que exportan un conjunto de sistemas de archivos a uno o varios clientes. Los nodos clientes no tienen acceso al almacenamiento de bloques subyacente, sino que interactúan con el almacenamiento utilizando un protocolo que permite un mejor control de acceso.
Sistemas de archivos de red disponibles
- El sistema de archivos cliente/servidor más común para los clientes de RHEL es el sistema de archivos NFS. RHEL proporciona tanto un componente de servidor NFS para exportar un sistema de archivos local a través de la red como un cliente NFS para importar estos sistemas de archivos.
- RHEL también incluye un cliente CIFS que soporta los populares servidores de archivos SMB de Microsoft para la interoperabilidad con Windows. El servidor Samba del espacio de usuario proporciona a los clientes de Windows un servicio SMB de Microsoft desde un servidor RHEL.
1.10. Sistemas de archivos con gestión de volumen
Los sistemas de archivos con gestión de volumen integran toda la pila de almacenamiento con el fin de simplificar y optimizar la pila.
Sistemas de archivos de gestión de volumen disponibles
Red Hat Enterprise Linux 8 proporciona el gestor de volúmenes Stratis como una Muestra de Tecnología. Stratis utiliza XFS para la capa del sistema de archivos y lo integra con LVM, Device Mapper y otros componentes.
Stratis fue lanzado por primera vez en Red Hat Enterprise Linux 8.0. Fue concebido para llenar el vacío creado cuando Red Hat dejó de utilizar Btrfs. Stratis 1.0 es un gestor de volúmenes intuitivo, basado en la línea de comandos, que puede realizar importantes operaciones de gestión de almacenamiento ocultando la complejidad al usuario:
- Gestión del volumen
- Creación de piscinas
- Grupos de almacenamiento ligero
- Instantáneas
- Caché de lectura automatizada
Stratis ofrece potentes características, pero actualmente carece de ciertas capacidades de otras ofertas con las que podría compararse, como Btrfs o ZFS. La más notable es que no soporta CRCs con autocuración.
Capítulo 2. Gestión del almacenamiento local mediante los roles de sistema de RHEL
Para gestionar LVM y sistemas de archivos locales (FS) mediante Ansible, puede utilizar el rol storage
, que es uno de los roles de sistema RHEL disponibles en RHEL 8.
El uso del rol storage
le permite automatizar la administración de sistemas de archivos en discos y volúmenes lógicos en múltiples máquinas y en todas las versiones de RHEL a partir de RHEL 7.7.
Para más información sobre los Roles del Sistema RHEL y cómo aplicarlos, vea Introducción a los Roles del Sistema RHEL.
2.1. Introducción a la función de almacenamiento
La función storage
puede gestionar:
- Sistemas de archivos en discos que no han sido particionados
- Grupos de volúmenes LVM completos, incluyendo sus volúmenes lógicos y sistemas de archivos
Con el rol storage
puede realizar las siguientes tareas:
- Crear un sistema de archivos
- Eliminar un sistema de archivos
- Montar un sistema de archivos
- Desmontar un sistema de archivos
- Crear grupos de volúmenes LVM
- Eliminar grupos de volúmenes LVM
- Crear volúmenes lógicos
- Eliminar volúmenes lógicos
- Crear volúmenes RAID
- Eliminar volúmenes RAID
- Crear pools LVM con RAID
- Eliminar pools LVM con RAID
2.2. Parámetros que identifican un dispositivo de almacenamiento en el rol de sistema de almacenamiento
La configuración de su rol en storage
afecta sólo a los sistemas de archivos, volúmenes y pools que se enumeran en las siguientes variables.
storage_volumes
Lista de sistemas de archivos en todos los discos no particionados que se van a gestionar.
Actualmente, las particiones no son compatibles.
storage_pools
Lista de piscinas a gestionar.
Actualmente el único tipo de pool soportado es LVM. Con LVM, los pools representan grupos de volúmenes (VGs). Bajo cada pool hay una lista de volúmenes que deben ser gestionados por el rol. Con LVM, cada volumen corresponde a un volumen lógico (LV) con un sistema de archivos.
2.3. Ejemplo de playbook de Ansible para crear un sistema de archivos XFS en un dispositivo de bloques
Esta sección proporciona un ejemplo de libro de jugadas de Ansible. Este libro de jugadas aplica el rol storage
para crear un sistema de archivos XFS en un dispositivo de bloques utilizando los parámetros predeterminados.
El rol storage
puede crear un sistema de archivos sólo en un disco entero no particionado o en un volumen lógico (LV). No puede crear el sistema de archivos en una partición.
Ejemplo 2.1. Un playbook que crea XFS en /dev/sdb
--- - hosts: all vars: storage_volumes: - name: barefs type: disk disks: - sdb fs_type: xfs roles: - rhel-system-roles.storage
---
- hosts: all
vars:
storage_volumes:
- name: barefs
type: disk
disks:
- sdb
fs_type: xfs
roles:
- rhel-system-roles.storage
-
El nombre del volumen (
barefs
en el ejemplo) es actualmente arbitrario. El rolstorage
identifica el volumen por el dispositivo de disco listado bajo el atributodisks:
. -
Puede omitir la línea
fs_type: xfs
porque XFS es el sistema de archivos por defecto en RHEL 8. Para crear el sistema de archivos en un LV, proporcione la configuración de LVM bajo el atributo
disks:
, incluyendo el grupo de volúmenes que lo rodea. Para obtener más detalles, consulte Ejemplo de libro de jugadas de Ansible para gestionar volúmenes lógicos.No proporcione la ruta de acceso al dispositivo LV.
Recursos adicionales
-
Para más detalles sobre los parámetros utilizados en el rol de sistema
storage
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.storage/README.md
.
2.4. Ejemplo de playbook de Ansible para montar persistentemente un sistema de archivos
Esta sección proporciona un ejemplo de libro de jugadas de Ansible. Este libro de jugadas aplica el rol storage
para montar de forma inmediata y persistente un sistema de archivos XFS.
Ejemplo 2.2. Un playbook que monta un sistema de archivos en /dev/sdb a /mnt/data
--- - hosts: all vars: storage_volumes: - name: barefs type: disk disks: - sdb fs_type: xfs mount_point: /mnt/data roles: - rhel-system-roles.storage
---
- hosts: all
vars:
storage_volumes:
- name: barefs
type: disk
disks:
- sdb
fs_type: xfs
mount_point: /mnt/data
roles:
- rhel-system-roles.storage
-
Este libro de jugadas añade el sistema de archivos al archivo
/etc/fstab
, y monta el sistema de archivos inmediatamente. -
Si el sistema de archivos del dispositivo
/dev/sdb
o el directorio del punto de montaje no existen, el libro de jugadas los crea.
Recursos adicionales
-
Para más detalles sobre los parámetros utilizados en el rol de sistema
storage
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.storage/README.md
.
2.5. Ejemplo de libro de jugadas de Ansible para gestionar volúmenes lógicos
Esta sección proporciona un ejemplo de libro de jugadas de Ansible. Este libro de jugadas aplica el rol storage
para crear un volumen lógico LVM en un grupo de volúmenes.
Ejemplo 2.3. Un libro de jugadas que crea un volumen lógico mylv en el grupo de volúmenes myvg
- hosts: all vars: storage_pools: - name: myvg disks: - sda - sdb - sdc volumes: - name: mylv size: 2G fs_type: ext4 mount_point: /mnt roles: - rhel-system-roles.storage
- hosts: all
vars:
storage_pools:
- name: myvg
disks:
- sda
- sdb
- sdc
volumes:
- name: mylv
size: 2G
fs_type: ext4
mount_point: /mnt
roles:
- rhel-system-roles.storage
El grupo de volúmenes
myvg
está formado por los siguientes discos:-
/dev/sda
-
/dev/sdb
-
/dev/sdc
-
-
Si el grupo de volumen
myvg
ya existe, el libro de jugadas añade el volumen lógico al grupo de volumen. -
Si el grupo de volumen
myvg
no existe, el libro de jugadas lo crea. -
El libro de jugadas crea un sistema de archivos Ext4 en el volumen lógico
mylv
, y monta persistentemente el sistema de archivos en/mnt
.
Recursos adicionales
-
Para más detalles sobre los parámetros utilizados en el rol de sistema
storage
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.storage/README.md
.
2.6. Ejemplo de libro de jugadas de Ansible para activar el descarte de bloques en línea
Esta sección proporciona un ejemplo de libro de jugadas de Ansible. Este libro de jugadas aplica el rol storage
para montar un sistema de archivos XFS con el descarte de bloques en línea activado.
Ejemplo 2.4. Un libro de jugadas que permite descartar bloques en línea en /mnt/data/
--- - hosts: all vars: storage_volumes: - name: barefs type: disk disks: - sdb fs_type: xfs mount_point: /mnt/data mount_options: discard roles: - rhel-system-roles.storage
---
- hosts: all
vars:
storage_volumes:
- name: barefs
type: disk
disks:
- sdb
fs_type: xfs
mount_point: /mnt/data
mount_options: discard
roles:
- rhel-system-roles.storage
Recursos adicionales
- Este libro de jugadas también realiza todas las operaciones del ejemplo de montaje persistente descrito en Sección 2.4, “Ejemplo de playbook de Ansible para montar persistentemente un sistema de archivos”.
-
Para más detalles sobre los parámetros utilizados en el rol de sistema
storage
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.storage/README.md
.
2.7. Ejemplo de playbook Ansible para crear y montar un sistema de archivos Ext4
Esta sección proporciona un ejemplo de libro de jugadas de Ansible. Este libro de jugadas aplica el rol storage
para crear y montar un sistema de archivos Ext4.
Ejemplo 2.5. Un playbook que crea Ext4 en /dev/sdb y lo monta en /mnt/data
--- - hosts: all vars: storage_volumes: - name: barefs type: disk disks: - sdb fs_type: ext4 fs_label: label-name mount_point: /mnt/data roles: - rhel-system-roles.storage
---
- hosts: all
vars:
storage_volumes:
- name: barefs
type: disk
disks:
- sdb
fs_type: ext4
fs_label: label-name
mount_point: /mnt/data
roles:
- rhel-system-roles.storage
-
El libro de jugadas crea el sistema de archivos en el disco
/dev/sdb
. -
El libro de jugadas monta persistentemente el sistema de archivos en el directorio
/mnt/data
directorio. -
La etiqueta del sistema de archivos es
label-name
.
Recursos adicionales
-
Para más detalles sobre los parámetros utilizados en el rol de sistema
storage
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.storage/README.md
.
2.8. Ejemplo de playbook de Ansible para crear y montar un sistema de archivos ext3
Esta sección proporciona un ejemplo de libro de jugadas de Ansible. Este libro de jugadas aplica el rol storage
para crear y montar un sistema de archivos Ext3.
Ejemplo 2.6. Un playbook que crea Ext3 en /dev/sdb y lo monta en /mnt/data
--- - hosts: all vars: storage_volumes: - name: barefs type: disk disks: - sdb fs_type: ext3 fs_label: label-name mount_point: /mnt/data roles: - rhel-system-roles.storage
---
- hosts: all
vars:
storage_volumes:
- name: barefs
type: disk
disks:
- sdb
fs_type: ext3
fs_label: label-name
mount_point: /mnt/data
roles:
- rhel-system-roles.storage
-
El libro de jugadas crea el sistema de archivos en el disco
/dev/sdb
. -
El libro de jugadas monta persistentemente el sistema de archivos en el directorio
/mnt/data
directorio. -
La etiqueta del sistema de archivos es
label-name
.
Recursos adicionales
-
Para más detalles sobre los parámetros utilizados en el rol de sistema
storage
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.storage/README.md
.
2.9. Configuración de un volumen RAID mediante el rol de sistema de almacenamiento
Con el rol de sistema storage
, puede configurar un volumen RAID en RHEL utilizando Red Hat Ansible Automation Platform. En esta sección aprenderá a configurar un playbook de Ansible con los parámetros disponibles para configurar un volumen RAID que se adapte a sus necesidades.
Requisitos previos
Tiene instalado Red Hat Ansible Engine en el sistema desde el que desea ejecutar el libro de jugadas.
NotaNo es necesario tener Red Hat Ansible Automation Platform instalado en los sistemas en los que se desea implementar la solución
storage
.-
Tienes el paquete
rhel-system-roles
instalado en el sistema desde el que quieres ejecutar el playbook. -
Tienes un archivo de inventario que detalla los sistemas en los que quieres desplegar un volumen RAID usando el rol de sistema
storage
.
Procedimiento
Cree un nuevo
playbook.yml
archivo con el siguiente contenido:- hosts: all vars: storage_safe_mode: false storage_volumes: - name: data type: raid disks: [sdd, sde, sdf, sdg] raid_level: raid0 raid_chunk_size: 32 KiB mount_point: /mnt/data state: present roles: - name: rhel-system-roles.storage
- hosts: all vars: storage_safe_mode: false storage_volumes: - name: data type: raid disks: [sdd, sde, sdf, sdg] raid_level: raid0 raid_chunk_size: 32 KiB mount_point: /mnt/data state: present roles: - name: rhel-system-roles.storage
Copy to Clipboard Copied! AvisoLos nombres de los dispositivos pueden cambiar en determinadas circunstancias; por ejemplo, cuando se añade un nuevo disco a un sistema. Por lo tanto, para evitar la pérdida de datos, no se recomienda utilizar nombres de discos específicos en el libro de jugadas.
Opcional. Verificar la sintaxis del libro de jugadas.
ansible-playbook --syntax-check playbook.yml
# ansible-playbook --syntax-check playbook.yml
Copy to Clipboard Copied! Ejecute el libro de jugadas en su archivo de inventario:
ansible-playbook -i inventory.file /path/to/file/playbook.yml
# ansible-playbook -i inventory.file /path/to/file/playbook.yml
Copy to Clipboard Copied!
Recursos adicionales
- Para obtener más información sobre RAID, consulte Gestión de RAID.
-
Para obtener detalles sobre los parámetros utilizados en el rol del sistema de almacenamiento, consulte el archivo
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
.
2.10. Configuración de un pool LVM con RAID utilizando el rol de sistema de almacenamiento
Con el rol de sistema storage
, puede configurar un pool LVM con RAID en RHEL utilizando Red Hat Ansible Automation Platform. En esta sección aprenderá a configurar un playbook Ansible con los parámetros disponibles para configurar un pool LVM con RAID.
Requisitos previos
Tiene instalado Red Hat Ansible Engine en el sistema desde el que desea ejecutar el libro de jugadas.
NotaNo es necesario tener Red Hat Ansible Automation Platform instalado en los sistemas en los que se desea implementar la solución
storage
.-
Tienes el paquete
rhel-system-roles
instalado en el sistema desde el que quieres ejecutar el playbook. -
Tienes un archivo de inventario que detalla los sistemas en los que quieres configurar un pool LVM con RAID utilizando el rol de sistema
storage
.
Procedimiento
Cree un nuevo
playbook.yml
archivo con el siguiente contenido:- hosts: all vars: storage_safe_mode: false storage_pools: - name: my_pool type: lvm disks: [sdh, sdi] raid_level: raid1 volumes: - name: my_pool size: "1 GiB" mount_point: "/mnt/app/shared" fs_type: xfs state: present roles: - name: rhel-system-roles.storage
- hosts: all vars: storage_safe_mode: false storage_pools: - name: my_pool type: lvm disks: [sdh, sdi] raid_level: raid1 volumes: - name: my_pool size: "1 GiB" mount_point: "/mnt/app/shared" fs_type: xfs state: present roles: - name: rhel-system-roles.storage
Copy to Clipboard Copied! NotaPara crear un pool LVM con RAID, debes especificar el tipo de RAID utilizando el parámetro
raid_level
.Opcional. Verificar la sintaxis del libro de jugadas.
ansible-playbook --syntax-check playbook.yml
# ansible-playbook --syntax-check playbook.yml
Copy to Clipboard Copied! Ejecute el libro de jugadas en su archivo de inventario:
ansible-playbook -i inventory.file /path/to/file/playbook.yml
# ansible-playbook -i inventory.file /path/to/file/playbook.yml
Copy to Clipboard Copied!
Recursos adicionales
- Para obtener más información sobre RAID, consulte Gestión de RAID.
-
Para obtener detalles sobre los parámetros utilizados en el rol del sistema de almacenamiento, consulte el archivo
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
.
2.11. Creación de un volumen encriptado LUKS utilizando el rol de almacenamiento
Puede utilizar el rol storage
para crear y configurar un volumen encriptado con LUKS ejecutando un playbook de Ansible.
Requisitos previos
Tiene instalado Red Hat Ansible Engine en el sistema desde el que desea ejecutar el libro de jugadas.
NotaNo es necesario tener Red Hat Ansible Automation Platform instalado en los sistemas en los que se desea crear el volumen.
-
Tiene el paquete
rhel-system-roles
instalado en el controlador Ansible. - Dispone de un archivo de inventario en el que se detallan los sistemas en los que desea desplegar un volumen encriptado LUKS mediante el rol de sistema de almacenamiento.
Procedimiento
Cree un nuevo
playbook.yml
archivo con el siguiente contenido:- hosts: all vars: storage_volumes: - name: barefs type: disk disks: - sdb fs_type: xfs fs_label: label-name mount_point: /mnt/data encryption: true encryption_password: your-password roles: - rhel-system-roles.storage
- hosts: all vars: storage_volumes: - name: barefs type: disk disks: - sdb fs_type: xfs fs_label: label-name mount_point: /mnt/data encryption: true encryption_password: your-password roles: - rhel-system-roles.storage
Copy to Clipboard Copied! Opcional. Verificar la sintaxis del libro de jugadas:
ansible-playbook --syntax-check playbook.yml
# ansible-playbook --syntax-check playbook.yml
Copy to Clipboard Copied! Ejecute el libro de jugadas en su archivo de inventario:
ansible-playbook -i inventory.file /path/to/file/playbook.yml
# ansible-playbook -i inventory.file /path/to/file/playbook.yml
Copy to Clipboard Copied!
Recursos adicionales
Para más información, instale el paquete
rhel-system-roles
y consulte los siguientes directorios:-
/usr/share/doc/rhel-system-roles/storage/
-
/usr/share/ansible/roles/rhel-system-roles.storage/
-
Capítulo 5. Asegurar NFS
Para minimizar los riesgos de seguridad de NFS y proteger los datos en el servidor, tenga en cuenta las siguientes secciones cuando exporte sistemas de archivos NFS en un servidor o los monte en un cliente.
5.1. Seguridad NFS con AUTH_SYS y controles de exportación
NFS ofrece las siguientes opciones tradicionales para controlar el acceso a los archivos exportados:
- El servidor restringe qué hosts pueden montar qué sistemas de archivos, ya sea por dirección IP o por nombre de host.
-
El servidor aplica los permisos del sistema de archivos para los usuarios de los clientes NFS de la misma manera que lo hace para los usuarios locales. Tradicionalmente, NFS hace esto utilizando el mensaje de llamada
AUTH_SYS
(también llamadoAUTH_UNIX
), que depende de que el cliente indique el UID y el GID del usuario. Ten en cuenta que esto significa que un cliente malicioso o mal configurado podría fácilmente equivocarse y permitir a un usuario el acceso a archivos que no debería.
Para limitar los riesgos potenciales, los administradores a menudo limitan el acceso a sólo lectura o aplastan los permisos de usuario a un ID de usuario y grupo común. Lamentablemente, estas soluciones impiden que el recurso compartido NFS se utilice de la forma prevista originalmente.
Además, si un atacante se hace con el control del servidor DNS utilizado por el sistema que exporta el sistema de archivos NFS, puede apuntar el sistema asociado a un determinado nombre de host o nombre de dominio completo a una máquina no autorizada. En este punto, la máquina no autorizada is el sistema permitido para montar el recurso compartido NFS, porque no se intercambia información de nombre de usuario o contraseña para proporcionar seguridad adicional para el montaje NFS.
Los comodines deben utilizarse con moderación al exportar directorios a través de NFS, ya que es posible que el alcance del comodín abarque más sistemas de los previstos.
Recursos adicionales
-
Para asegurar NFS y
rpcbind
, utilice, por ejemplo,nftables
yfirewalld
. Para obtener detalles sobre la configuración de estos marcos, consulte las páginas de manualnft(8)
yfirewalld-cmd(1)
.
5.2. Seguridad NFS con AUTH_GSS
Todas las versiones de NFS soportan RPCSEC_GSS y el mecanismo Kerberos.
A diferencia de AUTH_SYS, con el mecanismo RPCSEC_GSS Kerberos, el servidor no depende del cliente para representar correctamente qué usuario está accediendo al archivo. En su lugar, se utiliza la criptografía para autenticar a los usuarios en el servidor, lo que evita que un cliente malicioso se haga pasar por un usuario sin tener las credenciales Kerberos de ese usuario. El uso del mecanismo RPCSEC_GSS Kerberos es la forma más directa de asegurar los montajes porque después de configurar Kerberos, no se necesita ninguna configuración adicional.
5.3. Configuración de un servidor y un cliente NFS para utilizar Kerberos
Kerberos es un sistema de autenticación de red que permite a los clientes y a los servidores autenticarse entre sí mediante el uso de encriptación simétrica y una tercera parte de confianza, el KDC. Red Hat recomienda utilizar Identity Management (IdM) para configurar Kerberos.
Requisitos previos
-
El Centro de Distribución de Claves Kerberos (
KDC
) está instalado y configurado.
Procedimiento
-
Cree la
nfs/hostname.domain@REALM
principal en el lado del servidor NFS. -
Cree la
host/hostname.domain@REALM
principal tanto en el lado del servidor como en el del cliente. - Añade las claves correspondientes a los keytabs del cliente y del servidor.
-
Cree la
En el lado del servidor, utilice la opción
sec=
para habilitar los tipos de seguridad deseados. Para habilitar todos los tipos de seguridad, así como los montajes no criptográficos:/export *(sec=sys:krb5:krb5i:krb5p)
/export *(sec=sys:krb5:krb5i:krb5p)
Copy to Clipboard Copied! Los sabores de seguridad válidos para usar con la opción
sec=
son:-
sys
: sin protección criptográfica, por defecto -
krb5
: sólo autenticación -
krb5i
: protección de la integridad -
krb5p
: protección de la intimidad
-
En el lado del cliente, añada
sec=krb5
(osec=krb5i
, osec=krb5p
, dependiendo de la configuración) a las opciones de montaje:mount -o sec=krb5 server:/export /mnt
# mount -o sec=krb5 server:/export /mnt
Copy to Clipboard Copied!
Recursos adicionales
- Si necesita escribir archivos como root en el recurso compartido NFS protegido por Kerberos y mantener la propiedad de root sobre estos archivos, consulte https://access.redhat.com/articles/4040141. Tenga en cuenta que esta configuración no se recomienda.
- Para más información sobre la configuración de NFS, consulte las páginas de manual exports(5) y nfs(5).
5.4. Opciones de seguridad de NFSv4
NFSv4 incluye soporte ACL basado en el modelo de Microsoft Windows NT, no en el modelo POSIX, debido a las características del modelo de Microsoft Windows NT y a su amplia implantación.
Otra característica de seguridad importante de NFSv4 es la eliminación del uso del protocolo MOUNT
para montar sistemas de archivos. El protocolo MOUNT
presentaba un riesgo de seguridad debido a la forma en que el protocolo procesaba los manejadores de archivos.
5.5. Permisos de archivos en exportaciones NFS montadas
Una vez que el sistema de archivos NFS es montado como lectura o lectura y escritura por un host remoto, la única protección que tiene cada archivo compartido son sus permisos. Si dos usuarios que comparten el mismo valor de ID de usuario montan el mismo sistema de archivos NFS en diferentes sistemas cliente, pueden modificar los archivos del otro. Además, cualquier persona que haya iniciado sesión como root en el sistema cliente puede utilizar el comando su -
para acceder a cualquier archivo con el recurso compartido NFS.
Por defecto, las listas de control de acceso (ACLs) son soportadas por NFS bajo Red Hat Enterprise Linux. Red Hat recomienda mantener esta característica habilitada.
Por defecto, NFS utiliza root squashing al exportar un sistema de archivos. Esto establece el ID de usuario de cualquiera que acceda al recurso compartido NFS como usuario root en su máquina local en nobody
. El aplastamiento de la raíz se controla con la opción por defecto root_squash
; para más información sobre esta opción, consulte Sección 4.6, “Configuración del servidor NFS”.
Al exportar un recurso compartido NFS como de sólo lectura, considere el uso de la opción all_squash
. Esta opción hace que todos los usuarios que accedan al sistema de archivos exportado tomen el ID del usuario de nobody
.
Capítulo 6. Habilitación de disposiciones SCSI pNFS en NFS
Puede configurar el servidor y el cliente NFS para que utilicen la disposición SCSI pNFS para acceder a los datos. SCSI pNFS es beneficioso en los casos de uso que implican un acceso de larga duración de un solo cliente a un archivo.
Requisitos previos
- Tanto el cliente como el servidor deben poder enviar comandos SCSI al mismo dispositivo de bloque. Es decir, el dispositivo de bloque debe estar en un bus SCSI compartido.
- El dispositivo de bloque debe contener un sistema de archivos XFS.
- El dispositivo SCSI debe ser compatible con las reservas persistentes SCSI, como se describe en la especificación de comandos primarios SCSI-3.
6.1. La tecnología pNFS
La arquitectura pNFS mejora la escalabilidad de NFS. Cuando un servidor implementa pNFS, el cliente puede acceder a los datos a través de varios servidores de forma simultánea. Esto puede suponer una mejora del rendimiento.
pNFS admite los siguientes protocolos o disposiciones de almacenamiento en RHEL:
- Archivos
- Flexfiles
- SCSI
6.2. disposiciones SCSI pNFS
El diseño SCSI se basa en el trabajo de los diseños de bloques pNFS. La disposición se define a través de los dispositivos SCSI. Contiene una serie secuencial de bloques de tamaño fijo como unidades lógicas (LUs) que deben ser capaces de soportar reservas persistentes SCSI. Los dispositivos LU se identifican por su identificación de dispositivo SCSI.
pNFS SCSI funciona bien en casos de uso que implican el acceso de un solo cliente de larga duración a un archivo. Un ejemplo podría ser un servidor de correo o una máquina virtual que albergue un clúster.
Operaciones entre el cliente y el servidor
Cuando un cliente NFS lee de un archivo o escribe en él, el cliente realiza una operación LAYOUTGET
. El servidor responde con la ubicación del archivo en el dispositivo SCSI. Es posible que el cliente tenga que realizar una operación adicional de GETDEVICEINFO
para determinar qué dispositivo SCSI debe utilizar. Si estas operaciones funcionan correctamente, el cliente puede emitir peticiones de E/S directamente al dispositivo SCSI en lugar de enviar las operaciones READ
y WRITE
al servidor.
Los errores o la contención entre clientes pueden hacer que el servidor recupere los diseños o no los emita a los clientes. En esos casos, los clientes vuelven a emitir READ
y WRITE
operaciones al servidor en lugar de enviar solicitudes de E/S directamente al dispositivo SCSI.
Para supervisar las operaciones, consulte Sección 6.7, “Supervisión de la funcionalidad de los diseños SCSI de PNFS”.
Reservas de dispositivos
pNFS SCSI maneja el cercado a través de la asignación de reservas. Antes de que el servidor emita distribuciones a los clientes, reserva el dispositivo SCSI para garantizar que sólo los clientes registrados puedan acceder al dispositivo. Si un cliente puede emitir comandos a ese dispositivo SCSI pero no está registrado en el dispositivo, muchas operaciones del cliente en ese dispositivo fallan. Por ejemplo, el comando blkid
en el cliente falla al mostrar el UUID del sistema de archivos XFS si el servidor no ha dado una distribución para ese dispositivo al cliente.
El servidor no elimina su propia reserva persistente. Esto protege los datos dentro del sistema de archivos del dispositivo a través de los reinicios de los clientes y servidores. Para reutilizar el dispositivo SCSI, es posible que tenga que eliminar manualmente la reserva persistente en el servidor NFS.
6.3. Comprobación de un dispositivo SCSI compatible con pNFS
Este procedimiento comprueba si un dispositivo SCSI es compatible con la disposición SCSI pNFS.
Requisitos previos
Instale el paquete
sg3_utils
:yum install sg3_utils
# yum install sg3_utils
Copy to Clipboard Copied!
Procedimiento
Tanto en el servidor como en el cliente, compruebe que el dispositivo SCSI es compatible:
sg_persist --in --report-capabilities --verbose path-to-scsi-device
sg_persist --in --report-capabilities --verbose path-to-scsi-device
Copy to Clipboard Copied! Asegúrese de que el bit Persist Through Power Loss Active (
PTPL_A
) está activado.Ejemplo 6.1. Un dispositivo SCSI compatible con SCSI pNFS
El siguiente es un ejemplo de la salida de
sg_persist
para un dispositivo SCSI que soporta pNFS SCSI. El bitPTPL_A
informa de1
.inquiry cdb: 12 00 00 00 24 00 Persistent Reservation In cmd: 5e 02 00 00 00 00 00 20 00 00 LIO-ORG block11 4.0 Peripheral device type: disk Report capabilities response: Compatible Reservation Handling(CRH): 1 Specify Initiator Ports Capable(SIP_C): 1 All Target Ports Capable(ATP_C): 1 Persist Through Power Loss Capable(PTPL_C): 1 Type Mask Valid(TMV): 1 Allow Commands: 1 Persist Through Power Loss Active(PTPL_A): 1 Support indicated in Type mask: Write Exclusive, all registrants: 1 Exclusive Access, registrants only: 1 Write Exclusive, registrants only: 1 Exclusive Access: 1 Write Exclusive: 1 Exclusive Access, all registrants: 1
inquiry cdb: 12 00 00 00 24 00 Persistent Reservation In cmd: 5e 02 00 00 00 00 00 20 00 00 LIO-ORG block11 4.0 Peripheral device type: disk Report capabilities response: Compatible Reservation Handling(CRH): 1 Specify Initiator Ports Capable(SIP_C): 1 All Target Ports Capable(ATP_C): 1 Persist Through Power Loss Capable(PTPL_C): 1 Type Mask Valid(TMV): 1 Allow Commands: 1 Persist Through Power Loss Active(PTPL_A): 1 Support indicated in Type mask: Write Exclusive, all registrants: 1 Exclusive Access, registrants only: 1 Write Exclusive, registrants only: 1 Exclusive Access: 1 Write Exclusive: 1 Exclusive Access, all registrants: 1
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
sg_persist(8)
6.4. Configuración de pNFS SCSI en el servidor
Este procedimiento configura un servidor NFS para exportar una disposición SCSI pNFS.
Procedimiento
- En el servidor, monte el sistema de archivos XFS creado en el dispositivo SCSI.
Configure el servidor NFS para exportar la versión 4.1 o superior de NFS. Establezca la siguiente opción en la sección
[nfsd]
del archivo/etc/nfs.conf
:[nfsd] vers4.1=y
[nfsd] vers4.1=y
Copy to Clipboard Copied! Configure el servidor NFS para exportar el sistema de archivos XFS a través de NFS con la opción
pnfs
:Ejemplo 6.2. Una entrada en /etc/exports para exportar pNFS SCSI
La siguiente entrada en el archivo de configuración
/etc/exports
exporta el sistema de archivos montado en/exported/directory/
al clienteallowed.example.com
como una disposición SCSI pNFS:/exportado/directorio permitido.ejemplo.com(pnfs)
/exportado/directorio permitido.ejemplo.com(pnfs)
Copy to Clipboard Copied!
Recursos adicionales
- Para más información sobre la configuración de un servidor NFS, consulte Capítulo 4, Exportación de recursos compartidos NFS.
6.5. Configuración de pNFS SCSI en el cliente
Este procedimiento configura un cliente NFS para montar una disposición SCSI pNFS.
Requisitos previos
- El servidor NFS está configurado para exportar un sistema de archivos XFS sobre SCSI pNFS. Véase Sección 6.4, “Configuración de pNFS SCSI en el servidor”.
Procedimiento
En el cliente, monte el sistema de archivos XFS exportado utilizando la versión 4.1 o superior de NFS:
mount -t nfs -o nfsvers=4.1 host:/remote/export /local/directory
# mount -t nfs -o nfsvers=4.1 host:/remote/export /local/directory
Copy to Clipboard Copied! No monte el sistema de archivos XFS directamente sin NFS.
Recursos adicionales
- Para más información sobre el montaje de recursos compartidos NFS, consulte Capítulo 3, Montaje de recursos compartidos NFS.
6.6. Liberación de la reserva SCSI pNFS en el servidor
Este procedimiento libera la reserva persistente que un servidor NFS mantiene en un dispositivo SCSI. Esto le permite reutilizar el dispositivo SCSI cuando ya no necesite exportar pNFS SCSI.
Debe eliminar la reserva del servidor. No se puede eliminar de otro IT Nexus.
Requisitos previos
Instale el paquete
sg3_utils
:yum install sg3_utils
# yum install sg3_utils
Copy to Clipboard Copied!
Procedimiento
Consultar una reserva existente en el servidor:
sg_persist --read-reservation path-to-scsi-device
# sg_persist --read-reservation path-to-scsi-device
Copy to Clipboard Copied! Ejemplo 6.3. Consulta de una reserva en /dev/sda
sg_persist --read-reservation /dev/sda
# sg_persist --read-reservation /dev/sda LIO-ORG block_1 4.0 Peripheral device type: disk PR generation=0x8, Reservation follows: Key=0x100000000000000 scope: LU_SCOPE, type: Exclusive Access, registrants only
Copy to Clipboard Copied! Eliminar el registro existente en el servidor:
sg_persist --out \ --release \ --param-rk=reservation-key \ --prout-type=6 \ path-to-scsi-device
# sg_persist --out \ --release \ --param-rk=reservation-key \ --prout-type=6 \ path-to-scsi-device
Copy to Clipboard Copied! Ejemplo 6.4. Eliminación de una reserva en /dev/sda
sg_persist --out \ --release \ --param-rk=0x100000000000000 \ --prout-type=6 \ /dev/sda
# sg_persist --out \ --release \ --param-rk=0x100000000000000 \ --prout-type=6 \ /dev/sda LIO-ORG block_1 4.0 Peripheral device type: disk
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
sg_persist(8)
6.7. Supervisión de la funcionalidad de los diseños SCSI de PNFS
Puede supervisar si el cliente y el servidor pNFS intercambian operaciones SCSI pNFS adecuadas o si recurren a operaciones NFS normales.
Requisitos previos
- Un cliente y un servidor SCSI pNFS están configurados.
6.7.1. Comprobación de las operaciones SCSI pNFS desde el servidor mediante nfsstat
Este procedimiento utiliza la utilidad nfsstat
para supervisar las operaciones SCSI de pNFS desde el servidor.
Procedimiento
Supervisar las operaciones atendidas desde el servidor:
watch --differences \ "nfsstat --server | egrep --after-context=1 read\|write\|layout"
# watch --differences \ "nfsstat --server | egrep --after-context=1 read\|write\|layout" Every 2.0s: nfsstat --server | egrep --after-context=1 read\|write\|layout putrootfh read readdir readlink remove rename 2 0% 0 0% 1 0% 0 0% 0 0% 0 0% -- setcltidconf verify write rellockowner bc_ctl bind_conn 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% -- getdevlist layoutcommit layoutget layoutreturn secinfononam sequence 0 0% 29 1% 49 1% 5 0% 0 0% 2435 86%
Copy to Clipboard Copied! El cliente y el servidor utilizan operaciones SCSI pNFS cuando:
-
Los contadores
layoutget
,layoutreturn
, ylayoutcommit
se incrementan. Esto significa que el servidor está sirviendo diseños. -
Los contadores del servidor
read
ywrite
no se incrementan. Esto significa que los clientes están realizando peticiones de E/S directamente a los dispositivos SCSI.
-
Los contadores
6.7.2. Comprobación de las operaciones SCSI de pNFS desde el cliente mediante mountstats
Este procedimiento utiliza el archivo /proc/self/mountstats
para supervisar las operaciones SCSI de pNFS desde el cliente.
Procedimiento
Enumerar los contadores de operaciones por monte:
cat /proc/self/mountstats \ | awk /scsi_lun_0/,/^$/ \ | awk /scsi_lun_0/,/^$/ \ | egrep device\|READ\|WRITE\|LAYOUT | egrep device\|READ\|WRITE\|LAYOUT device 192.168.122.73:/exports/scsi_lun_0 mounted on /mnt/rhel7/scsi_lun_0 with fstype nfs4 statvers=1.1 nfsv4: bm0=0xfdffbfff,bm1=0x40f9be3e,bm2=0x803,acl=0x3,sessions,pnfs=LAYOUT_SCSI READ: 0 0 0 0 0 0 0 0 WRITE: 0 0 0 0 0 0 0 0 READLINK: 0 0 0 0 0 0 0 0 READDIR: 0 0 0 0 0 0 0 0 LAYOUTGET: 49 49 0 11172 9604 2 19448 19454 LAYOUTCOMMIT: 28 28 0 7776 4808 0 24719 24722 LAYOUTRETURN: 0 0 0 0 0 0 0 0 LAYOUTSTATS: 0 0 0 0 0 0 0 0
# cat /proc/self/mountstats \ | awk /scsi_lun_0/,/^$/ \ | egrep device\|READ\|WRITE\|LAYOUT device 192.168.122.73:/exports/scsi_lun_0 mounted on /mnt/rhel7/scsi_lun_0 with fstype nfs4 statvers=1.1 nfsv4: bm0=0xfdffbfff,bm1=0x40f9be3e,bm2=0x803,acl=0x3,sessions,pnfs=LAYOUT_SCSI READ: 0 0 0 0 0 0 0 0 WRITE: 0 0 0 0 0 0 0 0 READLINK: 0 0 0 0 0 0 0 0 READDIR: 0 0 0 0 0 0 0 0 LAYOUTGET: 49 49 0 11172 9604 2 19448 19454 LAYOUTCOMMIT: 28 28 0 7776 4808 0 24719 24722 LAYOUTRETURN: 0 0 0 0 0 0 0 0 LAYOUTSTATS: 0 0 0 0 0 0 0 0
Copy to Clipboard Copied! En los resultados:
-
Las estadísticas de
LAYOUT
indican las peticiones en las que el cliente y el servidor utilizan operaciones SCSI pNFS. -
Las estadísticas
READ
yWRITE
indican las solicitudes en las que el cliente y el servidor vuelven a las operaciones NFS.
-
Las estadísticas de
Capítulo 7. Cómo empezar con FS-Cache
FS-Cache es una caché local persistente que los sistemas de archivos pueden utilizar para tomar los datos recuperados de la red y almacenarlos en el disco local. Esto ayuda a minimizar el tráfico de red para los usuarios que acceden a los datos de un sistema de archivos montado en la red (por ejemplo, NFS).
7.1. Visión general del FS-Cache
El siguiente diagrama es una ilustración de alto nivel de cómo funciona FS-Cache:
Figura 7.1. Visión general de FS-Cache
FS-Cache está diseñado para ser lo más transparente posible para los usuarios y administradores de un sistema. A diferencia de cachefs
en Solaris, FS-Cache permite que un sistema de archivos en un servidor interactúe directamente con la caché local de un cliente sin crear un sistema de archivos sobremontado. Con NFS, una opción de montaje indica al cliente que monte el recurso compartido NFS con FS-cache activado. El punto de montaje provocará la carga automática de dos módulos del kernel: fscache
y cachefiles
. El demonio cachefilesd
se comunica con los módulos del kernel para implementar la caché.
FS-Cache no altera el funcionamiento básico de un sistema de archivos que funciona a través de la red - simplemente proporciona a ese sistema de archivos un lugar persistente en el que puede almacenar datos en caché. Por ejemplo, un cliente puede seguir montando un recurso compartido NFS tanto si FS-Cache está activado como si no. Además, el NFS en caché puede manejar archivos que no caben en la caché (ya sea individual o colectivamente) ya que los archivos pueden ser parcialmente almacenados en caché y no tienen que ser leídos completamente por adelantado. FS-Cache también oculta todos los errores de E/S que se producen en la caché al controlador del sistema de archivos del cliente.
Para proporcionar servicios de caché, FS-Cache necesita un cache back end. Un back end de caché es un controlador de almacenamiento configurado para proporcionar servicios de caché, que es cachefiles
. En este caso, FS-Cache requiere un sistema de archivos basado en bloques montado que soporte bmap
y atributos extendidos (por ejemplo, ext3) como su back end de caché.
Los sistemas de archivos que soportan las funcionalidades requeridas por el back end de la caché FS-Cache incluyen las implementaciones de Red Hat Enterprise Linux 8 de los siguientes sistemas de archivos:
- ext3 (con los atributos extendidos activados)
- ext4
- XFS
FS-Cache no puede almacenar arbitrariamente en caché cualquier sistema de archivos, ya sea a través de la red o de otra manera: el controlador del sistema de archivos compartido debe ser alterado para permitir la interacción con FS-Cache, el almacenamiento/recuperación de datos, y la configuración y validación de metadatos. FS-Cache necesita indexing keys y coherency data del sistema de archivos en caché para soportar la persistencia: claves de indexación para hacer coincidir los objetos del sistema de archivos con los objetos de la caché, y datos de coherencia para determinar si los objetos de la caché siguen siendo válidos.
En Red Hat Enterprise Linux 8, el paquete cachefilesd no está instalado por defecto y debe ser instalado manualmente.
7.2. Garantía de funcionamiento
FS-Cache no not garantiza un mayor rendimiento. El uso de una caché incurre en una penalización de rendimiento: por ejemplo, los recursos compartidos NFS en caché añaden accesos a disco a las búsquedas a través de la red. Aunque FS-Cache intenta ser lo más asíncrono posible, hay rutas síncronas (por ejemplo, lecturas) en las que esto no es posible.
Por ejemplo, el uso de FS-Cache para almacenar en caché un recurso compartido NFS entre dos ordenadores a través de una red GigE sin carga probablemente no demostrará ninguna mejora de rendimiento en el acceso a los archivos. Más bien, las peticiones NFS se satisfarán más rápidamente desde la memoria del servidor en lugar de desde el disco local.
El uso de FS-Cache, por lo tanto, es un compromise entre varios factores. Si FS-Cache se utiliza para almacenar en caché el tráfico NFS, por ejemplo, puede ralentizar un poco al cliente, pero reducir masivamente la carga de la red y del servidor al satisfacer las peticiones de lectura localmente sin consumir el ancho de banda de la red.
7.3. Configurar un caché
Actualmente, Red Hat Enterprise Linux 8 sólo proporciona el back-end de almacenamiento en caché cachefiles
. El demonio cachefilesd
inicia y gestiona cachefiles
. El archivo /etc/cachefilesd.conf
controla la forma en que cachefiles
proporciona los servicios de almacenamiento en caché.
El back end de la caché funciona manteniendo una cierta cantidad de espacio libre en la partición que la alberga. Crece y reduce la caché en respuesta a otros elementos del sistema que utilizan el espacio libre, lo que hace que sea seguro utilizarla en el sistema de archivos raíz (por ejemplo, en un portátil). FS-Cache establece los valores por defecto de este comportamiento, que puede ser configurado a través de cache cull limits. Para más información sobre la configuración de los límites de la caché, vea Sección 7.5, “Configuración de los límites de la caché”.
Este procedimiento muestra cómo configurar un caché.
Requisitos previos
El paquete cachefilesd paquete está instalado y el servicio se ha iniciado con éxito. Para asegurarse de que el servicio se está ejecutando, utilice el siguiente comando:
systemctl start cachefilesd systemctl status cachefilesd
# systemctl start cachefilesd # systemctl status cachefilesd
Copy to Clipboard Copied! El estado debe ser active (running).
Procedimiento
Configure en un back end de caché qué directorio utilizar como caché, utilice el siguiente parámetro:
dir /path/to/cache
$ dir /path/to/cache
Copy to Clipboard Copied! Normalmente, el directorio del back end de la caché se establece en
/etc/cachefilesd.conf
como/var/cache/fscache
, como en:dir /var/cache/fscache
$ dir /var/cache/fscache
Copy to Clipboard Copied! Si quiere cambiar el directorio del back end de la caché, el contexto de selinux debe ser el mismo que
/var/cache/fscache
:semanage fcontext -a -e /var/cache/fscache /path/to/cache restorecon -Rv /path/to/cache
# semanage fcontext -a -e /var/cache/fscache /path/to/cache # restorecon -Rv /path/to/cache
Copy to Clipboard Copied! - Sustituya /path/to/cache por el nombre del directorio al configurar la caché.
Si los comandos dados para establecer el contexto de selinux no funcionaron, utilice los siguientes comandos:
semanage permissive -a cachefilesd_t semanage permissive -a cachefiles_kernel_t
# semanage permissive -a cachefilesd_t # semanage permissive -a cachefiles_kernel_t
Copy to Clipboard Copied! FS-Cache almacenará la caché en el sistema de archivos que aloja
/path/to/cache
. En un portátil, es aconsejable utilizar el sistema de archivos raíz (/
) como sistema de archivos anfitrión, pero para una máquina de escritorio sería más prudente montar una partición de disco específicamente para la caché.El sistema de archivos anfitrión debe soportar atributos extendidos definidos por el usuario; FS-Cache utiliza estos atributos para almacenar información de mantenimiento de coherencia. Para habilitar los atributos extendidos definidos por el usuario para los sistemas de archivos ext3 (es decir
device
), utilice:tune2fs -o user_xattr /dev/device
# tune2fs -o user_xattr /dev/device
Copy to Clipboard Copied! Para habilitar los atributos extendidos para un sistema de archivos en el momento del montaje, como alternativa, utilice el siguiente comando:
mount /dev/device /path/to/cache -o user_xattr
# mount /dev/device /path/to/cache -o user_xattr
Copy to Clipboard Copied! Una vez que el archivo de configuración esté en su lugar, inicie el servicio
cachefilesd
:systemctl start cachefilesd
# systemctl start cachefilesd
Copy to Clipboard Copied! Para configurar
cachefilesd
para que se inicie en el momento del arranque, ejecute el siguiente comando como root:systemctl enable cachefilesd
# systemctl enable cachefilesd
Copy to Clipboard Copied!
7.4. Uso de la caché con NFS
NFS no utilizará la caché a menos que se le indique explícitamente. Este párrafo muestra cómo configurar un montaje NFS utilizando FS-Cache.
Requisitos previos
El paquete cachefilesd está instalado y funcionando. Para asegurarse de que se está ejecutando, utilice el siguiente comando:
systemctl start cachefilesd systemctl status cachefilesd
# systemctl start cachefilesd # systemctl status cachefilesd
Copy to Clipboard Copied! El estado debe ser active (running).
Monte los recursos compartidos NFS con la siguiente opción:
mount nfs-share:/ /mount/point -o fsc
# mount nfs-share:/ /mount/point -o fsc
Copy to Clipboard Copied! Todos los accesos a los archivos bajo
/mount/point
pasará a través de la caché, a menos que el archivo se abra para la E/S directa o la escritura. Para más información, consulte Sección 7.4.2, “Limitaciones de la caché con NFS”. NFS indexa el contenido de la caché utilizando el manejador del archivo NFS, not el nombre del archivo, lo que significa que los archivos con enlaces duros comparten la caché correctamente.
Las versiones 3, 4.0, 4.1 y 4.2 de NFS admiten el almacenamiento en caché. Sin embargo, cada versión utiliza diferentes ramas para el almacenamiento en caché.
7.4.1. Configuración de la compartición de la caché NFS
Hay varios problemas potenciales que tienen que ver con la compartición de la caché NFS. Dado que la caché es persistente, los bloques de datos en la caché están indexados en una secuencia de cuatro claves:
- Nivel 1: Detalles del servidor
- Nivel 2: Algunas opciones de montaje; tipo de seguridad; FSID; unificador
- Nivel 3: Manejador de archivos
- Nivel 4: Número de página en el expediente
Para evitar problemas de gestión de la coherencia entre los superbloques, todos los superbloques NFS que requieren almacenar datos en caché tienen claves de nivel 2 únicas. Normalmente, dos montajes NFS con el mismo volumen de origen y las mismas opciones comparten un superbloque, y por lo tanto comparten el almacenamiento en caché, incluso si montan diferentes directorios dentro de ese volumen.
Este es un ejemplo de cómo configurar la compartición de caché con diferentes opciones.
Procedimiento
Monte los recursos compartidos NFS con los siguientes comandos:
mount home0:/disk0/fred /home/fred -o fsc mount home0:/disk0/jim /home/jim -o fsc
mount home0:/disk0/fred /home/fred -o fsc mount home0:/disk0/jim /home/jim -o fsc
Copy to Clipboard Copied! Aquí,
/home/fred
y/home/jim
probablemente comparten el superbloque ya que tienen las mismas opciones, especialmente si provienen del mismo volumen/partición en el servidor NFS (home0
).Para no compartir el superbloque, utilice el comando
mount
con las siguientes opciones:mount home0:/disk0/fred /home/fred -o fsc,rsize=8192 mount home0:/disk0/jim /home/jim -o fsc,rsize=65536
mount home0:/disk0/fred /home/fred -o fsc,rsize=8192 mount home0:/disk0/jim /home/jim -o fsc,rsize=65536
Copy to Clipboard Copied! En este caso,
/home/fred
y/home/jim
no compartirán el superbloque ya que tienen diferentes parámetros de acceso a la red, que forman parte de la clave de nivel 2.Para almacenar en caché el contenido de los dos subárboles (
/home/fred1
y/home/fred2
) twice sin compartir el superbloque, utilice el siguiente comando:mount home0:/disk0/fred /home/fred1 -o fsc,rsize=8192 mount home0:/disk0/fred /home/fred2 -o fsc,rsize=65536
mount home0:/disk0/fred /home/fred1 -o fsc,rsize=8192 mount home0:/disk0/fred /home/fred2 -o fsc,rsize=65536
Copy to Clipboard Copied! Otra forma de evitar la compartición de superbloques es suprimirla explícitamente con el parámetro
nosharecache
. Utilizando el mismo ejemplo:mount home0:/disk0/fred /home/fred -o nosharecache,fsc mount home0:/disk0/jim /home/jim -o nosharecache,fsc
mount home0:/disk0/fred /home/fred -o nosharecache,fsc mount home0:/disk0/jim /home/jim -o nosharecache,fsc
Copy to Clipboard Copied! Sin embargo, en este caso sólo se permite que uno de los superbloques utilice la caché, ya que no hay nada que distinga las claves de nivel 2 de
home0:/disk0/fred
yhome0:/disk0/jim
.Para especificar el direccionamiento al superbloque, añada un unique identifier en al menos uno de los montajes, es decir
fsc=unique-identifier
:mount home0:/disk0/fred /home/fred -o nosharecache,fsc mount home0:/disk0/jim /home/jim -o nosharecache,fsc=jim
mount home0:/disk0/fred /home/fred -o nosharecache,fsc mount home0:/disk0/jim /home/jim -o nosharecache,fsc=jim
Copy to Clipboard Copied! Aquí, el identificador único
jim
se añade a la clave de nivel 2 utilizada en la caché para/home/jim
.
El usuario no puede compartir cachés entre superbloques que tengan diferentes parámetros de comunicación o de protocolo. Por ejemplo, no es posible compartir entre NFSv4.0 y NFSv3 o entre NFSv4.1 y NFSv4.2 porque fuerzan superbloques diferentes. También el ajuste de parámetros, como el tamaño de lectura (rsize), impide compartir la caché porque, de nuevo, fuerza un superbloque diferente.
7.4.2. Limitaciones de la caché con NFS
Hay algunas limitaciones de caché con NFS:
- Al abrir un archivo desde un sistema de archivos compartido para una E/S directa, se omite automáticamente la caché. Esto se debe a que este tipo de acceso debe ser directo al servidor.
- La apertura de un archivo desde un sistema de archivos compartido, ya sea para E/S directa o para escritura, vacía la copia en caché del archivo. FS-Cache no volverá a almacenar el archivo en la caché hasta que ya no se abra para E/S directa o escritura.
- Además, esta versión de FS-Cache sólo almacena en caché los archivos NFS normales. FS-Cache not almacenará en caché directorios, enlaces simbólicos, archivos de dispositivos, FIFOs y sockets.
7.5. Configuración de los límites de la caché
El demonio cachefilesd
funciona almacenando en caché los datos remotos de los sistemas de archivos compartidos para liberar espacio en el disco. Esto podría consumir todo el espacio libre disponible, lo que podría ser malo si el disco también albergara la partición raíz. Para controlar esto, cachefilesd
intenta mantener una cierta cantidad de espacio libre descartando de la caché los objetos antiguos (es decir, a los que se ha accedido menos recientemente). Este comportamiento se conoce como cache culling.
La selección de la caché se realiza en función del porcentaje de bloques y del porcentaje de archivos disponibles en el sistema de archivos subyacente. Hay ajustes en /etc/cachefilesd.conf
que controlan seis límites:
- brun N% (porcentaje de bloques), frun N% (porcentaje de archivos)
- Si la cantidad de espacio libre y el número de archivos disponibles en la caché superan estos dos límites, la selección se desactiva.
- bcull N% (porcentaje de bloques), fcull N% (porcentaje de archivos)
- Si la cantidad de espacio disponible o el número de archivos en la caché cae por debajo de cualquiera de estos límites, se inicia la selección.
- bstop N% (porcentaje de bloques), fstop N% (porcentaje de archivos)
- Si la cantidad de espacio disponible o el número de archivos disponibles en la caché cae por debajo de cualquiera de estos límites, entonces no se permite ninguna otra asignación de espacio en disco o de archivos hasta que el culling haya elevado las cosas por encima de estos límites de nuevo.
El valor por defecto de N
para cada ajuste es el siguiente:
-
brun
/frun
- 10% -
bcull
/fcull
- 7 % -
bstop
/fstop
- 3%
Al configurar estos ajustes, debe cumplirse lo siguiente:
- 0
- 0
Estos son los porcentajes de espacio y archivos disponibles y no aparecen como 100 menos el porcentaje que muestra el programa df
.
El sacrificio depende de los pares bxxx y fxxx simultáneamente; el usuario no puede tratarlos por separado.
7.6. Recuperación de información estadística del módulo del núcleo fscache
FS-Cache también mantiene un registro de información estadística general. Este procedimiento muestra cómo obtener esta información.
Procedimiento
Para ver la información estadística de FS-Cache, utilice el siguiente comando:
cat /proc/fs/fscache/stats
# cat /proc/fs/fscache/stats
Copy to Clipboard Copied!
Las estadísticas de FS-Cache incluyen información sobre puntos de decisión y contadores de objetos. Para más información, consulte el siguiente documento del kernel:
/usr/share/doc/kernel-doc-4.18.0/Documentation/filesystems/caching/fscache.txt
7.7. Referencias de FS-Cache
Esta sección proporciona información de referencia para FS-Cache.
Para más información sobre
cachefilesd
y cómo configurarlo, consulteman cachefilesd
yman cachefilesd.conf
. Los siguientes documentos del kernel también proporcionan información adicional:-
/usr/share/doc/cachefilesd/README
-
/usr/share/man/man5/cachefilesd.conf.5.gz
-
/usr/share/man/man8/cachefilesd.8.gz
-
Para información general sobre FS-Cache, incluyendo detalles sobre sus restricciones de diseño, estadísticas disponibles y capacidades, vea el siguiente documento del kernel:
/usr/share/doc/kernel-doc-4.18.0/Documentation/filesystems/caching/fscache.txt
Capítulo 9. Visión general de los atributos de nomenclatura persistente
Como administrador del sistema, usted necesita referirse a los volúmenes de almacenamiento utilizando atributos de nomenclatura persistentes para construir configuraciones de almacenamiento que sean confiables a través de múltiples arranques del sistema.
9.1. Desventajas de los atributos de denominación no persistentes
Red Hat Enterprise Linux proporciona varias formas de identificar los dispositivos de almacenamiento. Es importante utilizar la opción correcta para identificar cada dispositivo cuando se utiliza para evitar acceder inadvertidamente al dispositivo equivocado, particularmente cuando se instalan o reformatean unidades.
Tradicionalmente, los nombres no persistentes en forma de /dev/sd(major number)(minor number)
se utilizan en Linux para referirse a los dispositivos de almacenamiento. El rango de números mayores y menores y los nombres sd
asociados se asignan a cada dispositivo cuando se detecta. Esto significa que la asociación entre el rango de números mayores y menores y los nombres sd
asociados puede cambiar si el orden de detección del dispositivo cambia.
Este cambio en el ordenamiento podría ocurrir en las siguientes situaciones:
- La paralelización del proceso de arranque del sistema detecta los dispositivos de almacenamiento en un orden diferente con cada arranque del sistema.
-
Un disco no se enciende o no responde a la controladora SCSI. Esto hace que no sea detectado por la sonda normal de dispositivos. El disco no es accesible para el sistema y los dispositivos subsiguientes tendrán su rango de números mayores y menores, incluyendo los nombres asociados
sd
desplazados hacia abajo. Por ejemplo, si un disco normalmente referido comosdb
no es detectado, un disco normalmente referido comosdc
aparecerá comosdb
. -
Un controlador SCSI (adaptador de bus de host, o HBA) no se inicializa, lo que provoca que no se detecten todos los discos conectados a ese HBA. A todos los discos conectados a los HBA comprobados posteriormente se les asignan diferentes rangos de números mayores y menores, y diferentes nombres asociados
sd
. - El orden de inicialización del controlador cambia si hay diferentes tipos de HBA en el sistema. Esto hace que los discos conectados a esos HBAs sean detectados en un orden diferente. Esto también puede ocurrir si los HBA se mueven a diferentes ranuras PCI en el sistema.
-
Los discos conectados al sistema con adaptadores de canal de fibra, iSCSI o FCoE pueden ser inaccesibles en el momento en que se comprueban los dispositivos de almacenamiento, debido a que una matriz de almacenamiento o un interruptor intermedio están apagados, por ejemplo. Esto puede ocurrir cuando un sistema se reinicia después de un fallo de alimentación, si la matriz de almacenamiento tarda más en ponerse en línea que el sistema en arrancar. Aunque algunos controladores de Canal de Fibra soportan un mecanismo para especificar un mapeo persistente de SCSI target ID a WWPN, esto no hace que se reserven los rangos de números mayores y menores, y los nombres asociados
sd
; sólo proporciona números SCSI target ID consistentes.
Estas razones hacen que no sea deseable utilizar el rango de números mayores y menores o los nombres asociados de sd
al referirse a los dispositivos, como en el archivo /etc/fstab
. Existe la posibilidad de que se monte el dispositivo incorrecto y se produzca una corrupción de datos.
Ocasionalmente, sin embargo, sigue siendo necesario referirse a los nombres de sd
incluso cuando se utiliza otro mecanismo, como cuando se informan errores de un dispositivo. Esto se debe a que el núcleo de Linux utiliza los nombres de sd
(y también las tuplas SCSI host/channel/target/LUN) en los mensajes del núcleo relativos al dispositivo.
9.2. Sistema de archivos e identificadores de dispositivos
Esta sección explica la diferencia entre los atributos persistentes que identifican los sistemas de archivos y los dispositivos de bloque.
Identificadores del sistema de archivos
Los identificadores del sistema de archivos están vinculados a un sistema de archivos concreto creado en un dispositivo de bloques. El identificador también se almacena como parte del sistema de archivos. Si copias el sistema de archivos a un dispositivo diferente, sigue llevando el mismo identificador del sistema de archivos. Por otro lado, si reescribes el dispositivo, por ejemplo, formateándolo con la utilidad mkfs
, el dispositivo pierde el atributo.
Los identificadores del sistema de archivos son:
- Identificador único (UUID)
- Etiqueta
Identificadores de dispositivos
Los identificadores de dispositivo están vinculados a un dispositivo de bloque: por ejemplo, un disco o una partición. Si se reescribe el dispositivo, por ejemplo, formateándolo con la utilidad mkfs
, el dispositivo mantiene el atributo, porque no se almacena en el sistema de archivos.
Los identificadores de los dispositivos son:
- Identificador mundial (WWID)
- UUID de la partición
- Número de serie
Recomendaciones
- Algunos sistemas de archivos, como los volúmenes lógicos, abarcan varios dispositivos. Red Hat recomienda acceder a estos sistemas de archivos utilizando identificadores de sistemas de archivos en lugar de identificadores de dispositivos.
9.3. Nombres de dispositivos gestionados por el mecanismo udev en /dev/disk/
Esta sección enumera los diferentes tipos de atributos de nomenclatura persistente que el servicio udev
proporciona en el directorio /dev/disk/
.
El mecanismo udev
se utiliza para todo tipo de dispositivos en Linux, no sólo para los dispositivos de almacenamiento. En el caso de los dispositivos de almacenamiento, Red Hat Enterprise Linux contiene reglas udev
que crean enlaces simbólicos en el directorio /dev/disk/
. Esto le permite referirse a los dispositivos de almacenamiento por:
- Su contenido
- Un identificador único
- Su número de serie.
Aunque los atributos de nomenclatura de udev
son persistentes, en el sentido de que no cambian por sí solos en los reinicios del sistema, algunos también son configurables.
9.3.1. Identificadores del sistema de archivos
El atributo UUID en /dev/disk/by-uuid/
Las entradas de este directorio proporcionan un nombre simbólico que hace referencia al dispositivo de almacenamiento mediante un unique identifier (UUID) en el contenido (es decir, los datos) almacenado en el dispositivo. Por ejemplo:
/dev/disco/por-uuid/3e6be9de-8139-11d1-9106-a43f08d823a6
/dev/disco/por-uuid/3e6be9de-8139-11d1-9106-a43f08d823a6
Puede utilizar el UUID para referirse al dispositivo en el archivo /etc/fstab
utilizando la siguiente sintaxis:
UUID=3e6be9de-8139-11d1-9106-a43f08d823a6
UUID=3e6be9de-8139-11d1-9106-a43f08d823a6
Puedes configurar el atributo UUID al crear un sistema de archivos, y también puedes cambiarlo posteriormente.
El atributo Label en /dev/disk/by-label/
Las entradas de este directorio proporcionan un nombre simbólico que hace referencia al dispositivo de almacenamiento mediante un label en el contenido (es decir, los datos) almacenado en el dispositivo.
Por ejemplo:
/dev/disco/por-etiqueta/Boot
/dev/disco/por-etiqueta/Boot
Puede utilizar la etiqueta para referirse al dispositivo en el archivo /etc/fstab
utilizando la siguiente sintaxis:
ETIQUETA=Boot
ETIQUETA=Boot
Puede configurar el atributo Etiqueta al crear un sistema de archivos, y también puede modificarlo posteriormente.
9.3.2. Identificadores de dispositivos
El atributo WWID en /dev/disk/by-id/
El World Wide Identifier (WWID) es un identificador persistente, system-independent identifier, que el estándar SCSI exige a todos los dispositivos SCSI. Se garantiza que el identificador WWID es único para cada dispositivo de almacenamiento, e independiente de la ruta que se utilice para acceder al dispositivo. El identificador es una propiedad del dispositivo, pero no se almacena en el contenido (es decir, los datos) de los dispositivos.
Este identificador puede obtenerse emitiendo una consulta SCSI para recuperar los datos vitales del producto de identificación del dispositivo (página 0x83
) o el número de serie de la unidad (página 0x80
).
Red Hat Enterprise Linux mantiene automáticamente el mapeo apropiado del nombre del dispositivo basado en WWID a un nombre actual de /dev/sd
en ese sistema. Las aplicaciones pueden usar el nombre /dev/disk/by-id/
para referenciar los datos en el disco, incluso si la ruta al dispositivo cambia, e incluso cuando se accede al dispositivo desde diferentes sistemas.
Ejemplo 9.1. Asignaciones WWID
Enlace simbólico WWID | Dispositivo no persistente | Nota |
---|---|---|
|
|
Un dispositivo con un identificador de página |
|
|
Un dispositivo con un identificador de página |
|
| Una partición de disco |
Además de estos nombres persistentes proporcionados por el sistema, también puede utilizar las reglas de udev
para implementar nombres persistentes propios, asignados al WWID del almacenamiento.
El atributo UUID de la partición en /dev/disk/by-partuuid
El atributo UUID de la partición (PARTUUID) identifica las particiones tal y como se definen en la tabla de particiones GPT.
Ejemplo 9.2. Asignaciones de UUID de partición
PARTUUID symlink | Dispositivo no persistente |
---|---|
|
|
|
|
|
|
El atributo Path en /dev/disk/by-path/
Este atributo proporciona un nombre simbólico que hace referencia al dispositivo de almacenamiento mediante la dirección hardware path utilizada para acceder al dispositivo.
El atributo Path falla si cualquier parte de la ruta de hardware (por ejemplo, el ID PCI, el puerto de destino o el número LUN) cambia. Por lo tanto, el atributo Path no es fiable. Sin embargo, el atributo Path puede ser útil en uno de los siguientes escenarios:
- Es necesario identificar un disco que se piensa sustituir más adelante.
- Usted planea instalar un servicio de almacenamiento en un disco en una ubicación específica.
9.4. El identificador mundial con DM Multipath
Esta sección describe el mapeo entre el World Wide Identifier (WWID) y los nombres de dispositivos no persistentes en una configuración de Device Mapper Multipath.
Si hay varias rutas desde un sistema a un dispositivo, DM Multipath utiliza el WWID para detectarlo. DM Multipath presenta entonces un único "pseudo-dispositivo" en el directorio /dev/mapper/wwid
, como /dev/mapper/3600508b400105df70000e00000ac0000
.
El comando multipath -l
muestra la asignación a los identificadores no persistentes:
-
Host:Channel:Target:LUN
-
/dev/sd
nombre -
major:minor
número
Ejemplo 9.3. Asignaciones WWID en una configuración multirruta
Un ejemplo de salida del comando multipath -l
:
3600508b400105df70000e00000ac0000 dm-2 vendor,product [size=20G][features=1 queue_if_no_path][hwhandler=0][rw] \_ round-robin 0 [prio=0][active] \_ 5:0:1:1 sdc 8:32 [active][undef] \_ 6:0:1:1 sdg 8:96 [active][undef] \_ round-robin 0 [prio=0][enabled] \_ 5:0:0:1 sdb 8:16 [active][undef] \_ 6:0:0:1 sdf 8:80 [active][undef]
3600508b400105df70000e00000ac0000 dm-2 vendor,product
[size=20G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=0][active]
\_ 5:0:1:1 sdc 8:32 [active][undef]
\_ 6:0:1:1 sdg 8:96 [active][undef]
\_ round-robin 0 [prio=0][enabled]
\_ 5:0:0:1 sdb 8:16 [active][undef]
\_ 6:0:0:1 sdf 8:80 [active][undef]
DM Multipath mantiene automáticamente la asignación adecuada de cada nombre de dispositivo basado en WWID a su correspondiente nombre /dev/sd
en el sistema. Estos nombres son persistentes a través de los cambios de ruta, y son consistentes cuando se accede al dispositivo desde diferentes sistemas.
Cuando se utiliza la función user_friendly_names
de DM Multipath, el WWID se asigna a un nombre de la forma /dev/mapper/mpathN
. Por defecto, esta asignación se mantiene en el archivo /etc/multipath/bindings
. Estos nombres de mpathN
nombres son persistentes mientras se mantenga ese archivo.
Si se utiliza user_friendly_names
, se requieren pasos adicionales para obtener nombres consistentes en un clúster.
9.5. Limitaciones de la convención de nombres de dispositivos udev
Las siguientes son algunas limitaciones de la convención de nombres udev
:
-
Es posible que el dispositivo no esté accesible en el momento en que se realiza la consulta porque el mecanismo de
udev
puede depender de la capacidad de consultar el dispositivo de almacenamiento cuando se procesan las reglas deudev
para un evento deudev
. Esto es más probable que ocurra con los dispositivos de almacenamiento Fibre Channel, iSCSI o FCoE cuando el dispositivo no se encuentra en el chasis del servidor. -
El kernel puede enviar eventos
udev
en cualquier momento, haciendo que las reglas sean procesadas y posiblemente haciendo que los enlaces/dev/disk/by-*/
sean eliminados si el dispositivo no es accesible. -
Puede haber un retraso entre el momento en que se genera el evento
udev
y el momento en que se procesa, como cuando se detecta un gran número de dispositivos y el servicioudevd
del espacio de usuario tarda cierto tiempo en procesar las reglas de cada uno. Esto puede causar un retraso entre el momento en que el kernel detecta el dispositivo y cuando los nombres de/dev/disk/by-*/
están disponibles. -
Los programas externos como
blkid
invocados por las reglas podrían abrir el dispositivo durante un breve período de tiempo, haciendo que el dispositivo sea inaccesible para otros usos. -
Los nombres de los dispositivos gestionados por el mecanismo
udev
en /dev/disk/ pueden cambiar entre las principales versiones, lo que obliga a actualizar los enlaces.
9.6. Listado de atributos de nomenclatura persistente
Este procedimiento describe cómo averiguar los atributos de nomenclatura persistente de los dispositivos de almacenamiento no persistentes.
Procedimiento
Para listar los atributos UUID y Label, utilice la utilidad
lsblk
:lsblk --fs storage-device
$ lsblk --fs storage-device
Copy to Clipboard Copied! Por ejemplo:
Ejemplo 9.4. Ver el UUID y la etiqueta de un sistema de archivos
lsblk --fs /dev/sda1
$ lsblk --fs /dev/sda1 NAME FSTYPE LABEL UUID MOUNTPOINT sda1 xfs Boot afa5d5e3-9050-48c3-acc1-bb30095f3dc4 /boot
Copy to Clipboard Copied! Para listar el atributo PARTUUID, utilice la utilidad
lsblk
con la opción--output PARTUUID
:lsblk --output PARTUUID
$ lsblk --output PARTUUID
Copy to Clipboard Copied! Por ejemplo:
Ejemplo 9.5. Ver el atributo PARTUUID de una partición
lsblk --output +PARTUUID /dev/sda1
$ lsblk --output +PARTUUID /dev/sda1 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT PARTUUID sda1 8:1 0 512M 0 part /boot 4cd1448a-01
Copy to Clipboard Copied! Para listar el atributo WWID, examine los objetivos de los enlaces simbólicos en el directorio
/dev/disk/by-id/
. Por ejemplo:Ejemplo 9.6. Ver el WWID de todos los dispositivos de almacenamiento del sistema
file /dev/disk/by-id/*
$ file /dev/disk/by-id/* /dev/disk/by-id/ata-QEMU_HARDDISK_QM00001 symbolic link to ../../sda /dev/disk/by-id/ata-QEMU_HARDDISK_QM00001-part1 symbolic link to ../../sda1 /dev/disk/by-id/ata-QEMU_HARDDISK_QM00001-part2 symbolic link to ../../sda2 /dev/disk/by-id/dm-name-rhel_rhel8-root symbolic link to ../../dm-0 /dev/disk/by-id/dm-name-rhel_rhel8-swap symbolic link to ../../dm-1 /dev/disk/by-id/dm-uuid-LVM-QIWtEHtXGobe5bewlIUDivKOz5ofkgFhP0RMFsNyySVihqEl2cWWbR7MjXJolD6g symbolic link to ../../dm-1 /dev/disk/by-id/dm-uuid-LVM-QIWtEHtXGobe5bewlIUDivKOz5ofkgFhXqH2M45hD2H9nAf2qfWSrlRLhzfMyOKd symbolic link to ../../dm-0 /dev/disk/by-id/lvm-pv-uuid-atlr2Y-vuMo-ueoH-CpMG-4JuH-AhEF-wu4QQm symbolic link to ../../sda2
Copy to Clipboard Copied!
9.7. Modificación de los atributos de nomenclatura persistente
Este procedimiento describe cómo cambiar el atributo de nomenclatura persistente UUID o Label de un sistema de archivos.
El cambio de los atributos de udev
se produce en segundo plano y puede llevar mucho tiempo. El comando udevadm settle
espera hasta que el cambio esté completamente registrado, lo que garantiza que su siguiente comando podrá utilizar el nuevo atributo correctamente.
En los siguientes comandos:
-
Sustituya new-uuid por el UUID que quieras establecer; por ejemplo,
1cdfbc07-1c90-4984-b5ec-f61943f5ea50
. Puedes generar un UUID utilizando el comandouuidgen
. -
Sustituya new-label por una etiqueta; por ejemplo,
backup_data
.
Requisitos previos
- Si va a modificar los atributos de un sistema de archivos XFS, desmóntelo primero.
Procedimiento
Para cambiar los atributos UUID o Label de un sistema de archivos XFS, utilice la utilidad
xfs_admin
:xfs_admin -U new-uuid -L new-label storage-device udevadm settle
# xfs_admin -U new-uuid -L new-label storage-device # udevadm settle
Copy to Clipboard Copied! Para cambiar los atributos UUID o Label de un sistema de archivos ext4, ext3, o ext2, utilice la utilidad
tune2fs
:tune2fs -U new-uuid -L new-label storage-device udevadm settle
# tune2fs -U new-uuid -L new-label storage-device # udevadm settle
Copy to Clipboard Copied! Para cambiar el UUID o los atributos de la etiqueta de un volumen de intercambio, utilice la utilidad
swaplabel
:swaplabel --uuid new-uuid --label new-label swap-device udevadm settle
# swaplabel --uuid new-uuid --label new-label swap-device # udevadm settle
Copy to Clipboard Copied!
Capítulo 10. Cómo empezar con las particiones
Como administrador del sistema, puede utilizar los siguientes procedimientos para crear, eliminar y modificar varios tipos de particiones de disco.
Para obtener una visión general de las ventajas y desventajas de utilizar particiones en dispositivos de bloque, consulte el siguiente artículo de KBase: https://access.redhat.com/solutions/163853.
10.1. Visualización de la tabla de particiones
Como administrador del sistema, puede mostrar la tabla de particiones de un dispositivo de bloque para ver la disposición de las particiones y los detalles sobre las particiones individuales.
10.1.1. Visualización de la tabla de particiones con parted
Este procedimiento describe cómo ver la tabla de particiones en un dispositivo de bloque utilizando la utilidad parted
.
Procedimiento
Inicie el shell interactivo
parted
:parted block-device
# parted block-device
Copy to Clipboard Copied! -
Sustituya block-device por la ruta del dispositivo que desea examinar: por ejemplo,
/dev/sda
.
-
Sustituya block-device por la ruta del dispositivo que desea examinar: por ejemplo,
Ver la tabla de particiones:
Impresión (parcial)
Impresión (parcial)
Copy to Clipboard Copied! Opcionalmente, utilice el siguiente comando para cambiar a otro dispositivo que desee examinar a continuación:
(separado) seleccionar block-device
(separado) seleccionar block-device
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
parted(8)
.
10.1.2. Ejemplo de salida de parted print
Esta sección proporciona un ejemplo de salida del comando print
en el shell parted
y describe los campos de la salida.
Ejemplo 10.1. Salida del comando print
Model: ATA SAMSUNG MZNLN256 (scsi) Disk /dev/sda: 256GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 269MB 268MB primary xfs boot 2 269MB 34.6GB 34.4GB primary 3 34.6GB 45.4GB 10.7GB primary 4 45.4GB 256GB 211GB extended 5 45.4GB 256GB 211GB logical
Model: ATA SAMSUNG MZNLN256 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 269MB 268MB primary xfs boot
2 269MB 34.6GB 34.4GB primary
3 34.6GB 45.4GB 10.7GB primary
4 45.4GB 256GB 211GB extended
5 45.4GB 256GB 211GB logical
A continuación se describen los campos:
Model: ATA SAMSUNG MZNLN256 (scsi)
- El tipo de disco, el fabricante, el número de modelo y la interfaz.
Disk /dev/sda: 256GB
- La ruta del archivo al dispositivo de bloque y la capacidad de almacenamiento.
Partition Table: msdos
- El tipo de etiqueta del disco.
Number
-
El número de la partición. Por ejemplo, la partición con número menor 1 corresponde a
/dev/sda1
. Start
yEnd
- La ubicación en el dispositivo donde comienza y termina la partición.
Type
- Los tipos válidos son metadatos, libre, primario, extendido o lógico.
File system
-
El tipo de sistema de archivos. Si el campo
File system
de un dispositivo no muestra ningún valor, significa que su tipo de sistema de archivos es desconocido. La utilidadparted
no puede reconocer el sistema de archivos de los dispositivos cifrados. Flags
-
Enumera las banderas establecidas para la partición. Las banderas disponibles son
boot
,root
,swap
,hidden
,raid
,lvm
, olba
.
10.2. Creación de una tabla de particiones en un disco
Como administrador del sistema, puede formatear un dispositivo de bloque con diferentes tipos de tablas de partición para permitir el uso de particiones en el dispositivo.
Al formatear un dispositivo de bloque con una tabla de particiones se borran todos los datos almacenados en el dispositivo.
10.2.1. Consideraciones antes de modificar las particiones de un disco
Esta sección enumera los puntos clave a tener en cuenta antes de crear, eliminar o redimensionar las particiones.
Esta sección no cubre la tabla de particiones DASD, que es específica de la arquitectura IBM Z. Para obtener información sobre DASD, consulte:
- Configuración de una instancia de Linux en IBM Z
- El artículo Lo que debe saber sobre DASD en el Centro de Conocimiento de IBM
El número máximo de particiones
El número de particiones en un dispositivo está limitado por el tipo de tabla de particiones:
En un dispositivo formateado con la tabla de particiones Master Boot Record (MBR), puede tener cualquiera de los dos:
- Hasta cuatro particiones primarias, o
- Hasta tres particiones primarias, una partición extendida y múltiples particiones lógicas dentro de la extendida.
-
En un dispositivo formateado con el GUID Partition Table (GPT), el número máximo de particiones es 128. Aunque la especificación GPT permite más particiones aumentando el área reservada para la tabla de particiones, la práctica común utilizada por la utilidad
parted
es limitarla a un área suficiente para 128 particiones.
Red Hat recomienda que, a menos que tenga una razón para hacer lo contrario, debería at least crear las siguientes particiones: swap
, /boot/
, y /
(raíz).
El tamaño máximo de una partición
El tamaño de una partición en un dispositivo está limitado por el tipo de tabla de particiones:
- En un dispositivo formateado con la tabla de particiones Master Boot Record (MBR), el tamaño máximo es de 2TiB.
- En un dispositivo formateado con el GUID Partition Table (GPT), el tamaño máximo es de 8ZiB.
Si quieres crear una partición mayor de 2TiB, el disco debe estar formateado con GPT.
Alineación de tamaños
La utilidad parted
le permite especificar el tamaño de la partición utilizando varios sufijos diferentes:
- MiB, GiB o TiB
Tamaño expresado en potencias de 2.
- El punto inicial de la partición se alinea con el sector exacto especificado por el tamaño.
- El punto final se alinea con el tamaño especificado menos 1 sector.
- MB, GB o TB
Tamaño expresado en potencias de 10.
El punto inicial y final se alinea dentro de la mitad de la unidad especificada: por ejemplo, ±500KB cuando se utiliza el sufijo MB.
10.2.2. Comparación de los tipos de tablas de partición
Esta sección compara las propiedades de los diferentes tipos de tablas de partición que se pueden crear en un dispositivo de bloque.
Tabla de partición | Número máximo de particiones | Tamaño máximo de la partición |
---|---|---|
Registro de arranque maestro (MBR) | 4 primarios, o 3 primarios y 12 lógicos dentro de una partición extendida | 2TiB |
Tabla de partición GUID (GPT) | 128 | 8ZiB |
10.2.3. Particiones de disco MBR
Los diagramas de este capítulo muestran que la tabla de particiones está separada del disco real. Sin embargo, esto no es del todo exacto. En realidad, la tabla de particiones se almacena al principio del disco, antes de cualquier sistema de archivos o datos de usuario, pero para mayor claridad, están separados en los siguientes diagramas.
Figura 10.1. Disco con tabla de partición MBR
Como muestra el diagrama anterior, la tabla de particiones se divide en cuatro secciones de cuatro particiones primarias. Una partición primaria es una partición en un disco duro que sólo puede contener una unidad lógica (o sección). Cada sección puede contener la información necesaria para definir una sola partición, lo que significa que la tabla de particiones no puede definir más de cuatro particiones.
Cada entrada de la tabla de particiones contiene varias características importantes de la partición:
- Los puntos del disco donde comienza y termina la partición.
- Si la partición es active. Sólo se puede marcar una partición como active.
- El tipo de partición.
Los puntos inicial y final definen el tamaño de la partición y su ubicación en el disco. El indicador "activo" es utilizado por los cargadores de arranque de algunos sistemas operativos. En otras palabras, el sistema operativo en la partición que está marcada como "activa" es arrancado, en este caso.
El tipo es un número que identifica el uso previsto de la partición. Algunos sistemas operativos utilizan el tipo de partición para denotar un tipo de sistema de archivos específico, para marcar la partición como asociada a un sistema operativo concreto, para indicar que la partición contiene un sistema operativo de arranque, o alguna combinación de las tres.
El siguiente diagrama muestra un ejemplo de una unidad con una sola partición:
Figura 10.2. Disco con una sola partición
La única partición en este ejemplo está etiquetada como DOS
. Esta etiqueta muestra el tipo de partición, siendo DOS
una de las más comunes.
10.2.4. Particiones MBR extendidas
En caso de que cuatro particiones sean insuficientes para sus necesidades, puede utilizar las particiones extendidas para crear particiones adicionales. Puede hacerlo configurando el tipo de partición como "Extendida".
Una partición extendida es como una unidad de disco en sí misma - tiene su propia tabla de particiones, que apunta a una o más particiones (ahora llamadas particiones lógicas, en contraposición a las cuatro particiones primarias), contenidas completamente dentro de la propia partición extendida. El siguiente diagrama muestra una unidad de disco con una partición primaria y una partición extendida que contiene dos particiones lógicas (junto con algo de espacio libre sin particionar):
Figura 10.3. Disco con una partición MBR primaria y otra extendida
Como esta figura implica, hay una diferencia entre las particiones primarias y las lógicas - sólo puede haber hasta cuatro particiones primarias y extendidas, pero no hay un límite fijo para el número de particiones lógicas que pueden existir. Sin embargo, debido a la forma en que se accede a las particiones en Linux, no se pueden definir más de 15 particiones lógicas en una sola unidad de disco.
10.2.5. Tipos de partición MBR
La siguiente tabla muestra una lista de algunos de los tipos de partición MBR más utilizados y los números hexadecimales utilizados para representarlos.
MBR partition type | Value | MBR partition type | Value |
Vacío | 00 | Novell Netware 386 | 65 |
DOS 12-bit FAT | 01 | PIC/IX | 75 |
Raíz de XENIX | O2 | Antiguo MINIX | 80 |
XENIX usr | O3 | Linux/MINUX | 81 |
DOS 16 bits ⇐32M | 04 | Intercambio en Linux | 82 |
Extendido | 05 | Linux nativo | 83 |
DOS 16 bits >=32 | 06 | Linux ampliado | 85 |
OS/2 HPFS | 07 | Amoeba | 93 |
AIX | 08 | Amoeba BBT | 94 |
AIX de arranque | 09 | BSD/386 | a5 |
Gestor de arranque de OS/2 | 0a | OpenBSD | a6 |
Win95 FAT32 | 0b | NEXTSTEP | a7 |
Win95 FAT32 (LBA) | 0c | BSDI fs | b7 |
Win95 FAT16 (LBA) | 0e | Intercambio BSDI | b8 |
Win95 Extended (LBA) | 0f | Syrinx | c7 |
Venix 80286 | 40 | CP/M | db |
Novell | 51 | Acceso al DOS | e1 |
Bota PRep | 41 | DOS R/O | e3 |
GNU HURD | 63 | DOS secundario | f2 |
Novell Netware 286 | 64 | BBT | ff |
10.2.6. Tabla de partición GUID
La tabla de partición GUID (GPT) es un esquema de partición basado en el uso de un identificador único global (GUID). La GPT se desarrolló para hacer frente a las limitaciones de la tabla de partición MBR, especialmente con el limitado espacio de almacenamiento máximo direccionable de un disco. A diferencia de MBR, que no puede direccionar un almacenamiento mayor de 2 TiB (equivalente a unos 2,2 TB), GPT se utiliza con discos duros de mayor tamaño; el tamaño máximo direccionable del disco es de 2,2 ZiB. Además, GPT, por defecto, permite crear hasta 128 particiones primarias. Este número puede ampliarse asignando más espacio a la tabla de particiones.
Una GPT tiene tipos de partición basados en GUIDs. Tenga en cuenta que ciertas particiones requieren un GUID específico. Por ejemplo, la partición del sistema para los cargadores de arranque EFI requiere el GUID C12A7328-F81F-11D2-BA4B-00A0C93EC93B
.
Los discos GPT utilizan el direccionamiento lógico de bloques (LBA) y la disposición de las particiones es la siguiente:
- Para mantener la compatibilidad con los discos MBR, el primer sector (LBA 0) de GPT está reservado para los datos de MBR y se llama "MBR protector".
- La cabecera GPT primaria comienza en el segundo bloque lógico (LBA 1) del dispositivo. La cabecera contiene el GUID del disco, la ubicación de la tabla de particiones primaria, la ubicación de la cabecera GPT secundaria, y las sumas de comprobación CRC32 de sí misma y de la tabla de particiones primaria. También especifica el número de entradas de partición en la tabla.
- La GPT primaria incluye, por defecto 128 entradas de partición, cada una con un tamaño de entrada de 128 bytes, su GUID de tipo de partición y su GUID de partición única.
- La GPT secundaria es idéntica a la GPT primaria. Se utiliza principalmente como una tabla de respaldo para la recuperación en caso de que la tabla de partición primaria se corrompa.
- La cabecera secundaria de GPT se encuentra en el último sector lógico del disco y puede utilizarse para recuperar la información de GPT en caso de que la cabecera primaria esté dañada. Contiene el GUID del disco, la ubicación de la tabla de particiones secundarias y la cabecera GPT primaria, las sumas de comprobación CRC32 de sí mismo y de la tabla de particiones secundarias, y el número de posibles entradas de partición.
Figura 10.4. Disco con una tabla de partición GUID
Debe haber una partición de arranque de la BIOS para que el gestor de arranque se instale con éxito en un disco que contenga una tabla de particiones GPT (GUID). Esto incluye los discos inicializados por Anaconda. Si el disco ya contiene una partición de arranque del BIOS, se puede reutilizar.
10.2.7. Creación de una tabla de particiones en un disco con partición
Este procedimiento describe cómo formatear un dispositivo de bloque con una tabla de particiones utilizando la utilidad parted
.
Procedimiento
Inicie el shell interactivo
parted
:parted block-device
# parted block-device
Copy to Clipboard Copied! -
Sustituya block-device por la ruta del dispositivo en el que desea crear una tabla de particiones: por ejemplo,
/dev/sda
.
-
Sustituya block-device por la ruta del dispositivo en el que desea crear una tabla de particiones: por ejemplo,
Determine si ya existe una tabla de particiones en el dispositivo:
Impresión (parcial)
Impresión (parcial)
Copy to Clipboard Copied! Si el dispositivo ya contiene particiones, se eliminarán en los siguientes pasos.
Cree la nueva tabla de partición:
(parted) mklabel table-type
(parted) mklabel table-type
Copy to Clipboard Copied! Sustituya table-type por el tipo de tabla de partición deseado:
-
msdos
para MBR -
gpt
para GPT
-
Ejemplo 10.2. Creación de una tabla GPT
Por ejemplo, para crear una tabla GPT en el disco, utilice:
(parted) mklabel gpt
(parted) mklabel gpt
Copy to Clipboard Copied! Los cambios empiezan a producirse en cuanto se introduce este comando, así que revísalo antes de ejecutarlo.
Ver la tabla de particiones para confirmar que la tabla de particiones existe:
Impresión (parcial)
Impresión (parcial)
Copy to Clipboard Copied! Salga del shell
parted
:(separada) dejar de fumar
(separada) dejar de fumar
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
parted(8)
.
Próximos pasos
- Crear particiones en el dispositivo. Consulte Sección 10.3, “Crear una partición” para obtener más detalles.
10.3. Crear una partición
Como administrador del sistema, puedes crear nuevas particiones en un disco.
10.3.1. Consideraciones antes de modificar las particiones de un disco
Esta sección enumera los puntos clave a tener en cuenta antes de crear, eliminar o redimensionar las particiones.
Esta sección no cubre la tabla de particiones DASD, que es específica de la arquitectura IBM Z. Para obtener información sobre DASD, consulte:
- Configuración de una instancia de Linux en IBM Z
- El artículo Lo que debe saber sobre DASD en el Centro de Conocimiento de IBM
El número máximo de particiones
El número de particiones en un dispositivo está limitado por el tipo de tabla de particiones:
En un dispositivo formateado con la tabla de particiones Master Boot Record (MBR), puede tener cualquiera de los dos:
- Hasta cuatro particiones primarias, o
- Hasta tres particiones primarias, una partición extendida y múltiples particiones lógicas dentro de la extendida.
-
En un dispositivo formateado con el GUID Partition Table (GPT), el número máximo de particiones es 128. Aunque la especificación GPT permite más particiones aumentando el área reservada para la tabla de particiones, la práctica común utilizada por la utilidad
parted
es limitarla a un área suficiente para 128 particiones.
Red Hat recomienda que, a menos que tenga una razón para hacer lo contrario, debería at least crear las siguientes particiones: swap
, /boot/
, y /
(raíz).
El tamaño máximo de una partición
El tamaño de una partición en un dispositivo está limitado por el tipo de tabla de particiones:
- En un dispositivo formateado con la tabla de particiones Master Boot Record (MBR), el tamaño máximo es de 2TiB.
- En un dispositivo formateado con el GUID Partition Table (GPT), el tamaño máximo es de 8ZiB.
Si quieres crear una partición mayor de 2TiB, el disco debe estar formateado con GPT.
Alineación de tamaños
La utilidad parted
le permite especificar el tamaño de la partición utilizando varios sufijos diferentes:
- MiB, GiB o TiB
Tamaño expresado en potencias de 2.
- El punto inicial de la partición se alinea con el sector exacto especificado por el tamaño.
- El punto final se alinea con el tamaño especificado menos 1 sector.
- MB, GB o TB
Tamaño expresado en potencias de 10.
El punto inicial y final se alinea dentro de la mitad de la unidad especificada: por ejemplo, ±500KB cuando se utiliza el sufijo MB.
10.3.2. Tipos de partición
Esta sección describe diferentes atributos que especifican el tipo de una partición.
Tipos de partición o banderas
El tipo de partición, o bandera, es utilizado por un sistema en ejecución sólo en raras ocasiones. Sin embargo, el tipo de partición es importante para los generadores sobre la marcha, como systemd-gpt-auto-generator
, que utilizan el tipo de partición para, por ejemplo, identificar y montar automáticamente los dispositivos.
-
La utilidad
parted
proporciona cierto control de los tipos de partición mediante la asignación del tipo de partición a flags. La utilidad parted sólo puede manejar ciertos tipos de partición: por ejemplo LVM, swap o RAID. -
La utilidad
fdisk
admite toda la gama de tipos de partición especificando códigos hexadecimales.
Tipo de sistema de archivos de la partición
La utilidad parted
acepta opcionalmente un argumento de tipo de sistema de archivos al crear una partición. El valor se utiliza para:
- Establecer las banderas de la partición en MBR, o
-
Establezca el tipo de UUID de la partición en GPT. Por ejemplo, los tipos de sistema de archivos
swap
,fat
, ohfs
establecen diferentes GUIDs. El valor por defecto es el GUID de datos de Linux.
El argumento no modifica el sistema de archivos de la partición de ninguna manera. Sólo diferencia entre las banderas o GUIDs soportados.
Se admiten los siguientes tipos de sistemas de archivos:
-
xfs
-
ext2
-
ext3
-
ext4
-
fat16
-
fat32
-
hfs
-
hfs
-
linux-swap
-
ntfs
-
reiserfs
10.3.3. Esquema de nomenclatura de las particiones
Red Hat Enterprise Linux utiliza un esquema de nomenclatura basado en archivos, con nombres de archivos en forma de /dev/xxyN
.
Los nombres de dispositivos y particiones tienen la siguiente estructura:
/dev/
-
Este es el nombre del directorio en el que se encuentran todos los archivos del dispositivo. Como las particiones se colocan en los discos duros, y los discos duros son dispositivos, los archivos que representan todas las posibles particiones se encuentran en
/dev
. xx
-
Las dos primeras letras del nombre de las particiones indican el tipo de dispositivo en el que se encuentra la partición, normalmente
sd
. y
-
Esta letra indica en qué dispositivo se encuentra la partición. Por ejemplo,
/dev/sda
para el primer disco duro,/dev/sdb
para el segundo, y así sucesivamente. En sistemas con más de 26 discos, puede utilizar más letras. Por ejemplo,/dev/sdaa1
. N
-
La letra final indica el número que representa la partición. Las cuatro primeras particiones (primarias o extendidas) están numeradas de
1
a4
. Las particiones lógicas comienzan en5
. Por ejemplo,/dev/sda3
es la tercera partición primaria o extendida en el primer disco duro, y/dev/sdb6
es la segunda partición lógica en el segundo disco duro. La numeración de las particiones de la unidad sólo se aplica a las tablas de partición MBR. Tenga en cuenta que N no siempre significa partición.
Incluso si Red Hat Enterprise Linux puede identificar y referirse a all tipos de particiones de disco, podría no ser capaz de leer el sistema de archivos y por lo tanto acceder a los datos almacenados en cada tipo de partición. Sin embargo, en muchos casos, es posible acceder con éxito a los datos de una partición dedicada a otro sistema operativo.
10.3.4. Puntos de montaje y particiones de disco
En Red Hat Enterprise Linux, cada partición se utiliza para formar parte del almacenamiento necesario para soportar un único conjunto de archivos y directorios. Esto se hace utilizando el proceso conocido como mounting, que asocia una partición con un directorio. El montaje de una partición hace que su almacenamiento esté disponible a partir del directorio especificado, conocido como mount point.
Por ejemplo, si la partición /dev/sda5
está montada en /usr/
, eso significaría que todos los archivos y directorios bajo /usr/
residen físicamente en /dev/sda5
. Así, el archivo /usr/share/doc/FAQ/txt/Linux-FAQ
se almacenaría en /dev/sda5
, mientras que el archivo /etc/gdm/custom.conf
no.
Continuando con el ejemplo, también es posible que uno o más directorios por debajo de /usr/
sean puntos de montaje para otras particiones. Por ejemplo, una partición /dev/sda7
podría ser montada en /usr/local
, lo que significa que /usr/local/man/whatis
residiría entonces en /dev/sda7
en lugar de /dev/sda5
.
10.3.5. Creación de una partición con parted
Este procedimiento describe cómo crear una nueva partición en un dispositivo de bloque utilizando la utilidad parted
.
Requisitos previos
- Hay una tabla de particiones en el disco. Para obtener detalles sobre cómo formatear el disco, consulte Sección 10.2, “Creación de una tabla de particiones en un disco”.
- Si la partición que quiere crear es mayor de 2TiB, el disco debe estar formateado con la tabla de particiones GUID (GPT).
Procedimiento
Inicie el shell interactivo
parted
:parted block-device
# parted block-device
Copy to Clipboard Copied! -
Sustituya block-device por la ruta del dispositivo en el que desea crear una partición: por ejemplo,
/dev/sda
.
-
Sustituya block-device por la ruta del dispositivo en el que desea crear una partición: por ejemplo,
Vea la tabla de particiones actual para determinar si hay suficiente espacio libre:
Impresión (parcial)
Impresión (parcial)
Copy to Clipboard Copied! - Si no hay suficiente espacio libre, puede redimensionar una partición existente. Para más información, consulte Sección 10.5, “Cambiar el tamaño de una partición”.
A partir de la tabla de particiones, determinar:
- Los puntos inicial y final de la nueva partición
- En MBR, qué tipo de partición debe ser.
Crea la nueva partición:
(parted) mkpart part-type name fs-type start end
(parted) mkpart part-type name fs-type start end
Copy to Clipboard Copied! -
Sustituya part-type con
primary
,logical
, oextended
en base a lo que haya decidido de la tabla de particiones. Esto se aplica sólo a la tabla de particiones MBR. - Sustituya name con un nombre de partición arbitrario. Esto es necesario para las tablas de partición GPT.
-
Sustituir fs-type por cualquiera de los siguientes:
xfs
,ext2
,ext3
,ext4
,fat16
,fat32
,hfs
,hfs
,linux-swap
,ntfs
, oreiserfs
. El parámetro fs-type es opcional. Tenga en cuenta queparted
no crea el sistema de archivos en la partición. -
Sustituya start y end con los tamaños que determinan los puntos inicial y final de la partición, contando desde el principio del disco. Puede utilizar sufijos de tamaño, como
512MiB
,20GiB
, o1.5TiB
. El tamaño por defecto es de megabytes.
Ejemplo 10.3. Creación de una pequeña partición primaria
Por ejemplo, para crear una partición primaria de 1024MiB hasta 2048MiB en una tabla MBR, utilice:
(parted) mkpart primary 1024MiB 2048MiB
(parted) mkpart primary 1024MiB 2048MiB
Copy to Clipboard Copied! Los cambios empiezan a producirse en cuanto se introduce este comando, así que revísalo antes de ejecutarlo.
-
Sustituya part-type con
Vea la tabla de particiones para confirmar que la partición creada está en la tabla de particiones con el tipo de partición, el tipo de sistema de archivos y el tamaño correctos:
Impresión (parcial)
Impresión (parcial)
Copy to Clipboard Copied! Salga del shell
parted
:(separada) dejar de fumar
(separada) dejar de fumar
Copy to Clipboard Copied! Utilice el siguiente comando para esperar a que el sistema registre el nuevo nodo de dispositivo:
udevadm settle
# udevadm settle
Copy to Clipboard Copied! Verifique que el kernel reconoce la nueva partición:
cat /proc/partitions
# cat /proc/partitions
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
parted(8)
.
10.3.6. Establecer un tipo de partición con fdisk
Este procedimiento describe cómo establecer un tipo de partición, o bandera, utilizando la utilidad fdisk
.
Requisitos previos
- Hay una partición en el disco.
Procedimiento
Inicie el shell interactivo
fdisk
:fdisk block-device
# fdisk block-device
Copy to Clipboard Copied! -
Sustituya block-device por la ruta del dispositivo en el que desea establecer un tipo de partición: por ejemplo,
/dev/sda
.
-
Sustituya block-device por la ruta del dispositivo en el que desea establecer un tipo de partición: por ejemplo,
Ver la tabla de particiones actual para determinar el número de partición menor:
Comando (m de ayuda) print
Comando (m de ayuda) print
Copy to Clipboard Copied! Puede ver el tipo de partición actual en la columna
Type
y su correspondiente ID de tipo en la columnaId
.Introduzca el comando de tipo de partición y seleccione una partición utilizando su número menor:
Command (m for help): type Partition number (1,2,3 default 3): 2
Command (m for help): type Partition number (1,2,3 default 3): 2
Copy to Clipboard Copied! Opcionalmente, enumera los códigos hexadecimales disponibles:
Código hexadecimal (escriba L para listar todos los códigos) L
Código hexadecimal (escriba L para listar todos los códigos) L
Copy to Clipboard Copied! Establezca el tipo de partición:
Código hexadecimal (escriba L para listar todos los códigos) 8e
Código hexadecimal (escriba L para listar todos los códigos) 8e
Copy to Clipboard Copied! Escriba sus cambios y salga del shell
fdisk
:Command (m for help): write The partition table has been altered. Syncing disks.
Command (m for help): write The partition table has been altered. Syncing disks.
Copy to Clipboard Copied! Verifique los cambios:
fdisk --list block-device
# fdisk --list block-device
Copy to Clipboard Copied!
10.4. Eliminar una partición
Como administrador del sistema, puede eliminar una partición de disco que ya no se utilice para liberar espacio en el disco.
Al eliminar una partición se borran todos los datos almacenados en ella.
10.4.1. Consideraciones antes de modificar las particiones de un disco
Esta sección enumera los puntos clave a tener en cuenta antes de crear, eliminar o redimensionar las particiones.
Esta sección no cubre la tabla de particiones DASD, que es específica de la arquitectura IBM Z. Para obtener información sobre DASD, consulte:
- Configuración de una instancia de Linux en IBM Z
- El artículo Lo que debe saber sobre DASD en el Centro de Conocimiento de IBM
El número máximo de particiones
El número de particiones en un dispositivo está limitado por el tipo de tabla de particiones:
En un dispositivo formateado con la tabla de particiones Master Boot Record (MBR), puede tener cualquiera de los dos:
- Hasta cuatro particiones primarias, o
- Hasta tres particiones primarias, una partición extendida y múltiples particiones lógicas dentro de la extendida.
-
En un dispositivo formateado con el GUID Partition Table (GPT), el número máximo de particiones es 128. Aunque la especificación GPT permite más particiones aumentando el área reservada para la tabla de particiones, la práctica común utilizada por la utilidad
parted
es limitarla a un área suficiente para 128 particiones.
Red Hat recomienda que, a menos que tenga una razón para hacer lo contrario, debería at least crear las siguientes particiones: swap
, /boot/
, y /
(raíz).
El tamaño máximo de una partición
El tamaño de una partición en un dispositivo está limitado por el tipo de tabla de particiones:
- En un dispositivo formateado con la tabla de particiones Master Boot Record (MBR), el tamaño máximo es de 2TiB.
- En un dispositivo formateado con el GUID Partition Table (GPT), el tamaño máximo es de 8ZiB.
Si quieres crear una partición mayor de 2TiB, el disco debe estar formateado con GPT.
Alineación de tamaños
La utilidad parted
le permite especificar el tamaño de la partición utilizando varios sufijos diferentes:
- MiB, GiB o TiB
Tamaño expresado en potencias de 2.
- El punto inicial de la partición se alinea con el sector exacto especificado por el tamaño.
- El punto final se alinea con el tamaño especificado menos 1 sector.
- MB, GB o TB
Tamaño expresado en potencias de 10.
El punto inicial y final se alinea dentro de la mitad de la unidad especificada: por ejemplo, ±500KB cuando se utiliza el sufijo MB.
10.4.2. Eliminación de una partición con parted
Este procedimiento describe cómo eliminar una partición de disco utilizando la utilidad parted
.
Procedimiento
Inicie el shell interactivo
parted
:parted block-device
# parted block-device
Copy to Clipboard Copied! -
Sustituya block-device por la ruta del dispositivo en el que desea eliminar una partición: por ejemplo,
/dev/sda
.
-
Sustituya block-device por la ruta del dispositivo en el que desea eliminar una partición: por ejemplo,
Ver la tabla de particiones actual para determinar el número menor de la partición a eliminar:
Impresión (parcial)
Impresión (parcial)
Copy to Clipboard Copied! Retire la partición:
(separado) rm minor-number
(separado) rm minor-number
Copy to Clipboard Copied! -
Sustituya minor-number por el número menor de la partición que desea eliminar: por ejemplo,
3
.
Los cambios empiezan a producirse en cuanto se introduce este comando, así que revísalo antes de ejecutarlo.
-
Sustituya minor-number por el número menor de la partición que desea eliminar: por ejemplo,
Confirme que la partición se ha eliminado de la tabla de particiones:
Impresión (parcial)
Impresión (parcial)
Copy to Clipboard Copied! Salga del shell
parted
:(separada) dejar de fumar
(separada) dejar de fumar
Copy to Clipboard Copied! Verifique que el kernel sabe que la partición ha sido eliminada:
cat /proc/partitions
# cat /proc/partitions
Copy to Clipboard Copied! -
Elimine la partición del archivo
/etc/fstab
si está presente. Encuentre la línea que declara la partición eliminada, y elimínela del archivo. Regenere las unidades de montaje para que su sistema registre la nueva configuración de
/etc/fstab
:systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Si ha eliminado una partición swap o ha eliminado partes de LVM, elimine todas las referencias a la partición de la línea de comandos del kernel en el archivo
/etc/default/grub
y regenere la configuración de GRUB:En un sistema basado en BIOS:
grub2-mkconfig --output=/etc/grub2.cfg
# grub2-mkconfig --output=/etc/grub2.cfg
Copy to Clipboard Copied! En un sistema basado en UEFI:
grub2-mkconfig --output=/etc/grub2-efi.cfg
# grub2-mkconfig --output=/etc/grub2-efi.cfg
Copy to Clipboard Copied!
Para registrar los cambios en el sistema de arranque temprano, reconstruya el sistema de archivos
initramfs
:dracut --force --verbose
# dracut --force --verbose
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
parted(8)
10.5. Cambiar el tamaño de una partición
Como administrador del sistema, puede ampliar una partición para utilizar el espacio de disco no utilizado, o reducir una partición para utilizar su capacidad para diferentes propósitos.
10.5.1. Consideraciones antes de modificar las particiones de un disco
Esta sección enumera los puntos clave a tener en cuenta antes de crear, eliminar o redimensionar las particiones.
Esta sección no cubre la tabla de particiones DASD, que es específica de la arquitectura IBM Z. Para obtener información sobre DASD, consulte:
- Configuración de una instancia de Linux en IBM Z
- El artículo Lo que debe saber sobre DASD en el Centro de Conocimiento de IBM
El número máximo de particiones
El número de particiones en un dispositivo está limitado por el tipo de tabla de particiones:
En un dispositivo formateado con la tabla de particiones Master Boot Record (MBR), puede tener cualquiera de los dos:
- Hasta cuatro particiones primarias, o
- Hasta tres particiones primarias, una partición extendida y múltiples particiones lógicas dentro de la extendida.
-
En un dispositivo formateado con el GUID Partition Table (GPT), el número máximo de particiones es 128. Aunque la especificación GPT permite más particiones aumentando el área reservada para la tabla de particiones, la práctica común utilizada por la utilidad
parted
es limitarla a un área suficiente para 128 particiones.
Red Hat recomienda que, a menos que tenga una razón para hacer lo contrario, debería at least crear las siguientes particiones: swap
, /boot/
, y /
(raíz).
El tamaño máximo de una partición
El tamaño de una partición en un dispositivo está limitado por el tipo de tabla de particiones:
- En un dispositivo formateado con la tabla de particiones Master Boot Record (MBR), el tamaño máximo es de 2TiB.
- En un dispositivo formateado con el GUID Partition Table (GPT), el tamaño máximo es de 8ZiB.
Si quieres crear una partición mayor de 2TiB, el disco debe estar formateado con GPT.
Alineación de tamaños
La utilidad parted
le permite especificar el tamaño de la partición utilizando varios sufijos diferentes:
- MiB, GiB o TiB
Tamaño expresado en potencias de 2.
- El punto inicial de la partición se alinea con el sector exacto especificado por el tamaño.
- El punto final se alinea con el tamaño especificado menos 1 sector.
- MB, GB o TB
Tamaño expresado en potencias de 10.
El punto inicial y final se alinea dentro de la mitad de la unidad especificada: por ejemplo, ±500KB cuando se utiliza el sufijo MB.
10.5.2. Redimensionar una partición con parted
Este procedimiento redimensiona una partición de disco utilizando la utilidad parted
.
Requisitos previos
Si quieres reducir una partición, haz una copia de seguridad de los datos que están almacenados en ella.
AvisoReducir una partición puede provocar la pérdida de datos en la partición.
- Si quiere redimensionar una partición para que sea mayor de 2TiB, el disco debe estar formateado con la tabla de particiones GUID (GPT). Para más detalles sobre cómo formatear el disco, consulte Sección 10.2, “Creación de una tabla de particiones en un disco”.
Procedimiento
- Si quiere reducir la partición, reduzca primero el sistema de archivos en ella para que no sea mayor que la partición redimensionada. Tenga en cuenta que XFS no admite la contracción.
Inicie el shell interactivo
parted
:parted block-device
# parted block-device
Copy to Clipboard Copied! -
Sustituya block-device por la ruta del dispositivo en el que desea redimensionar una partición: por ejemplo,
/dev/sda
.
-
Sustituya block-device por la ruta del dispositivo en el que desea redimensionar una partición: por ejemplo,
Ver la tabla de particiones actual:
Impresión (parcial)
Impresión (parcial)
Copy to Clipboard Copied! A partir de la tabla de particiones, determinar:
- El número menor de la partición
- La ubicación de la partición existente y su nuevo punto final tras el redimensionamiento
Redimensiona la partición:
(parted) resizepart minor-number new-end
(parted) resizepart minor-number new-end
Copy to Clipboard Copied! -
Sustituya minor-number por el número menor de la partición que está redimensionando: por ejemplo,
3
. -
Sustituya new-end con el tamaño que determina el nuevo punto final de la partición redimensionada, contando desde el principio del disco. Puede utilizar sufijos de tamaño, como
512MiB
,20GiB
, o1.5TiB
. El tamaño por defecto es de megabytes.
Ejemplo 10.4. Ampliar una partición
Por ejemplo, para ampliar una partición situada al principio del disco para que tenga un tamaño de 2GiB, utilice:
(parted) resizepart 1 2GiB
(parted) resizepart 1 2GiB
Copy to Clipboard Copied! Los cambios empiezan a producirse en cuanto se introduce este comando, así que revísalo antes de ejecutarlo.
-
Sustituya minor-number por el número menor de la partición que está redimensionando: por ejemplo,
Vea la tabla de particiones para confirmar que la partición redimensionada está en la tabla de particiones con el tamaño correcto:
Impresión (parcial)
Impresión (parcial)
Copy to Clipboard Copied! Salga del shell
parted
:(separada) dejar de fumar
(separada) dejar de fumar
Copy to Clipboard Copied! Verifique que el kernel reconoce la nueva partición:
cat /proc/partitions
# cat /proc/partitions
Copy to Clipboard Copied! - Si ha ampliado la partición, amplíe también el sistema de archivos en ella. Consulte (referencia) para más detalles.
Recursos adicionales
-
La página de manual
parted(8)
.
10.6. Estrategias para reparticionar un disco
Hay varias maneras de reparticionar un disco. En esta sección se analizan los siguientes enfoques posibles:
- Hay espacio libre sin particionar
- Se dispone de una partición no utilizada
- Hay espacio libre en una partición utilizada activamente
Tenga en cuenta que esta sección discute los conceptos mencionados anteriormente sólo teóricamente y no incluye ningún paso de procedimiento sobre cómo realizar la repartición del disco paso a paso.
Las ilustraciones siguientes están simplificadas en aras de la claridad y no reflejan la disposición exacta de las particiones que encontrará cuando instale realmente Red Hat Enterprise Linux.
10.6.1. Uso del espacio libre no particionado
En esta situación, las particiones ya definidas no abarcan todo el disco duro, dejando espacio sin asignar que no forma parte de ninguna partición definida. El siguiente diagrama muestra cómo podría ser esto:
Figura 10.5. Disco con espacio libre no particionado
En el ejemplo anterior, el primer diagrama representa un disco con una partición primaria y una partición indefinida con espacio no asignado, y el segundo diagrama representa un disco con dos particiones definidas con espacio asignado.
Un disco duro no utilizado también entra en esta categoría. La única diferencia es que all el espacio no forma parte de ninguna partición definida.
En cualquier caso, puede crear las particiones necesarias a partir del espacio no utilizado. Este escenario es el más probable para un disco nuevo. La mayoría de los sistemas operativos preinstalados están configurados para ocupar todo el espacio disponible en una unidad de disco.
10.6.2. Utilizar el espacio de una partición no utilizada
En este caso, puede tener una o más particiones que ya no utilice. El siguiente diagrama ilustra esta situación.
Figura 10.6. Disco con una partición no utilizada
En el ejemplo anterior, el primer diagrama representa un disco con una partición no utilizada, y el segundo diagrama representa la reasignación de una partición no utilizada para Linux.
En esta situación, puede utilizar el espacio asignado a la partición no utilizada. Debe eliminar la partición y luego crear la(s) partición(es) Linux apropiada(s) en su lugar. Puede eliminar la partición no utilizada y crear manualmente nuevas particiones durante el proceso de instalación.
10.6.3. Utilizar el espacio libre de una partición activa
Esta es la situación más común. También es la más difícil de manejar, porque incluso si tiene suficiente espacio libre, actualmente está asignado a una partición que ya está en uso. Si has comprado un ordenador con software preinstalado, lo más probable es que el disco duro tenga una gran partición con el sistema operativo y los datos.
Además de añadir un nuevo disco duro a su sistema, puede elegir entre repartición destructiva y no destructiva.
10.6.3.1. Repartición destructiva
Esto elimina la partición y crea varias más pequeñas en su lugar. Debes hacer una copia de seguridad completa porque cualquier dato en la partición original se destruye. Cree dos copias de seguridad, utilice la verificación (si está disponible en su software de copia de seguridad) e intente leer los datos de la copia de seguridad before borrando la partición.
Si se instaló un sistema operativo en esa partición, deberá reinstalarlo si quiere utilizar también ese sistema. Tenga en cuenta que algunos ordenadores que se venden con sistemas operativos preinstalados pueden no incluir los medios de instalación para reinstalar el sistema operativo original. Debes comprobar si esto se aplica a tu sistema before y destruir la partición original y su instalación del sistema operativo.
Después de crear una partición más pequeña para su sistema operativo existente, puede reinstalar el software, restaurar sus datos e iniciar su instalación de Red Hat Enterprise Linux.
Figura 10.7. Acción destructiva de repartición en disco
Cualquier dato presente previamente en la partición original se pierde.
10.6.3.2. Repartición no destructiva
Con la repartición no destructiva se ejecuta un programa que hace más pequeña una partición grande sin perder ninguno de los archivos almacenados en esa partición. Este método suele ser fiable, pero puede llevar mucho tiempo en unidades grandes.
El proceso de repartición no destructiva es sencillo y consta de tres pasos:
- Compresión y copia de seguridad de los datos existentes
- Redimensionar la partición existente
- Crear nueva(s) partición(es)
Cada paso se describe con más detalle.
10.6.3.2.1. Compresión de datos existentes
El primer paso es comprimir los datos de la partición existente. La razón para hacer esto es reorganizar los datos para maximizar el espacio libre disponible en el "final" de la partición.
Figura 10.8. Compresión en disco
En el ejemplo anterior, el primer diagrama representa el disco antes de la compresión, y el segundo diagrama después de la compresión.
Este paso es crucial. Sin él, la ubicación de los datos podría impedir que la partición se redimensionara en la medida deseada. Tenga en cuenta que algunos datos no se pueden mover. En este caso, se restringe severamente el tamaño de sus nuevas particiones, y podría verse obligado a reparticionar destructivamente su disco.
10.6.3.2.2. Redimensionar la partición existente
La siguiente figura muestra el proceso real de redimensionamiento. Aunque el resultado real de la operación de redimensionamiento varía, dependiendo del software utilizado, en la mayoría de los casos el espacio recién liberado se utiliza para crear una partición sin formato del mismo tipo que la partición original.
Figura 10.9. Redimensionamiento de la partición en el disco
En el ejemplo anterior, el primer diagrama representa la partición antes del redimensionamiento, y el segundo diagrama después del redimensionamiento.
Es importante entender lo que el software de redimensionamiento que usas hace con el espacio recién liberado, para que puedas tomar los pasos apropiados. En el caso ilustrado aquí, lo mejor sería borrar la nueva partición DOS y crear la o las particiones Linux apropiadas.
10.6.3.2.3. Creación de nuevas particiones
Como se mencionó en el ejemplo Redimensionamiento de la partición existente, podría ser necesario o no crear nuevas particiones. Sin embargo, a menos que su software de redimensionamiento soporte sistemas con Linux instalado, es probable que deba eliminar la partición que se creó durante el proceso de redimensionamiento.
Figura 10.10. Disco con la configuración final de la partición
En el ejemplo anterior, el primer diagrama representa el disco antes de la configuración, y el segundo diagrama después de la configuración.
Capítulo 11. Introducción a XFS
Este es un resumen de cómo crear y mantener sistemas de archivos XFS.
11.1. El sistema de archivos XFS
XFS es un sistema de archivos de 64 bits altamente escalable, de alto rendimiento, robusto y maduro que soporta archivos y sistemas de archivos muy grandes en un solo host. Es el sistema de archivos por defecto en Red Hat Enterprise Linux 8. XFS fue desarrollado originalmente a principios de los 90 por SGI y tiene una larga historia de funcionamiento en servidores y matrices de almacenamiento extremadamente grandes.
Las características de XFS incluyen:
- Fiabilidad
- El registro en el diario de los metadatos, que garantiza la integridad del sistema de archivos después de un fallo del sistema, ya que mantiene un registro de las operaciones del sistema de archivos que puede reproducirse cuando se reinicia el sistema y se vuelve a montar el sistema de archivos
- Amplia comprobación de la coherencia de los metadatos en tiempo de ejecución
- Utilidades de reparación escalables y rápidas
- Registro de cuotas. Esto evita la necesidad de largas comprobaciones de consistencia de cuotas después de una caída.
- Escalabilidad y rendimiento
- Tamaño del sistema de archivos soportado hasta 1024 TiB
- Capacidad para soportar un gran número de operaciones simultáneas
- Indexación del árbol B para la escalabilidad de la gestión del espacio libre
- Sofisticados algoritmos de lectura anticipada de metadatos
- Optimizaciones para cargas de trabajo de vídeo en streaming
- Regímenes de asignación
- Asignación basada en la extensión
- Políticas de asignación con conocimiento de las franjas
- Asignación retardada
- Pre-asignación de espacio
- Inodos asignados dinámicamente
- Otras características
- Copias de archivos basadas en Reflink (nuevo en Red Hat Enterprise Linux 8)
- Utilidades de copia de seguridad y restauración estrechamente integradas
- Desfragmentación en línea
- Crecimiento del sistema de archivos en línea
- Amplia capacidad de diagnóstico
-
Atributos extendidos (
xattr
). Esto permite al sistema asociar varios pares nombre/valor adicionales por archivo. - Cuotas de proyectos o directorios. Esto permite restringir las cuotas sobre un árbol de directorios.
- Marcas de tiempo de subsegundos
Características de rendimiento
XFS tiene un alto rendimiento en sistemas grandes con cargas de trabajo empresariales. Un sistema grande es aquel con un número relativamente alto de CPUs, múltiples HBAs y conexiones a matrices de discos externas. XFS también tiene un buen rendimiento en sistemas más pequeños que tienen una carga de trabajo de E/S paralela y multihilo.
XFS tiene un rendimiento relativamente bajo para cargas de trabajo intensivas en metadatos de un solo hilo: por ejemplo, una carga de trabajo que crea o borra un gran número de archivos pequeños en un solo hilo.
11.2. Creación de un sistema de archivos XFS
Como administrador del sistema, puede crear un sistema de archivos XFS en un dispositivo de bloque para que pueda almacenar archivos y directorios.
11.2.1. Creación de un sistema de archivos XFS con mkfs.xfs
Este procedimiento describe cómo crear un sistema de archivos XFS en un dispositivo de bloque.
Procedimiento
Para crear el sistema de archivos:
Si el dispositivo es una partición normal, un volumen LVM, un volumen MD, un disco o un dispositivo similar, utilice el siguiente comando:
mkfs.xfs block-device
# mkfs.xfs block-device
Copy to Clipboard Copied! -
Sustituya block-device por la ruta de acceso al dispositivo de bloque. Por ejemplo,
/dev/sdb1
,/dev/disk/by-uuid/05e99ec8-def1-4a5e-8a9d-5945339ceb2a
, o/dev/my-volgroup/my-lv
. - En general, las opciones por defecto son óptimas para el uso común.
-
Cuando utilice
mkfs.xfs
en un dispositivo de bloque que contenga un sistema de archivos existente, añada la opción-f
para sobrescribir ese sistema de archivos.
-
Sustituya block-device por la ruta de acceso al dispositivo de bloque. Por ejemplo,
Para crear el sistema de archivos en un dispositivo RAID por hardware, compruebe si el sistema detecta correctamente la geometría de las franjas del dispositivo:
Si la información de la geometría de la banda es correcta, no se necesitan opciones adicionales. Cree el sistema de archivos:
mkfs.xfs block-device
# mkfs.xfs block-device
Copy to Clipboard Copied! Si la información es incorrecta, especifique la geometría de la franja manualmente con los parámetros
su
ysw
de la opción-d
. El parámetrosu
especifica el tamaño de los trozos de RAID y el parámetrosw
especifica el número de discos de datos en el dispositivo RAID.Por ejemplo:
mkfs.xfs -d su=64k,sw=4 /dev/sda3
# mkfs.xfs -d su=64k,sw=4 /dev/sda3
Copy to Clipboard Copied!
Utilice el siguiente comando para esperar a que el sistema registre el nuevo nodo de dispositivo:
udevadm settle
# udevadm settle
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
mkfs.xfs(8)
.
11.2.2. Creación de un sistema de archivos XFS en un dispositivo de bloque utilizando RHEL System Roles
Esta sección describe cómo crear un sistema de archivos XFS en un dispositivo de bloque en varias máquinas de destino utilizando el rol storage
.
Requisitos previos
Existe un playbook de Ansible que utiliza el rol
storage
.Para obtener información sobre cómo aplicar un libro de jugadas de este tipo, consulte Aplicar un rol.
11.2.2.1. Ejemplo de playbook de Ansible para crear un sistema de archivos XFS en un dispositivo de bloques
Esta sección proporciona un ejemplo de libro de jugadas de Ansible. Este libro de jugadas aplica el rol storage
para crear un sistema de archivos XFS en un dispositivo de bloques utilizando los parámetros predeterminados.
El rol storage
puede crear un sistema de archivos sólo en un disco entero no particionado o en un volumen lógico (LV). No puede crear el sistema de archivos en una partición.
Ejemplo 11.1. Un playbook que crea XFS en /dev/sdb
--- - hosts: all vars: storage_volumes: - name: barefs type: disk disks: - sdb fs_type: xfs roles: - rhel-system-roles.storage
---
- hosts: all
vars:
storage_volumes:
- name: barefs
type: disk
disks:
- sdb
fs_type: xfs
roles:
- rhel-system-roles.storage
-
El nombre del volumen (
barefs
en el ejemplo) es actualmente arbitrario. El rolstorage
identifica el volumen por el dispositivo de disco listado bajo el atributodisks:
. -
Puede omitir la línea
fs_type: xfs
porque XFS es el sistema de archivos por defecto en RHEL 8. Para crear el sistema de archivos en un LV, proporcione la configuración de LVM bajo el atributo
disks:
, incluyendo el grupo de volúmenes que lo rodea. Para obtener más detalles, consulte Ejemplo de libro de jugadas de Ansible para gestionar volúmenes lógicos.No proporcione la ruta de acceso al dispositivo LV.
Recursos adicionales
-
Para más detalles sobre los parámetros utilizados en el rol de sistema
storage
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.storage/README.md
.
11.2.2.2. Recursos adicionales
-
Para más información sobre la función
storage
, consulte Sección 2.1, “Introducción a la función de almacenamiento”.
11.3. Copia de seguridad de un sistema de archivos XFS
Como administrador del sistema, puede utilizar la página xfsdump
para hacer una copia de seguridad de un sistema de archivos XFS en un archivo o en una cinta. Esto proporciona un mecanismo de copia de seguridad simple.
11.3.1. Características de la copia de seguridad XFS
En esta sección se describen los conceptos y las características principales de las copias de seguridad de un sistema de archivos XFS con la utilidad xfsdump
.
Puede utilizar la utilidad xfsdump
para:
Realiza copias de seguridad en imágenes de archivos regulares.
Sólo se puede escribir una copia de seguridad en un archivo normal.
Realiza copias de seguridad en unidades de cinta.
La utilidad
xfsdump
también permite escribir varias copias de seguridad en la misma cinta. Una copia de seguridad puede abarcar varias cintas.Para hacer una copia de seguridad de varios sistemas de archivos en un solo dispositivo de cinta, simplemente escriba la copia de seguridad en una cinta que ya contenga una copia de seguridad XFS. Esto añade la nueva copia de seguridad a la anterior. Por defecto,
xfsdump
nunca sobrescribe las copias de seguridad existentes.Crear copias de seguridad incrementales.
La utilidad
xfsdump
utiliza los niveles de volcado para determinar una copia de seguridad base a la que se refieren las demás copias de seguridad. Los números del 0 al 9 se refieren a niveles de volcado crecientes. Una copia de seguridad incremental sólo respalda los archivos que han cambiado desde el último volcado de un nivel inferior:- Para realizar una copia de seguridad completa, realice un volcado de nivel 0 en el sistema de archivos.
- Un volcado de nivel 1 es la primera copia de seguridad incremental después de una copia de seguridad completa. La siguiente copia de seguridad incremental sería la de nivel 2, que sólo hace una copia de seguridad de los archivos que han cambiado desde el último volcado de nivel 1; y así sucesivamente, hasta un máximo de nivel 9.
- Excluya archivos de una copia de seguridad utilizando banderas de tamaño, subárbol o inodo para filtrarlos.
Recursos adicionales
-
La página de manual
xfsdump(8)
.
11.3.2. Copia de seguridad de un sistema de archivos XFS con xfsdump
Este procedimiento describe cómo hacer una copia de seguridad del contenido de un sistema de archivos XFS en un archivo o en una cinta.
Requisitos previos
- Un sistema de archivos XFS del que se puede hacer una copia de seguridad.
- Otro sistema de archivos o una unidad de cinta donde almacenar la copia de seguridad.
Procedimiento
Utilice el siguiente comando para hacer una copia de seguridad de un sistema de archivos XFS:
xfsdump -l level [-L label] \ -f backup-destination path-to-xfs-filesystem
# xfsdump -l level [-L label] \ -f backup-destination path-to-xfs-filesystem
Copy to Clipboard Copied! -
Sustituya level por el nivel de volcado de su copia de seguridad. Utilice
0
para realizar una copia de seguridad completa o1
a9
para realizar copias de seguridad incrementales consecuentes. -
Sustituya backup-destination por la ruta en la que desea almacenar la copia de seguridad. El destino puede ser un archivo normal, una unidad de cinta o un dispositivo de cinta remoto. Por ejemplo,
/backup-files/Data.xfsdump
para un archivo o/dev/st0
para una unidad de cinta. -
Sustituya path-to-xfs-filesystem por el punto de montaje del sistema de archivos XFS del que desea hacer una copia de seguridad. Por ejemplo,
/mnt/data/
. El sistema de archivos debe estar montado. -
Cuando haga una copia de seguridad de varios sistemas de archivos y los guarde en un solo dispositivo de cinta, añada una etiqueta de sesión a cada copia de seguridad utilizando la opción
-L label
para que sea más fácil identificarlas al restaurarlas. Sustituya label por cualquier nombre de la copia de seguridad: por ejemplo,backup_data
.
-
Sustituya level por el nivel de volcado de su copia de seguridad. Utilice
Ejemplo 11.2. Copia de seguridad de varios sistemas de archivos XFS
Para hacer una copia de seguridad del contenido de los sistemas de archivos XFS montados en los directorios
/boot/
y/data/
y guardarlos como archivos en el directorio/backup-files/
:xfsdump -l 0 -f /backup-files/boot.xfsdump /boot xfsdump -l 0 -f /backup-files/data.xfsdump /data
# xfsdump -l 0 -f /backup-files/boot.xfsdump /boot # xfsdump -l 0 -f /backup-files/data.xfsdump /data
Copy to Clipboard Copied! Para hacer una copia de seguridad de varios sistemas de archivos en un único dispositivo de cinta, añada una etiqueta de sesión a cada copia de seguridad utilizando la
-L label
opción:xfsdump -l 0 -L "backup_boot" -f /dev/st0 /boot xfsdump -l 0 -L "backup_data" -f /dev/st0 /data
# xfsdump -l 0 -L "backup_boot" -f /dev/st0 /boot # xfsdump -l 0 -L "backup_data" -f /dev/st0 /data
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
xfsdump(8)
.
11.3.3. Recursos adicionales
-
La página de manual
xfsdump(8)
.
11.4. Restauración de un sistema de archivos XFS a partir de una copia de seguridad
Como administrador del sistema, puede utilizar la utilidad xfsrestore
para restaurar la copia de seguridad XFS creada con la utilidad xfsdump
y almacenada en un archivo o en una cinta.
11.4.1. Características de la restauración de XFS a partir de una copia de seguridad
En esta sección se describen los conceptos y características clave de la restauración de un sistema de archivos XFS a partir de una copia de seguridad con la utilidad xfsrestore
.
La utilidad xfsrestore
restaura sistemas de archivos a partir de copias de seguridad producidas por xfsdump
. La utilidad xfsrestore
tiene dos modos:
- El modo simple permite a los usuarios restaurar un sistema de archivos completo a partir de un volcado de nivel 0. Este es el modo por defecto.
- El modo cumulative permite la restauración del sistema de archivos a partir de una copia de seguridad incremental: es decir, del nivel 1 al nivel 9.
Un único session ID o session label identifica cada copia de seguridad. La restauración de una copia de seguridad desde una cinta que contenga varias copias de seguridad requiere su correspondiente ID de sesión o etiqueta.
Para extraer, añadir o eliminar archivos específicos de una copia de seguridad, entre en el modo interactivo xfsrestore
. El modo interactivo proporciona un conjunto de comandos para manipular los archivos de la copia de seguridad.
Recursos adicionales
-
La página de manual
xfsrestore(8)
.
11.4.2. Restauración de un sistema de archivos XFS a partir de una copia de seguridad con xfsrestore
Este procedimiento describe cómo restaurar el contenido de un sistema de archivos XFS a partir de una copia de seguridad de archivos o cintas.
Requisitos previos
- Una copia de seguridad de archivos o cintas de sistemas de archivos XFS, como se describe en Sección 11.3, “Copia de seguridad de un sistema de archivos XFS”.
- Un dispositivo de almacenamiento donde se puede restaurar la copia de seguridad.
Procedimiento
El comando para restaurar la copia de seguridad varía en función de si se está restaurando a partir de una copia de seguridad completa o de una incremental, o si se están restaurando varias copias de seguridad a partir de un único dispositivo de cinta:
xfsrestore [-r] [-S session-id] [-L session-label] [-i]
# xfsrestore [-r] [-S session-id] [-L session-label] [-i] -f backup-location restoration-path
Copy to Clipboard Copied! -
Sustituya backup-location con la ubicación de la copia de seguridad. Puede ser un archivo normal, una unidad de cinta o un dispositivo de cinta remoto. Por ejemplo,
/backup-files/Data.xfsdump
para un archivo o/dev/st0
para una unidad de cinta. -
Sustituya restoration-path por la ruta del directorio donde desea restaurar el sistema de archivos. Por ejemplo,
/mnt/data/
. -
Para restaurar un sistema de archivos a partir de una copia de seguridad incremental (nivel 1 a nivel 9), añada la opción
-r
. Para restaurar una copia de seguridad desde un dispositivo de cinta que contiene varias copias de seguridad, especifique la copia de seguridad utilizando las opciones
-S
o-L
.La opción
-S
permite elegir una copia de seguridad por su ID de sesión, mientras que la opción-L
permite elegir por la etiqueta de sesión. Para obtener el ID de sesión y las etiquetas de sesión, utilice el comandoxfsrestore -I
.Sustituya session-id por el ID de sesión de la copia de seguridad. Por ejemplo,
b74a3586-e52e-4a4a-8775-c3334fa8ea2c
. Sustituya session-label por la etiqueta de la sesión de la copia de seguridad. Por ejemplo,my_backup_session_label
.Para utilizar
xfsrestore
de forma interactiva, utilice la opción-i
.El diálogo interactivo comienza después de que
xfsrestore
termine de leer el dispositivo especificado. Los comandos disponibles en el shell interactivoxfsrestore
incluyencd
,ls
,add
,delete
, yextract
; para una lista completa de comandos, utilice el comandohelp
.
-
Sustituya backup-location con la ubicación de la copia de seguridad. Puede ser un archivo normal, una unidad de cinta o un dispositivo de cinta remoto. Por ejemplo,
Ejemplo 11.3. Restauración de varios sistemas de archivos XFS
Para restaurar los archivos de la copia de seguridad XFS y guardar su contenido en directorios bajo
/mnt/
:xfsrestore -f /backup-files/boot.xfsdump /mnt/boot/ xfsrestore -f /backup-files/data.xfsdump /mnt/data/
# xfsrestore -f /backup-files/boot.xfsdump /mnt/boot/ # xfsrestore -f /backup-files/data.xfsdump /mnt/data/
Copy to Clipboard Copied! Para restaurar desde un dispositivo de cinta que contenga varias copias de seguridad, especifique cada copia de seguridad por su etiqueta o ID de sesión:
xfsrestore -L "backup_boot" -f /dev/st0 /mnt/boot/ xfsrestore -S "45e9af35-efd2-4244-87bc-4762e476cbab" \ -f /dev/st0 /mnt/data/
# xfsrestore -L "backup_boot" -f /dev/st0 /mnt/boot/ # xfsrestore -S "45e9af35-efd2-4244-87bc-4762e476cbab" \ -f /dev/st0 /mnt/data/
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
xfsrestore(8)
.
11.4.3. Mensajes informativos al restaurar una copia de seguridad XFS desde una cinta
Al restaurar una copia de seguridad de una cinta con copias de seguridad de varios sistemas de archivos, la utilidad xfsrestore
puede emitir mensajes. Los mensajes le informan de si se ha encontrado una coincidencia de la copia de seguridad solicitada cuando xfsrestore
examina cada copia de seguridad de la cinta en orden secuencial. Por ejemplo:
xfsrestore: preparing drive xfsrestore: examining media file 0 xfsrestore: inventory session uuid (8590224e-3c93-469c-a311-fc8f23029b2a) does not match the media header's session uuid (7eda9f86-f1e9-4dfd-b1d4-c50467912408) xfsrestore: examining media file 1 xfsrestore: inventory session uuid (8590224e-3c93-469c-a311-fc8f23029b2a) does not match the media header's session uuid (7eda9f86-f1e9-4dfd-b1d4-c50467912408) [...]
xfsrestore: preparing drive
xfsrestore: examining media file 0
xfsrestore: inventory session uuid (8590224e-3c93-469c-a311-fc8f23029b2a) does not match the media header's session uuid (7eda9f86-f1e9-4dfd-b1d4-c50467912408)
xfsrestore: examining media file 1
xfsrestore: inventory session uuid (8590224e-3c93-469c-a311-fc8f23029b2a) does not match the media header's session uuid (7eda9f86-f1e9-4dfd-b1d4-c50467912408)
[...]
Los mensajes informativos siguen apareciendo hasta que se encuentra la copia de seguridad correspondiente.
11.4.4. Recursos adicionales
-
La página de manual
xfsrestore(8)
.
11.5. Aumentar el tamaño de un sistema de archivos XFS
Como administrador del sistema, puede aumentar el tamaño de un sistema de archivos XFS para utilizar una mayor capacidad de almacenamiento.
Actualmente no es posible disminuir el tamaño de los sistemas de archivos XFS.
11.5.1. Aumentar el tamaño de un sistema de archivos XFS con xfs_growfs
Este procedimiento describe cómo hacer crecer un sistema de archivos XFS utilizando la utilidad xfs_growfs
.
Requisitos previos
- Asegúrese de que el dispositivo de bloque subyacente tiene un tamaño adecuado para albergar el sistema de archivos redimensionado posteriormente. Utilice los métodos de redimensionamiento adecuados para el dispositivo de bloque afectado.
- Monte el sistema de archivos XFS.
Procedimiento
Mientras el sistema de archivos XFS está montado, utilice la utilidad
xfs_growfs
para aumentar su tamaño:xfs_growfs file-system -D new-size
# xfs_growfs file-system -D new-size
Copy to Clipboard Copied! - Sustituya file-system por el punto de montaje del sistema de archivos XFS.
Con la opción
-D
, sustituya new-size por el nuevo tamaño deseado del sistema de archivos especificado en el número de bloques del sistema de archivos.Para averiguar el tamaño de bloque en kB de un determinado sistema de archivos XFS, utilice la utilidad
xfs_info
:xfs_info block-device
# xfs_info block-device ... data = bsize=4096 ...
Copy to Clipboard Copied! -
Sin la opción
-D
,xfs_growfs
hace crecer el sistema de archivos hasta el tamaño máximo soportado por el dispositivo subyacente.
Recursos adicionales
-
La página de manual
xfs_growfs(8)
.
11.6. Comparación de las herramientas utilizadas con ext4 y XFS
Esta sección compara qué herramientas utilizar para realizar tareas comunes en los sistemas de archivos ext4 y XFS.
Tarea | ext4 | XFS |
---|---|---|
Crear un sistema de archivos |
|
|
Comprobación del sistema de archivos |
|
|
Redimensionar un sistema de archivos |
|
|
Guardar una imagen de un sistema de archivos |
|
|
Etiquetar o ajustar un sistema de archivos |
|
|
Copia de seguridad de un sistema de archivos |
|
|
Gestión de cuotas |
|
|
Asignación de archivos |
|
|
Capítulo 12. Configuración del comportamiento de los errores de XFS
Puede configurar cómo se comporta un sistema de archivos XFS cuando encuentra diferentes errores de E/S.
12.1. Gestión de errores configurable en XFS
El sistema de archivos XFS responde de una de las siguientes maneras cuando se produce un error durante una operación de E/S:
XFS reintenta repetidamente la operación de E/S hasta que la operación tiene éxito o XFS alcanza un límite establecido.
El límite se basa en un número máximo de reintentos o en un tiempo máximo de reintentos.
- XFS considera que el error es permanente y detiene la operación en el sistema de archivos.
Puede configurar cómo reacciona XFS a las siguientes condiciones de error:
EIO
- Error al leer o escribir
ENOSPC
- No queda espacio en el dispositivo
ENODEV
- No se encuentra el dispositivo
Puede establecer el número máximo de reintentos y el tiempo máximo en segundos hasta que XFS considere un error como permanente. XFS deja de reintentar la operación cuando alcanza cualquiera de los límites.
También puede configurar XFS para que al desmontar un sistema de archivos, XFS cancele inmediatamente los reintentos independientemente de cualquier otra configuración. Esta configuración permite que la operación de desmontaje tenga éxito a pesar de los errores persistentes.
Comportamiento por defecto
El comportamiento por defecto para cada condición de error XFS depende del contexto del error. Algunos errores XFS, como ENODEV
, se consideran fatales e irrecuperables, independientemente del número de reintentos. Su límite de reintentos por defecto es 0.
12.2. Archivos de configuración para condiciones de error XFS específicas e indefinidas
Los siguientes directorios almacenan archivos de configuración que controlan el comportamiento de los errores de XFS para diferentes condiciones de error:
/sys/fs/xfs/device/error/metadata/EIO/
-
Para la condición de error
EIO
/sys/fs/xfs/device/error/metadata/ENODEV/
-
Para la condición de error
ENODEV
/sys/fs/xfs/device/error/metadata/ENOSPC/
-
Para la condición de error
ENOSPC
/sys/fs/xfs/device/error/default/
- Configuración común para todas las demás condiciones de error no definidas
Cada directorio contiene los siguientes archivos de configuración para configurar los límites de reintento:
max_retries
- Controla el número máximo de veces que XFS reintenta la operación.
retry_timeout_seconds
- Especifica el límite de tiempo en segundos después del cual XFS deja de reintentar la operación.
12.3. Configuración del comportamiento de XFS para condiciones específicas
Este procedimiento configura el modo en que XFS reacciona ante determinadas condiciones de error.
Procedimiento
Establezca el número máximo de reintentos, el límite de tiempo de reintento o ambos:
Para establecer el número máximo de reintentos, escriba el número deseado en el archivo
max_retries
:echo value > /sys/fs/xfs/device/error/metadata/condition/max_retries
# echo value > /sys/fs/xfs/device/error/metadata/condition/max_retries
Copy to Clipboard Copied! Para establecer el límite de tiempo, escriba el número de segundos deseado en el archivo
retry_timeout_seconds
:echo value > /sys/fs/xfs/device/error/metadata/condition/retry_timeout_second
# echo value > /sys/fs/xfs/device/error/metadata/condition/retry_timeout_second
Copy to Clipboard Copied!
value es un número entre -1 y el valor máximo posible del tipo entero con signo de C. Esto es 2147483647 en Linux de 64 bits.
En ambos límites, el valor
-1
se utiliza para los reintentos continuos y0
para detenerse inmediatamente.device es el nombre del dispositivo, tal y como se encuentra en el directorio
/dev/
; por ejemplo,sda
.
12.4. Configuración del comportamiento de XFS para condiciones no definidas
Este procedimiento configura el modo en que XFS reacciona a todas las condiciones de error indefinidas, que comparten una configuración común.
Procedimiento
Establezca el número máximo de reintentos, el límite de tiempo de reintento o ambos:
Para establecer el número máximo de reintentos, escriba el número deseado en el archivo
max_retries
:echo value > /sys/fs/xfs/device/error/metadata/default/max_retries
# echo value > /sys/fs/xfs/device/error/metadata/default/max_retries
Copy to Clipboard Copied! Para establecer el límite de tiempo, escriba el número de segundos deseado en el archivo
retry_timeout_seconds
:echo value > /sys/fs/xfs/device/error/metadata/default/retry_timeout_seconds
# echo value > /sys/fs/xfs/device/error/metadata/default/retry_timeout_seconds
Copy to Clipboard Copied!
value es un número entre -1 y el valor máximo posible del tipo entero con signo de C. Esto es 2147483647 en Linux de 64 bits.
En ambos límites, el valor
-1
se utiliza para los reintentos continuos y0
para detenerse inmediatamente.device es el nombre del dispositivo, tal y como se encuentra en el directorio
/dev/
; por ejemplo,sda
.
12.5. Cómo configurar el comportamiento de desmontaje de XFS
Este procedimiento configura cómo reacciona XFS a las condiciones de error al desmontar el sistema de archivos.
Si se establece la opción fail_at_unmount
en el sistema de archivos, se anulan todas las demás configuraciones de error durante el desmontaje, y se desmonta inmediatamente el sistema de archivos sin reintentar la operación de E/S. Esto permite que la operación de desmontaje tenga éxito incluso en caso de errores persistentes.
No puede cambiar el valor de fail_at_unmount
después de que se inicie el proceso de desmontaje, porque el proceso de desmontaje elimina los archivos de configuración de la interfaz sysfs
para el sistema de archivos correspondiente. Debe configurar el comportamiento de desmontaje antes de que el sistema de archivos comience a desmontar.
Procedimiento
Activa o desactiva la opción
fail_at_unmount
:Para cancelar el reintento de todas las operaciones cuando el sistema de archivos se desmonta, active la opción:
echo 1 > /sys/fs/xfs/device/error/fail_at_unmount
# echo 1 > /sys/fs/xfs/device/error/fail_at_unmount
Copy to Clipboard Copied! Para respetar los límites de reintentos de
max_retries
yretry_timeout_seconds
cuando se desmonta el sistema de archivos, desactive la opción:echo 0 > /sys/fs/xfs/device/error/fail_at_unmount
# echo 0 > /sys/fs/xfs/device/error/fail_at_unmount
Copy to Clipboard Copied!
device es el nombre del dispositivo, tal y como se encuentra en el directorio
/dev/
; por ejemplo,sda
.
Capítulo 13. Comprobación y reparación de un sistema de archivos
RHEL proporciona utilidades de administración del sistema de archivos que son capaces de comprobar y reparar los sistemas de archivos. Estas herramientas suelen denominarse herramientas fsck
, donde fsck
es una versión abreviada de file system check. En la mayoría de los casos, estas utilidades se ejecutan automáticamente durante el arranque del sistema, si es necesario, pero también pueden ser invocadas manualmente si es necesario.
Los verificadores del sistema de archivos sólo garantizan la consistencia de los metadatos en el sistema de archivos. No tienen conocimiento de los datos reales contenidos en el sistema de archivos y no son herramientas de recuperación de datos.
13.1. Escenarios que requieren una comprobación del sistema de archivos
Las herramientas pertinentes de fsck
pueden utilizarse para comprobar el sistema si se produce alguna de las siguientes situaciones:
- El sistema no arranca
- Los archivos de un disco específico se corrompen
- El sistema de archivos se apaga o cambia a sólo lectura debido a inconsistencias
- Un archivo en el sistema de archivos es inaccesible
Las incoherencias en el sistema de archivos pueden producirse por varias razones, entre las que se incluyen errores de hardware, errores de administración del almacenamiento y fallos de software.
Las herramientas de comprobación del sistema de archivos no pueden reparar problemas de hardware. Un sistema de archivos debe ser totalmente legible y escribible para que la reparación funcione con éxito. Si un sistema de archivos se corrompió debido a un error de hardware, el sistema de archivos debe moverse primero a un disco en buen estado, por ejemplo con la utilidad dd(8)
.
En el caso de los sistemas de archivos con registro en el diario, todo lo que se requiere normalmente en el momento del arranque es reproducir el diario si es necesario y esto suele ser una operación muy breve.
Sin embargo, si se produce una incoherencia o corrupción en el sistema de archivos, incluso en el caso de los sistemas de archivos con registro en el diario, se debe utilizar el comprobador del sistema de archivos para reparar el sistema de archivos.
Es posible desactivar la comprobación del sistema de archivos en el arranque estableciendo el sexto campo en /etc/fstab
a 0
. Sin embargo, Red Hat no recomienda hacerlo a menos que tenga problemas con fsck
en el momento del arranque, por ejemplo con sistemas de archivos extremadamente grandes o remotos.
Recursos adicionales
-
La página de manual
fstab(5)
. -
La página de manual
fsck(8)
. -
La página de manual
dd(8)
.
13.2. Posibles efectos secundarios de la ejecución de fsck
Por lo general, se puede esperar que la ejecución de la herramienta de comprobación y reparación del sistema de archivos repare automáticamente al menos algunas de las incoherencias que encuentra. En algunos casos, pueden surgir los siguientes problemas:
- Los inodos o directorios severamente dañados pueden ser descartados si no pueden ser reparados.
- Pueden producirse cambios significativos en el sistema de archivos.
Para garantizar que no se realicen cambios inesperados o no deseados de forma permanente, asegúrese de seguir los pasos de precaución indicados en el procedimiento.
13.3. Mecanismos de gestión de errores en XFS
Esta sección describe cómo XFS maneja varios tipos de errores en el sistema de archivos.
Desmontajes sin limpiar
La gestión de los diarios mantiene un registro transaccional de los cambios de metadatos que se producen en el sistema de archivos.
En caso de que el sistema se caiga, haya un fallo de alimentación o se desmonte de otra manera, XFS utiliza el diario (también llamado registro) para recuperar el sistema de archivos. El núcleo realiza la recuperación del diario al montar el sistema de archivos XFS.
Corrupción
En este contexto, corruption se refiere a errores en el sistema de archivos causados, por ejemplo:
- Fallos de hardware
- Errores en el firmware de almacenamiento, los controladores de dispositivos, la pila de software o el propio sistema de archivos
- Problemas que hacen que partes del sistema de archivos sean sobrescritas por algo ajeno al sistema de archivos
Cuando XFS detecta una corrupción en el sistema de archivos o en los metadatos del sistema de archivos, puede cerrar el sistema de archivos e informar del incidente en el registro del sistema. Tenga en cuenta que si la corrupción se produjo en el sistema de archivos que alberga el directorio /var
, estos registros no estarán disponibles después de un reinicio.
Ejemplo 13.1. Entrada en el registro del sistema informando de una corrupción de XFS
dmesg --notime | tail -15
# dmesg --notime | tail -15
XFS (loop0): Mounting V5 Filesystem
XFS (loop0): Metadata CRC error detected at xfs_agi_read_verify+0xcb/0xf0 [xfs], xfs_agi block 0x2
XFS (loop0): Unmount and run xfs_repair
XFS (loop0): First 128 bytes of corrupted metadata buffer:
00000000027b3b56: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000000005f9abc7a: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000000005b0aef35: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000000da9d2ded: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000000001e265b07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000000006a40df69: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000000000b272907: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000000e484aac5: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
XFS (loop0): metadata I/O error in "xfs_trans_read_buf_map" at daddr 0x2 len 1 error 74
XFS (loop0): xfs_imap_lookup: xfs_ialloc_read_agi() returned error -117, agno 0
XFS (loop0): Failed to read root inode 0x80, error 11
Las utilidades del espacio de usuario suelen informar del mensaje Input/output error cuando intentan acceder a un sistema de archivos XFS dañado. El montaje de un sistema de archivos XFS con un registro dañado da como resultado un montaje fallido y el siguiente mensaje de error:
mount /mount-pointLa llamada al sistema mount(2) ha fallado: La estructura necesita ser limpiada.
mount /mount-pointLa llamada al sistema mount(2) ha fallado: La estructura necesita ser limpiada.
Debe utilizar manualmente la utilidad xfs_repair
para reparar la corrupción.
Recursos adicionales
-
La página de manual
xfs_repair(8)
proporciona una lista detallada de las comprobaciones de corrupción de XFS.
13.4. Comprobación de un sistema de archivos XFS con xfs_repair
Este procedimiento realiza una comprobación de sólo lectura de un sistema de archivos XFS utilizando la utilidad xfs_repair
. Debe utilizar manualmente la utilidad xfs_repair
para reparar cualquier corrupción. A diferencia de otras utilidades de reparación de sistemas de archivos, xfs_repair
no se ejecuta en el momento del arranque, incluso cuando un sistema de archivos XFS no se ha desmontado limpiamente. En el caso de un desmontaje no limpio, XFS simplemente reproduce el registro en el momento del montaje, asegurando un sistema de archivos consistente; xfs_repair
no puede reparar un sistema de archivos XFS con un registro sucio sin volver a montarlo primero.
Aunque un binario fsck.xfs
está presente en el paquete xfsprogs
, éste está presente sólo para satisfacer a initscripts
que busca un binario del sistema fsck.file
en el momento del arranque. fsck.xfs
sale inmediatamente con un código de salida de 0.
Procedimiento
Reproducir el registro montando y desmontando el sistema de archivos:
mount file-system umount file-system
# mount file-system # umount file-system
Copy to Clipboard Copied! NotaSi el montaje falla con un error de que la estructura necesita ser limpiada, el registro se corrompe y no puede ser reproducido. La ejecución en seco debería descubrir y reportar más corrupción en el disco como resultado.
Utilice la utilidad
xfs_repair
para realizar una ejecución en seco para comprobar el sistema de archivos. Se imprime cualquier error y una indicación de las acciones que se tomarían, sin modificar el sistema de archivos.xfs_repair -n block-device
# xfs_repair -n block-device
Copy to Clipboard Copied! Montar el sistema de archivos:
montaje file-system
# montaje file-system
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
xfs_repair(8)
. -
La página de manual
xfs_metadump(8)
.
13.5. Reparación de un sistema de archivos XFS con xfs_repair
Este procedimiento repara un sistema de archivos XFS dañado utilizando la utilidad xfs_repair
.
Procedimiento
Cree una imagen de metadatos antes de la reparación con fines de diagnóstico o de prueba utilizando la utilidad
xfs_metadump
. Una imagen de metadatos del sistema de archivos previa a la reparación puede ser útil para las investigaciones de soporte si la corrupción se debe a un error de software. Los patrones de corrupción presentes en la imagen previa a la reparación pueden ayudar en el análisis de la causa raíz.Utilice la herramienta de depuración
xfs_metadump
para copiar los metadatos de un sistema de archivos XFS a un archivo. El archivometadump
resultante puede comprimirse utilizando utilidades de compresión estándar para reducir el tamaño del archivo si es necesario enviar archivosmetadump
de gran tamaño a soporte.xfs_metadump block-device metadump-file
# xfs_metadump block-device metadump-file
Copy to Clipboard Copied!
Reproducir el registro volviendo a montar el sistema de archivos:
mount file-system umount file-system
# mount file-system # umount file-system
Copy to Clipboard Copied! Utilice la utilidad
xfs_repair
para reparar el sistema de archivos desmontado:Si el montaje tuvo éxito, no se requieren opciones adicionales:
xfs_repair block-device
# xfs_repair block-device
Copy to Clipboard Copied! Si el montaje falló con el error Structure needs cleaning, el registro está corrupto y no puede ser reproducido. Utilice la opción
-L
(force log zeroing) para borrar el registro:AvisoEste comando hace que se pierdan todas las actualizaciones de metadatos en curso en el momento de la caída, lo que podría causar daños importantes en el sistema de archivos y pérdida de datos. Esto debe utilizarse sólo como último recurso si el registro no puede ser reproducido.
xfs_repair -L block-device
# xfs_repair -L block-device
Copy to Clipboard Copied!
Montar el sistema de archivos:
montaje file-system
# montaje file-system
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
xfs_repair(8)
.
13.6. Mecanismos de gestión de errores en ext2, ext3 y ext4
Los sistemas de archivos ext2, ext3 y ext4 utilizan la utilidad e2fsck
para realizar comprobaciones y reparaciones del sistema de archivos. Los nombres de archivo fsck.ext2
, fsck.ext3
, y fsck.ext4
son enlaces duros a la utilidad e2fsck
. Estos binarios se ejecutan automáticamente en el momento del arranque y su comportamiento varía en función del sistema de archivos que se esté comprobando y del estado del sistema de archivos.
Se invoca una comprobación y reparación completa del sistema de archivos para ext2, que no es un sistema de archivos con diario de metadatos, y para los sistemas de archivos ext4 sin diario.
Para los sistemas de archivos ext3 y ext4 con registro en el diario de metadatos, el diario se reproduce en el espacio de usuario y la utilidad se cierra. Esta es la acción por defecto porque la reproducción del diario asegura un sistema de archivos consistente después de un fallo.
Si estos sistemas de archivos encuentran inconsistencias en los metadatos mientras están montados, registran este hecho en el superbloque del sistema de archivos. Si e2fsck
encuentra que un sistema de archivos está marcado con un error de este tipo, e2fsck
realiza una comprobación completa después de reproducir el diario (si está presente).
Recursos adicionales
-
La página de manual
fsck(8)
. -
La página de manual
e2fsck(8)
.
13.7. Comprobación de un sistema de archivos ext2, ext3 o ext4 con e2fsck
Este procedimiento comprueba un sistema de archivos ext2, ext3 o ext4 utilizando la utilidad e2fsck
.
Procedimiento
Reproducir el registro volviendo a montar el sistema de archivos:
mount file-system umount file-system
# mount file-system # umount file-system
Copy to Clipboard Copied! Realice un simulacro para comprobar el sistema de archivos.
e2fsck -n block-device
# e2fsck -n block-device
Copy to Clipboard Copied! NotaSe imprime cualquier error y una indicación de las acciones que se tomarían, sin modificar el sistema de archivos. Las fases posteriores de la comprobación de consistencia pueden imprimir errores adicionales a medida que descubre inconsistencias que se habrían solucionado en las primeras fases si se estuviera ejecutando en modo de reparación.
Recursos adicionales
-
La página de manual
e2image(8)
. -
La página de manual
e2fsck(8)
.
13.8. Reparación de un sistema de archivos ext2, ext3 o ext4 con e2fsck
Este procedimiento repara un sistema de archivos ext2, ext3 o ext4 dañado utilizando la utilidad e2fsck
.
Procedimiento
Guarde una imagen del sistema de archivos para las investigaciones de soporte. Una imagen de metadatos del sistema de archivos previa a la reparación puede ser útil para las investigaciones de soporte si la corrupción se debe a un error de software. Los patrones de corrupción presentes en la imagen de pre-reparación pueden ayudar en el análisis de la causa raíz.
NotaLos sistemas de archivos muy dañados pueden causar problemas con la creación de imágenes de metadatos.
Si está creando la imagen con fines de prueba, utilice la opción
-r
para crear un archivo disperso del mismo tamaño que el propio sistema de archivos.e2fsck
puede entonces operar directamente en el archivo resultante.e2image -r block-device image-file
# e2image -r block-device image-file
Copy to Clipboard Copied! Si está creando la imagen para ser archivada o proporcionada para el diagnóstico, utilice la opción
-Q
, que crea un formato de archivo más compacto adecuado para la transferencia.e2image -Q block-device image-file
# e2image -Q block-device image-file
Copy to Clipboard Copied!
Reproducir el registro volviendo a montar el sistema de archivos:
mount file-system umount file-system
# mount file-system # umount file-system
Copy to Clipboard Copied! Reparar automáticamente el sistema de archivos. Si se requiere la intervención del usuario,
e2fsck
indica el problema no reparado en su salida y refleja este estado en el código de salida.e2fsck -p block-device
# e2fsck -p block-device
Copy to Clipboard Copied! Recursos adicionales
-
La página de manual
e2image(8)
. -
La página de manual
e2fsck(8)
.
-
La página de manual
Capítulo 14. Montaje de sistemas de archivos
Como administrador del sistema, puedes montar sistemas de archivos en tu sistema para acceder a los datos que contienen.
14.1. El mecanismo de montaje de Linux
Esta sección explica los conceptos básicos del montaje de sistemas de archivos en Linux.
En Linux, UNIX y sistemas operativos similares, los sistemas de archivos en diferentes particiones y dispositivos extraíbles (CDs, DVDs o memorias USB, por ejemplo) se pueden montar en un punto determinado (el punto de montaje) en el árbol de directorios, y luego desprenderse de nuevo. Mientras un sistema de archivos está montado en un directorio, el contenido original del mismo no es accesible.
Tenga en cuenta que Linux no le impide montar un sistema de archivos en un directorio con un sistema de archivos ya adjunto.
Al montarlo, puedes identificar el dispositivo por:
-
un identificador único universal (UUID): por ejemplo,
UUID=34795a28-ca6d-4fd8-a347-73671d0c19cb
-
una etiqueta de volumen: por ejemplo,
LABEL=home
-
una ruta completa a un dispositivo de bloque no persistente: por ejemplo,
/dev/sda3
Cuando se monta un sistema de archivos utilizando el comando mount
sin toda la información requerida, es decir, sin el nombre del dispositivo, el directorio de destino o el tipo de sistema de archivos, la utilidad mount
lee el contenido del archivo /etc/fstab
para comprobar si el sistema de archivos dado aparece en él. El archivo /etc/fstab
contiene una lista de nombres de dispositivos y los directorios en los que los sistemas de archivos seleccionados están configurados para ser montados, así como el tipo de sistema de archivos y las opciones de montaje. Por lo tanto, cuando se monta un sistema de archivos especificado en /etc/fstab
, la siguiente sintaxis de comando es suficiente:
Montaje por el punto de montaje:
montaje directory
# montaje directory
Copy to Clipboard Copied! Montaje por el dispositivo de bloque:
montaje device
# montaje device
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
mount(8)
. - Para obtener información sobre cómo enumerar los atributos de nomenclatura persistente, como el UUID, consulte Sección 9.6, “Listado de atributos de nomenclatura persistente”.
14.2. Listado de los sistemas de archivos montados actualmente
Este procedimiento describe cómo listar todos los sistemas de archivos montados actualmente en la línea de comandos.
Procedimiento
Para listar todos los sistemas de archivos montados, utilice la utilidad
findmnt
:findmnt
$ findmnt
Copy to Clipboard Copied! Para limitar los sistemas de archivos listados sólo a un determinado tipo de sistema de archivos, añada la opción
--types
:findmnt --types fs-type
$ findmnt --types fs-type
Copy to Clipboard Copied! Por ejemplo:
Ejemplo 14.1. Listado sólo de sistemas de archivos XFS
findmnt --types xfs
$ findmnt --types xfs TARGET SOURCE FSTYPE OPTIONS / /dev/mapper/luks-5564ed00-6aac-4406-bfb4-c59bf5de48b5 xfs rw,relatime ├─/boot /dev/sda1 xfs rw,relatime └─/home /dev/mapper/luks-9d185660-7537-414d-b727-d92ea036051e xfs rw,relatime
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
findmnt(8)
.
14.3. Montaje de un sistema de archivos con mount
Este procedimiento describe cómo montar un sistema de archivos utilizando la utilidad mount
.
Requisitos previos
Asegúrese de que no hay ningún sistema de archivos montado en el punto de montaje elegido:
findmnt mount-point
$ findmnt mount-point
Copy to Clipboard Copied!
Procedimiento
Para adjuntar un determinado sistema de archivos, utilice la utilidad
mount
:montaje device mount-point
# montaje device mount-point
Copy to Clipboard Copied! Ejemplo 14.2. Montaje de un sistema de archivos XFS
Por ejemplo, para montar un sistema de archivos XFS local identificado por UUID:
mount UUID=ea74bbec-536d-490c-b8d9-5b40bbd7545b /mnt/data
# mount UUID=ea74bbec-536d-490c-b8d9-5b40bbd7545b /mnt/data
Copy to Clipboard Copied! Si
mount
no puede reconocer el tipo de sistema de archivos automáticamente, especifíquelo utilizando la opción--types
:mount --types type device mount-point
# mount --types type device mount-point
Copy to Clipboard Copied! Ejemplo 14.3. Montaje de un sistema de archivos NFS
Por ejemplo, para montar un sistema de archivos NFS remoto:
mount --types nfs4 host:/remote-export /mnt/nfs
# mount --types nfs4 host:/remote-export /mnt/nfs
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
mount(8)
.
14.4. Mover un punto de montaje
Este procedimiento describe cómo cambiar el punto de montaje de un sistema de archivos montado a un directorio diferente.
Procedimiento
Para cambiar el directorio en el que se monta un sistema de archivos:
mount --move old-directory new-directory
# mount --move old-directory new-directory
Copy to Clipboard Copied! Ejemplo 14.4. Mover un sistema de archivos doméstico
Por ejemplo, para mover el sistema de archivos montado en el directorio
/mnt/userdirs/
al punto de montaje/home/
:mount --move /mnt/userdirs /home
# mount --move /mnt/userdirs /home
Copy to Clipboard Copied! Compruebe que el sistema de archivos se ha movido como se esperaba:
findmnt ls old-directory ls new-directory
$ findmnt $ ls old-directory $ ls new-directory
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
mount(8)
.
14.5. Desmontaje de un sistema de archivos con umount
Este procedimiento describe cómo desmontar un sistema de archivos utilizando la utilidad umount
.
Procedimiento
Intente desmontar el sistema de archivos utilizando cualquiera de los siguientes comandos:
Por punto de montaje:
umount mount-point
# umount mount-point
Copy to Clipboard Copied! Por dispositivo:
umount device
# umount device
Copy to Clipboard Copied!
Si el comando falla con un error similar al siguiente, significa que el sistema de archivos está en uso porque un proceso está utilizando recursos en él:
umount /run/media/user/FlashDrive: el objetivo está ocupado.
umount /run/media/user/FlashDrive: el objetivo está ocupado.
Copy to Clipboard Copied! Si el sistema de archivos está en uso, utilice la utilidad
fuser
para determinar qué procesos están accediendo a él. Por ejemplo:fuser --mount /run/media/user/FlashDrive
$ fuser --mount /run/media/user/FlashDrive /run/media/user/FlashDrive: 18351
Copy to Clipboard Copied! A continuación, finalice los procesos que utilizan el sistema de archivos e intente desmontarlo de nuevo.
14.6. Opciones de montaje habituales
Esta sección enumera algunas de las opciones más utilizadas de la utilidad mount
.
Puede utilizar estas opciones en la siguiente sintaxis:
mount --options option1,option2,option3 device mount-point
# mount --options option1,option2,option3 device mount-point
Opción | Descripción |
---|---|
| Activa las operaciones asíncronas de entrada y salida en el sistema de archivos. |
|
Permite montar automáticamente el sistema de archivos mediante el comando |
|
Proporciona un alias para las opciones de |
| Permite la ejecución de archivos binarios en el sistema de archivos particular. |
| Monta una imagen como dispositivo de bucle. |
|
El comportamiento por defecto desactiva el montaje automático del sistema de archivos mediante el comando |
| Desactiva la ejecución de archivos binarios en el sistema de archivos concreto. |
| Impide que un usuario normal (es decir, que no sea root) monte y desmonte el sistema de archivos. |
| Vuelve a montar el sistema de archivos en caso de que ya esté montado. |
| Monta el sistema de archivos sólo para lectura. |
| Monta el sistema de archivos tanto para leer como para escribir. |
| Permite a un usuario normal (es decir, que no sea root) montar y desmontar el sistema de archivos. |
14.7. Compartir un montaje en varios puntos de montaje
Como administrador del sistema, puede duplicar los puntos de montaje para que los sistemas de archivos sean accesibles desde varios directorios.
14.7.2. Creación de un duplicado de punto de montaje privado
Este procedimiento duplica un punto de montaje como un montaje privado. Los sistemas de archivos que se monten posteriormente bajo el duplicado o el punto de montaje original no se reflejan en el otro.
Procedimiento
Cree un nodo de sistema de archivos virtual (VFS) a partir del punto de montaje original:
mount --bind original-dir original-dir
# mount --bind original-dir original-dir
Copy to Clipboard Copied! Marcar el punto de montaje original como privado:
mount --make-private original-dir
# mount --make-private original-dir
Copy to Clipboard Copied! Alternativamente, para cambiar el tipo de montaje para el punto de montaje seleccionado y todos los puntos de montaje bajo él, utilice la opción
--make-rprivate
en lugar de--make-private
.Crea el duplicado:
mount --bind original-dir duplicate-dir
# mount --bind original-dir duplicate-dir
Copy to Clipboard Copied!
Ejemplo 14.5. Duplicar /media en /mnt como punto de montaje privado
Cree un nodo VFS desde el directorio
/media
:mount --bind /media /media
# mount --bind /media /media
Copy to Clipboard Copied! Marcar el directorio
/media
como privado:mount --make-private /media
# mount --make-private /media
Copy to Clipboard Copied! Cree su duplicado en
/mnt
:mount --bind /media /mnt
# mount --bind /media /mnt
Copy to Clipboard Copied! Ahora es posible verificar que
/media
y/mnt
comparten contenido pero ninguno de los montajes dentro de/media
aparece en/mnt
. Por ejemplo, si la unidad de CD-ROM contiene medios no vacíos y el directorio/media/cdrom/
existe, utilice:mount /dev/cdrom /media/cdrom ls /media/cdrom ls /mnt/cdrom
# mount /dev/cdrom /media/cdrom # ls /media/cdrom EFI GPL isolinux LiveOS # ls /mnt/cdrom #
Copy to Clipboard Copied! También es posible comprobar que los sistemas de archivos montados en el directorio
/mnt
no se reflejan en/media
. Por ejemplo, si se conecta una unidad flash USB no vacía que utiliza el dispositivo/dev/sdc1
y el directorio/mnt/flashdisk/
está presente, utilice:mount /dev/sdc1 /mnt/flashdisk ls /media/flashdisk ls /mnt/flashdisk
# mount /dev/sdc1 /mnt/flashdisk # ls /media/flashdisk # ls /mnt/flashdisk en-US publican.cfg
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
mount(8)
.
14.7.4. Creación de un duplicado de punto de montaje esclavo
Este procedimiento duplica un punto de montaje como un montaje esclavo. Los sistemas de archivos que se monten posteriormente bajo el punto de montaje original se reflejan en el duplicado, pero no al revés.
Procedimiento
Cree un nodo de sistema de archivos virtual (VFS) a partir del punto de montaje original:
mount --bind original-dir original-dir
# mount --bind original-dir original-dir
Copy to Clipboard Copied! Marcar el punto de montaje original como compartido:
mount --make-shared original-dir
# mount --make-shared original-dir
Copy to Clipboard Copied! Alternativamente, para cambiar el tipo de montaje para el punto de montaje seleccionado y todos los puntos de montaje bajo él, utilice la opción
--make-rshared
en lugar de--make-shared
.Crea el duplicado y márcalo como esclavo:
mount --bind original-dir duplicate-dir mount --make-slave duplicate-dir
# mount --bind original-dir duplicate-dir # mount --make-slave duplicate-dir
Copy to Clipboard Copied!
Ejemplo 14.7. Duplicación de /media en /mnt como punto de montaje esclavo
Este ejemplo muestra cómo conseguir que el contenido del directorio /media
aparezca también en /mnt
, pero sin que ningún montaje del directorio /mnt
se refleje en /media
.
Cree un nodo VFS desde el directorio
/media
:mount --bind /media /media
# mount --bind /media /media
Copy to Clipboard Copied! Marque el directorio
/media
como compartido:mount --make-shared /media
# mount --make-shared /media
Copy to Clipboard Copied! Cree su duplicado en
/mnt
y márquelo como esclavo:mount --bind /media /mnt mount --make-slave /mnt
# mount --bind /media /mnt # mount --make-slave /mnt
Copy to Clipboard Copied! Compruebe que un montaje dentro de
/media
también aparece en/mnt
. Por ejemplo, si la unidad de CD-ROM contiene medios no vacíos y el directorio/media/cdrom/
existe, utilice:mount /dev/cdrom /media/cdrom ls /media/cdrom ls /mnt/cdrom
# mount /dev/cdrom /media/cdrom # ls /media/cdrom EFI GPL isolinux LiveOS # ls /mnt/cdrom EFI GPL isolinux LiveOS
Copy to Clipboard Copied! Compruebe también que los sistemas de archivos montados en el directorio
/mnt
no se reflejan en/media
. Por ejemplo, si se conecta una unidad flash USB no vacía que utiliza el dispositivo/dev/sdc1
y el directorio/mnt/flashdisk/
está presente, utilice:mount /dev/sdc1 /mnt/flashdisk ls /media/flashdisk ls /mnt/flashdisk
# mount /dev/sdc1 /mnt/flashdisk # ls /media/flashdisk # ls /mnt/flashdisk en-US publican.cfg
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
mount(8)
.
14.7.5. Evitar que un punto de montaje se duplique
Este procedimiento marca un punto de montaje como no vinculable para que no sea posible duplicarlo en otro punto de montaje.
Procedimiento
Para cambiar el tipo de un punto de montaje a un montaje no vinculable, utilice
mount --bind mount-point mount-point mount --make-unbindable mount-point
# mount --bind mount-point mount-point # mount --make-unbindable mount-point
Copy to Clipboard Copied! Alternativamente, para cambiar el tipo de montaje para el punto de montaje seleccionado y todos los puntos de montaje bajo él, utilice la opción
--make-runbindable
en lugar de--make-unbindable
.Cualquier intento posterior de hacer un duplicado de este montaje falla con el siguiente error:
mount --bind mount-point duplicate-dir
# mount --bind mount-point duplicate-dir mount: wrong fs type, bad option, bad superblock on mount-point, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so
Copy to Clipboard Copied!
Ejemplo 14.8. Evitar la duplicación de /media
Para evitar que el directorio
/media
sea compartido, utilice:mount --bind /media /media mount --make-unbindable /media
# mount --bind /media /media # mount --make-unbindable /media
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
mount(8)
.
14.8. Montaje persistente de sistemas de archivos
Como administrador del sistema, puede montar de forma persistente sistemas de archivos para configurar el almacenamiento no extraíble.
14.8.1. El archivo /etc/fstab
Esta sección describe el archivo de configuración /etc/fstab
, que controla los puntos de montaje persistentes de los sistemas de archivos. El uso de /etc/fstab
es la forma recomendada para montar de forma persistente los sistemas de archivos.
Cada línea del archivo /etc/fstab
define un punto de montaje de un sistema de archivos. Incluye seis campos separados por espacios en blanco:
-
El dispositivo de bloque identificado por un atributo persistente o una ruta en el directorio
/dev
. - El directorio donde se montará el dispositivo.
- El sistema de archivos del dispositivo.
-
Opciones de montaje para el sistema de archivos. La opción
defaults
significa que la partición se monta en el momento del arranque con las opciones por defecto. Esta sección también reconoce las opciones de la unidad de montajesystemd
en el formatox-systemd.option
formato. -
Opción de copia de seguridad para la utilidad
dump
. -
Orden de comprobación de la utilidad
fsck
.
Ejemplo 14.9. El sistema de archivos /boot
en /etc/fstab
Dispositivo en bloque | Punto de montaje | Sistema de archivos | Opciones | Copia de seguridad | Consulte |
---|---|---|---|---|---|
|
|
|
|
|
|
El servicio systemd
genera automáticamente unidades de montaje a partir de las entradas en /etc/fstab
.
Recursos adicionales
-
La página de manual
fstab(5)
. -
La sección fstab de la página de manual
systemd.mount(5)
.
14.8.2. Añadir un sistema de archivos a /etc/fstab
Este procedimiento describe cómo configurar el punto de montaje persistente para un sistema de archivos en el archivo de configuración /etc/fstab
.
Procedimiento
Averigua el atributo UUID del sistema de archivos:
lsblk --fs storage-device
$ lsblk --fs storage-device
Copy to Clipboard Copied! Por ejemplo:
Ejemplo 14.10. Ver el UUID de una partición
lsblk --fs /dev/sda1
$ lsblk --fs /dev/sda1 NAME FSTYPE LABEL UUID MOUNTPOINT sda1 xfs Boot ea74bbec-536d-490c-b8d9-5b40bbd7545b /boot
Copy to Clipboard Copied! Si el directorio del punto de montaje no existe, créelo:
mkdir --parents mount-point
# mkdir --parents mount-point
Copy to Clipboard Copied! Como root, edite el archivo
/etc/fstab
y añada una línea para el sistema de archivos, identificado por el UUID.Por ejemplo:
Ejemplo 14.11. El punto de montaje /boot en /etc/fstab
UUID=ea74bbec-536d-490c-b8d9-5b40bbd7545b /boot xfs defaults 0 0
UUID=ea74bbec-536d-490c-b8d9-5b40bbd7545b /boot xfs defaults 0 0
Copy to Clipboard Copied! Regenere las unidades de montaje para que su sistema registre la nueva configuración:
systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Intente montar el sistema de archivos para verificar que la configuración funciona:
montaje mount-point
# montaje mount-point
Copy to Clipboard Copied!
Recursos adicionales
- Otros atributos persistentes que puede utilizar para identificar el sistema de archivos Sección 9.3, “Nombres de dispositivos gestionados por el mecanismo udev en /dev/disk/”
14.8.3. Montaje persistente de un sistema de archivos con RHEL System Roles
Esta sección describe cómo montar persistentemente un sistema de archivos utilizando el rol storage
.
Requisitos previos
Existe un playbook de Ansible que utiliza el rol
storage
.Para obtener información sobre cómo aplicar un libro de jugadas de este tipo, consulte Aplicar un rol.
14.8.3.1. Ejemplo de playbook de Ansible para montar persistentemente un sistema de archivos
Esta sección proporciona un ejemplo de libro de jugadas de Ansible. Este libro de jugadas aplica el rol storage
para montar de forma inmediata y persistente un sistema de archivos XFS.
Ejemplo 14.12. Un playbook que monta un sistema de archivos en /dev/sdb a /mnt/data
--- - hosts: all vars: storage_volumes: - name: barefs type: disk disks: - sdb fs_type: xfs mount_point: /mnt/data roles: - rhel-system-roles.storage
---
- hosts: all
vars:
storage_volumes:
- name: barefs
type: disk
disks:
- sdb
fs_type: xfs
mount_point: /mnt/data
roles:
- rhel-system-roles.storage
-
Este libro de jugadas añade el sistema de archivos al archivo
/etc/fstab
, y monta el sistema de archivos inmediatamente. -
Si el sistema de archivos del dispositivo
/dev/sdb
o el directorio del punto de montaje no existen, el libro de jugadas los crea.
Recursos adicionales
-
Para más detalles sobre los parámetros utilizados en el rol de sistema
storage
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.storage/README.md
.
14.8.3.2. Recursos adicionales
-
Para más información sobre la función
storage
, consulte Sección 2.1, “Introducción a la función de almacenamiento”.
14.9. Montaje de sistemas de archivos bajo demanda
Como administrador del sistema, puede configurar los sistemas de archivos, como NFS, para que se monten automáticamente bajo demanda.
14.9.1. El servicio autofs
Esta sección explica las ventajas y los conceptos básicos del servicio autofs
, utilizado para montar sistemas de archivos bajo demanda.
Una desventaja del montaje permanente utilizando la configuración /etc/fstab
es que, independientemente de la poca frecuencia con la que un usuario acceda al sistema de archivos montado, el sistema debe dedicar recursos para mantener el sistema de archivos montado en su lugar. Esto puede afectar al rendimiento del sistema cuando, por ejemplo, el sistema está manteniendo montajes NFS en muchos sistemas a la vez.
Una alternativa a /etc/fstab
es utilizar el servicio autofs
basado en el núcleo. Consta de los siguientes componentes:
- Un módulo del kernel que implementa un sistema de archivos, y
- Un servicio de espacio de usuario que realiza todas las demás funciones.
El servicio autofs
puede montar y desmontar sistemas de archivos automáticamente (bajo demanda), ahorrando así recursos del sistema. Puede utilizarse para montar sistemas de archivos como NFS, AFS, SMBFS, CIFS y sistemas de archivos locales.
Recursos adicionales
-
La página de manual
autofs(8)
.
14.9.2. Los archivos de configuración de autofs
Esta sección describe el uso y la sintaxis de los archivos de configuración utilizados por el servicio autofs
.
El archivo de mapa maestro
El servicio autofs
utiliza /etc/auto.master
(mapa maestro) como su archivo de configuración principal por defecto. Esto puede cambiarse para usar otra fuente de red y nombre soportados usando la configuración autofs
en el archivo de configuración /etc/autofs.conf
en conjunto con el mecanismo Name Service Switch (NSS).
Todos los puntos de montaje bajo demanda deben ser configurados en el mapa maestro. El punto de montaje, el nombre del host, el directorio exportado y las opciones pueden especificarse en un conjunto de archivos (u otras fuentes de red compatibles) en lugar de configurarlos manualmente para cada host.
El archivo de mapa maestro enumera los puntos de montaje controlados por autofs
, y sus correspondientes archivos de configuración o fuentes de red conocidos como mapas de automontaje. El formato del mapa maestro es el siguiente:
mount-point map-name options
mount-point map-name options
Las variables utilizadas en este formato son:
- mount-point
-
El punto de montaje
autofs
; por ejemplo,/mnt/data/
. - map-file
- El archivo fuente del mapa, que contiene una lista de puntos de montaje y la ubicación del sistema de archivos desde la que se deben montar esos puntos de montaje.
- options
- Si se suministran, se aplican a todas las entradas del mapa dado, si no tienen ellas mismas opciones especificadas.
Ejemplo 14.13. El archivo /etc/auto.master
La siguiente es una línea de ejemplo del archivo /etc/auto.master
:
/mnt/data /etc/auto.data
/mnt/data /etc/auto.data
Archivos de mapas
Los archivos de mapa configuran las propiedades de los puntos de montaje individuales bajo demanda.
El contador automático crea los directorios si no existen. Si los directorios existen antes de que se inicie el contador automático, éste no los eliminará cuando salga. Si se especifica un tiempo de espera, el directorio se desmonta automáticamente si no se accede a él durante el periodo de tiempo de espera.
El formato general de los mapas es similar al del mapa maestro. Sin embargo, el campo de opciones aparece entre el punto de montaje y la ubicación en lugar de al final de la entrada como en el mapa maestro:
mount-point options location
mount-point options location
Las variables utilizadas en este formato son:
- mount-point
-
Se refiere al punto de montaje de
autofs
. Puede ser un solo nombre de directorio para un montaje indirecto o la ruta completa del punto de montaje para montajes directos. Cada clave de entrada del mapa directo e indirecto (mount-point) puede ir seguida de una lista separada por espacios de directorios de desplazamiento (nombres de subdirectorios que comienzan cada uno con/
), lo que se conoce como una entrada de montaje múltiple. - options
- Cuando se suministran, son las opciones de montaje para las entradas del mapa que no especifican sus propias opciones. Este campo es opcional.
- location
-
Se refiere a la ubicación del sistema de archivos, como una ruta del sistema de archivos local (precedida por el carácter de escape del formato de mapa de Sun
:
para los nombres de mapa que comienzan con/
), un sistema de archivos NFS u otra ubicación válida del sistema de archivos.
Ejemplo 14.14. Un archivo de mapas
A continuación se muestra un ejemplo de un archivo de mapas; por ejemplo, /etc/auto.misc
:
payroll -fstype=nfs4 personnel:/dev/disk/by-uuid/52b94495-e106-4f29-b868-fe6f6c2789b1 sales -fstype=xfs :/dev/disk/by-uuid/5564ed00-6aac-4406-bfb4-c59bf5de48b5
payroll -fstype=nfs4 personnel:/dev/disk/by-uuid/52b94495-e106-4f29-b868-fe6f6c2789b1
sales -fstype=xfs :/dev/disk/by-uuid/5564ed00-6aac-4406-bfb4-c59bf5de48b5
La primera columna del archivo de mapa indica el punto de montaje autofs
: sales
y payroll
del servidor llamado personnel
. La segunda columna indica las opciones para el montaje de autofs
. La tercera columna indica el origen del montaje.
Siguiendo la configuración dada, los puntos de montaje autofs
serán /home/payroll
y /home/sales
. La opción -fstype=
suele omitirse y, por lo general, no es necesaria para su correcto funcionamiento.
Usando la configuración dada, si un proceso requiere acceso a un directorio no montado de autofs
como /home/payroll/2006/July.sxc
, el servicio autofs
monta automáticamente el directorio.
El formato del mapa amd
El servicio autofs
reconoce la configuración de mapas en el formato amd
también. Esto es útil si desea reutilizar la configuración existente del contador automático escrita para el servicio am-utils
, que ha sido eliminado de Red Hat Enterprise Linux.
Sin embargo, Red Hat recomienda utilizar el formato más sencillo autofs
descrito en las secciones anteriores.
Recursos adicionales
-
Las páginas de manual
autofs(5)
,autofs.conf(5)
, yauto.master(5)
. -
Para más detalles sobre el formato del mapa
amd
, véase el archivo/usr/share/doc/autofs/README.amd-maps
, que proporciona el paqueteautofs
.
14.9.3. Configuración de puntos de montaje autofs
Este procedimiento describe cómo configurar puntos de montaje bajo demanda utilizando el servicio autofs
.
Requisitos previos
Instale el paquete
autofs
:yum install autofs
# yum install autofs
Copy to Clipboard Copied! Inicie y active el servicio
autofs
:systemctl enable --now autofs
# systemctl enable --now autofs
Copy to Clipboard Copied!
Procedimiento
-
Crear un archivo de mapa para el punto de montaje bajo demanda, ubicado en
/etc/auto.identifier
. Sustituya identifier con un nombre que identifique el punto de montaje. - En el archivo de mapa, rellene los campos de punto de montaje, opciones y ubicación como se describe en Sección 14.9.2, “Los archivos de configuración de autofs”.
- Registre el archivo de mapas en el archivo de mapas maestro, como se describe en Sección 14.9.2, “Los archivos de configuración de autofs”.
Intenta acceder al contenido del directorio a la carta:
ls automounted-directory
$ ls automounted-directory
Copy to Clipboard Copied!
14.9.4. Automatización de los directorios de usuario del servidor NFS con el servicio autofs
Este procedimiento describe cómo configurar el servicio autofs para que monte automáticamente los directorios personales de los usuarios.
Requisitos previos
- El paquete autofs paquete está instalado.
- El servicio autofs servicio está habilitado y funcionando.
Procedimiento
Especifique el punto de montaje y la ubicación del archivo de mapa editando el archivo
/etc/auto.master
en un servidor en el que necesite montar los directorios personales de los usuarios. Para ello, añada la siguiente línea en el archivo/etc/auto.master
:/home /etc/auto.home
/home /etc/auto.home
Copy to Clipboard Copied! Cree un archivo de mapa con el nombre de
/etc/auto.home
en un servidor en el que necesite montar los directorios personales de los usuarios, y edite el archivo con los siguientes parámetros:* -fstype=nfs,rw,sync host.example.com:/home/&i
* -fstype=nfs,rw,sync host.example.com:/home/&i
Copy to Clipboard Copied! Puede omitir el parámetro
fstype
parámetro, ya que esnfs
por defecto. Para más información, consulte la página de manualautofs(5)
.Recargue el servicio
autofs
:systemctl reload autofs
# systemctl reload autofs
Copy to Clipboard Copied!
14.9.5. Anulación o aumento de los archivos de configuración del sitio autofs
A veces es útil anular los valores predeterminados del sitio para un punto de montaje específico en un sistema cliente.
Ejemplo 14.15. Condiciones iniciales
Por ejemplo, considere las siguientes condiciones:
Los mapas del contador automático se almacenan en NIS y el archivo
/etc/nsswitch.conf
tiene la siguiente directiva:automount: files nis
automount: files nis
Copy to Clipboard Copied! El archivo
auto.master
contiene:auto.master
auto.master
Copy to Clipboard Copied! El archivo de mapas NIS
auto.master
contiene:/home auto.home
/home auto.home
Copy to Clipboard Copied! El mapa NIS
auto.home
contiene:beth fileserver.example.com:/export/home/beth joe fileserver.example.com:/export/home/joe * fileserver.example.com:/export/home/&
beth fileserver.example.com:/export/home/beth joe fileserver.example.com:/export/home/joe * fileserver.example.com:/export/home/&
Copy to Clipboard Copied! -
El mapa de archivos
/etc/auto.home
no existe.
Ejemplo 14.16. Montaje de directorios personales desde un servidor diferente
Dadas las condiciones anteriores, supongamos que el sistema cliente necesita anular el mapa NIS auto.home
y montar los directorios iniciales desde un servidor diferente.
En este caso, el cliente debe utilizar el siguiente mapa
/etc/auto.master
:/home /etc/auto.home +auto.master
/home /etc/auto.home +auto.master
Copy to Clipboard Copied! El mapa
/etc/auto.home
contiene la entrada:* host.example.com:/export/home/&
* host.example.com:/export/home/&
Copy to Clipboard Copied!
Como el contador automático sólo procesa la primera aparición de un punto de montaje, el directorio /home
contiene el contenido de /etc/auto.home
en lugar del mapa NIS auto.home
.
Ejemplo 14.17. Aumentar auto.home sólo con las entradas seleccionadas
O bien, para aumentar el mapa de todo el sitio auto.home
con sólo unas pocas entradas:
Cree un mapa de archivos
/etc/auto.home
, y en él ponga las nuevas entradas. Al final, incluya el mapa NISauto.home
. Entonces el mapa de archivos/etc/auto.home
tiene un aspecto similar:mydir someserver:/export/mydir +auto.home
mydir someserver:/export/mydir +auto.home
Copy to Clipboard Copied! Con estas condiciones del mapa NIS
auto.home
, el listado del contenido de las salidas del directorio/home
:ls /home
$ ls /home beth joe mydir
Copy to Clipboard Copied!
Este último ejemplo funciona como se esperaba porque autofs
no incluye el contenido de un mapa de archivos del mismo nombre que el que está leyendo. Así, autofs
pasa a la siguiente fuente de mapas en la configuración de nsswitch
.
14.9.6. Uso de LDAP para almacenar mapas de contadores automáticos
Este procedimiento configura autofs
para almacenar los mapas del contador automático en la configuración LDAP en lugar de en los archivos de mapas de autofs
.
Requisitos previos
-
Las bibliotecas de cliente LDAP deben instalarse en todos los sistemas configurados para recuperar mapas de contadores automáticos desde LDAP. En Red Hat Enterprise Linux, el paquete
openldap
debería instalarse automáticamente como dependencia del paqueteautofs
.
Procedimiento
-
Para configurar el acceso LDAP, modifique el archivo
/etc/openldap/ldap.conf
. Asegúrese de que las opcionesBASE
,URI
, yschema
están configuradas adecuadamente para su sitio. El esquema más recientemente establecido para el almacenamiento de mapas automáticos en LDAP se describe en el borrador
rfc2307bis
. Para utilizar este esquema, establézcalo en el archivo de configuración/etc/autofs.conf
eliminando los caracteres de comentario de la definición del esquema. Por ejemplo:Ejemplo 14.18. Establecer la configuración de autofs
DEFAULT_MAP_OBJECT_CLASS="automountMap" DEFAULT_ENTRY_OBJECT_CLASS="automount" DEFAULT_MAP_ATTRIBUTE="automountMapName" DEFAULT_ENTRY_ATTRIBUTE="automountKey" DEFAULT_VALUE_ATTRIBUTE="automountInformation"
DEFAULT_MAP_OBJECT_CLASS="automountMap" DEFAULT_ENTRY_OBJECT_CLASS="automount" DEFAULT_MAP_ATTRIBUTE="automountMapName" DEFAULT_ENTRY_ATTRIBUTE="automountKey" DEFAULT_VALUE_ATTRIBUTE="automountInformation"
Copy to Clipboard Copied! Asegúrese de que todas las demás entradas del esquema están comentadas en la configuración. El atributo
automountKey
sustituye al atributocn
en el esquemarfc2307bis
. A continuación se muestra un ejemplo de configuración del formato de intercambio de datos LDAP (LDIF):Ejemplo 14.19. Configuración de la LDF
extended LDIF LDAPv3 base <> with scope subtree filter: (&(objectclass=automountMap)(automountMapName=auto.master)) requesting: ALL auto.master, example.com extended LDIF LDAPv3 base <automountMapName=auto.master,dc=example,dc=com> with scope subtree filter: (objectclass=automount) requesting: ALL /home, auto.master, example.com extended LDIF LDAPv3 base <> with scope subtree filter: (&(objectclass=automountMap)(automountMapName=auto.home)) requesting: ALL auto.home, example.com extended LDIF LDAPv3 base <automountMapName=auto.home,dc=example,dc=com> with scope subtree filter: (objectclass=automount) requesting: ALL foo, auto.home, example.com /, auto.home, example.com
# extended LDIF # # LDAPv3 # base <> with scope subtree # filter: (&(objectclass=automountMap)(automountMapName=auto.master)) # requesting: ALL # # auto.master, example.com dn: automountMapName=auto.master,dc=example,dc=com objectClass: top objectClass: automountMap automountMapName: auto.master # extended LDIF # # LDAPv3 # base <automountMapName=auto.master,dc=example,dc=com> with scope subtree # filter: (objectclass=automount) # requesting: ALL # # /home, auto.master, example.com dn: automountMapName=auto.master,dc=example,dc=com objectClass: automount cn: /home automountKey: /home automountInformation: auto.home # extended LDIF # # LDAPv3 # base <> with scope subtree # filter: (&(objectclass=automountMap)(automountMapName=auto.home)) # requesting: ALL # # auto.home, example.com dn: automountMapName=auto.home,dc=example,dc=com objectClass: automountMap automountMapName: auto.home # extended LDIF # # LDAPv3 # base <automountMapName=auto.home,dc=example,dc=com> with scope subtree # filter: (objectclass=automount) # requesting: ALL # # foo, auto.home, example.com dn: automountKey=foo,automountMapName=auto.home,dc=example,dc=com objectClass: automount automountKey: foo automountInformation: filer.example.com:/export/foo # /, auto.home, example.com dn: automountKey=/,automountMapName=auto.home,dc=example,dc=com objectClass: automount automountKey: / automountInformation: filer.example.com:/export/&
Copy to Clipboard Copied!
Recursos adicionales
-
El borrador de
rfc2307bis
: https://tools.ietf.org/html/draft-howard-rfc2307bis.
14.10. Establecer permisos de sólo lectura para el sistema de archivos raíz
A veces, es necesario montar el sistema de archivos raíz (/
) con permisos de sólo lectura. Algunos ejemplos de uso incluyen la mejora de la seguridad o la garantía de la integridad de los datos después de un apagado inesperado del sistema.
14.10.1. Archivos y directorios que siempre conservan los permisos de escritura
Para que el sistema funcione correctamente, algunos archivos y directorios deben conservar los permisos de escritura. Cuando el sistema de archivos raíz se monta en modo de sólo lectura, estos archivos se montan en la memoria RAM utilizando el sistema de archivos temporales tmpfs
.
El conjunto por defecto de estos archivos y directorios se lee del archivo /etc/rwtab
, que contiene:
dirs /var/cache/man dirs /var/gdm <content truncated> empty /tmp empty /var/cache/foomatic <content truncated> files /etc/adjtime files /etc/ntp.conf <content truncated>
dirs /var/cache/man
dirs /var/gdm
<content truncated>
empty /tmp
empty /var/cache/foomatic
<content truncated>
files /etc/adjtime
files /etc/ntp.conf
<content truncated>
Las entradas en el archivo /etc/rwtab
siguen este formato:
copy-method path
copy-method path
En esta sintaxis:
- Sustituya copy-method con una de las palabras clave que especifican cómo se copia el archivo o directorio en tmpfs.
- Sustituya path por la ruta del archivo o directorio.
El archivo /etc/rwtab
reconoce las siguientes formas de copiar un archivo o directorio en tmpfs
:
empty
Una ruta vacía se copia en
tmpfs
. Por ejemplo:vaciar /tmp
vaciar /tmp
Copy to Clipboard Copied! dirs
Se copia un árbol de directorios en
tmpfs
, vacío. Por ejemplo:dirs /var/run
dirs /var/run
Copy to Clipboard Copied! files
Un archivo o un árbol de directorios se copia en
tmpfs
intacto. Por ejemplo:archivos /etc/resolv.conf
archivos /etc/resolv.conf
Copy to Clipboard Copied!
El mismo formato se aplica al añadir rutas personalizadas a /etc/rwtab.d/
.
14.10.2. Configurar el sistema de archivos raíz para que se monte con permisos de sólo lectura en el arranque
Con este procedimiento, el sistema de archivos raíz se monta de sólo lectura en todos los siguientes arranques.
Procedimiento
En el archivo
/etc/sysconfig/readonly-root
, establezca la opciónREADONLY
comoyes
:Set to 'yes' to mount the file systems as read-only.
# Set to 'yes' to mount the file systems as read-only. READONLY=yes
Copy to Clipboard Copied! Añada la opción
ro
en la entrada raíz (/
) en el archivo/etc/fstab
:/dev/mapper/luks-c376919e... / xfs x-systemd.device-timeout=0,ro 1 1
/dev/mapper/luks-c376919e... / xfs x-systemd.device-timeout=0,ro 1 1
Copy to Clipboard Copied! Añada la opción
ro
a la directivaGRUB_CMDLINE_LINUX
en el archivo/etc/default/grub
y asegúrese de que la directiva no contengarw
:GRUB_CMDLINE_LINUX="rhgb quiet... ro"
GRUB_CMDLINE_LINUX="rhgb quiet... ro"
Copy to Clipboard Copied! Vuelva a crear el archivo de configuración de GRUB2:
grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-mkconfig -o /boot/grub2/grub.cfg
Copy to Clipboard Copied! Si necesita añadir archivos y directorios para que se monten con permisos de escritura en el sistema de archivos
tmpfs
, cree un archivo de texto en el directorio/etc/rwtab.d/
y ponga la configuración allí.Por ejemplo, para montar el archivo
/etc/example/file
con permisos de escritura, añada esta línea al archivo/etc/rwtab.d/example
:archivos /etc/ejemplo/archivo
archivos /etc/ejemplo/archivo
Copy to Clipboard Copied! ImportanteLos cambios realizados en los archivos y directorios en
tmpfs
no persisten entre los arranques.- Reinicie el sistema para aplicar los cambios.
Solución de problemas
Si monta el sistema de archivos raíz con permisos de sólo lectura por error, puede volver a montarlo con permisos de lectura y escritura utilizando el siguiente comando:
mount -o remount,rw /
# mount -o remount,rw /
Copy to Clipboard Copied!
Capítulo 15. Limitar el uso del espacio de almacenamiento con cuotas
Puedes restringir la cantidad de espacio en disco disponible para usuarios o grupos implementando cuotas de disco. También puede definir un nivel de advertencia en el que se informe a los administradores del sistema antes de que un usuario consuma demasiado espacio en disco o una partición se llene.
15.1. Cuotas de disco
En la mayoría de los entornos informáticos, el espacio en disco no es infinito. El subsistema de cuotas proporciona un mecanismo para controlar el uso del espacio en disco.
Puedes configurar cuotas de disco para usuarios individuales así como para grupos de usuarios en los sistemas de archivos locales. Esto permite gestionar el espacio asignado a los archivos específicos de los usuarios (como el correo electrónico) por separado del espacio asignado a los proyectos en los que trabaja un usuario. El subsistema de cuotas avisa a los usuarios cuando superan su límite asignado, pero permite algo de espacio extra para el trabajo actual (límite duro/límite blando).
Si se implementan cuotas, es necesario comprobar si se superan las cuotas y asegurarse de que éstas son correctas. Si los usuarios superan repetidamente sus cuotas o alcanzan constantemente sus límites blandos, un administrador del sistema puede ayudar al usuario a determinar cómo utilizar menos espacio en disco o aumentar la cuota de disco del usuario.
Puedes establecer cuotas para controlar:
- El número de bloques de disco consumidos.
- El número de inodos, que son estructuras de datos que contienen información sobre los archivos en los sistemas de archivos UNIX. Como los inodos almacenan información relacionada con los archivos, esto permite controlar el número de archivos que se pueden crear.
15.1.1. La herramienta xfs_quota
Puede utilizar la herramienta xfs_quota
para gestionar las cuotas en los sistemas de archivos XFS. Además, puede utilizar los sistemas de archivos XFS con la aplicación de límites desactivada como un sistema eficaz de contabilidad del uso del disco.
El sistema de cuotas XFS se diferencia de otros sistemas de archivos en varios aspectos. Lo más importante es que XFS considera la información de cuotas como metadatos del sistema de archivos y utiliza el registro en el diario para proporcionar una garantía de consistencia de mayor nivel.
Recursos adicionales
-
La página de manual
xfs_quota(8)
.
15.2. Gestión de cuotas de disco XFS
Puede utilizar la herramienta xfs_quota
para gestionar las cuotas en XFS y para configurar los límites de los directorios controlados por el proyecto.
Las herramientas genéricas de configuración de cuotas (quota
, repquota
, y edquota
por ejemplo) también pueden utilizarse para manipular las cuotas XFS. Sin embargo, estas herramientas no pueden utilizarse con las cuotas del proyecto XFS.
Red Hat recomienda el uso de xfs_quota
sobre todas las demás herramientas disponibles.
15.2.1. Gestión de cuotas del sistema de archivos en XFS
El subsistema de cuotas XFS gestiona los límites de uso del espacio en disco (bloques) y de los archivos (inodos). Las cuotas XFS controlan o informan sobre el uso de estos elementos a nivel de usuario, grupo, directorio o proyecto. Las cuotas de grupo y de proyecto sólo se excluyen mutuamente en los formatos de disco XFS no predeterminados.
Cuando se gestiona por directorio o por proyecto, XFS gestiona el uso del disco de las jerarquías de directorios asociadas a un proyecto específico.
15.2.2. Activación de cuotas de disco para XFS
Este procedimiento habilita las cuotas de disco para usuarios, grupos y proyectos en un sistema de archivos XFS. Una vez habilitadas las cuotas, se puede utilizar la herramienta xfs_quota
para establecer límites e informar sobre el uso del disco.
Procedimiento
Habilitar cuotas para los usuarios:
mount -o uquota /dev/xvdb1 /xfs
# mount -o uquota /dev/xvdb1 /xfs
Copy to Clipboard Copied! Sustituya
uquota
poruqnoenforce
para permitir la presentación de informes de uso sin imponer ningún límite.Habilitar las cuotas para los grupos:
mount -o gquota /dev/xvdb1 /xfs
# mount -o gquota /dev/xvdb1 /xfs
Copy to Clipboard Copied! Sustituya
gquota
porgqnoenforce
para permitir la presentación de informes de uso sin imponer ningún límite.Activar las cuotas de los proyectos:
mount -o pquota /dev/xvdb1 /xfs
# mount -o pquota /dev/xvdb1 /xfs
Copy to Clipboard Copied! Sustituya
pquota
porpqnoenforce
para permitir la presentación de informes de uso sin imponer ningún límite.Como alternativa, incluya las opciones de montaje de cuotas en el archivo
/etc/fstab
. El siguiente ejemplo muestra entradas en el archivo/etc/fstab
para habilitar cuotas para usuarios, grupos y proyectos, respectivamente, en un sistema de archivos XFS. Estos ejemplos también montan el sistema de archivos con permisos de lectura/escritura:vim /etc/fstab
# vim /etc/fstab /dev/xvdb1 /xfs xfs rw,quota 0 0 /dev/xvdb1 /xfs xfs rw,gquota 0 0 /dev/xvdb1 /xfs xfs rw,prjquota 0 0
Copy to Clipboard Copied! Recursos adicionales
-
La página de manual
mount(8)
. -
La página de manual
xfs_quota(8)
.
-
La página de manual
15.2.3. Informar sobre el uso de XFS
Puede utilizar la herramienta xfs_quota
para establecer límites e informar sobre el uso del disco. Por defecto, xfs_quota
se ejecuta de forma interactiva y en modo básico. Los subcomandos del modo básico simplemente informan del uso, y están disponibles para todos los usuarios.
Requisitos previos
- Se han habilitado las cuotas para el sistema de archivos XFS. Consulte Activación de cuotas de disco para XFS.
Procedimiento
Inicie el shell
xfs_quota
:xfs_quota
# xfs_quota
Copy to Clipboard Copied! Muestra el uso y los límites del usuario dado:
xfs_quota> quota username
# xfs_quota> quota username
Copy to Clipboard Copied! Muestra los recuentos de bloques e inodos libres y utilizados:
xfs_quota> df
# xfs_quota> df
Copy to Clipboard Copied! Ejecute el comando de ayuda para mostrar los comandos básicos disponibles con
xfs_quota
.xfs_quota> help
# xfs_quota> help
Copy to Clipboard Copied! Especifique
q
para salir dexfs_quota
.xfs_quota> q
# xfs_quota> q
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
xfs_quota(8)
.
15.2.4. Modificación de los límites de cuota XFS
Inicie la herramienta xfs_quota
con la opción -x
para activar el modo experto y ejecutar los comandos de administrador, que permiten modificar el sistema de cuotas. Los subcomandos de este modo permiten la configuración real de los límites, y sólo están disponibles para los usuarios con privilegios elevados.
Requisitos previos
- Se han habilitado las cuotas para el sistema de archivos XFS. Consulte Activación de cuotas de disco para XFS.
Procedimiento
Inicie el shell
xfs_quota
con la opción-x
para activar el modo experto:xfs_quota -x
# xfs_quota -x
Copy to Clipboard Copied! Informar sobre la cuota de un sistema de archivos específico:
xfs_quota> informe /path
# xfs_quota> informe /path
Copy to Clipboard Copied! Por ejemplo, para mostrar un ejemplo de informe de cuotas para
/home
(en/dev/blockdevice
), utilice el comandoreport -h /home
. Esto muestra una salida similar a la siguiente:User quota on /home (/dev/blockdevice) Blocks User ID Used Soft Hard Warn/Grace ---------- --------------------------------- root 0 0 0 00 [------] testuser 103.4G 0 0 00 [------]
User quota on /home (/dev/blockdevice) Blocks User ID Used Soft Hard Warn/Grace ---------- --------------------------------- root 0 0 0 00 [------] testuser 103.4G 0 0 00 [------]
Copy to Clipboard Copied! Modificar los límites de las cuotas:
xfs_quota> limit isoft=500m ihard=700m user /path
# xfs_quota> limit isoft=500m ihard=700m user /path
Copy to Clipboard Copied! Por ejemplo, para establecer un límite de conteo de inodos suave y duro de 500 y 700 respectivamente para el usuario
john
, cuyo directorio raíz es/home/john
, utilice el siguiente comando:xfs_quota -x -c 'limit isoft=500 ihard=700 john' /home/
# xfs_quota -x -c 'limit isoft=500 ihard=700 john' /home/
Copy to Clipboard Copied! En este caso, pase
mount_point
que es el sistema de archivos xfs montado.Ejecute el comando de ayuda para mostrar los comandos expertos disponibles con
xfs_quota -x
:xfs_quota> help
# xfs_quota> help
Copy to Clipboard Copied! Recursos adicionales
-
La página de manual
xfs_quota(8)
.
-
La página de manual
15.2.5. Establecer los límites del proyecto para XFS
Este procedimiento configura los límites de los directorios controlados por el proyecto.
Procedimiento
Añade los directorios controlados por el proyecto a
/etc/projects
. Por ejemplo, lo siguiente añade la ruta/var/log
con un ID único de 11 a/etc/projects
. Su ID de proyecto puede ser cualquier valor numérico asignado a su proyecto.echo 11:/var/log >> /etc/projects
# echo 11:/var/log >> /etc/projects
Copy to Clipboard Copied! Añada los nombres de los proyectos a
/etc/projid
para asignar los ID de los proyectos a los nombres de los mismos. Por ejemplo, lo siguiente asocia un proyecto llamadoLogs
con el ID de proyecto 11 definido en el paso anterior.echo Logs:11 >> /etc/projid
# echo Logs:11 >> /etc/projid
Copy to Clipboard Copied! Inicialice el directorio del proyecto. Por ejemplo, lo siguiente inicializa el directorio del proyecto
/var
:xfs_quota -x -c 'project -s logfiles' /var
# xfs_quota -x -c 'project -s logfiles' /var
Copy to Clipboard Copied! Configurar cuotas para proyectos con directorios inicializados:
xfs_quota -x -c 'limit -p bhard=lg logfiles' /var
# xfs_quota -x -c 'limit -p bhard=lg logfiles' /var
Copy to Clipboard Copied! Recursos adicionales
-
La página de manual
xfs_quota(8)
. -
La página de manual
projid(5)
. -
La página de manual
projects(5)
.
-
La página de manual
15.3. Gestión de cuotas de disco ext3 y ext4
Tienes que habilitar las cuotas de disco en tu sistema antes de poder asignarlas. Puedes asignar cuotas de disco por usuario, por grupo o por proyecto. Sin embargo, si hay un límite blando establecido, puedes superar estas cuotas durante un periodo de tiempo configurable, conocido como periodo de gracia.
15.3.1. Instalación de la herramienta de cuotas
Debe instalar el paquete RPM quota
para implementar las cuotas de disco.
Procedimiento
-
Instale el paquete
quota
:
yum install quota
# yum install quota
15.3.2. Habilitación de la función de cuotas en la creación de sistemas de archivos
Este procedimiento describe cómo activar las cuotas en la creación de sistemas de archivos.
Procedimiento
Habilitar cuotas en la creación de sistemas de archivos:
mkfs.ext4 -O quota /dev/sda
# mkfs.ext4 -O quota /dev/sda
Copy to Clipboard Copied! NotaSólo las cuotas de usuario y de grupo están habilitadas e inicializadas por defecto.
Cambiar los valores por defecto en la creación del sistema de archivos:
mkfs.ext4 -O quota -E quotatype=usrquota:grpquota:prjquota /dev/sda
# mkfs.ext4 -O quota -E quotatype=usrquota:grpquota:prjquota /dev/sda
Copy to Clipboard Copied! Montar el sistema de archivos:
mount /dev/sda
# mount /dev/sda
Copy to Clipboard Copied!
Recursos adicionales
Para más información, consulte la página man
de ext4
.
15.3.3. Activación de la función de cuotas en los sistemas de archivos existentes
Este procedimiento describe cómo habilitar la función de cuotas en un sistema de archivos existente mediante el comando tune2fs
.
Procedimiento
Desmontar el sistema de archivos:
umount /dev/sda
# umount /dev/sda
Copy to Clipboard Copied! Habilitar cuotas en el sistema de archivos existente:
tune2fs -O quota /dev/sda
# tune2fs -O quota /dev/sda
Copy to Clipboard Copied! NotaPor defecto sólo se inicializan las cuotas de usuario y de grupo.
Cambia los valores por defecto:
tune2fs -Q usrquota,grpquota,prjquota /dev/sda
# tune2fs -Q usrquota,grpquota,prjquota /dev/sda
Copy to Clipboard Copied! Montar el sistema de archivos:
mount /dev/sda
# mount /dev/sda
Copy to Clipboard Copied!
Recursos adicionales
Para más información, consulte la página man
de ext4
.
15.3.4. Habilitación de la aplicación de las cuotas
La contabilidad de cuotas se activa por defecto después de montar el sistema de archivos sin ninguna opción adicional, pero la aplicación de cuotas no.
Requisitos previos
- La función de cuotas está activada y las cuotas por defecto están inicializadas.
Procedimiento
Activar la aplicación de la cuota por
quotaon
para la cuota de usuario:mount /dev/sda /mnt
# mount /dev/sda /mnt
Copy to Clipboard Copied! quotaon /mnt
# quotaon /mnt
Copy to Clipboard Copied! NotaLa aplicación de la cuota se puede activar en el momento del montaje utilizando las opciones de montaje
usrquota
,grpquota
, oprjquota
.mount -o usrquota,grpquota,prjquota /dev/sda /mnt
# mount -o usrquota,grpquota,prjquota /dev/sda /mnt
Copy to Clipboard Copied! Habilite las cuotas de usuario, grupo y proyecto para todos los sistemas de archivos:
quotaon -vaugP
# quotaon -vaugP
Copy to Clipboard Copied! -
Si no se especifica ninguna de las opciones
-u
,-g
, o-P
, sólo se habilitan las cuotas de usuario. -
Si sólo se especifica la opción
-g
, sólo se activan las cuotas de grupo. -
Si sólo se especifica la opción
-P
, sólo se activan las cuotas del proyecto.
-
Si no se especifica ninguna de las opciones
Habilitar cuotas para un sistema de archivos específico, como
/home
:quotaon -vugP /home
# quotaon -vugP /home
Copy to Clipboard Copied!
Recursos adicionales
-
Consulte la página de manual
quotaon(8)
.
15.3.5. Asignación de cuotas por usuario
Las cuotas de disco se asignan a los usuarios con el comando edquota
.
El editor de texto definido por la variable de entorno EDITOR
es utilizado por edquota
. Para cambiar el editor, establezca la variable de entorno EDITOR
en su archivo ~/.bash_profile
con la ruta completa del editor de su elección.
Requisitos previos
- El usuario debe existir antes de establecer la cuota de usuario.
Procedimiento
Asigna la cuota de un usuario:
edquota username
# edquota username
Copy to Clipboard Copied! Sustituya username por el usuario al que desea asignar las cuotas.
Por ejemplo, si habilita una cuota para la partición
/dev/sda
y ejecuta el comandoedquota testuser
, se muestra lo siguiente en el editor por defecto configurado en el sistema:Disk quotas for user testuser (uid 501): Filesystem blocks soft hard inodes soft hard /dev/sda 44043 0 0 37418 0 0
Disk quotas for user testuser (uid 501): Filesystem blocks soft hard inodes soft hard /dev/sda 44043 0 0 37418 0 0
Copy to Clipboard Copied! Cambia los límites deseados.
Si alguno de los valores está en 0, el límite no está establecido. Cámbielos en el editor de texto.
Por ejemplo, a continuación se muestra que los límites de bloques blandos y duros para el usuario de prueba se han establecido en 50000 y 55000 respectivamente.
Disk quotas for user testuser (uid 501): Filesystem blocks soft hard inodes soft hard /dev/sda 44043 50000 55000 37418 0 0
Disk quotas for user testuser (uid 501): Filesystem blocks soft hard inodes soft hard /dev/sda 44043 50000 55000 37418 0 0
Copy to Clipboard Copied! - La primera columna es el nombre del sistema de archivos que tiene una cuota habilitada para él.
- La segunda columna muestra el número de bloques que el usuario está utilizando actualmente.
- Las siguientes dos columnas se utilizan para establecer los límites de bloques blandos y duros para el usuario en el sistema de archivos.
-
La columna
inodes
muestra cuántos inodos está utilizando el usuario actualmente. Las dos últimas columnas se utilizan para establecer los límites de inodos blandos y duros para el usuario en el sistema de archivos.
- El límite de bloques duros es la cantidad máxima absoluta de espacio en disco que un usuario o grupo puede utilizar. Una vez que se alcanza este límite, no se puede utilizar más espacio en disco.
- El límite blando de bloques define la cantidad máxima de espacio en disco que se puede utilizar. Sin embargo, a diferencia del límite duro, el límite blando puede superarse durante un tiempo determinado. Ese tiempo se conoce como grace period. El periodo de gracia puede expresarse en segundos, minutos, horas, días, semanas o meses.
Pasos de verificación
Compruebe que se ha establecido la cuota para el usuario:
quota -v testuser
# quota -v testuser Disk quotas for user testuser: Filesystem blocks quota limit grace files quota limit grace /dev/sda 1000* 1000 1000 0 0 0
Copy to Clipboard Copied!
15.3.6. Asignación de cuotas por grupo
Se pueden asignar cuotas por grupo.
Requisitos previos
- El grupo debe existir antes de establecer la cuota de grupo.
Procedimiento
Establecer una cuota de grupo:
edquota -g groupname
# edquota -g groupname
Copy to Clipboard Copied! Por ejemplo, para establecer una cuota de grupo para el grupo
devel
:edquota -g devel
# edquota -g devel
Copy to Clipboard Copied! Este comando muestra la cuota existente para el grupo en el editor de texto:
Disk quotas for group devel (gid 505): Filesystem blocks soft hard inodes soft hard /dev/sda 440400 0 0 37418 0 0
Disk quotas for group devel (gid 505): Filesystem blocks soft hard inodes soft hard /dev/sda 440400 0 0 37418 0 0
Copy to Clipboard Copied! - Modifica los límites y guarda el archivo.
Pasos de verificación
Comprueba que la cuota de grupo está configurada:
quota -vg groupname
# quota -vg groupname
Copy to Clipboard Copied!
15.3.7. Asignación de cuotas por proyecto
Este procedimiento asigna cuotas por proyecto.
Requisitos previos
- La cuota del proyecto está activada en su sistema de archivos.
Procedimiento
Añade los directorios controlados por el proyecto a
/etc/projects
. Por ejemplo, lo siguiente añade la ruta/var/log
con un ID único de 11 a/etc/projects
. Su ID de proyecto puede ser cualquier valor numérico asignado a su proyecto.echo 11:/var/log >> /etc/projects
# echo 11:/var/log >> /etc/projects
Copy to Clipboard Copied! Añada los nombres de los proyectos a
/etc/projid
para asignar los ID de los proyectos a los nombres de los mismos. Por ejemplo, lo siguiente asocia un proyecto llamadoLogs
con el ID de proyecto 11 definido en el paso anterior.echo Logs:11 >> /etc/projid
# echo Logs:11 >> /etc/projid
Copy to Clipboard Copied! Establezca los límites deseados:
edquota -P 11
# edquota -P 11
Copy to Clipboard Copied! NotaPuede elegir el proyecto por su ID de proyecto (
11
en este caso), o por su nombre (Logs
en este caso).Utilizando
quotaon
, active la aplicación de cuotas:
Pasos de verificación
Compruebe que la cuota del proyecto está fijada:
cuota -vP 11
# cuota -vP 11
Copy to Clipboard Copied! NotaPuede verificar por el ID del proyecto, o por el nombre del proyecto.
Recursos adicionales
-
La página de manual
edquota(8)
. -
La página de manual
projid(5)
. -
La página de manual
projects(5)
.
15.3.8. Fijación del período de gracia para los límites blandos
Si una cuota determinada tiene límites blandos, puede editar el periodo de gracia, que es el tiempo durante el cual se puede superar un límite blando. Puede establecer el periodo de gracia para usuarios, grupos o proyectos.
Procedimiento
Editar el periodo de gracia:
edquota -t
# edquota -t
Copy to Clipboard Copied!
Mientras que otros comandos de edquota
operan en las cuotas de un usuario, grupo o proyecto en particular, la opción -t
opera en todos los sistemas de archivos con cuotas habilitadas.
Recursos adicionales
-
La página de manual
edquota(8)
.
15.3.9. Desactivación de las cuotas del sistema de archivos
Utilice quotaoff
para desactivar la aplicación de cuotas de disco en los sistemas de archivos especificados. La contabilidad de cuotas permanece activada después de ejecutar este comando.
Procedimiento
Para desactivar todas las cuotas de usuarios y grupos:
quotaoff -vaugP
# quotaoff -vaugP
Copy to Clipboard Copied! -
Si no se especifica ninguna de las opciones
-u
,-g
, o-P
, sólo se desactivan las cuotas de usuario. -
Si sólo se especifica la opción
-g
, sólo se desactivan las cuotas de grupo. -
Si sólo se especifica la opción
-P
, sólo se desactivan las cuotas del proyecto. -
El interruptor
-v
hace que se muestre información de estado verbosa mientras se ejecuta el comando.
-
Si no se especifica ninguna de las opciones
Recursos adicionales
-
Consulte la página de manual
quotaoff(8)
.
15.3.10. Informes sobre cuotas de disco
Puede crear un informe de cuota de disco utilizando la utilidad repquota
.
Procedimiento
Ejecute el comando
repquota
:repquota
# repquota
Copy to Clipboard Copied! Por ejemplo, el comando
repquota /dev/sda
produce esta salida:*** Report for user quotas on device /dev/sda Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 36 0 0 4 0 0 kristin -- 540 0 0 125 0 0 testuser -- 440400 500000 550000 37418 0 0
*** Report for user quotas on device /dev/sda Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 36 0 0 4 0 0 kristin -- 540 0 0 125 0 0 testuser -- 440400 500000 550000 37418 0 0
Copy to Clipboard Copied! Ver el informe de uso del disco para todos los sistemas de archivos con cuotas habilitadas:
repquota -augP
# repquota -augP
Copy to Clipboard Copied!
El símbolo --
que aparece después de cada usuario determina si se han superado los límites de bloque o de inodo. Si se supera cualquiera de los dos límites blandos, aparece un carácter
en lugar del carácter correspondiente -
. El primer carácter -
representa el límite de bloque, y el segundo representa el límite de inodo.
Las columnas grace
están normalmente en blanco. Si se ha superado un límite blando, la columna contiene una especificación de tiempo igual a la cantidad de tiempo que queda en el período de gracia. Si el periodo de gracia ha expirado, aparece none
en su lugar.
Recursos adicionales
La página de manual repquota(8)
para más información.
Capítulo 16. Descartar los bloques no utilizados
Puede realizar o programar operaciones de descarte en los dispositivos de bloque que las admitan.
16.1. Operaciones de descarte de bloques
Las operaciones de descarte de bloques descartan los bloques que ya no están en uso por un sistema de archivos montado. Son útiles en:
- Unidades de estado sólido (SSD)
- Almacenamiento con aprovisionamiento ligero
Requisitos
El dispositivo de bloque subyacente al sistema de archivos debe soportar operaciones de descarte físico.
Las operaciones de descarte físico se admiten si el valor del /sys/block/device/queue/discard_max_bytes
es distinto de cero.
16.2. Tipos de operaciones de descarte de bloques
Se pueden ejecutar operaciones de descarte utilizando diferentes métodos:
- Descarte de lotes
- Son ejecutados explícitamente por el usuario. Descartan todos los bloques no utilizados en los sistemas de archivos seleccionados.
- Descarte en línea
- Se especifican en el momento del montaje. Se ejecutan en tiempo real sin intervención del usuario. Las operaciones de descarte en línea sólo descartan los bloques que están pasando de usados a libres.
- Descarte periódico
-
Son operaciones por lotes que se ejecutan regularmente por un servicio de
systemd
.
Todos los tipos son compatibles con los sistemas de archivos XFS y ext4 y con VDO.
Recomendaciones
Red Hat recomienda utilizar el descarte por lotes o periódico.
Utilice el descarte en línea sólo si:
- la carga de trabajo del sistema es tal que el descarte por lotes no es factible, o
- las operaciones de descarte en línea son necesarias para mantener el rendimiento.
16.3. Realizar el descarte de bloques por lotes
Este procedimiento realiza una operación de descarte de bloques por lotes para descartar los bloques no utilizados en un sistema de archivos montado.
Requisitos previos
- El sistema de archivos está montado.
- El dispositivo de bloques subyacente al sistema de archivos admite operaciones de descarte físico.
Procedimiento
Utilice la utilidad
fstrim
:Para realizar el descarte sólo en un sistema de archivos seleccionado, utilice:
fstrim mount-point
# fstrim mount-point
Copy to Clipboard Copied! Para realizar el descarte en todos los sistemas de archivos montados, utilice:
fstrim --all
# fstrim --all
Copy to Clipboard Copied!
Si ejecuta el comando fstrim
en:
- un dispositivo que no admite operaciones de descarte, o
- un dispositivo lógico (LVM o MD) compuesto por múltiples dispositivos, donde cualquiera de ellos no soporta operaciones de descarte,
aparece el siguiente mensaje:
fstrim /mnt/non_discard
# fstrim /mnt/non_discard
fstrim: /mnt/non_discard: the discard operation is not supported
Recursos adicionales
-
La página de manual
fstrim(8)
16.4. Activación del descarte de bloques en línea
Este procedimiento permite realizar operaciones de descarte de bloques en línea que descartan automáticamente los bloques no utilizados en todos los sistemas de archivos compatibles.
Procedimiento
Activar el descarte en línea en el momento del montaje:
Al montar un sistema de archivos manualmente, añada la opción de montaje
-o discard
:mount -o discard device mount-point
# mount -o discard device mount-point
Copy to Clipboard Copied! -
Al montar un sistema de archivos de forma persistente, añada la opción
discard
a la entrada de montaje en el archivo/etc/fstab
.
Recursos adicionales
-
La página de manual
mount(8)
-
La página de manual
fstab(5)
16.5. Habilitación del descarte de bloques en línea mediante RHEL System Roles
Esta sección describe cómo habilitar el descarte de bloques en línea utilizando el rol storage
.
Requisitos previos
-
Existe un playbook de Ansible que incluye el rol
storage
.
Para obtener información sobre cómo aplicar un libro de jugadas de este tipo, consulte Aplicar un rol.
16.5.1. Ejemplo de libro de jugadas de Ansible para activar el descarte de bloques en línea
Esta sección proporciona un ejemplo de libro de jugadas de Ansible. Este libro de jugadas aplica el rol storage
para montar un sistema de archivos XFS con el descarte de bloques en línea activado.
Ejemplo 16.1. Un libro de jugadas que permite descartar bloques en línea en /mnt/data/
--- - hosts: all vars: storage_volumes: - name: barefs type: disk disks: - sdb fs_type: xfs mount_point: /mnt/data mount_options: discard roles: - rhel-system-roles.storage
---
- hosts: all
vars:
storage_volumes:
- name: barefs
type: disk
disks:
- sdb
fs_type: xfs
mount_point: /mnt/data
mount_options: discard
roles:
- rhel-system-roles.storage
Recursos adicionales
- Este libro de jugadas también realiza todas las operaciones del ejemplo de montaje persistente descrito en Sección 2.4, “Ejemplo de playbook de Ansible para montar persistentemente un sistema de archivos”.
-
Para más detalles sobre los parámetros utilizados en el rol de sistema
storage
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.storage/README.md
.
16.5.2. Recursos adicionales
-
Para más información sobre la función
storage
, consulte Sección 2.1, “Introducción a la función de almacenamiento”.
16.6. Activación del descarte periódico de bloques
Este procedimiento habilita un temporizador systemd
que descarta regularmente los bloques no utilizados en todos los sistemas de archivos compatibles.
Procedimiento
Activar e iniciar el temporizador
systemd
:systemctl enable --now fstrim.timer
# systemctl enable --now fstrim.timer
Copy to Clipboard Copied!
Capítulo 17. Gestión del almacenamiento local en capas con Stratis
Podrá configurar y gestionar fácilmente complejas configuraciones de almacenamiento integradas por el sistema de alto nivel Stratis.
Stratis está disponible como Technology Preview. Para obtener información sobre el alcance del soporte de Red Hat para las características de la Technology Preview, consulte el documento sobre el alcance del soporte de las características de la Technology Preview.
Se anima a los clientes que implanten Stratis a que envíen sus comentarios a Red Hat.
17.1. Configuración de los sistemas de archivos Stratis
Como administrador del sistema, puede habilitar y configurar el sistema de archivos de gestión de volumen Stratis en su sistema para gestionar fácilmente el almacenamiento en capas.
17.1.1. Objetivo y características de Stratis
Stratis es una solución de gestión de almacenamiento local para Linux. Se centra en la simplicidad y la facilidad de uso, y le da acceso a funciones de almacenamiento avanzadas.
Stratis facilita las siguientes actividades:
- Configuración inicial del almacenamiento
- Realización de cambios a posteriori
- Uso de las funciones de almacenamiento avanzadas
Stratis es un sistema híbrido de gestión de almacenamiento local de usuario y de núcleo que admite funciones avanzadas de almacenamiento. El concepto central de Stratis es un pool de almacenamiento pool. Este pool se crea a partir de uno o más discos o particiones locales, y los volúmenes se crean a partir del pool.
La piscina permite muchas funciones útiles, como:
- Instantáneas del sistema de archivos
- Aprovisionamiento ligero
- Nivelación
17.1.2. Componentes de un volumen Stratis
Externamente, Stratis presenta los siguientes componentes de volumen en la interfaz de línea de comandos y en la API:
blockdev
- Dispositivos de bloque, como un disco o una partición de disco.
pool
Compuesto por uno o varios dispositivos en bloque.
Un pool tiene un tamaño total fijo, igual al tamaño de los dispositivos de bloque.
El pool contiene la mayoría de las capas de Stratis, como la caché de datos no volátil que utiliza el objetivo
dm-cache
.Stratis crea un
/stratis/my-pool/
directorio para cada pool. Este directorio contiene enlaces a dispositivos que representan sistemas de archivos Stratis en el pool.
filesystem
Cada pool puede contener uno o más sistemas de archivos, que almacenan archivos.
Los sistemas de archivos se aprovisionan de forma ligera y no tienen un tamaño total fijo. El tamaño real de un sistema de archivos crece con los datos almacenados en él. Si el tamaño de los datos se acerca al tamaño virtual del sistema de archivos, Stratis hace crecer el volumen delgado y el sistema de archivos automáticamente.
Los sistemas de archivos están formateados con XFS.
ImportanteStratis rastrea información sobre los sistemas de archivos creados con Stratis que XFS no conoce, y los cambios realizados con XFS no crean automáticamente actualizaciones en Stratis. Los usuarios no deben reformatear o reconfigurar los sistemas de archivos XFS que son administrados por Stratis.
Stratis crea enlaces a sistemas de archivos en la
/stratis/my-pool/my-fs
ruta de acceso.
Stratis utiliza muchos dispositivos Device Mapper, que aparecen en los listados de dmsetup
y en el archivo /proc/partitions
. Del mismo modo, la salida del comando lsblk
refleja el funcionamiento interno y las capas de Stratis.
17.1.3. Dispositivos en bloque utilizables con Stratis
Esta sección enumera los dispositivos de almacenamiento que puede utilizar para Stratis.
Dispositivos compatibles
Las piscinas Stratis han sido probadas para funcionar en este tipo de dispositivos de bloque:
- LUKS
- Volúmenes lógicos LVM
- MD RAID
- DM Multipath
- iSCSI
- Discos duros y unidades de estado sólido (SSD)
- Dispositivos NVMe
En la versión actual, Stratis no maneja fallos en los discos duros u otro hardware. Si se crea un pool de Stratis sobre múltiples dispositivos de hardware, se incrementa el riesgo de pérdida de datos porque varios dispositivos deben estar operativos para acceder a los datos.
Dispositivos no compatibles
Debido a que Stratis contiene una capa de aprovisionamiento fino, Red Hat no recomienda colocar un pool de Stratis en dispositivos de bloque que ya están aprovisionados de forma fina.
Recursos adicionales
-
Para iSCSI y otros dispositivos de bloque que requieren red, consulte la página man
systemd.mount(5)
para obtener información sobre la opción de montaje_netdev
.
17.1.4. Instalación de Stratis
Este procedimiento instala todos los paquetes necesarios para utilizar Stratis.
Procedimiento
Instale los paquetes que proporcionan el servicio Stratis y las utilidades de línea de comandos:
yum install stratisd stratis-cli
# yum install stratisd stratis-cli
Copy to Clipboard Copied! Asegúrese de que el servicio
stratisd
está activado:systemctl enable --now stratisd
# systemctl enable --now stratisd
Copy to Clipboard Copied!
17.1.5. Creación de un pool de Stratis
Este procedimiento describe cómo crear un pool Stratis encriptado o no encriptado a partir de uno o varios dispositivos de bloque.
Las siguientes notas se aplican a los pools Stratis encriptados:
-
Cada dispositivo de bloque se encripta utilizando la biblioteca
cryptsetup
e implementa el formatoLUKS2
. - Cada pool de Stratis puede tener una clave única o puede compartir la misma clave con otros pools. Estas claves se almacenan en el llavero del kernel.
- Todos los dispositivos de bloque que componen un pool Stratis están encriptados o sin encriptar. No es posible tener dispositivos de bloque encriptados y no encriptados en el mismo pool de Stratis.
- Los dispositivos de bloque añadidos al nivel de datos de un pool Stratis encriptado se encriptan automáticamente.
Requisitos previos
- Stratis v2.2.1 está instalado en su sistema. Consulte Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Los dispositivos de bloque en los que está creando un pool de Stratis no están en uso y no están montados.
- Los dispositivos de bloque en los que está creando un pool de Stratis tienen un tamaño mínimo de 1 GiB cada uno.
En la arquitectura IBM Z, los dispositivos de bloque
/dev/dasd*
deben ser particionados. Utilice la partición en el pool de Stratis.Para obtener información sobre la partición de dispositivos DASD, consulte Configuración de una instancia de Linux en IBM Z.
Procedimiento
Si el dispositivo de bloque seleccionado contiene firmas del sistema de archivos, de la tabla de particiones o del RAID, bórrelas con el siguiente comando:
wipefs --all block-device
# wipefs --all block-device
Copy to Clipboard Copied! donde
block-device
es la ruta de acceso al dispositivo de bloque; por ejemplo,/dev/sdb
.Cree el nuevo pool de Stratis en el o los dispositivos de bloque seleccionados:
NotaEspecifique varios dispositivos de bloque en una sola línea, separados por un espacio:
stratis pool create my-pool block-device-1 block-device-2
# stratis pool create my-pool block-device-1 block-device-2
Copy to Clipboard Copied! Para crear un pool Stratis no encriptado, utilice el siguiente comando y vaya al paso 3:
stratis pool create my-pool block-device
# stratis pool create my-pool block-device
Copy to Clipboard Copied! donde
block-device
es la ruta a un dispositivo de bloque vacío o borrado.NotaNo se puede encriptar un pool Stratis no encriptado después de crearlo.
Para crear un pool Stratis encriptado, complete los siguientes pasos:
Si aún no ha creado un conjunto de claves, ejecute el siguiente comando y siga las indicaciones para crear un conjunto de claves que se utilizará para el cifrado:
stratis key set --capture-key key-description
# stratis key set --capture-key key-description
Copy to Clipboard Copied! donde
key-description
es la descripción o el nombre del conjunto de claves.Cree el pool Stratis encriptado y especifique la descripción de la clave a utilizar para la encriptación. También puede especificar la ruta de la clave utilizando el parámetro
--keyfile-path
en su lugar.stratis pool create --key-desc key-description my-pool block-device
# stratis pool create --key-desc key-description my-pool block-device
Copy to Clipboard Copied! donde
key-description
- Especifica la descripción o el nombre del archivo de claves que se utilizará para el cifrado.
my-pool
- Especifica el nombre del nuevo pool de Stratis.
block-device
- Especifica la ruta de acceso a un dispositivo de bloque vacío o borrado.
Compruebe que se ha creado el nuevo pool de Stratis:
lista de piscinas de stratis
# lista de piscinas de stratis
Copy to Clipboard Copied!
Solución de problemas
Después de un reinicio del sistema, a veces puede que no vea su pool Stratis encriptado o los dispositivos de bloque que lo componen. Si se encuentra con este problema, debe desbloquear el pool Stratis para hacerlo visible.
Para desbloquear el pool de Stratis, complete los siguientes pasos:
Vuelva a crear el conjunto de claves utilizando la misma descripción de claves que se utilizó anteriormente:
stratis key set --capture-key key-description
# stratis key set --capture-key key-description
Copy to Clipboard Copied! Desbloquea el pool de Stratis y el/los dispositivo/s de bloque:
stratis pool unlock
# stratis pool unlock
Copy to Clipboard Copied! Compruebe que el pool de Stratis es visible:
lista de piscinas de stratis
# lista de piscinas de stratis
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
stratis(8)
.
Próximos pasos
- Cree un sistema de archivos Stratis en el pool. Para más información, consulte Sección 17.1.6, “Creación de un sistema de archivos Stratis”.
17.1.6. Creación de un sistema de archivos Stratis
Este procedimiento crea un sistema de archivos Stratis en un pool Stratis existente.
Requisitos previos
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Ha creado un pool de Stratis. Véase Sección 17.1.5, “Creación de un pool de Stratis”.
Procedimiento
Para crear un sistema de archivos Stratis en un pool, utilice:
stratis fs create my-pool my-fs
# stratis fs create my-pool my-fs
Copy to Clipboard Copied! - Sustituya my-pool con el nombre de su pool Stratis existente.
- Sustituya my-fs con un nombre arbitrario para el sistema de archivos.
Para verificarlo, liste los sistemas de archivos dentro del pool:
stratis fs list my-pool
# stratis fs list my-pool
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
stratis(8)
Próximos pasos
- Monte el sistema de archivos Stratis. Véase Sección 17.1.7, “Montaje de un sistema de archivos Stratis”.
17.1.7. Montaje de un sistema de archivos Stratis
Este procedimiento monta un sistema de archivos Stratis existente para acceder al contenido.
Requisitos previos
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Ha creado un sistema de archivos Stratis. Véase Sección 17.1.6, “Creación de un sistema de archivos Stratis”.
Procedimiento
Para montar el sistema de archivos, utilice las entradas que Stratis mantiene en el directorio
/stratis/
:mount /stratis/my-pool/my-fs mount-point
# mount /stratis/my-pool/my-fs mount-point
Copy to Clipboard Copied!
El sistema de archivos está ahora montado en el directorio mount-point y está listo para ser utilizado.
Recursos adicionales
-
La página de manual
mount(8)
17.1.8. Montaje persistente de un sistema de archivos Stratis
Este procedimiento monta persistentemente un sistema de archivos Stratis para que esté disponible automáticamente después de arrancar el sistema.
Requisitos previos
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Ha creado un sistema de archivos Stratis. Véase Sección 17.1.6, “Creación de un sistema de archivos Stratis”.
Procedimiento
Determina el atributo UUID del sistema de archivos:
lsblk --output=UUID /stratis/my-pool/my-fs
$ lsblk --output=UUID /stratis/my-pool/my-fs
Copy to Clipboard Copied! Por ejemplo:
Ejemplo 17.1. Ver el UUID del sistema de archivos Stratis
lsblk --output=UUID /stratis/my-pool/fs1
$ lsblk --output=UUID /stratis/my-pool/fs1 UUID a1f0b64a-4ebb-4d4e-9543-b1d79f600283
Copy to Clipboard Copied! Si el directorio del punto de montaje no existe, créelo:
mkdir --parents mount-point
# mkdir --parents mount-point
Copy to Clipboard Copied! Como root, edita el archivo
/etc/fstab
y añade una línea para el sistema de archivos, identificado por el UUID. Utilizaxfs
como tipo de sistema de archivos y añade la opciónx-systemd.requires=stratisd.service
.Por ejemplo:
Ejemplo 17.2. El punto de montaje /fs1 en /etc/fstab
UUID=a1f0b64a-4ebb-4d4e-9543-b1d79f600283 /fs1 xfs defaults,x-systemd.requires=stratisd.service 0 0
UUID=a1f0b64a-4ebb-4d4e-9543-b1d79f600283 /fs1 xfs defaults,x-systemd.requires=stratisd.service 0 0
Copy to Clipboard Copied! Regenere las unidades de montaje para que su sistema registre la nueva configuración:
systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Intente montar el sistema de archivos para verificar que la configuración funciona:
montaje mount-point
# montaje mount-point
Copy to Clipboard Copied!
Recursos adicionales
17.2. Ampliación de un volumen Stratis con dispositivos de bloque adicionales
Puede adjuntar dispositivos de bloque adicionales a un pool Stratis para proporcionar más capacidad de almacenamiento para los sistemas de archivos Stratis.
17.2.1. Componentes de un volumen Stratis
Externamente, Stratis presenta los siguientes componentes de volumen en la interfaz de línea de comandos y en la API:
blockdev
- Dispositivos de bloque, como un disco o una partición de disco.
pool
Compuesto por uno o varios dispositivos en bloque.
Un pool tiene un tamaño total fijo, igual al tamaño de los dispositivos de bloque.
El pool contiene la mayoría de las capas de Stratis, como la caché de datos no volátil que utiliza el objetivo
dm-cache
.Stratis crea un
/stratis/my-pool/
directorio para cada pool. Este directorio contiene enlaces a dispositivos que representan sistemas de archivos Stratis en el pool.
filesystem
Cada pool puede contener uno o más sistemas de archivos, que almacenan archivos.
Los sistemas de archivos se aprovisionan de forma ligera y no tienen un tamaño total fijo. El tamaño real de un sistema de archivos crece con los datos almacenados en él. Si el tamaño de los datos se acerca al tamaño virtual del sistema de archivos, Stratis hace crecer el volumen delgado y el sistema de archivos automáticamente.
Los sistemas de archivos están formateados con XFS.
ImportanteStratis rastrea información sobre los sistemas de archivos creados con Stratis que XFS no conoce, y los cambios realizados con XFS no crean automáticamente actualizaciones en Stratis. Los usuarios no deben reformatear o reconfigurar los sistemas de archivos XFS que son administrados por Stratis.
Stratis crea enlaces a sistemas de archivos en la
/stratis/my-pool/my-fs
ruta de acceso.
Stratis utiliza muchos dispositivos Device Mapper, que aparecen en los listados de dmsetup
y en el archivo /proc/partitions
. Del mismo modo, la salida del comando lsblk
refleja el funcionamiento interno y las capas de Stratis.
17.2.2. Añadir dispositivos de bloque a un pool de Stratis
Este procedimiento añade uno o más dispositivos de bloque a un pool de Stratis para que puedan ser utilizados por los sistemas de archivos Stratis.
Requisitos previos
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Los dispositivos de bloque que está añadiendo al pool de Stratis no están en uso y no están montados.
- Los dispositivos de bloque que está añadiendo al pool de Stratis tienen un tamaño mínimo de 1 GiB cada uno.
Procedimiento
Para añadir uno o más dispositivos de bloque al pool, utilice:
stratis pool add-data my-pool device-1 device-2 device-n
# stratis pool add-data my-pool device-1 device-2 device-n
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
stratis(8)
17.3. Supervisión de los sistemas de archivos Stratis
Como usuario de Stratis, puede ver información sobre los volúmenes de Stratis en su sistema para controlar su estado y el espacio libre.
17.3.1. Tamaños de estratis reportados por diferentes empresas de servicios públicos
Esta sección explica la diferencia entre los tamaños de Stratis reportados por utilidades estándar como df
y la utilidad stratis
.
Las utilidades estándar de Linux como df
reportan el tamaño de la capa del sistema de archivos XFS en Stratis, que es de 1 TiB. Esta información no es útil, porque el uso real de almacenamiento de Stratis es menor debido al thin provisioning, y también porque Stratis hace crecer automáticamente el sistema de archivos cuando la capa XFS está cerca de llenarse.
Supervise regularmente la cantidad de datos escritos en sus sistemas de archivos Stratis, que se reporta como el valor Total Physical Used. Asegúrese de que no supera el valor de Total Physical Size.
Recursos adicionales
-
La página de manual
stratis(8)
17.3.2. Visualización de información sobre los volúmenes de Stratis
Este procedimiento muestra las estadísticas de sus volúmenes Stratis, como el tamaño total, usado y libre, o los sistemas de archivos y dispositivos de bloques pertenecientes a un pool.
Requisitos previos
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando.
Procedimiento
Para mostrar información sobre todos los block devices utilizados para Stratis en su sistema:
stratis blockdev
# stratis blockdev Pool Name Device Node Physical Size State Tier my-pool /dev/sdb 9.10 TiB In-use Data
Copy to Clipboard Copied! Para mostrar información sobre todos los Stratis pools en su sistema:
stratis pool
# stratis pool Name Total Physical Size Total Physical Used my-pool 9.10 TiB 598 MiB
Copy to Clipboard Copied! Para mostrar información sobre todos los Stratis file systems en su sistema:
stratis filesystem
# stratis filesystem Pool Name Name Used Created Device my-pool my-fs 546 MiB Nov 08 2018 08:03 /stratis/my-pool/my-fs
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
stratis(8)
17.4. Uso de instantáneas en los sistemas de archivos Stratis
Puede utilizar instantáneas en los sistemas de archivos Stratis para capturar el estado del sistema de archivos en momentos arbitrarios y restaurarlo en el futuro.
17.4.1. Características de las instantáneas de Stratis
Esta sección describe las propiedades y limitaciones de las instantáneas del sistema de archivos en Stratis.
En Stratis, una instantánea es un sistema de archivos Stratis regular creado como una copia de otro sistema de archivos Stratis. La instantánea contiene inicialmente el mismo contenido de archivos que el sistema de archivos original, pero puede cambiar a medida que se modifica la instantánea. Cualquier cambio que se haga en la instantánea no se reflejará en el sistema de archivos original.
La implementación actual de la instantánea en Stratis se caracteriza por lo siguiente:
- Una instantánea de un sistema de archivos es otro sistema de archivos.
- Una instantánea y su origen no están vinculados en cuanto a su vida. Un sistema de archivos instantáneo puede vivir más tiempo que el sistema de archivos del que se creó.
- No es necesario montar un sistema de archivos para crear una instantánea a partir de él.
- Cada instantánea utiliza alrededor de medio gigabyte de almacenamiento de respaldo real, que es necesario para el registro XFS.
17.4.2. Creación de una instantánea de Stratis
Este procedimiento crea un sistema de archivos Stratis como una instantánea de un sistema de archivos Stratis existente.
Requisitos previos
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Ha creado un sistema de archivos Stratis. Véase Sección 17.1.6, “Creación de un sistema de archivos Stratis”.
Procedimiento
Para crear una instantánea de Stratis, utilice:
stratis fs snapshot my-pool my-fs my-fs-snapshot
# stratis fs snapshot my-pool my-fs my-fs-snapshot
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
stratis(8)
17.4.3. Acceso al contenido de una instantánea de Stratis
Este procedimiento monta una instantánea de un sistema de archivos Stratis para que sea accesible para operaciones de lectura y escritura.
Requisitos previos
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Ha creado una instantánea de Stratis. Véase Sección 17.4.2, “Creación de una instantánea de Stratis”.
Procedimiento
Para acceder a la instantánea, móntela como un sistema de archivos normal desde el directorio
/stratis/my-pool/
directorio:mount /stratis/my-pool/my-fs-snapshot mount-point
# mount /stratis/my-pool/my-fs-snapshot mount-point
Copy to Clipboard Copied!
Recursos adicionales
- Sección 17.1.7, “Montaje de un sistema de archivos Stratis”
-
La página de manual
mount(8)
17.4.4. Revertir un sistema de archivos Stratis a una instantánea anterior
Este procedimiento revierte el contenido de un sistema de archivos Stratis al estado capturado en una instantánea Stratis.
Requisitos previos
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Ha creado una instantánea de Stratis. Véase Sección 17.4.2, “Creación de una instantánea de Stratis”.
Procedimiento
Opcionalmente, haga una copia de seguridad del estado actual del sistema de archivos para poder acceder a él más tarde:
stratis filesystem snapshot my-pool my-fs my-fs-backup
# stratis filesystem snapshot my-pool my-fs my-fs-backup
Copy to Clipboard Copied! Desmontar y eliminar el sistema de archivos original:
umount /stratis/my-pool/my-fs stratis filesystem destroy my-pool my-fs
# umount /stratis/my-pool/my-fs # stratis filesystem destroy my-pool my-fs
Copy to Clipboard Copied! Cree una copia de la instantánea con el nombre del sistema de archivos original:
stratis filesystem snapshot my-pool my-fs-snapshot my-fs
# stratis filesystem snapshot my-pool my-fs-snapshot my-fs
Copy to Clipboard Copied! Monte la instantánea, que ahora es accesible con el mismo nombre que el sistema de archivos original:
mount /stratis/my-pool/my-fs mount-point
# mount /stratis/my-pool/my-fs mount-point
Copy to Clipboard Copied!
El contenido del sistema de archivos llamado my-fs es ahora idéntico al de la instantánea my-fs-snapshot.
Recursos adicionales
-
La página de manual
stratis(8)
17.4.5. Eliminación de una instantánea de Stratis
Este procedimiento elimina una instantánea de Stratis de un pool. Los datos de la instantánea se pierden.
Requisitos previos
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Ha creado una instantánea de Stratis. Véase Sección 17.4.2, “Creación de una instantánea de Stratis”.
Procedimiento
Desmontar la instantánea:
umount /stratis/my-pool/my-fs-snapshot
# umount /stratis/my-pool/my-fs-snapshot
Copy to Clipboard Copied! Destruye la instantánea:
stratis filesystem destroy my-pool my-fs-snapshot
# stratis filesystem destroy my-pool my-fs-snapshot
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
stratis(8)
17.5. Eliminación de los sistemas de archivos Stratis
Puede eliminar un sistema de archivos Stratis existente o un pool Stratis, destruyendo los datos en ellos.
17.5.1. Componentes de un volumen Stratis
Externamente, Stratis presenta los siguientes componentes de volumen en la interfaz de línea de comandos y en la API:
blockdev
- Dispositivos de bloque, como un disco o una partición de disco.
pool
Compuesto por uno o varios dispositivos en bloque.
Un pool tiene un tamaño total fijo, igual al tamaño de los dispositivos de bloque.
El pool contiene la mayoría de las capas de Stratis, como la caché de datos no volátil que utiliza el objetivo
dm-cache
.Stratis crea un
/stratis/my-pool/
directorio para cada pool. Este directorio contiene enlaces a dispositivos que representan sistemas de archivos Stratis en el pool.
filesystem
Cada pool puede contener uno o más sistemas de archivos, que almacenan archivos.
Los sistemas de archivos se aprovisionan de forma ligera y no tienen un tamaño total fijo. El tamaño real de un sistema de archivos crece con los datos almacenados en él. Si el tamaño de los datos se acerca al tamaño virtual del sistema de archivos, Stratis hace crecer el volumen delgado y el sistema de archivos automáticamente.
Los sistemas de archivos están formateados con XFS.
ImportanteStratis rastrea información sobre los sistemas de archivos creados con Stratis que XFS no conoce, y los cambios realizados con XFS no crean automáticamente actualizaciones en Stratis. Los usuarios no deben reformatear o reconfigurar los sistemas de archivos XFS que son administrados por Stratis.
Stratis crea enlaces a sistemas de archivos en la
/stratis/my-pool/my-fs
ruta de acceso.
Stratis utiliza muchos dispositivos Device Mapper, que aparecen en los listados de dmsetup
y en el archivo /proc/partitions
. Del mismo modo, la salida del comando lsblk
refleja el funcionamiento interno y las capas de Stratis.
17.5.2. Eliminación de un sistema de archivos Stratis
Este procedimiento elimina un sistema de archivos Stratis existente. Los datos almacenados en él se pierden.
Requisitos previos
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Ha creado un sistema de archivos Stratis. Véase Sección 17.1.6, “Creación de un sistema de archivos Stratis”.
Procedimiento
Desmontar el sistema de archivos:
umount /stratis/my-pool/my-fs
# umount /stratis/my-pool/my-fs
Copy to Clipboard Copied! Destruye el sistema de archivos:
stratis filesystem destroy my-pool my-fs
# stratis filesystem destroy my-pool my-fs
Copy to Clipboard Copied! Compruebe que el sistema de archivos ya no existe:
stratis filesystem list my-pool
# stratis filesystem list my-pool
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
stratis(8)
17.5.3. Eliminación de una piscina Stratis
Este procedimiento elimina un pool de Stratis existente. Los datos almacenados en él se pierden.
Requisitos previos
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Ha creado un pool de Stratis. Véase Sección 17.1.5, “Creación de un pool de Stratis”.
Procedimiento
Lista de sistemas de archivos en el pool:
stratis filesystem list my-pool
# stratis filesystem list my-pool
Copy to Clipboard Copied! Desmontar todos los sistemas de archivos del pool:
umount /stratis/my-pool/my-fs-1 \ /stratis/my-pool/my-fs-2 \ /stratis/my-pool/my-fs-n
# umount /stratis/my-pool/my-fs-1 \ /stratis/my-pool/my-fs-2 \ /stratis/my-pool/my-fs-n
Copy to Clipboard Copied! Destruye los sistemas de archivos:
stratis filesystem destroy my-pool my-fs-1 my-fs-2
# stratis filesystem destroy my-pool my-fs-1 my-fs-2
Copy to Clipboard Copied! Destruye la piscina:
stratis pool destroy my-pool
# stratis pool destroy my-pool
Copy to Clipboard Copied! Compruebe que la piscina ya no existe:
lista de piscinas de stratis
# lista de piscinas de stratis
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
stratis(8)
Capítulo 18. Cómo empezar con un sistema de archivos ext3
Como administrador del sistema, puedes crear, montar, redimensionar, hacer copias de seguridad y restaurar un sistema de archivos ext3. El sistema de archivos ext3 es esencialmente una versión mejorada del sistema de archivos ext2.
18.1. Características de un sistema de archivos ext3
Las siguientes son las características de un sistema de archivos ext3:
Disponibilidad: Después de un corte de energía inesperado o de un fallo del sistema, no es necesario comprobar el sistema de archivos gracias al registro en el diario proporcionado. El tamaño del diario por defecto tarda aproximadamente un segundo en recuperarse, dependiendo de la velocidad del hardware
NotaEl único modo de registro en el diario soportado en ext3 es
data=ordered
(por defecto). Para obtener más información, consulte ¿La opción de registro en el diario de EXT \ "data=writeback" es compatible con RHEL? Artículo de la base de conocimientos.- Integridad de los datos: El sistema de archivos ext3 evita la pérdida de la integridad de los datos durante un corte de energía inesperado o una caída del sistema.
- Velocidad: A pesar de escribir algunos datos más de una vez, ext3 tiene un mayor rendimiento en la mayoría de los casos que ext2 porque el registro en el diario de ext3 optimiza el movimiento del cabezal del disco duro.
- Transición fácil: Es fácil migrar de ext2 a ext3 y obtener los beneficios de un robusto sistema de archivos con registro en diario sin reformatear.
Recursos adicionales
-
La página de manual
ext3
.
18.2. Creación de un sistema de archivos ext3
Como administrador del sistema, puede crear un sistema de archivos ext3 en un dispositivo de bloque utilizando el comando mkfs.ext3
.
Requisitos previos
Una partición en su disco. Para obtener información sobre la creación de particiones MBR o GPT, consulte Sección 10.2, “Creación de una tabla de particiones en un disco”.
Como alternativa, utilice un volumen LVM o MD.
Procedimiento
Para crear un sistema de archivos ext3:
Para un dispositivo de partición regular, un volumen LVM, un volumen MD o un dispositivo similar, utilice el siguiente comando:
mkfs.ext3 /dev/block_device
# mkfs.ext3 /dev/block_device
Copy to Clipboard Copied! Sustituya /dev/block_device por la ruta de acceso a un dispositivo de bloque.
Por ejemplo,
/dev/sdb1
,/dev/disk/by-uuid/05e99ec8-def1-4a5e-8a9d-5945339ceb2a
, o/dev/my-volgroup/my-lv
. En general, las opciones por defecto son óptimas para la mayoría de los escenarios de uso.
NotaPara especificar un UUID al crear un sistema de archivos:
mkfs.ext3 -U UUID /dev/block_device
# mkfs.ext3 -U UUID /dev/block_device
Copy to Clipboard Copied! Sustituya UUID por el UUID que desee establecer: por ejemplo,
7cd65de3-e0be-41d9-b66d-96d749c02da7
.Sustituya /dev/block_device por la ruta de un sistema de archivos ext3 para que se le añada el UUID: por ejemplo,
/dev/sda8
.Para especificar una etiqueta al crear un sistema de archivos:
mkfs.ext3 -L label-name /dev/block_device
# mkfs.ext3 -L label-name /dev/block_device
Copy to Clipboard Copied!
Para ver el sistema de archivos ext3 creado:
blkid
# blkid
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
ext3
. -
La página de manual
mkfs.ext3
.
18.3. Montaje de un sistema de archivos ext3
Como administrador del sistema, puede montar un sistema de archivos ext3 utilizando la utilidad mount
.
Requisitos previos
- Un sistema de archivos ext3. Para obtener información sobre la creación de un sistema de archivos ext3, consulte Sección 18.2, “Creación de un sistema de archivos ext3”.
Procedimiento
Para crear un punto de montaje para montar el sistema de archivos:
mkdir /mount/point
# mkdir /mount/point
Copy to Clipboard Copied! Sustituya /mount/point por el nombre del directorio donde debe crearse el punto de montaje de la partición.
Para montar un sistema de archivos ext3:
Para montar un sistema de archivos ext3 sin opciones adicionales:
montar /dev/block_device /mount/point
# montar /dev/block_device /mount/point
Copy to Clipboard Copied! - Para montar el sistema de archivos de forma persistente, consulte Sección 14.8, “Montaje persistente de sistemas de archivos”.
Para ver el sistema de archivos montado:
df -h
# df -h
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
mount
. -
La página de manual
ext3
. -
La página de manual
fstab
. - Capítulo 14, Montaje de sistemas de archivos
18.4. Redimensionar un sistema de archivos ext3
Como administrador del sistema, puede redimensionar un sistema de archivos ext3 utilizando la utilidad resize2fs
. La utilidad resize2fs
lee el tamaño en unidades de tamaño de bloque del sistema de archivos, a menos que se utilice un sufijo que indique una unidad específica. Los siguientes sufijos indican unidades específicas:
-
s (sectores) -
512
sectores de bytes -
K (kilobytes) -
1,024
bytes -
M (megabytes) -
1,048,576
bytes -
G (gigabytes) -
1,073,741,824
bytes -
T (terabytes) -
1,099,511,627,776
bytes
Requisitos previos
- Un sistema de archivos ext3. Para obtener información sobre la creación de un sistema de archivos ext3, consulte Sección 18.2, “Creación de un sistema de archivos ext3”.
- Un dispositivo de bloque subyacente de un tamaño adecuado para mantener el sistema de archivos después de redimensionar.
Procedimiento
Para redimensionar un sistema de archivos ext3, siga los siguientes pasos:
Para reducir y aumentar el tamaño de un sistema de archivos ext3 sin montar:
umount /dev/block_device e2fsck -f /dev/block_device resize2fs /dev/block_device size
# umount /dev/block_device # e2fsck -f /dev/block_device # resize2fs /dev/block_device size
Copy to Clipboard Copied! Sustituya /dev/block_device por la ruta de acceso al dispositivo de bloque, por ejemplo
/dev/sdb1
.Sustituya size por el valor de redimensionamiento requerido utilizando los sufijos
s
,K
,M
,G
yT
.Un sistema de archivos ext3 puede crecer mientras se monta utilizando el comando
resize2fs
:resize2fs /mount/device size
# resize2fs /mount/device size
Copy to Clipboard Copied! NotaEl parámetro de tamaño es opcional (y a menudo redundante) cuando se expande. El
resize2fs
se expande automáticamente para llenar el espacio disponible del contenedor, normalmente un volumen lógico o una partición.
Para ver el sistema de archivos redimensionado:
df -h
# df -h
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
resize2fs
. -
La página de manual
e2fsck
. -
La página de manual
ext3
.
18.5. Creación y montaje de sistemas de archivos ext3 con RHEL System Roles
Esta sección describe cómo crear un sistema de archivos ext3 con una etiqueta determinada en un disco, y montar persistentemente el sistema de archivos utilizando el rol storage
.
Requisitos previos
-
Existe un playbook de Ansible que incluye el rol
storage
.
Para obtener información sobre cómo aplicar un libro de jugadas de este tipo, consulte Aplicar un rol.
18.5.1. Ejemplo de playbook de Ansible para crear y montar un sistema de archivos ext3
Esta sección proporciona un ejemplo de libro de jugadas de Ansible. Este libro de jugadas aplica el rol storage
para crear y montar un sistema de archivos Ext3.
Ejemplo 18.1. Un playbook que crea Ext3 en /dev/sdb y lo monta en /mnt/data
--- - hosts: all vars: storage_volumes: - name: barefs type: disk disks: - sdb fs_type: ext3 fs_label: label-name mount_point: /mnt/data roles: - rhel-system-roles.storage
---
- hosts: all
vars:
storage_volumes:
- name: barefs
type: disk
disks:
- sdb
fs_type: ext3
fs_label: label-name
mount_point: /mnt/data
roles:
- rhel-system-roles.storage
-
El libro de jugadas crea el sistema de archivos en el disco
/dev/sdb
. -
El libro de jugadas monta persistentemente el sistema de archivos en el directorio
/mnt/data
directorio. -
La etiqueta del sistema de archivos es
label-name
.
Recursos adicionales
-
Para más detalles sobre los parámetros utilizados en el rol de sistema
storage
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.storage/README.md
.
18.5.2. Recursos adicionales
-
Para más información sobre la función
storage
, consulte Sección 2.1, “Introducción a la función de almacenamiento”.
Capítulo 19. Cómo empezar con un sistema de archivos ext4
Como administrador del sistema, puede crear, montar, redimensionar, hacer copias de seguridad y restaurar un sistema de archivos ext4. El sistema de archivos ext4 es una extensión escalable del sistema de archivos ext3. Con Red Hat Enterprise Linux 8, puede soportar un tamaño máximo de archivo individual de 16
terabytes, y el sistema de archivos hasta un máximo de 50
terabytes.
19.1. Características de un sistema de archivos ext4
Las siguientes son las características de un sistema de archivos ext4:
- Uso de extensiones: El sistema de archivos ext4 utiliza extents, lo que mejora el rendimiento cuando se utilizan archivos de gran tamaño y reduce la sobrecarga de metadatos para los archivos grandes.
- Ext4 etiqueta los grupos de bloques no asignados y las secciones de la tabla de inodos, lo que permite omitir los grupos de bloques y las secciones de la tabla durante la comprobación del sistema de archivos. Esto lleva a una rápida comprobación del sistema de archivos, que se vuelve más beneficiosa a medida que el sistema de archivos crece en tamaño.
- Suma de comprobación de metadatos: Por defecto, esta función está activada en Red Hat Enterprise Linux 8.
Características de asignación de un sistema de archivos ext4:
- Pre-asignación persistente
- Asignación retardada
- Asignación de bloques múltiples
- Asignación de rayas
-
Atributos extendidos (
xattr
): Permite al sistema asociar varios pares de nombres y valores adicionales por archivo. Registro en el diario de las cuotas: Esto evita la necesidad de largas comprobaciones de consistencia de cuotas después de una caída.
NotaEl único modo de registro en el diario soportado en ext4 es
data=ordered
(por defecto). Para obtener más información, consulte ¿La opción de registro en el diario de EXT \ "data=writeback" es compatible con RHEL? Artículo de la base de conocimientos.- Marcas de tiempo del subsegundo - Esto da marcas de tiempo al subsegundo.
Recursos adicionales
-
La página de manual
ext4
.
19.2. Creación de un sistema de archivos ext4
Como administrador del sistema, puede crear un sistema de archivos ext4 en un dispositivo de bloque utilizando el comando mkfs.ext4
.
Requisitos previos
Una partición en su disco. Para obtener información sobre la creación de particiones MBR o GPT, consulte Sección 10.2, “Creación de una tabla de particiones en un disco”.
Como alternativa, utilice un volumen LVM o MD.
Procedimiento
Para crear un sistema de archivos ext4:
Para un dispositivo de partición regular, un volumen LVM, un volumen MD o un dispositivo similar, utilice el siguiente comando:
mkfs.ext4 /dev/block_device
# mkfs.ext4 /dev/block_device
Copy to Clipboard Copied! Sustituya /dev/block_device por la ruta de acceso a un dispositivo de bloque.
Por ejemplo,
/dev/sdb1
,/dev/disk/by-uuid/05e99ec8-def1-4a5e-8a9d-5945339ceb2a
, o/dev/my-volgroup/my-lv
. En general, las opciones por defecto son óptimas para la mayoría de los escenarios de uso.En el caso de los dispositivos de bloques rayados (por ejemplo, matrices RAID5), la geometría de las rayas puede especificarse en el momento de la creación del sistema de archivos. El uso de una geometría de franjas adecuada mejora el rendimiento de un sistema de archivos ext4. Por ejemplo, para crear un sistema de archivos con una franja de 64k (es decir, 16 x 4096) en un sistema de archivos de 4k bloques, utilice el siguiente comando:
mkfs.ext4 -E stride=16,stripe-width=64 /dev/block_device
# mkfs.ext4 -E stride=16,stripe-width=64 /dev/block_device
Copy to Clipboard Copied! En el ejemplo dado:
- stride=valor: Especifica el tamaño de los trozos del RAID
- stripe-width=valor: Especifica el número de discos de datos en un dispositivo RAID, o el número de unidades de franja en la franja.
NotaPara especificar un UUID al crear un sistema de archivos:
mkfs.ext4 -U UUID /dev/block_device
# mkfs.ext4 -U UUID /dev/block_device
Copy to Clipboard Copied! Sustituya UUID por el UUID que desee establecer: por ejemplo,
7cd65de3-e0be-41d9-b66d-96d749c02da7
.Sustituya /dev/block_device por la ruta de un sistema de archivos ext4 para que se le añada el UUID: por ejemplo,
/dev/sda8
.Para especificar una etiqueta al crear un sistema de archivos:
mkfs.ext4 -L label-name /dev/block_device
# mkfs.ext4 -L label-name /dev/block_device
Copy to Clipboard Copied!
Para ver el sistema de archivos ext4 creado:
blkid
# blkid
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
ext4
. -
La página de manual
mkfs.ext4
.
19.3. Montaje de un sistema de archivos ext4
Como administrador del sistema, puede montar un sistema de archivos ext4 utilizando la utilidad mount
.
Requisitos previos
- Un sistema de archivos ext4. Para obtener información sobre la creación de un sistema de archivos ext4, consulte Sección 19.2, “Creación de un sistema de archivos ext4”.
Procedimiento
Para crear un punto de montaje para montar el sistema de archivos:
mkdir /mount/point
# mkdir /mount/point
Copy to Clipboard Copied! Sustituya /mount/point por el nombre del directorio donde debe crearse el punto de montaje de la partición.
Para montar un sistema de archivos ext4:
Para montar un sistema de archivos ext4 sin opciones adicionales:
montar /dev/block_device /mount/point
# montar /dev/block_device /mount/point
Copy to Clipboard Copied! - Para montar el sistema de archivos de forma persistente, consulte Sección 14.8, “Montaje persistente de sistemas de archivos”.
Para ver el sistema de archivos montado:
df -h
# df -h
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
mount
. -
La página de manual
ext4
. -
La página de manual
fstab
. - Capítulo 14, Montaje de sistemas de archivos
19.4. Redimensionar un sistema de archivos ext4
Como administrador del sistema, puede redimensionar un sistema de archivos ext4 utilizando la utilidad resize2fs
. La utilidad resize2fs
lee el tamaño en unidades de tamaño de bloque del sistema de archivos, a menos que se utilice un sufijo que indique una unidad específica. Los siguientes sufijos indican unidades específicas:
-
s (sectores) -
512
sectores de bytes -
K (kilobytes) -
1,024
bytes -
M (megabytes) -
1,048,576
bytes -
G (gigabytes) -
1,073,741,824
bytes -
T (terabytes) -
1,099,511,627,776
bytes
Requisitos previos
- Un sistema de archivos ext4. Para obtener información sobre la creación de un sistema de archivos ext4, consulte Sección 19.2, “Creación de un sistema de archivos ext4”.
- Un dispositivo de bloque subyacente de un tamaño adecuado para mantener el sistema de archivos después de redimensionar.
Procedimiento
Para redimensionar un sistema de archivos ext4, siga los siguientes pasos:
Para reducir y aumentar el tamaño de un sistema de archivos ext4 sin montar:
umount /dev/block_device e2fsck -f /dev/block_device resize2fs /dev/block_device size
# umount /dev/block_device # e2fsck -f /dev/block_device # resize2fs /dev/block_device size
Copy to Clipboard Copied! Sustituya /dev/block_device por la ruta de acceso al dispositivo de bloque, por ejemplo
/dev/sdb1
.Sustituya size por el valor de redimensionamiento requerido utilizando los sufijos
s
,K
,M
,G
yT
.Un sistema de archivos ext4 puede crecer mientras se monta utilizando el comando
resize2fs
:resize2fs /mount/device size
# resize2fs /mount/device size
Copy to Clipboard Copied! NotaEl parámetro de tamaño es opcional (y a menudo redundante) cuando se expande. El
resize2fs
se expande automáticamente para llenar el espacio disponible del contenedor, normalmente un volumen lógico o una partición.
Para ver el sistema de archivos redimensionado:
df -h
# df -h
Copy to Clipboard Copied!
Recursos adicionales
-
La página de manual
resize2fs
. -
La página de manual
e2fsck
. -
La página de manual
ext4
.
19.5. Creación y montaje de sistemas de archivos ext4 con RHEL System Roles
Esta sección describe cómo crear un sistema de archivos ext4 con una etiqueta determinada en un disco, y montar persistentemente el sistema de archivos utilizando el rol storage
.
Requisitos previos
-
Existe un playbook de Ansible que incluye el rol
storage
.
Para obtener información sobre cómo aplicar un libro de jugadas de este tipo, consulte Aplicar un rol.
19.5.1. Ejemplo de playbook Ansible para crear y montar un sistema de archivos Ext4
Esta sección proporciona un ejemplo de libro de jugadas de Ansible. Este libro de jugadas aplica el rol storage
para crear y montar un sistema de archivos Ext4.
Ejemplo 19.1. Un playbook que crea Ext4 en /dev/sdb y lo monta en /mnt/data
--- - hosts: all vars: storage_volumes: - name: barefs type: disk disks: - sdb fs_type: ext4 fs_label: label-name mount_point: /mnt/data roles: - rhel-system-roles.storage
---
- hosts: all
vars:
storage_volumes:
- name: barefs
type: disk
disks:
- sdb
fs_type: ext4
fs_label: label-name
mount_point: /mnt/data
roles:
- rhel-system-roles.storage
-
El libro de jugadas crea el sistema de archivos en el disco
/dev/sdb
. -
El libro de jugadas monta persistentemente el sistema de archivos en el directorio
/mnt/data
directorio. -
La etiqueta del sistema de archivos es
label-name
.
Recursos adicionales
-
Para más detalles sobre los parámetros utilizados en el rol de sistema
storage
, consulte el archivo/usr/share/ansible/roles/rhel-system-roles.storage/README.md
.
Recursos adicionales
-
Para más información sobre la función
storage
, consulte Sección 2.1, “Introducción a la función de almacenamiento”.
19.6. Comparación de las herramientas utilizadas con ext4 y XFS
Esta sección compara qué herramientas utilizar para realizar tareas comunes en los sistemas de archivos ext4 y XFS.
Tarea | ext4 | XFS |
---|---|---|
Crear un sistema de archivos |
|
|
Comprobación del sistema de archivos |
|
|
Redimensionar un sistema de archivos |
|
|
Guardar una imagen de un sistema de archivos |
|
|
Etiquetar o ajustar un sistema de archivos |
|
|
Copia de seguridad de un sistema de archivos |
|
|
Gestión de cuotas |
|
|
Asignación de archivos |
|
|