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.
Actualización más reciente 2022-11-15 GMT+08:00

Extensión de particiones y sistemas de archivos para discos de sistema (Linux)

Escenarios

Una vez que un disco se ha expandido en la consola de gestión, el tamaño del disco se amplía, pero el espacio adicional no se puede utilizar directamente.

En Linux, debe asignar el espacio adicional a una partición existente o a una nueva partición.

Si la capacidad del disco se expande cuando se detiene servidor, el espacio adicional de un disco del sistema Linux se agregará automáticamente a la partición en el extremo del disco al iniciar el servidor. En este caso, el espacio adicional se puede utilizar directamente.

Esta sección utiliza CentOS 7.4 64bit para describir cómo extender la partición de disco usando growpart y fdisk. El método se utiliza únicamente para ECS. El método para asignar el espacio adicional varía con el sistema operativo del servidor. Este ejemplo se usa solo como referencia. Para ver las operaciones y diferencias detalladas, consulte los documentos correspondientes del sistema operativo.

Para obtener información sobre cómo ampliar las particiones y los sistemas de archivos en un disco de sistema BMS, consulte ¿Cómo aumentar el tamaño de la partición raíz de un BMS que se aprovisiona rápidamente?

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 realizar una copia de respaldo de los datos del disco mediante copias de respaldo o instantáneas antes de la expansión. Para obtener más información sobre las copias de seguridad, consulte Gestión de copias de respaldo de EVS. Para obtener más información sobre las instantáneas, consulte Creación de una instantánea (OBT).

Prerrequisitos

Ampliación de una partición MBR existente

CentOS 7.4 64bit se utiliza como el sistema operativo de muestra. Originalmente, el disco del sistema /dev/vda tiene 40 GB y una partición (/dev/vda1), y luego se agregan 60 GB al disco. El siguiente procedimiento muestra cómo asignar los 60 GB adicionales a la partición MBR existente /dev/vda1.

  1. Ejecute el comando growpart para comprobar si se ha instalado growpart.

    Si se devuelve la introducción de uso de la herramienta, la herramienta se ha instalado y no es necesario volver a instalarla. Saltar el paso 2.

  2. Ejecute el siguiente comando para instalar la herramienta growpart:

    yum install cloud-utils-growpart

  3. Ejecute el siguiente comando para ver la capacidad total del disco del sistema /dev/vda:

    fdisk -l

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

  4. Ejecute el siguiente comando para ver la capacidad de la partición /dev/vda1:

    df -TH

    La información que aparecerá en pantalla será similar a la información siguiente:
    [root@ecs-test-0001 ~]# df -TH
    Filesystem     Type      Size  Used Avail Use% Mounted on
    /dev/vda1      ext4       43G  2.0G   39G   5% /
    devtmpfs       devtmpfs  2.0G     0  2.0G   0% /dev
    tmpfs          tmpfs     2.0G     0  2.0G   0% /dev/shm
    tmpfs          tmpfs     2.0G  9.0M  2.0G   1% /run
    tmpfs          tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
    tmpfs          tmpfs     398M     0  398M   0% /run/user/0

  5. Ejecute el siguiente comando para extender la partición usando growpart:

    growpart System disk Partition number

    En este ejemplo, ejecute el siguiente comando:

    growpart /dev/vda 1

    La información que aparecerá en pantalla será similar a la información siguiente:
    [root@ecs-test-0001 ~]# growpart /dev/vda 1
    CHANGED: partition=1 start=2048 old: size=83884032 end=83886080 new: size=209713119,end=209715167

  6. Ejecute el siguiente comando para ampliar el sistema de archivos de la partición:

    resize2fs Disk partition

    En este ejemplo, ejecute el siguiente comando:

    resize2fs /dev/vda1

    La información que aparecerá en pantalla será similar a la información siguiente:
    [root@ecs-test-0001 ~]# resize2fs /dev/vda1
    resize2fs 1.42.9 (28-Dec-2013)
    Filesystem at /dev/vda1 is mounted on /; on-line resizing required
    old_desc_blocks = 5, new_desc_blocks = 13
    The filesystem on /dev/vda1 is now 26214139 blocks long.

  7. Ejecute el siguiente comando para ver la nueva capacidad de la partición /dev/vda1:

    df -TH

    La información que aparecerá en pantalla será similar a la información siguiente:
    [root@ecs-test-0001 ~]# df -TH
    Filesystem     Type      Size  Used Avail Use% Mounted on
    /dev/vda1      ext4      106G  2.0G   99G   2% /
    devtmpfs       devtmpfs  2.0G     0  2.0G   0% /dev
    tmpfs          tmpfs     2.0G     0  2.0G   0% /dev/shm
    tmpfs          tmpfs     2.0G  9.0M  2.0G   1% /run
    tmpfs          tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
    tmpfs          tmpfs     398M     0  398M   0% /run/user/0

Creación de una nueva partición MBR

