File systems (Español)

From ArchWiki
(Redirected from Mkfs (Español))
Jump to navigation Jump to search
Estado de la traducción
Este artículo es una traducción de File systems, revisada por última vez el 2019-03-13. Si advierte que la versión inglesa ha cambiado puede ayudar a actualizar la traducción, bien por usted mismo o bien avisando al equipo de traducción.

De Wikipedia:

En informática, un sistema de archivos controla cómo se almacenan y recuperan los datos. Sin un sistema de archivos, la información colocada en un medio de almacenamiento sería una gran cantidad de datos sin una manera de decir dónde se detiene una información y comienza la siguiente. Al separar los datos en partes y darle a cada una un nombre, la información se aísla e identifica fácilmente. Tomando su nombre de la forma en que se nombran los sistemas de información en papel, cada grupo de datos se llama un «archivo». La estructura y las reglas lógicas utilizadas para administrar los grupos de información y sus nombres se denominan «sistema de archivos».

Las particiones individuales de la unidad se pueden configurar utilizando uno de los muchos y diferentes sistemas de archivos disponibles. Cada uno tiene sus propias ventajas, desventajas e idiosincrasias únicas. A continuación se ofrece una breve descripción de los sistemas de archivos compatibles; los enlaces son a páginas de Wikipedia que proporcionan mucha más información.

Tipos de sistemas de archivos

Véase filesystems(5) para una visión general y Wikipedia:es:Anexo:Comparación de sistemas de archivos para una comparación detallada de características. Los sistemas de archivos soportados por el kernel están listados en /proc/filesystems.

Sistema de archivos Orden para crearlo Utilidades de usuario Archiso [1] Documentación del kernel [2] Notas
Btrfs mkfs.btrfs(8) btrfs-progs btrfs.txt estado de su estabilidad
VFAT mkfs.fat(8) dosfstools vfat.txt
exFAT mkexfatfs(8) exfat-utils N/D (basado en FUSE)
F2FS mkfs.f2fs(8) f2fs-tools f2fs.txt dispositivos basados ​​en flash
ext3 mke2fs(8) e2fsprogs Sí (base) ext3.txt
ext4 mke2fs(8) e2fsprogs Sí (base) ext4.txt
HFS mkfs.hfsplus(8) hfsprogsAUR No hfs.txt sistema de archivos de macOS (8.x-10.12.x)
JFS mkfs.jfs(8) jfsutils Sí (base) jfs.txt
NILFS2 mkfs.nilfs2(8) nilfs-utils nilfs2.txt
NTFS mkfs.ntfs(8) ntfs-3g N/D (basado en FUSE) sistema de archivos de Windows
Reiser4 mkfs.reiser4(8) reiser4progsAUR No
ReiserFS mkfs.reiserfs(8) reiserfsprogs Sí (base)
UDF mkfs.udf(8) udftools Opcional udf.txt
XFS mkfs.xfs(8) xfsprogs Sí (base)

xfs.txt
xfs-delayed-logging-design.txt
xfs-self-describing-metadata.txt

ZFS zfs-linuxAUR No N/D (OpenZFS port)
Nota: El kernel tiene su propio controlador NTFS (véase ntfs.txt), pero tiene soporte limitado para escribir archivos.

Journaling

Todos los sistemas de archivos anteriores con la excepción de ext2, FAT16/32, Btrfs and ZFS, utilizan journaling. Journaling proporciona tolerancia a fallos al registrar los cambios antes de que se confirmen en el sistema de archivos. En el caso de un fallo del sistema o de alimentación, estos sistemas de archivos son más rápidos para volver a estar en línea y es menos probable que se corrompan. El registro se realiza en un área dedicada del sistema de archivos.

No todas las técnicas Journaling son iguales. Ext3 y ext4 ofrecen data-mode journaling, que registra datos y metadatos, así como posibilidad de registrar solo los cambios de metadatos. Data-mode journaling viene con una penalización de velocidad y no está activada de forma predeterminada. Del mismo modo, Reiser4 ofrece el llamado "modelos de transacción", que incluye journaling puro (equivalente a data-mode journaling de ext4), aproximación a Copy-on-Write puro (equivalente al predeterminado de btrfs) y un enfoque combinado que alterna heurísticamente entre los dos anteriores.

Nota: Reiser4 no proporciona un equivalente al comportamiento de journaling predeterminado de ext4 (solo metadatos).

Los otros sistemas de archivos proporcionan ordered-mode journaling, que solo registra metadatos. Si bien todo journaling devolverá un sistema de archivos a un estado válido después de una caída, data-mode journaling ofrece la mayor protección contra la corrupción y la pérdida de datos. Sin embargo, existe un compromiso en el rendimiento del sistema, ya que data-mode journaling realiza dos operaciones de escritura: primero en el journal y luego en el disco. Al elegir el tipo de sistema de archivos, se debe considerar el equilibrio entre la velocidad del sistema y la seguridad de los datos.

