Extensión de particiones y sistemas de archivos en Linux (parted)
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 EulerOS 2.0 64bit para describir cómo asignar el espacio adicional en disco a una partición mediante parted.
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.
Consulta del estilo de partición
Antes de asignar el espacio adicional, consulte el estilo de partición de disco actual. Si se utiliza MBR, puede utilizar la herramienta de particionamiento fdisk o parted. Si se utiliza GPT, debe utilizar la herramienta de particionado separado.
- Ejecute el siguiente comando para ver la información del disco:
lsblk
La información que aparecerá en pantalla será similar a la información siguiente:[root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 40G 0 disk └─xvda1 202:1 0 40G 0 part / xvdb 202:16 0 150G 0 disk ├─xvdb1 202:17 0 100G 0 part /mnt/sdc └─xvdb2 202:18 0 50G 0 part /mnt/opt xvdc 202:32 0 40G 0 disk ├─xvdc1 202:33 0 8G 0 part └─xvdc2 202:34 0 32G 0 part
- Ejecute el siguiente comando y escriba p para ver el estilo de partición de disco actual:
parted Disk name
Por ejemplo, ejecute el siguiente comando para ver el estilo de partición del disco /dev/xvdb:
parted /dev/xvdb
La información que aparecerá en pantalla será similar a la información siguiente:root@ecs-1120 linux]# parted /dev/xvdb GNU Parted 3.1 Using /dev/xvdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvdb: 161GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17.4kB 107GB 107GB ext4 opt 2 107GB 161GB 53.7GB ext4 opt1
En la salida del comando, el parámetro Partition Table indica el estilo de partición de disco. El valor msdos indica el estilo de partición MBR y el valor gpt indica el estilo de partición GPT.
- Ingrese q y pulse Enter para salir de parted.
- Compruebe el estilo de partición de disco de otros discos. Para obtener más información, consulte 2 a 3.
Creación de una nueva partición
El siguiente ejemplo muestra cómo hacer uso del espacio adicional de un disco del sistema creando una nueva partición y montar la partición en el /opt sin interrumpir los servicios.
- Ejecute el siguiente comando para ver la información de la partición de disco:
lsblk
La información que aparecerá en pantalla será similar a la información siguiente:[root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk └─xvda1 202:1 0 40G 0 part / xvdb 202:16 0 250G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 50G 0 part xvdc 202:32 0 40G 0 disk ├─xvdc1 202:33 0 8G 0 part └─xvdc2 202:34 0 32G 0 part
En la salida del comando, la capacidad del disco del sistema dev/xvda es de 80 GB, en el que la partición dev/xvda1 en uso toma 40 GB y los 40 GB adicionales no se han asignado.
- Ejecute el siguiente comando para ingresar parted para asignar el espacio adicional del disco del sistema a una partición:
parted System disk
En este ejemplo, ejecute el siguiente comando:
parted /dev/xvda
La información que aparecerá en pantalla será similar a la información siguiente:
[root@ecs-1120 linux]# parted /dev/xvda GNU Parted 3.1 Using /dev/xvda Welcome to GNU Parted! Type 'help' to view a list of commands.
- Introduzca unit s y pulse Enter para ajustar la unidad de medida del disco a sector.
- Escriba p y pulse Enter para ver el estilo de partición de disco actual.
La información que aparecerá en pantalla será similar a la información siguiente:
(parted) unit s (parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvda: 167772160s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 2048s 83886079s 83884032s primary ext4
- Ingrese mkpart y presione Enter para crear una nueva partición.
- 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:
(parted) mkpart Partition type? primary/extended? p File system type? [ext2]? ext4 Start? 83886080 End? 1677722159
- Establezca el tipo y el tamaño del sistema de archivos para la nueva partición.
El valor 83886080 indica el sector inicial de la partición dev/xvda2 que ha creado, y el valor 167772159 indica el sector final. Los dos valores se usan solo como referencia. Puede determinar el número de particiones y tamaños de particiones en función de sus requisitos de servicio.
La información que aparecerá en pantalla será similar a la información siguiente:
(parted) mkpart Partition type? primary/extended? p File system type? [ext2]? ext4 Start? 83886080 End? 1677722159
Es posible que el tipo de sistema de archivos no se establezca en este paso. Por lo tanto, vuelva a configurar el tipo de sistema de archivos de acuerdo con 10 después de crear la partición.
El sector máximo puede obtenerse de cualquiera de las siguientes maneras:
- Ejecute el comando fdisk -l y tome nota del valor.
- Escriba -1s y el valor que se muestra será el valor deseado.
- 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:
(parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvda: 167772160s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 2048s 83886079s 83884032s primary ext4 2 83886080s 167772159s 83886080s primary
Se crea la partición dev/xvda2.
- Ingrese q y pulse Enter para salir de parted.
- 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/xvda2
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/xvda2.
La información que aparecerá en pantalla será similar a la información siguiente:
[[root@ecs-1120 linux]# mkfs -t ext4 /dev/xvda2 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 formateo se completa.
- Ejecute el siguiente comando para montar la nueva partición en un directorio que requiera espacio, por ejemplo /opt:
mount /dev/xvda6 /opt
La información que aparecerá en pantalla será similar a la información siguiente:
[root@ecs-1120 linux]# mount /dev/xvda2 /opt [root@ecs-1120 linux]#
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.
- 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-1120 linux]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/xvda1 ext4 43G 8.3G 33G 21% / devtmpfs devtmpfs 885M 0 885M 0% /dev tmpfs tmpfs 894M 0 894M 0% /dev/shm tmpfs tmpfs 894M 18M 877M 2% /run tmpfs tmpfs 894M 0 894M 0% /sys/fs/cgroup tmpfs tmpfs 179M 0 179M 0% /run/user/2000 tmpfs tmpfs 179M 0 179M 0% /run/user/0 tmpfs tmpfs 179M 0 179M 0% /run/user/1001 /dev/xvda2 ext4 43G 51M 40G 1% /opt
Volver a crear una partición existente
El siguiente ejemplo muestra cómo hacer uso del espacio adicional de un disco conectado a un servidor recreando la partición /dev/xvdc1 montada en /mnt/sdc. Debido a que el disco /dev/xvdc solo tiene una partición, esta partición se considera como la partición en el extremo del disco. Durante la recreación de la partición, los servicios serán interrumpidos.
Durante una expansión, el espacio adicional se agrega al final del disco. Cuando el disco tiene varias particiones, solo se puede extender la partición al final de este disco.
- Ejecute el siguiente comando para ver la información de la partición de disco:
lsblk
La información que aparecerá en pantalla será similar a la información siguiente:[root@ecs-1120 sdc]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part / └─xvda2 202:2 0 40G 0 part /opt xvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 part xvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 10G 0 part /mnt/sdc
En la salida del comando, la capacidad total del disco /dev/xvdc es de 60 GB, en los que la partición existente toma 10 GB. La partición /dev/xvdc1 se encuentra al final del disco y ha sido montada en el archivo /mnt/sdc.
Vea la capacidad del /dev/xvdc y compruebe si el espacio adicional está incluido.- Si el espacio adicional no está incluido, actualice la capacidad según Extensión de particiones y sistemas de archivos de un disco de datos SCSI en Linux (fdisk).
- Si se incluye el espacio adicional, vaya a 2.
- Ejecute el siguiente comando para desmontar la partición:
umount /mnt/sdc
- Ejecute el siguiente comando para ver el resultado de desmontar:
lsblk
La información que aparecerá en pantalla será similar a la información siguiente:[root@ecs-1120 linux]# umount /mnt/sdc [root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part / └─xvda2 202:2 0 40G 0 part /opt xvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 part xvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 10G 0 part
- Ejecute el siguiente comando para ingresar parted para asignar el espacio adicional del disco de datos a una partición:
parted Data disk
En este ejemplo, ejecute el siguiente comando:
parted /dev/xvdc
La información que aparecerá en pantalla será similar a la información siguiente:[root@ecs-1120 linux]# parted /dev/xvdc GNU Parted 3.1 Using /dev/xvdc Welcome to GNU Parted! Type 'help' to view a list of commands.
- Introduzca unit s y pulse Enter para ajustar la unidad de medida del disco a sector.
- 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:
(parted) mkpart Partition type? primary/extended? p File system type? [ext2]? ext4 Start? 83886080 End? 1677722159
- El número de partición de /dev/xvdc1 es 1. Por lo tanto, escriba rm 1 y presione Enter para eliminar la partición.
- Ingrese p y presione Enter para comprobar si la partición /dev/xvdc1 se ha eliminado.
La información que aparecerá en pantalla será similar a la información siguiente:
(parted) rm 1 (parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvdc: 125829120s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags
- Ingrese mkpart opt 2048s 125829119 y presione Enter para volver a crear la partición.
2048 especifica el sector de inicio registrado en 6 y 125829119 especifica el sector final, que debe ser mayor o igual que el sector final registrado en 6.
La información que aparecerá en pantalla será similar a la información siguiente:(parted) mkpart opt 2048s 125829119s Warning: You requested a partition from 2048s to 125829199s (sectors 2048..125829199). The closest location we can manage is 2048s to 125829036s (sectors 2048..125829036). Is this still acceptable to you? Yes/No? Yes
Escriba Yes cuando se le solicite para establecer el sector final.
Si aparece el siguiente mensaje de advertencia, escriba Ignore para omitir la advertencia de rendimiento. El mensaje de advertencia no se mostrará si se ha introducido el sector de inicio con el rendimiento óptimo del disco. En este ejemplo, 2048s es uno de tales sectores de inicio, por lo que el sistema no muestra el mensaje de advertencia.Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? Ignore
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.
- Ingrese p y presione Enter para comprobar si la partición /dev/xvdc1 se ha vuelto a crear.
La información que aparecerá en pantalla será similar a la información siguiente:
(parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvdb: 125829120s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 2048s 125829086s 125827039s ext4 opt
La partición /dev/xvdc1 se ha vuelto a crear.
- Ingrese q y pulse Enter para salir de parted.
- 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 en /dev/xvdc1:
e2fsck -f /dev/xvdc1
La información que aparecerá en pantalla será similar a la información siguiente:[root@ecs-1120 linux]# e2fsck -f /dev/xvdb2 e2fsck 1.42.9 (28-Dec-2013) 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/xvdc1: 11/655360 files (0.0% non-contiguous), 83137/2620928 blocks
- Ejecute el siguiente comando para ampliar el tamaño del sistema de archivos en /dev/xvdc1:
resize2fs /dev/xvdc1
La información que aparecerá en pantalla será similar a la información siguiente:[root@ecs-1120 linux]# resize2fs /dev/xvdc1 resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/xvdc1 to 15728379 (4k) blocks. The filesystem on /dev/xvdc1 is now 15728379 blocks long.
- Ejecute el siguiente comando para ver la información de la partición de disco después de la recreación de la partición:
La información que aparecerá en pantalla será similar a la información siguiente:
[root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part / └─xvda2 202:2 0 40G 0 part /opt xvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 part xvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 60G 0 part
En la salida del comando, la capacidad total del disco /dev/xvdc es de 60 GB, en el que se han asignado 50 GB adicionales a la partición dev/xvdc1.
- Ejecute el siguiente comando para montar la nueva partición en /mnt/sdc:
mount /dev/xvdc1 /mnt/sdc
- Ejecute el siguiente comando para comprobar la exactitud del sistema de archivos en /dev/xvdc1:
- Para el sistema de archivos xfs
- Ejecute el siguiente comando para montar la nueva partición en /mnt/sdc:
mount /dev/xvdc1 /mnt/sdc
- Ejecute el siguiente comando para ampliar el tamaño del sistema de archivos en /dev/xvdc1:
sudo xfs_growfs /dev/xvdc1
- Ejecute el siguiente comando para ver la información de la partición de disco después de la recreación de la partición:
La información que aparecerá en pantalla será similar a la información siguiente:
[root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part / └─xvda2 202:2 0 40G 0 part /opt xvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 part xvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 60G 0 part
En la salida del comando, la capacidad total del disco /dev/xvdc es de 60 GB, en el que se han asignado 50 GB adicionales a la partición dev/xvdc1.
- 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
La información que aparecerá en pantalla será similar a la información siguiente:[root@ecs-1120 linux]# mount /dev/xvdc1 /mnt/sdc [root@ecs-1120 linux]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/xvda1 ext4 43G 8.3G 33G 21% / devtmpfs devtmpfs 885M 0 885M 0% /dev tmpfs tmpfs 894M 0 894M 0% /dev/shm tmpfs tmpfs 894M 18M 877M 2% /run tmpfs tmpfs 894M 0 894M 0% /sys/fs/cgroup tmpfs tmpfs 179M 0 179M 0% /run/user/2000 tmpfs tmpfs 179M 0 179M 0% /run/user/0 tmpfs tmpfs 179M 0 179M 0% /run/user/1001 /dev/xvda2 ext4 43G 51M 40G 1% /opt /dev/xvdc1 ext4 64G 55M 60G 1% /mnt/sdc
La partición /dev/xvdc1 se ha montado en el directorio /mnt/sdc.
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.