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 datos SCSI 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 datos SCSI 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 SUSE Linux Enterprise Server 11 SP4 64 bit para describir cómo asignar el espacio adicional de un disco de datos SCSI conectado a una partición mediante fdisk.

Actualmente, un disco se ha conectado a un servidor, y la capacidad original del disco es de 10 GB. Además, se ha agregado un espacio de 10 GB al disco en la consola de gestión y la capacidad total del disco debe ser de 20 GB. Sin embargo, el espacio adicional no se puede ver en el servidor. Las siguientes operaciones le guiarán para ver 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.

Expansión de una partición existente

El siguiente procedimiento muestra cómo hacer uso del espacio adicional de un disco conectado a un servidor extendiendo la partición /dev/sda1 y montando la partición en /mnt/sdc. Durante este proceso, los servicios serán interrumpidos.

  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:
    ecs-xen-02:/home/linux # fdisk -l
    
    Disk /dev/xvda: 107.4 GB, 107374182400 bytes
    255 heads, 63 sectors/track, 13054 cylinders, total 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 identifier: 0x00065c40
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/xvda1            2048    41945087    20971520   82  Linux swap / Solaris
    /dev/xvda2   *    41945088    83892223    20973568   83  Linux
    /dev/xvda3        83892224   209715199    62911488   83  Linux
    
    Disk /dev/sda: 10.7 GB, 10737418240 bytes
    64 heads, 32 sectors/track, 10240 cylinders, total 20971520 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 identifier: 0x2f1c057a
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1            2048    20971519    10484736   83  Linux

    En la salida del comando, se han agregado 10 GB al disco de datos /dev/sda en la consola de gestión, y la capacidad total debe ser de 20 GB. Sin embargo, el espacio adicional no se incluye en la salida del comando. En este caso, ejecute el siguiente comando para actualizar la capacidad del disco de datos en el servidor:

  2. Ejecute el siguiente comando para actualizar la capacidad del disco de datos en el servidor:

    echo 1 > /sys/class/scsi_device/%d:%d:%d:%d/device/rescan &

    En el comando %d:%d:%d:%d indica una carpeta en el directorio /sys/class/scsi_device/ y se puede obtener mediante ll /sys/class/scsi_device/.

    Se muestra información similar a la siguiente: (2:0:0:0 indica la carpeta que se va a obtener.)
    cs-xen-02:/sys/class/scsi_device # ll /sys/class/scsi_device/
    total 0
    lrwxrwxrwx 1 root root 0 Sep 26 11:37 2:0:0:0 -> ../../devices/xen/vscsi-2064/host2/target2:0:0/2:0:0:0/scsi_device/2:0:0:0

    Ejemplo de comando:

    echo 1 > /sys/class/scsi_device/2:0:0:0/device/rescan &

  3. Después de actualizar la capacidad del disco, ejecute el siguiente comando para ver la información de la partición del disco de nuevo:

    fdisk -l

    La información que aparecerá en pantalla será similar a la información siguiente:
    ecs-xen-02:/sys/class/scsi_device # fdisk -l
    
    Disk /dev/xvda: 107.4 GB, 107374182400 bytes
    255 heads, 63 sectors/track, 13054 cylinders, total 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 identifier: 0x00065c40
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/xvda1            2048    41945087    20971520   82  Linux swap / Solaris
    /dev/xvda2   *    41945088    83892223    20973568   83  Linux
    /dev/xvda3        83892224   209715199    62911488   83  Linux
    
    Disk /dev/sda: 21.5 GB, 21474836480 bytes
    64 heads, 32 sectors/track, 20480 cylinders, total 41943040 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 identifier: 0x2f1c057a
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1            2048    20971519    10484736   83  Linux

    En la salida del comando, el espacio adicional se ha agregado al disco de datos /dev/sda y la actualización se ha realizado correctamente. El disco /dev/sda tiene una sola partición, /dev/sda1. Tome nota de los sectores inicial y final de la partición /dev/sda1. Estos valores se utilizarán durante la recreación de la partición. El sector de inicio de la partición es 2048, y su sector final es 20971519.

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

    umount /mnt/sdc

  5. Ejecute el siguiente comando para ingresar fdisk e introduzca d para eliminar la partición /dev/sda1:

    fdisk /dev/sda1

    La información que aparecerá en pantalla será similar a la información siguiente:
    [ecs-xen-02:/sys/class/scsi_device # fdisk /dev/sda
    
    Command (m for help): d
    Selected partition 1
    
    Command (m for help): 

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

    Al ingresar a n se crea una nueva partición.

    La información que aparecerá en pantalla será similar a la información siguiente:
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    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.

  7. Asegúrese de que el tipo de partición introducido es el mismo que la partición tenía antes. En este ejemplo, se utiliza 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:
    p
    Partition number (1-4, default 1):

    En la salida del comando, Partition number especifica el número de partición principal.

  8. Asegúrese de que el número de partición introducido es el mismo que tenía la partición antes. En este ejemplo, se utiliza el número de partición 1. Por lo tanto, escriba 1 y pulse Enter.

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

    En la salida del comando, First sector especifica el sector de inicio.

    Los datos se perderán si se realizan las siguientes operaciones:
    • Seleccionar un sector de inicio distinto de la partición que tenía antes.
    • Seleccionar un sector final más pequeño que la partición tenía antes.

  9. Asegúrese de que el sector de inicio introducido es el mismo que la partición tenía antes. En este ejemplo, el sector de inicio 2048 se registra en 3. Por lo tanto, escriba 2048 y pulse Enter.

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

    En la salida del comando, Last sector especifica el sector final.

  10. Asegurarse de que el sector final introducido es mayor o igual que el sector final registrado en 3. En este ejemplo, el sector final registrado es 20971519 y se utiliza el sector final predeterminado. Por lo tanto, escriba 41943039 y pulse Enter.

    La información que aparecerá en pantalla será similar a la información siguiente:
    Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 
    Using default value 41943039
    
    Command (m for help):

    Se crea la partición.

  11. Ingrese p y pulse Enter para ver detalles sobre la nueva partición.

    Se muestra información similar a la siguiente: (Se muestran detalles sobre la partición /dev/sda1.)
    Command (m for help): p
    
    Disk /dev/sda: 21.5 GB, 21474836480 bytes
    64 heads, 32 sectors/track, 20480 cylinders, total 41943040 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 identifier: 0x2f1c057a
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1            2048    41943039    20970496   83  Linux
    Command (m for help): 
    

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

    Se muestra información similar a la siguiente: (La partición se ha creado correctamente.)
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.

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

  13. Realice las siguientes operaciones basadas en el sistema de archivos del disco:

    • Para el sistema de archivos de ext3 o ext4
      1. Ejecute el siguiente comando para comprobar la exactitud del sistema de archivos de /dev/sda1:

        e2fsck -f /dev/sda1

        La información que aparecerá en pantalla será similar a la información siguiente:
        ecs-xen-02:/sys/class/scsi_device # e2fsck -f /dev/sda1
        e2fsck 1.41.9 (22-Aug-2009)
        Pass 1: Checking inodes, blocks, and sizes
        Pass 2: Checking directory structure
        Pass 3: Checking directory connectivity
        Pass 4: Checking reference counts
        Pass 5: Checking group summary information
        /dev/sda1: 11/655360 files (0.0% non-contiguous), 79663/2621184 blocks
      2. Ejecute el siguiente comando para ampliar el tamaño del sistema de archivos de /dev/sda1:

        resize2fs /dev/sda1

        La información que aparecerá en pantalla será similar a la información siguiente:
        ecs-xen-02:/sys/class/scsi_device # resize2fs /dev/sda1
        resize2fs 1.41.9 (22-Aug-2009)
        Resizing the filesystem on /dev/sda1 to 5242624 (4k) blocks.
        The filesystem on /dev/sda1 is now 5242624 blocks long.
      3. Ejecute el siguiente comando para montar la nueva partición en /mnt/sdc:

        mount /dev/sda1 /mnt/sdc

    • Para el sistema de archivos xfs
      1. Ejecute el siguiente comando para montar la nueva partición en /mnt/sdc:

        mount /dev/sda1 /mnt/sdc

      2. Ejecute el siguiente comando para ampliar el tamaño del sistema de archivos de /dev/sda1:

        sudo xfs_growfs /dev/sda1

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

    df -TH

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.