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
- Ha ampliado la capacidad del disco y ha adjuntado el disco a servidor en la consola de gestión. Para más detalles, consulte Ampliación de la capacidad para un disco EVS en uso o Ampliación de la capacidad para un disco EVS disponible.
- Usted ha iniciado sesión en el servidor.
- Para obtener información sobre cómo iniciar sesión en un ECS, consulte Iniciar sesión en un ECS.
- Para obtener información sobre cómo iniciar sesión en un BMS, consulte Iniciar sesión en el BMS.
- La versión del kernel de Linux es 3.6.0 o posterior.
Puede ejecutar uname -a para comprobar la versión del kernel de Linux.
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.
- 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.
- Ejecute el siguiente comando para instalar la herramienta growpart:
yum install cloud-utils-growpart
- 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
- 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
- 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
- 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.
- 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.
- 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.
- 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):
- 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.
- 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):
- 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):
- 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):
- 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):
- 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):
- 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.
- Ejecute el siguiente comando para sincronizar la nueva tabla de particiones con el sistema operativo:
partprobe
- 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:
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.
- Muestra de comando del sistema de archivos ext*:
- (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
- 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.
- 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.
- 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.
- Ejecute el siguiente comando para abrir el archivo fstab usando el editor vi:
vi /etc/fstab
- Pulse 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=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.
- Pulse Esc, escriba :wq y pulse Enter.
El sistema guarda las configuraciones y sale del editor vi.
- Realice las siguientes operaciones para verificar la función de montaje automático:
- Ejecute el siguiente comando para desmontar la partición:
En este ejemplo, ejecute el siguiente comando:
umount /dev/vdb1
- Ejecute el siguiente comando para volver a cargar todo el contenido del archivo /etc/fstab:
mount -a
- Ejecute el siguiente comando para consultar la información de montaje del sistema de archivos:
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)
- Ejecute el siguiente comando para desmontar la partición: