Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda> Dedicated Distributed Storage Service> Guía del usuario> Gestión de discos> Ampliación de la capacidad de un disco> Extensión de particiones y sistemas de archivos de un disco de sistema en Linux (fdisk)
Actualización más reciente 2023-04-27 GMT+08:00

Extensión de particiones y sistemas de archivos de un disco de sistema en Linux (fdisk)

Escenarios

En Linux, después de la expansión de capacidad exitosa, el espacio adicional en disco debe asignarse a una partición existente o a una nueva partición.

En este tema se utiliza CentOS 7.4 64bit para describir cómo asignar el espacio adicional en disco del sistema a una partición mediante fdisk.

Este documento también describe cómo crear nuevas particiones para los discos del sistema. Consulte los siguientes temas para obtener más información:

Actualmente, un disco se ha conectado a un servidor, y la capacidad original del disco es de 40 GB. Además, se ha agregado un espacio de 40 GB al disco en la consola de gestión, y la capacidad total del disco debe ser de 80 GB. Las siguientes operaciones le guiarán para utilizar el espacio adicional y ampliar la partición.

El método para asignar el espacio adicional varía dependiendo del sistema operativo del servidor. Este documento se utiliza únicamente como referencia. Para ver las operaciones y diferencias detalladas, consulte los documentos correspondientes del sistema operativo.

Según los requisitos de servicio y la condición del disco, puede elegir cualquiera de las siguientes formas de asignar el espacio adicional en disco:
  • Crear una nueva partición (los servicios no se interrumpirán).

    La creación de una nueva partición después de la expansión no requiere desmontar las particiones originales. Por lo tanto, los impactos en los servicios son menores que la ampliación de una partición existente. Este método se recomienda para discos del sistema o discos que llevan servicios que no se pueden interrumpir.

    Si se utiliza el estilo de partición MBR, asegúrese de que la capacidad del disco no exceda los 2 TB y que el número de particiones no alcance el límite superior después de la expansión.

  • Expandir una partición existente (los servicios se interrumpirán).

    Si se utiliza el estilo de partición MBR y el número de particiones ha alcanzado el límite superior, solo puede asignar el espacio adicional a una partición existente. La expansión de una partición existente no elimina sus datos, sino que requiere que la partición se desmonte. Por lo tanto, los servicios serán interrumpidos.

    Si se utiliza el estilo de partición MBR y la capacidad del disco después de la expansión superará los 2 TB, no se puede utilizar el espacio que exceda los 2 TB. Para hacer uso de ese espacio, cambie el estilo de partición de disco de MBR a GPT. Los datos en el disco se borrarán durante tal cambio. Por lo tanto, realice una copia de respaldo de los datos del disco antes de cambiar el estilo de partición.

    Realizar las operaciones de expansión con precaución. Un mal funcionamiento puede conducir a la pérdida de datos o excepciones. Por lo tanto, se recomienda utilizar CBR para hacer una copia de respaldo de los datos del disco antes de la expansión. Para obtener más información, consulte Gestión de una copia de respaldo.

Prerrequisitos

  • Ha iniciado sesión en el servidor.
    • Para obtener información sobre cómo iniciar sesión en un ECS, consulte Guía de usuario de Elastic Cloud Server.
    • Para obtener información sobre cómo iniciar sesión en un BMS, consulte Guía de usuario de Bare Metal Server.
  • Ha conectado el disco al servidor y no se ha asignado el espacio adicional.

Creación de una nueva partición

