GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo enumerar, crear y eliminar particiones en discos MBR y GPT:preparación de objetivos de RHCSA

Las particiones de disco son la base para almacenar nuestros datos en discos. Para poder manejar particiones, en esta parte del tutorial de preparación para el examen RHCSA, agregaremos un disco vacío a nuestro sistema RHEL 8 de prueba y crearemos, enumeraremos y eliminaremos una nueva partición en él. Primero usaremos la configuración clásica de MBR (Master Boot Record), luego haremos lo mismo en la configuración de GPT (GUID Partitioning Table). GPT es una técnica de partición más avanzada que permite particiones grandes, mientras que MBR está limitado a 2 TB de espacio en disco por partición. Entonces, si eso no parece un tamaño muy limitante en este momento, piense en la tendencia del uso del disco, que puede no ser tanto desde la perspectiva del usuario final, pero ciertamente lo es desde la perspectiva del trabajo de administración del sistema Linux.

En este tutorial aprenderás:

  • Cómo crear una nueva partición MBR usando fdisk
  • Cómo listar particiones clásicas usando fdisk
  • Cómo eliminar una partición usando fdisk
  • Cómo crear una partición GPT usando gdisk
  • Cómo listar particiones GPT
  • Cómo eliminar particiones GPT

Crear una partición de 1 GB con fdisk

Requisitos de software y convenciones utilizadas

Administrar particiones

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.

ADVERTENCIA
Si un disco ya contiene datos valiosos, cree siempre una copia de seguridad antes de modificar las particiones, por si acaso. Si bien agregar nuevas particiones al espacio vacío del disco no daña los datos, eliminar una partición hará exactamente eso, destruyendo todo en esa partición.

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.

  1. 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.

  2. Crear una nueva partición con fdisk en RHEL8
  3. 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.

  4. 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
  5. 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.

  6. 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
  7. 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

Ejercicios

  1. Cree varias particiones en el mismo disco. Verifique su capacidad y el nombre del dispositivo.
  2. Crear partición en un disco GPT con fdisk . ¿Su versión maneja ambos tipos?
  3. Pruebe los cinturones de seguridad integrados en fdisk y gdisk utilidades Intente especificar sectores fuera de rango, un primer sector más grande que el último, etc.

Linux
  1. Cómo crear y eliminar un grupo de usuarios en Linux

  2. Cómo crear y eliminar usuarios en Ubuntu 16.04

  3. Cómo crear y eliminar un usuario en Debian 9

  4. Cómo ver y eliminar reglas de Iptables:enumerar y vaciar

  5. ¿Cómo creo nuevas particiones y formateo mi disco duro en partes?

Cómo crear y administrar particiones de Linux usando Parted

Cómo crear, renombrar y eliminar ramas de Git

Cómo enumerar discos en Linux

¿Cómo crear y eliminar subdominios en cPanel?

¿Cómo crear y eliminar subdominios en hPanel?

10 comandos para comprobar las particiones de disco y el espacio en disco en Linux

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema Red Hat Enterprise Linux 8.0
    Software util-linux 2.32.1, gdisk 1.0.3
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios