La partición es el primer paso para expandir el espacio en disco que puede usar el sistema para almacenar datos. Cubriremos las particiones MBR y GPT, la creación, la lista y finalmente la eliminación de particiones.
En nuestra configuración de prueba, nuestro sistema acaba de recibir un nuevo disco de 2 GB que está disponible para particionar. Es completamente crudo, no hay datos ni sistema de archivos presente, por lo que es perfectamente seguro para nosotros cambiar su partición a voluntad. Nuestro disco principal que contiene el sistema operativo se llama /dev/sda
que tiene un tamaño de 15 GB, mientras que nuestro sistema reconoce el nuevo disco como /dev/sdb
. Veremos el diseño de partición en el primer paso.
- Para listar particiones, podemos usar
fdisk
. Lo haremos para ver nuestra configuración al inicio.# fdisk -l
Disk /dev/sda: 15 GiB, 16106127360 bytes, 31457280 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
Disklabel type: dos
Disk identifier: 0x906d1ee8
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 31457279 29358080 14G 8e Linux LVM
Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 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 /dev/mapper/rhel-root: 12.5 GiB, 13417578496 bytes, 26206208 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 /dev/mapper/rhel-swap: 1.5 GiB, 1610612736 bytes, 3145728 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
En la salida podemos ver que tenemos el disco principal /dev/sda
con dos particiones, /dev/sda1
y /dev/sda2
en eso. Podemos ver nuestro nuevo /dev/sdb
vacío sin particiones aún, así como los volúmenes lógicos que contiene el sistema. Para este tutorial, ignoraremos todo lo demás y nos centraremos en el disco vacío.
Crear una nueva partición con fdisk en RHEL8 - Para crear una nueva partición en el disco vacío, la proporcionaremos como argumento para
fdisk
:# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
El fdisk
utilidad espera nuestros comandos. Nos gustaría crear una nueva partición, entonces presionamos “n”.
Command (m for help): n
Vamos a crear una partición primaria, por lo que la respuesta a la siguiente pregunta es "p".
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Las siguientes preguntas son sobre el número de partición, el primer y el último sector, lo que determinará el tamaño real de la partición. En nuestro ejemplo, estamos creando una sola partición que cubrirá el disco, y los valores predeterminados son la primera partición, el primer sector disponible para comenzar y el último sector para terminar, que es justo lo que necesitamos. Así que aceptaremos los valores predeterminados para estas preguntas.
Partition number (1-4, default 1):
First sector (2048-4194303, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-4194303, default 4194303):
Created a new partition 1 of type 'Linux' and of size 2 GiB.
No estamos limitados a contar en sectores cuando definimos el final de la partición. Como sugiere la utilidad, podemos especificar un tamaño exacto. Por ejemplo, si quisiéramos una partición de 1 GB de tamaño, en el último sector podríamos proporcionar:
Last sector, +sectors or +size{K,M,G,T,P} (34-4194270, default 4194270): +1G
La partición ahora está completa, pero como señala la utilidad al inicio, los cambios están en la memoria solo hasta que los escribimos en el disco. Esto es a propósito y la advertencia existe por una buena razón:al escribir los cambios en el disco, destruimos todo lo que residía en el rango del sector que cubrimos con nuestra nueva partición. Estamos seguros de que no habrá pérdida de datos, por lo que escribimos los cambios en el disco:
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Para asegurarnos de que el sistema operativo conoce los cambios, ejecutamos partprobe
:
# partprobe
Podemos usar el fdisk -l
característica para ser más específica agregando el nombre del dispositivo que nos interesa.
# fdisk -l /dev/sdb
Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 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
Disklabel type: dos
Disk identifier: 0x29ccc11b
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 4194303 4192256 2G 83 Linux
Y en la salida podemos ver que nuestro disco ahora contiene un nuevo /dev/sdb1
partición que está lista para ser utilizada.
- Borrar una partición es básicamente el mismo proceso al revés. La utilidad está construida de forma lógica:especificamos el dispositivo en el que nos gustaría trabajar, y cuando seleccionamos la eliminación de partición con el comando "d", eliminará nuestra única partición sin ninguna duda, porque solo hay una en el disk.
# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Si bien esto es bastante conveniente, tenga en cuenta que esta herramienta hace que sea realmente fácil borrar datos del disco con solo presionar una tecla. Es por eso que todas las advertencias están en su lugar, debes saber lo que estás haciendo. Las salvaguardas aún están vigentes, nada cambia en el disco hasta que lo escribimos.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
# partprobe
# fdisk -l /dev/sdb
Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 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
Disklabel type: dos
Disk identifier: 0x29ccc11b
- Para crear un diseño de partición basado en GPT, usaremos el
gdisk
(GPT fdisk) utilidad. Su funcionamiento interno le resultará familiar si está leyendo desde el comienzo de este tutorial.# gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-4194270, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-4194270, default = 4194270) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
Desde el punto de los comandos, hicimos lo mismo, iniciamos la creación de una nueva partición con "n", aceptamos los valores predeterminados que cubren todo el disco con la nueva partición y luego escribimos los cambios en el disco. Aparecen dos nuevas advertencias, la primera está ahí solo porque particionamos el mismo disco con fdisk
anterior, que fue detectado por gdisk
. El último es un adicional "¿estás seguro?" tipo de pregunta, antes de que se nos permita finalmente sobrescribir ese pobre disco.
- La lista de particiones GPT requiere el mismo cambio a
gdisk
:# gdisk -l /dev/sdb
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 4194304 sectors, 2.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 3AA3331F-8056-4C3E-82F3-A67254343A05
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 4194270
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 4194270 2.0 GiB 8300 Linux filesystem
fdisk
también reconoce que el disco está particionado:
# fdisk -l /dev/sdb
Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 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
Disklabel type: gpt
Disk identifier: 3AA3331F-8056-4C3E-82F3-A67254343A05
Device Start End Sectors Size Type
/dev/sdb1 2048 4194270 4192223 2G Linux filesystem
- Eliminar la partición GPT que creamos se hace de manera similar al caso MBR, con la verificación de cordura adicional agregada:
# gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): d
Using 1
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
Listar el disco ahora muestra que efectivamente eliminamos la partición GPT del disco.
# gdisk -l /dev/sdb
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 4194304 sectors, 2.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 3AA3331F-8056-4C3E-82F3-A67254343A05
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 4194270
Partitions will be aligned on 2048-sector boundaries
Total free space is 4194237 sectors (2.0 GiB)
Number Start (sector) End (sector) Size Code Name