En el ejemplo siguiente se muestra cómo hacer uso de la capacidad adicional de un disco del sistema conectado a un servidor mediante la creación de una nueva partición. El disco del sistema ya tiene la partición /dev/vda1, que está montada en el /. En las siguientes operaciones, se creará un nuevo /dev/vda2 de partición y se montará en el /opt. Durante este proceso, los servicios no se interrumpen.

  1. Ejecute el siguiente comando para ver la información de la partición de disco:

    fdisk -l

    La información que aparecerá en pantalla será similar a la información siguiente:
    [root@ecs-2220 ~]# fdisk -l
    
    Disk /dev/vda: 85.9 GB, 85899345920 bytes, 167772160 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: 0x0008d18f
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *        2048    83886079    41942016   83  Linux

    En la salida del comando, la capacidad del disco del sistema dev/vda es de 80 GB, en el que la partición dev/vda1 en uso toma 40 GB y los 40 GB adicionales no se han asignado.

  2. Ejecute el siguiente comando para escribir fdisk:

    fdisk /dev/vda

    La información que aparecerá en pantalla será similar a la información siguiente:
    [root@ecs-2220 ~]# fdisk /dev/vda
    Welcome to fdisk (util-linux 2.23.2).
    
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    Command (m for help): 

  3. Escriba n y pulse Enter para crear una nueva partición.

    La información que aparecerá en pantalla será similar a la información siguiente:
    Command (m for help): n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Hay dos tipos de particiones de disco:
    • Al elegir p, se crea una partición primaria.
    • Al elegir e, se crea una partición extendida.

  4. En este ejemplo, se crea una partición primaria. Por lo tanto, escriba p y pulse Enter para crear una partición primaria.

    La información que aparecerá en pantalla será similar a la información siguiente:
    Select (default p): p
    Partition number (2-4, default 2): 

  5. Introduzca el número de serie de la partición principal y pulse Enter. La partición número 2 se utiliza en este ejemplo. Por lo tanto, escriba 2 y pulse Enter..

    La información que aparecerá en pantalla será similar a la información siguiente:
    Partition number (2-4, default 2): 2
    First sector (83886080-167772159, default 83886080):

  6. Ingrese el sector de inicio de la nueva partición, por ejemplo, el valor predeterminado, y presione Enter.

    El sector de inicio predeterminado se utiliza en este ejemplo.

    La información que aparecerá en pantalla será similar a la información siguiente:
    First sector (83886080-167772159, default 83886080):
    Using default value 83886080
    Last sector, +sectors or +size{K,M,G} (83886080-167772159,default 167772159):

  7. Introduzca el sector final de la nueva partición y pulse Enter.

    El sector final predeterminado se utiliza en este ejemplo.

    La información que aparecerá en pantalla será similar a la información siguiente:
    Last sector, +sectors or +size{K,M,G} (83886080-167772159,
    default 167772159):
    Using default value 167772159
    Partition 2 of type Linux and of size 40 GiB is set
    
    Command (m for help): 

  8. Escriba p y pulse Enter para ver la nueva partición.

    La información que aparecerá en pantalla será similar a la información siguiente:
    Command (m for help): p
    
    Disk /dev/vda: 85.9 GB, 85899345920 bytes, 167772160 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: 0x0008d18f
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *        2048    83886079    41942016   83  Linux
    /dev/vda2        83886080   167772159    41943040   83  Linux
    Command (m for help): 

  9. Escriba w y pulse Enter para escribir los cambios en la tabla de particiones.

    La información que aparecerá en pantalla será similar a la información siguiente:
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    
    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.

    Se crea la partición.

    En caso de que desee descartar los cambios realizados anteriormente, puede salir de fdisk ingresando q.

  10. Ejecute el siguiente comando para sincronizar la nueva tabla de particiones con el sistema operativo:

    partprobe

  11. Ejecute el siguiente comando para establecer el formato del sistema de archivos para la nueva partición:

    (El sistema de archivos ext4 se utiliza en este ejemplo.)

    mkfs -t ext4 /dev/vda2

    El procedimiento para establecer el sistema de archivos xfs es el mismo que para el sistema de archivos ext3 o ext4. El comando para crear el sistema de archivos xfs es mkfs -t xfs /dev/vda2.

    La información que aparecerá en pantalla será similar a la información siguiente:
    [root@ecs-2220 ~]# mkfs -t ext4 /dev/vda2
    mke2fs 1.42.9 (28-Dec-2013)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    2621440 inodes, 10485760 blocks
    524288 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=2157969408
    320 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
            4096000, 7962624
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done

    El formateo lleva un tiempo y debe observar el estado de ejecución del sistema. Una vez done se muestra en la salida del comando, el formatep se completa.

  12. Ejecute el siguiente comando para montar la nueva partición en un directorio que requiera espacio, por ejemplo /opt:

    mount /dev/vda2 /opt

    La información que aparecerá en pantalla será similar a la información siguiente:
    [root@ecs-bab9 test]# mount /dev/vda2 /opt
    [root@ecs-bab9 test]#

    Si la nueva partición está montada en un directorio que no está vacío, los subdirectorios y archivos del directorio estarán ocultos. Por lo tanto, se recomienda montar la nueva partición en un directorio vacío u en un directorio nuevo. Si la nueva partición debe montarse en un directorio que no está vacío, mueva los subdirectorios y archivos de este directorio a otro directorio temporalmente. Después de que la partición se haya montado correctamente, mueva los subdirectorios y los archivos de nuevo.

  13. Ejecute el siguiente comando para ver el resultado de montaje:

    df -TH

    La información que aparecerá en pantalla será similar a la información siguiente:
    [root@ecs-2220 ~]# df -TH
    Filesystem     Type      Size  Used Avail Use% Mounted on
    /dev/vda1      ext4       43G  2.0G   39G   5% /
    devtmpfs       devtmpfs  509M     0  509M   0% /dev
    tmpfs          tmpfs     520M     0  520M   0% /dev/shm
    tmpfs          tmpfs     520M  7.2M  513M   2% /run
    tmpfs          tmpfs     520M     0  520M   0% /sys/fs/cgroup
    tmpfs          tmpfs     104M     0  104M   0% /run/user/0
    /dev/vda2      ext4       43G   51M   40G   1% /opt