Los sistemas de archivos basados ​​en copy-on-write, como Btrfs y ZFS, no tienen necesidad de usar el journal tradicional para proteger los metadatos, porque nunca se actualizan en el lugar. Aunque Btrfs todavía tiene un árbol de registro similar a journal, solo se utiliza para acelerar fdatasync/fsync.

Sistemas de archivos basados ​​en FUSE

Véase FUSE.

Sistemas de archivos apilables

  • aufs — Sistema de archivos de unificación multicapa avanzado, un sistema de archivos de unión basado en FUSE, una reescritura completa de Unionfs, fue rechazado de la línea principal de Linux y, en su lugar, OverlayFS se fusionó con el Kernel de Linux.
http://aufs.sourceforge.net || aufsAUR
  • eCryptfs — El sistema de archivos de cifrado empresarial es un paquete de software de cifrado de disco para Linux. Se implementa como una capa de cifrado a nivel de sistema de archivos compatible con POSIX, con el objetivo de ofrecer una funcionalidad similar a la de GnuPG a nivel de sistema operativo.
http://ecryptfs.org || ecryptfs-utils
  • mergerfs — Un sistema de archivos de unión basado en FUSE.
https://github.com/trapexit/mergerfs || mergerfsAUR
  • mhddfs — Sistema de archivos FUSE Multi-HDD, un sistema de archivos de unión basado en FUSE.
http://mhddfs.uvw.ru || mhddfsAUR
  • overlayfs — OverlayFS es un servicio de sistema de archivos para Linux que implementa un montaje de unión para otros sistemas de archivos.
https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt || linux
  • Unionfs — Unionfs es un servicio de sistema de archivos para Linux, FreeBSD y NetBSD que implementa un montaje de unión para otros sistemas de archivos.
http://unionfs.filesystems.org/ || not packaged? search in AUR
  • unionfs-fuse — Una implementación de Unionfs en el espacio de usuario.
https://github.com/rpodgorny/unionfs-fuse || unionfs-fuse

Sistemas de archivos de solo lectura

  • SquashFS — SquashFS es un sistema de archivos comprimido de solo lectura. SquashFS comprime archivos, inodos y directorios, y admite tamaños de bloque de hasta 1 MB para una mayor compresión.
http://squashfs.sourceforge.net/ || squashfs-tools

Sistemas de archivos agrupados (cluster)

  • Ceph — Unificado, sistema de almacenamiento distribuido diseñado para un excelente rendimiento, fiabilidad y escalabilidad.
https://ceph.com/ || ceph
  • Glusterfs — Sistema de archivos agrupado capaz de escalar a varios peta-bytes.
https://www.gluster.org/ || glusterfs
  • IPFS — Un protocolo de hipermedia de igual a igual (peer-to-peer) para que la web sea más rápida, segura y abierta. IPFS trata de reemplazar a HTTP y construir una mejor web para todos nosotros. Utiliza bloques para almacenar partes de un archivo, cada nodo de red almacena solo el contenido que le interesa, proporciona deduplicación, distribución, sistema escalable limitado solo por los usuarios. (actualmente en estado aplha)
https://ipfs.io/ || go-ipfs
  • MooseFS — MooseFS es un sistema de archivos distribuido en red de escalamiento horizontal tolerante a fallos, de alta disponibilidad y de alto rendimiento.
https://moosefs.com || moosefs
  • OpenAFS — Implementación de código abierto del sistema de archivos distribuido AFS.
http://www.openafs.org || openafsAUR
  • OrangeFS — OrangeFS es un sistema de archivos de red de escalado horizontal diseñado para acceder de forma transparente al almacenamiento en disco multiservidor en paralelo. Ha optimizado el soporte de MPI-IO para aplicaciones paralelas y distribuidas. Simplifica el uso del almacenamiento paralelo no solo para clientes Linux, sino también para Windows, Hadoop y WebDAV. Compatible con POSIX. Parte del kernel de Linux desde la versión 4.6.
http://www.orangefs.org/ || not packaged? search in AUR
  • Sheepdog — El sistema de almacenamiento de objetos distribuidos para servicios de volumen y contenedor. Gestiona los discos y nodos de forma inteligente.
https://sheepdog.github.io/sheepdog/ || not packaged? search in AUR
  • Tahoe-LAFS — Tahoe Least-Authority Filesystem es un sistema de archivos libre y abierto, seguro, descentralizado, tolerante a fallos y distribuido de igual a igual.
https://tahoe-lafs.org/ || tahoe-lafsAUR

Identificar los sistemas de archivos existentes

Para identificar los sistemas de archivos existentes, puede utilizar lsblk:

$ lsblk -f
NAME   FSTYPE LABEL     UUID                                 MOUNTPOINT
sdb                                                          
└─sdb1 vfat   Transcend 4A3C-A9E9

Un sistema de archivos existente, si está presente, se mostrará en la columna FSTYPE. Si está montado, aparecerá en la columna MOUNTPOINT.

Crear un sistema de archivos

Los sistemas de archivos generalmente se crean en una partición, dentro de contenedores lógicos como LVM, RAID y dm-crypt, o en un archivo normal (véase Wikipedia:es:Loop device). Esta sección describe el caso de la partición.

Nota: Los sistemas de archivos se pueden escribir directamente en un disco, conocido como superfloppy o particless disk. Ciertas limitaciones están involucradas con este método, particularmente si arranca desde tal unidad. Véase Btrfs#Partitionless Btrfs disk para un ejemplo.
Advertencia:
  • Después de crear un nuevo sistema de archivos, es improbable que se recuperen los datos almacenados previamente en esta partición. Haga una copia de seguridad de los datos que desee conservar.
  • El propósito de una partición dada puede restringir la elección del sistema de archivos. Por ejemplo, una partición del sistema EFI debe contener un sistema de archivos FAT32, y el sistema de archivos que contiene el directorio /boot debe estar soportado por el cargador de arranque.

Antes de continuar, identifique el dispositivo donde se creará el sistema de archivos y si está montado o no. Por ejemplo:

$ lsblk -f
NAME   FSTYPE   LABEL       UUID                                 MOUNTPOINT
sda
├─sda1                      C4DA-2C4D                            
├─sda2 ext4                 5b1564b2-2e2c-452c-bcfa-d1f572ae99f2 /mnt
└─sda3                      56adc99b-a61e-46af-aab7-a6d07e504652 

Los sistemas de archivos montados deben ser desmontados antes de continuar. En el ejemplo anterior, existe un sistema de archivos que está en /dev/sda2 y se monta en /mnt. Se desmontaría con:

# umount /dev/sda2

Para encontrar los sistemas de archivos que estén montados, véase #Listar los sistemas de archivos montados.

Para crear un nuevo sistema de archivos, utilice mkfs(8). Véase #Tipos de sistemas de archivos para conocer el tipo exacto, así como las utilidades de espacio de usuario que desee instalar para un sistema de archivos en particular.

Por ejemplo, para crear un nuevo sistema de archivos de tipo ext4 (común para particiones de datos de Linux) en /dev/sda1, ejecute:

# mkfs.ext4 /dev/sda1
Sugerencia:
  • Utilice la opción -L de mkfs.ext4 para especificar una etiqueta de sistema de archivos. e2label se puede utilizar para cambiar la etiqueta en un sistema de archivos existente.
  • Los sistemas de archivos pueden ser redimensionados tras su creación, con ciertas limitaciones. Por ejemplo, el tamaño del sistema de archivos XFS se puede aumentar, pero no se puede reducir. Véase Capacidades de redimensionar y la documentación del sistema de archivos correspondiente para obtener más información.

El nuevo sistema de archivos ahora se puede montar en el directorio de su elección.

Montar un sistema de archivos

Para montar manualmente el sistema de archivos ubicado en un dispositivo (por ejemplo, una partición) en un directorio, utilice mount(8). Este ejemplo monta /dev/sda1 en /mnt.

# mount /dev/sda1 /mnt

Esto vincula el sistema de archivos en /dev/sda1 en el directorio /mnt, haciendo visible el contenido del sistema de archivos. Todos los datos que existían en /mnt antes de esta acción se vuelven invisibles hasta que se desmonte el dispositivo.

fstab contiene información sobre cómo se deben montar automáticamente los dispositivos, si están presentes. Véase el artículo fstab para obtener más información sobre cómo modificar este comportamiento.

Si se especifica un dispositivo en /etc/fstab y solo se proporciona el dispositivo o el punto de montaje en la línea de órdenes, esa información se utilizará en el montaje. Por ejemplo, si /etc/fstab contiene una línea que indica que /dev/sda1 debe montarse en /mnt, entonces lo siguiente montará automáticamente el dispositivo en esa ubicación:

# mount /dev/sda1

o

# mount /mnt

mount contiene varias opciones, muchas de las cuales dependen del sistema de archivos especificado. Las opciones se pueden cambiar, ya sea:

  • utilizando opciones en la línea de órdenes con mount
  • editando fstab
  • creando reglas udev
  • compilando el kernel usted mismo
  • o utilizando scripts de montaje específicos del sistema de archivos (situados en /usr/bin/mount.*).

Véase estos artículos relacionados y el artículo del sistema de archivos de interés para obtener más información.

Listar los sistemas de archivos montados

Para listar todos los sistemas de archivos montados utilice findmnt(8):

$ findmnt

findmnt toma una variedad de argumentos que pueden filtrar la salida y mostrar información adicional. Por ejemplo, puede tomar un dispositivo o punto de montaje como argumento para mostrar solo información sobre lo que se especifica:

$ findmnt /dev/sda1

findmnt reúne información de /etc/fstab, /etc/mtab, y /proc/self/mounts.

Desmontar un sistema de archivos

Para desmontar un sistema de archivos utilice umount(8). Se puede especificar el dispositivo que contiene el sistema de archivos (por ejemplo, /dev/sda1) o el punto de montaje (por ejemplo, /mnt):

# umount /dev/sda1

o

# umount /mnt

Véase también