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 64bit 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.
- 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 recreació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.
- Vuelva a crear 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 recreació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, véase Gestión de copias 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.
Volver a crear 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.
- 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:
- 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 &
- 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.
- Ejecute el siguiente comando para desmontar la partición:
umount /mnt/sdc
- 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):
- 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.
- 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.
- 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.
- 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.
- 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.
- 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):
- 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.
- Realice las siguientes operaciones basadas en el sistema de archivos del disco:
- Para el sistema de archivos de ext3 o ext4
- 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
- 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.
- Ejecute el siguiente comando para montar la nueva partición en /mnt/sdc:
mount /dev/sda1 /mnt/sdc
- Ejecute el siguiente comando para comprobar la exactitud del sistema de archivos de /dev/sda1:
- Para el sistema de archivos xfs
- Ejecute el siguiente comando para montar la nueva partición en /mnt/sdc:
mount /dev/sda1 /mnt/sdc
- Ejecute el siguiente comando para ampliar el tamaño del sistema de archivos de /dev/sda1:
sudo xfs_growfs /dev/sda1
- Ejecute el siguiente comando para montar la nueva partición en /mnt/sdc:
- Para el sistema de archivos de ext3 o ext4
- 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.
- 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.
- Ejecute el siguiente comando para abrir el archivo fstab usando el editor vi:
vi /etc/fstab
- Presione i para entrar en el modo de edición.
- 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 de la siguiente manera:- 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.
- Pulse Esc, escriba :wq y pulse Enter.
El sistema guarda las configuraciones y sale del editor vi.