Originalmente, el disco del sistema /dev/vda tiene 40 GB y una partición (/dev/vda1), y luego se agregan 40 GB al disco. El siguiente procedimiento muestra cómo crear una nueva partición MBR /dev/vda2 con estos 40 GB.

  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.

    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.

    Si se utiliza el estilo de partición MBR, se puede crear un máximo de 4 particiones primarias, o 3 particiones primarias y 1 partición extendida. La partición extendida no se puede usar directamente y debe dividirse en particiones lógicas antes de usarla.

    Las particiones de disco creadas con GPT no están categorizadas.

  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. 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. Introduzca el sector de inicio de la nueva partición y pulse Enter. En este ejemplo, se utiliza el sector de inicio predeterminado.

    El sistema muestra los sectores inicial y final del espacio disponible de la partición. Puede personalizar el valor dentro de este rango o utilizar el valor predeterminado. El sector inicial debe ser más pequeño que el sector final de la partición.

    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. En este ejemplo, se utiliza el sector final predeterminado.

    El sistema muestra los sectores inicial y final del espacio disponible de la partición. Puede personalizar el valor dentro de este rango o utilizar el valor predeterminado. El sector inicial debe ser más pequeño que el sector final de la partición.

    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.

    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.

    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:

    mkfs -t File system Disk partition

    • Muestra de comando del sistema de archivos ext*:

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

      mkfs -t ext4 /dev/vda2

      [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
    • Muestra de comando del sistema de archivos xfs:

      mkfs -t xfs /dev/vda2

      Se muestra información similar a la siguiente:

      [root@ecs-2220 ~]# mkfs -t xfs /dev/vda2 
      meta-data=/dev/vda2              isize=512     agcount=4, agsize=2621440 blks
               =                       sectsz=512    attr=2, projid32bit=1
               =                       crc=1         finobt=0, sparse=0
      data     =                       bsize=4096    blocks=10485760, imaxpct=25
               =                       sunit=0       swidth=0 blks
      naming   =version2               bsize=4096    ascii-ci=0 ftype=1
      log      =internal log           bsize=4096    blocks=5120, version=2
               =                       sectsz=512    sunit=0 blks, lazy-count=1
      realtime =none                   extsz=4096    blocks=0, rtextents=0

    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. (Opcional) Ejecute el siguiente comando para crear un punto de montaje:

    Realice este paso si desea montar la partición en un nuevo punto de montaje.

    mkdir Mount point

    En este ejemplo, ejecute el siguiente comando para crear el punto de montaje /opt:

    mkdir /opt

  13. Ejecute el siguiente comando para montar la nueva partición:

    mount Disk partition Mount point

    En este ejemplo, ejecute el siguiente comando para montar la nueva partición /dev/vda2 en /opt:

    mount /dev/vda2 /opt

    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.

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

    df -TH

    servidor

    [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

    Si se reinicia el servidor, el montaje no será válido. Puede configurar el montaje automático para las particiones al inicio del sistema modificando el archivo /etc/fstab. Para más detalles, consulte Ajuste del montaje automático en el inicio del sistema.

Ajuste del montaje automático en el inicio del sistema

Modifique el archivo fstab para configurar el montaje automático del disco al iniciar el servidor. También puede configurar el montaje automático para los servidors que contienen datos. Esta operación no afectará a los datos existentes.

El siguiente procedimiento muestra cómo configurar el montaje automático del disco en el inicio del servidor mediante UUID para identificar los discos en el archivo fstab. Se recomienda no utilizar nombres de dispositivo para identificar discos en el archivo porque un nombre de dispositivo puede cambiar (por ejemplo, de /dev/vdb1 a /dev/vdb2) durante servidor la parada o el inicio, lo que resulta en una ejecución incorrecta servidor después del reinicio.

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

    En este ejemplo, ejecute el siguiente comando para consultar el UUID de la partición /dev/vdb1:

    blkid /dev/vdb1

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

    [root@ecs-test-0001 ~]# blkid /dev/vdb1
    /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"

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

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

    vi /etc/fstab

  3. Pulse 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=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc                ext4    defaults        0 2
    El contenido anterior se utiliza solo como referencia. Añada 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: La copia de respaldo de volcado de Linux no se utiliza. Normalmente, la copia de respaldo de volcado no se utiliza, y puede establecer este parámetro en 0.
      • 1: Se 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 porque el sistema comprueba 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.

  6. Realice las siguientes operaciones para verificar la función de montaje automático:

    1. Ejecute el siguiente comando para desmontar la partición:

      umount Disk partition

      En este ejemplo, ejecute el siguiente comando:

      umount /dev/vdb1

    2. Ejecute el siguiente comando para volver a cargar todo el contenido del archivo /etc/fstab:

      mount -a

    3. Ejecute el siguiente comando para consultar la información de montaje del sistema de archivos:

      mount | grep Mount point

      En este ejemplo, ejecute el siguiente comando:

      mount | grep /mnt/sdc

      Si se muestra información similar a la siguiente, se ha configurado el montaje automático:

      root@ecs-test-0001 ~]# mount | grep /mnt/sdc
      /dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)