Configuración del montaje automático al inicio del sistema

Para montar automáticamente particiones en el inicio del sistema, no especifique particiones, por ejemplo, /dev/xvdb1 en /etc/fstab porque la secuencia de los dispositivos en la nube y, por lo tanto, sus nombres pueden cambiar durante la parada o el inicio del servidor. Se recomienda utilizar el UUID en /etc/fstab para configurar el montaje automático al iniciar el sistema.

UUID es la cadena de caracteres única para las particiones de disco en un sistema Linux.

  1. Ejecute el siguiente comando para consultar el UUID de la partición:

    blkid Disk partition

    Por ejemplo, ejecute el siguiente comando para consultar el UUID de la partición /dev/xvdb1:

    blkid /dev/xvdb1

    La información que aparecerá en pantalla será similar a la información siguiente:

    [root@ecs-b656 test]# blkid /dev/xvdb1
    /dev/xvdb1: UUID="1851e23f-1c57-40ab-86bb-5fc5fc606ffa" TYPE="ext4"

    Se muestra el UUID de la partición /dev/xvdb1.

  2. Ejecute el siguiente comando para abrir el archivo fstab usando el editor vi:

    vi /etc/fstab

  3. Presione i para entrar en el modo de edición.
  4. Mueva el cursor hasta el final del archivo y pulse Enter. A continuación, agregue la siguiente información:

    UUID=1851e23f-1c57-40ab-86bb-5fc5fc606ffa /mnt/sdc      ext3 defaults     0   2
    UUID=1851e23f-1c57-40ab-86bb-5fc5fc606ffa /mnt/sdc      ext4 defaults     0   2
    El contenido anterior se utiliza solo como referencia. Agregue la información que se utiliza en el entorno. Los parámetros se describen a continuación:
    • La primera columna indica el UUID de partición obtenido en 1.
    • La segunda columna indica el directorio en el que se monta la partición. Puede consultar el punto de montaje mediante el comando df -TH.
    • La tercera columna indica el formato del sistema de archivos de la partición. Puede consultar el formato del sistema de archivos mediante el comando df -TH.
    • La cuarta columna indica la opción de montaje de particiones. Normalmente, este parámetro se establece en defaults.
    • La quinta columna indica la opción de copia de respaldo de volcado de Linux.
      • 0: no usar copia de respaldo de volcado de Linux. Normalmente, la copia de respaldo de volcado no se utiliza, y puede establecer este parámetro en 0.
      • 1: utiliza la copia de respaldo de volcado de Linux.
    • La sexta columna indica la opción fsck, es decir, si usar fsck para comprobar el disco conectado durante el inicio.
      • 0: no usar fsck.
      • Si el punto de montaje es la partición raíz (/), este parámetro debe establecerse en 1.

        Cuando este parámetro se establece en 1 para la partición raíz, este parámetro para otras particiones debe comenzar con 2 para que el sistema compruebe las particiones en el orden ascendente de los valores.

  5. Pulse Esc, escriba :wq y pulse Enter.

    El sistema guarda las configuraciones y sale del editor vi.