Configurar sistemas para que monten sistemas de archivos al arrancar mediante un ID único universal (UUID) o una etiqueta

Para este objetivo es im portante que haya entendido el tema “Enumerar, crear, eliminar particiones en discos MBR y GPT”, ya que partiendo de este vamos a comenzar a realizar el siguiente ejercicio.

Vamos partir de que ya tenemos particionado el disco, y solo vamos a asignarle un sistema de archivos. En el ejemplo vamos a trabajar con ext4 y xfs. Pero es valido aclarar que puede practicar con los restantes sistemas de archivos.

Vamos a verificar las particiones que tenemos creadas en el disco “sdb”

[root@class2 ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 1288 MB, 1288491008 bytes, 2516584 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x98e12556

Device Boot Start End Blocks Id System
/dev/sdb1 2048 514047 256000 83 Linux
/dev/sdb2 514048 1026047 256000 83 Linux
[root@class2 ~]#

Ahora vamos a darle formato, ya que sin un sistema de archivos no la podemos montar. Para la particion “sdb1” voy a utilizar ext4 sin etiqueta, y para “sdb2” vamos a utilizar el sistema de archivos xfs y la montaremos utilizando la etiqueta “dataxfs”

Para crear el sistema de archivos vamos a utilizar el comando mkfs.”sistema_de_archivos” . Si tiene duda de cual sistema de archivo puede utilizar, pues son solo presionar la tecla “TAB” dos beces va a tener toda la sugerencia. Tambien quiero aclarar que es muy facil utilizar la documentacion o ayuda del comando; por ejeplo si ejecuta “mkfs.ext4 –help” va a tener las posibles opciones que puede agregar. Aqui incluye la creacion de la etiqueta.

Vamos a comenzar mostrando los antes explicado:

[root@class2 ~]# mkfs.
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
[root@class2 ~]# mkfs.ext4 --help
mkfs.ext4: invalid option -- '-'
Usage: mkfs.ext4 [-c|-l filename] [-b block-size] [-C cluster-size]
[-i bytes-per-inode] [-I inode-size] [-J journal-options]
[-G flex-group-size] [-N number-of-inodes]
[-m reserved-blocks-percentage] [-o creator-os]
[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]
[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]
[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-count]
[root@class2 ~]#

Ya sabiendo esto, pues no perdamos mas tiempo:

[root@class2 ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
64000 inodes, 256000 blocks
12800 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33816576
32 block groups
8192 blocks per group, 8192 fragments per group
2000 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

[root@class2 ~]#

Aqui ya le he dado formato a “sdb1”. Ahora procedemos con la siguiente particion:

[root@class2 ~]# mkfs.xfs -L dataxfs /dev/sdb2
meta-data=/dev/sdb2 isize=512 agcount=4, agsize=16000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=64000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@class2 ~]#

Como ven ya le dimos formato a las dos particiones, y en la segunda utilizamos “-L” para crear la etiqueta.

Ya una vez finalizado este paso, debemos proceder a montar el sistema de archivos permanentemente para que despuesd e cada reinicio sean accesibles. En lo personal me gusta mucho utilizar el comando “blkid” para no cometer ningun error cuando agregue las entradas correspondientes al archivo “/etc/fstab”

[root@class2 ~]# blkid
/dev/mapper/rhel-root: UUID="c4f14443-77ab-4191-8ff6-4977471b865a" TYPE="xfs"
/dev/sda2: UUID="fEYFuS-j8o7-euhi-MpRJ-caXu-R2FX-BMzhgq" TYPE="LVM2_member"
/dev/sda1: UUID="ed8aa1c7-0540-48de-8581-ba64a5ef4476" TYPE="xfs"
/dev/mapper/rhel-swap: UUID="4099b98b-8db8-4008-9a46-654f77def1e3" TYPE="swap"
/dev/sr0: UUID="2016-10-19-18-32-06-00" LABEL="RHEL-7.3 Server.x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sdb1: UUID="dc169802-e18f-495b-9b34-e4853a708383" TYPE="ext4"
/dev/sdb2: LABEL="dataxfs" UUID="e475cc6e-76e1-4a81-a593-1b4645966089" TYPE="xfs"
[root@class2 ~]#

Como ven tengo todas las particiones listadas, pero las que a nosotros nos interesa son las dos ultimas. Entonces ahora procedemos a ejecutar lo siguiente:

[root@class2 ~]# blkid | egrep 'sdb1|sdb2'
/dev/sdb1: UUID="dc169802-e18f-495b-9b34-e4853a708383" TYPE="ext4"
/dev/sdb2: LABEL="dataxfs" UUID="e475cc6e-76e1-4a81-a593-1b4645966089" TYPE="xfs"
[root@class2 ~]#

Como se muestra ya tengo lo que necesito, pero aun con el temos de cometer un error; lo que voy hacer es agregar esto al archivo “/etc/fstab” y despues proceder a editarlo con los valores correctos. Pero antes de eso, vamos a definir en donde vamos a montar estas dos nuevas particiones. Por lo que vamos a crear el punto de montaje y entonces despues editamos el archivo fstab. En el ejemplo vamos a utilizar /media/ext4 y /media/xfs

[root@class2 ~]# mkdir /media/{ext4,xfs}
[root@class2 ~]# ls -ls /media/
total 0
0 drwxr-xr-x. 2 root root 6 Apr 25 08:49 ext4
0 drwxr-xr-x. 2 root root 6 Apr 25 08:49 xfs
[root@class2 ~]# blkid | egrep 'sdb1|sdb2' >> /etc/fstab
[root@class2 ~]#

Ojo con el doble redireccionamiento “>>”, ya que solo utilizas “>” lo que harias es eliminar todo lo que hay en fstab, y es ub poco dificil recuperarlo.
Ahora editamos y corregimos fstab para que las nuevas particiones sean montadas.

[root@class2 ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Tue Apr 25 08:03:02 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=ed8aa1c7-0540-48de-8581-ba64a5ef4476 /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/sr0 /mnt/iso iso9660 ro,relatime 0 0
/dev/sdb1: UUID="dc169802-e18f-495b-9b34-e4853a708383" TYPE="ext4"
/dev/sdb2: LABEL="dataxfs" UUID="e475cc6e-76e1-4a81-a593-1b4645966089" TYPE="xfs"
[root@class2 ~]# vim /etc/fstab
[root@class2 ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Tue Apr 25 08:03:02 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=ed8aa1c7-0540-48de-8581-ba64a5ef4476 /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/sr0 /mnt/iso iso9660 ro,relatime 0 0
UUID="dc169802-e18f-495b-9b34-e4853a708383" /media/ext4 ext4 defaults 0 0
LABEL="dataxfs" /media/xfs xfs defaults 0 0
[root@class2 ~]#

Aqui pueden ver el antes y despues. A partir de este punto muchos estudiantes comenten el error de reiniciar el servidor. No existe ningun impedimento con hacer esto. Pero si por alguna razon hay un error en el archivo fstab el sistema puede que no inicie correctamente y en el examen esto le cuesta perder unos valiosos minutos. Por lo que el procedimiento correcto es ejecutar “mount -a”

[root@class2 ~]# mount -a
[root@class2 ~]#
[root@class2 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 5.3G 3.1G 2.3G 58% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 497M 140K 497M 1% /dev/shm
tmpfs 497M 7.1M 490M 2% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sr0 3.6G 3.6G 0 100% /mnt/iso
/dev/sda1 1014M 173M 842M 17% /boot
tmpfs 100M 4.0K 100M 1% /run/user/42
tmpfs 100M 16K 100M 1% /run/user/0
/dev/sdb1 239M 2.1M 220M 1% /media/ext4
/dev/sdb2 247M 13M 234M 6% /media/xfs
[root@class2 ~]#

Como ven, el comando “mount” no nos arrojo ningun error, lo que significa que todo esta perfecto; y la verificacion con “df” nos verifica que se montaron correctamente. En este punto ya podemos reiniciar el servidor sin temos a tener problemas montando un sistema de archivos.

De esta forma ya sabemos como montar un sistemas de archivos al arrancar mediante un ID único universal (UUID) o una etiqueta.

2 thoughts on “Configurar sistemas para que monten sistemas de archivos al arrancar mediante un ID único universal (UUID) o una etiqueta”

    1. Gracias, ese es el proposito del post. Que le funcione a todos. Y que conviertan este blog como referencia de estudio.

Leave a Reply

Your email address will not be published. Required fields are marked *