Creación de Sistemas de Archivos

De Manuais Informática - IES San Clemente.
Ir a la navegación Ir a la búsqueda

Introducción

El siguiente paso es crear los SA sobre particiones. Vamos a utilizar un dispositivo virtual /dev/loop0 para crear particiones en él. También sería perfectamente válido utilizar un dispositivo físico o virtual del tipo /dev/sdX, simplemente sustituimos en los comandos el nombre del dispositivo. Los datos de particiones del dispositivo son

root@debian:~# fdisk -l /dev/loop0 
Disco /dev/loop0: 9,8 GiB, 10485760000 bytes, 20480000 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x5e0a5be1

Disposit.    Inicio Comienzo    Final Sectores Tamaño Id Tipo
/dev/loop0p1            2048 10487807 10485760     5G 83 Linux
/dev/loop0p2        10487808 20479999  9992192   4,8G 86 Conjunto de volúmenes NTFS
root@debian:~#

NOTA: Es importante notar que aún cuando no hemos creado los SA sobre las anteriores particiones debemos asignar un Tipo a la partición relacionado con el SA que se va a crear en ella.

Creación de un Sistema de Archivos ext4

Procedemos a crear un SA de tipo ext4 en la primera partición del dispositivo usado. Dicha partición, a la vista de la salida anterior tiene las siguientes propiedades

  • Está asociada al archivo de bloques /dev/loop0p1
  • Tiene un tamaño de 5G
  • Tiene una etiqueta de tipo 83 (Linux)

Antes de ejecutar el comando de creación es interesante consultar las opciones del comando, pues permiten controlar aspectos muy importantes a la hora de crear el SA. A continuación se listan las opciones más destacadas del comando mkfs.ext4. Ejecutamos:

mkfs.ext4

la salida resultante sería:

root@debian:~# mkfs.ext4
Modo de empleo: mkfs.ext4 [-c|-l nombre-del-fichero] [-b tamaño-del-bloque] [-C tamaño-del-«cluster»]
    [-i bytes-por-nodo-i] [-I tamaño-del-nodo-i] -J opciones-de-fichero-de-transacciones]
    [-G tamaño-del_grupo_flex] [-N número-de-nodos-i] [-d directorio-raíz]
    [-m porcentaje-de-bloques-reservados] [-o SO-creador]
    [-g bloques-por-grupo] [-L etiqueta-de-volumen] [-M último-directorio-montado]
    [-O característica[,...]] [-r revisión-del-sf] [-E opción-extendida{,...]]
    [-t tipo-del-sf] [-T tipo-de-uso ] [-U UUID] [-e comportamiento_con_errores][-z fichero_deshacer]
    [-jnqvDFSV] dispositivo [número-de-bloques]

Pueden administrarse aspectos importantes como:

  • Nodos-i: número, tamaño...
  • Tamaño de bloque lógico
  • Opciones relacionadas con el fichero de Journaling
  • etc.

Procedemos a crear el SA

mkfs.ext4 -b 4096 -m 10 -L "Test-ext4" /dev/loop0p1


El comando anterior creará un SA ext4 en la partición /dev/loop0p1 con:

  • -L: etiqueta “Test-ext4”
  • -b: tamaño de bloque 4096 (4KB, el máximo permitido)
  • -m: 10% espacio reservado para el súper usuario

La ayuda del comando siempre aporta explicaciones más precisas e información adicional

man mkfs.ext4

Creación de un Sistema de Archivos ntfs

Ahora crearemos en la segunda partición del dispositivo una partición NTFS, para ello necesitamos tener instalado el paquete ntfs-3g. Podemos comprobar si el paquete está instalado con el comando

apt policy ntfs-3g

si en la salida del comando se muestra “Instalados: ninguno”, entonces será preciso proceder a la instalación del paquete

apt install -y ntfs-3g

una vez dispongamos del paquete necesario podremos pasar a crear SA de tipo NTFS

Crearemos un SA NTFS en la segunda partición del dispositivo anterior

De nuevo, para ver de un modo resumido las opciones del comando, ejecutamos:

mkfs.ntfs

la salida sería:

root@debian:~# mkfs.ntfs

Usage: mkntfs [options] device [number-of-sectors]

Basic options:
    -f, --fast                      Perform a quick format
    -Q, --quick                     Perform a quick format
    -L, --label STRING              Set the volume label
    -C, --enable-compression        Enable compression on the volume
    -I, --no-indexing               Disable indexing on the volume
    -n, --no-action                 Do not write to disk

Advanced options:
    -c, --cluster-size BYTES        Specify the cluster size for the volume
    -s, --sector-size BYTES         Specify the sector size for the device
    -p, --partition-start SECTOR    Specify the partition start sector
    -H, --heads NUM                 Specify the number of heads
    -S, --sectors-per-track NUM     Specify the number of sectors per track
    -z, --mft-zone-multiplier NUM   Set the MFT zone multiplier
    -T, --zero-time                 Fake the time to be 00:00 UTC, Jan 1, 1970
    -F, --force                     Force execution despite errors

Output options:
    -q, --quiet                     Quiet execution
    -v, --verbose                   Verbose execution
        --debug                     Very verbose execution

Help options:
    -V, --version                   Display version
    -l, --license                   Display licensing information
    -h, --help                      Display this help

Developers' email address: ntfs-3g-devel@lists.sf.net
News, support and information:  http://tuxera.com

las opciones de nuevo se muestran claras y autoexplicativas

Ejecutamos el comando:

mkfs.ntfs -f -L "Test-NTFS" -c 8192 -v /dev/loop0p2

Crearía en la partición /dev/loop0p2 un SA NTFS con las siguientes propiedades:

  • -L: etiqueta Test-NTFS
  • -c: Tamaño de bloque 8KB
  • -f: Indica formateo rápido (fast, sin comprobaciones)
  • -v: muestra información del proceso de creación por pantalla

Si ahora ejecutamos:

cfdisk /dev/loop0

podréis ver como en las particiones definidas en el dispositivo ahora se indica el tipo de SA creado en ellas y su UUID y etiqueta

En el siguiente vídeo puede verse el proceso de creación de los SA anterioes

Mkfs.png

Creación de SA con mkfs

Creación de un Archivo de Intercambio (Swap)

Un área de intercambio (swap) es un almacén persistente de información que puede ser utilizado para ampliar la capacidad de direccionamiento física de un sistema. De este modo podemos simular la existencia de más espacio de memoria principal que la disponible físicamente. Este mecanismo es de gran ayuda para la ejecución de procesos por parte del sistema operativo, éste se encarga de albergar ciertos marcos de página de los procesos en la zona de intercambio del dispositivo que serán transferidos a memoria cuando sea necesario. En GNU/Linux las páginas de memoria se clasifican en los siguientes tipos:

  • Páginas del kernel: fijas en memoria sólo accesibles por éste
  • Páginas de texto de programa: asociadas al propio ejecutable, de solo lectura
  • Páginas asociadas a archivos: páginas en memoria que corresponden con archivos en el SA, pueden haber sido modificadas (dirty) o no (clean)
  • Páginas anónimas: asociadas a la propia ejecución del proceso, por ejemplo páginas de la pila (stack) o del área del montículo (heap) en la que se almacenan los elementos de información creados por el programa, como por ejemplo estructuras de datos

Solamente las páginas anónimas son paginadas a la zona de intercambio (swap) Los espacios de intercambio se gestionan habitualmente de dos modos:

  • Mediante una partición en el dispositivo dedicada exclusivamente a este fin: una solución bastante utilizada en sistemas UNIX y GNU/Linux
  • Mediante un archivo en el SA del sistema operativo: la solución utilizada en los sistemas Windows

Aunque por lo general los sistemas GNU/Linux implementan las zona de swap utilizando una partición dedicada, es cada vez más común el utilizar un archivo de intercambio para ello. Los motivos son los siguientes:

  • Es más flexible utilizar un archivo. La partición suele tener un tamaño predeterminado difícil de ampliar
  • En sistemas operativos de los que no podemos gestionar los dispositivos, por ejemplo servidores en Cloud, es imposible definir particionado “a la carta”, por tanto la única alternativa es utilizar espacios de swap como archivos

La principal desventaja que tiene el utilizar un archivo frente a una partición dedicada es el rendimiento, es más rápido el intercambio al utilizar particiones.

A continuación vamos a ver el procedimiento para la creación de un archivo de intercambio en GNU/Linux y su activación

En primer lugar creamos el archivo con dd. En este caso un archivo de 2GB de tamaño:

dd if=/dev/zero of=/var/cache/swapfile bs=1M count=2048

Crea el archivo /var/cache/swapfile de 2GB

Concedemos permisos únicamente al propietario (root):

chmod 0600 /var/cache/swapfile

Creamos un SA para intercambio:

mkswap /var/cache/swapfile

Ahora ya solo queda habilitar la zona de intercambio para que el kernel pueda utilizarla:

swapon /var/cache/swapfile

Por último, será necesario montar el área de intercambio cuando el sistema arranque, para ello introducimos en el archivo /etc/fstab la línea:

/var/cache/swapfile    none    swap    sw    0   0

Para comprobar que efectivamente se está utilizando el área de intercambio definida podemos:

Ejecutar el comando top y ver como efectivamente en la sección KiB Swap aparece un valor distinto de 0

top

O bien ejecutamos el comando

swapon -s

Cuya salida debería mostrar el espacio de intercambio definido


Volver

JavierFP 18:31 13 nov 2018 (CET)