amazon-ec2 - una - resize root partition aws
EC2 No se puede cambiar el tamaño del volumen después de aumentar el tamaño (12)
- sudo growpart / dev / xvda 1
- sudo resize2fs / dev / xvda1
los dos comandos anteriores ahorraron mi tiempo para las instancias de AWS ubuntu ec2.
He seguido los pasos para cambiar el tamaño de un volumen EC2
- Detenido la instancia
- Tomó una instantánea del volumen actual
- Creó un nuevo volumen de la instantánea anterior con un tamaño más grande en la misma región
- Se desactivó el volumen anterior de la instancia
- Se adjuntó el nuevo volumen a la instancia en el mismo punto de montaje
El volumen anterior era de 5 GB y el que creé es de 100 GB. Ahora, cuando reinicio la instancia y ejecuto df -h I
todavía veo esto.
Filesystem Size Used Avail Use% Mounted on
/dev/xvde1 4.7G 3.5G 1021M 78% /
tmpfs 296M 0 296M 0% /dev/shm
Esto es lo que obtengo al correr
sudo resize2fs /dev/xvde1
The filesystem is already 1247037 blocks long. Nothing to do!
Si ejecuto cat /proc/partitions
, veo
202 64 104857600 xvde
202 65 4988151 xvde1
202 66 249007 xvde2
Por lo que entiendo, si he seguido los pasos correctos, xvde debería tener los mismos datos que xvde1, pero no sé cómo usarlo.
¿Cómo puedo usar el nuevo volumen o umount xvde1 y montar xvde en su lugar?
No puedo entender lo que estoy haciendo mal
También probé sudo ifs_growfs /dev/xvde1
xfs_growfs: /dev/xvde1 is not a mounted XFS filesystem
Por cierto, esta es una caja de linux con centos 6.2 x86_64
Gracias de antemano por tu ayuda
inicie sesión en la consola web de AWS -> EBS -> haga clic con el botón derecho del mouse sobre la que desea redimensionar -> "Modificar volumen" -> cambie el campo "Tamaño" y haga clic en el botón [Modificar]
growpart /dev/xvda 1
resize2fs /dev/xvda1
Esta es una versión abreviada de la respuesta de Dmitry Shevkoplyas. La documentación de AWS no muestra el comando growpart
. Esto funciona bien para ubuntu AMI.
¿Hiciste una partición en este volumen? Si lo hizo, primero tendrá que hacer crecer la partición.
Comentario del prefecto por jperelli arriba.
Hoy enfrenté el mismo problema. La documentación de AWS no menciona claramente growpart. Lo descubrí de la manera difícil y, de hecho, los dos comandos funcionaron perfectamente en M4.large y M4.xlarge con Ubuntu
sudo growpart /dev/xvda 1
sudo resize2fs /dev/xvda1
Entonces, en caso de que alguien tenga el problema donde se encontraron con este problema con el 100% de uso, y sin espacio para ejecutar el comando growpart (porque crea un archivo en / tmp)
Aquí hay un comando que descubrí que puentea incluso mientras se usa el volumen de EBS, y también si no le queda espacio en su ec2, y está al 100%
/sbin/parted ---pretend-input-tty /dev/xvda resizepart 1 yes 100%
vea este sitio aquí:
https://www.elastic.co/blog/autoresize-ebs-root-volume-on-aws-amis
Esto funcionará para el sistema de archivos xfs simplemente ejecute este comando
xfs_growfs /
Gracias Wilman, tus comandos funcionaron correctamente, se deben tener en cuenta pequeñas mejoras si aumentamos los EBS en tamaños más grandes.
- Detener la instancia
- Crear una instantánea del volumen
- Cree un nuevo volumen basado en la instantánea que aumente el tamaño
- Compruebe y recuerde el punto de montaje de volumen de la corriente (es decir,
/dev/sda1
) - Separar el volumen actual
- Adjunte el volumen creado recientemente a la instancia, configurando el punto de montaje exacto
- Reiniciar la instancia
Acceda vía SSH a la instancia y ejecute
fdisk /dev/xvde
ADVERTENCIA: el modo compatible con DOS está en desuso. Se recomienda encarecidamente desactivar el modo (comando ''c'') y cambiar las unidades de visualización a sectores (comando ''u'')
Pulse p para mostrar las particiones actuales
- Pulse d para eliminar las particiones actuales (si hay más de una, debe eliminar una a la vez) NOTA: No se preocupe, los datos no se pierden
- Pulse n para crear una nueva partición
- Haga clic en p para establecerlo como primario
- Hit 1 para establecer el primer cilindro
- Establezca el nuevo espacio deseado (si está vacío, se reserva todo el espacio)
- Pulse a para que sea de arranque
- Pulse 1 y w para escribir cambios
- Reinicie la instancia O use
partprobe
(del paqueteparted
) para indicarle al kernel acerca de la nueva tabla de particiones - Inicie sesión mediante SSH y ejecute resize2fs / dev / xvde1
- Por último, compruebe el nuevo espacio corriendo df -h
Gracias, @Dimitry, funcionó a las mil maravillas con un pequeño cambio para que coincida con mi sistema de archivos.
A continuación, utilice el siguiente comando, sustituyendo el punto de montaje del sistema de archivos (los sistemas de archivos XFS deben montarse para cambiar su tamaño):
[ec2-user ~]$ sudo xfs_growfs -d /mnt
meta-data=/dev/xvdf isize=256 agcount=4, agsize=65536 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 262144 to 26214400
Nota Si recibe un error xfsctl: No se puede asignar el error de memoria, es posible que necesite actualizar el kernel de Linux en su instancia. Para obtener más información, consulte la documentación específica de su sistema operativo. Si recibe un archivo, el sistema de archivos ya está en nnnnnnn bloques de longitud. ¡Nada que hacer! error, consulte Expansión de una partición de Linux.
La bandera de inicio (a) no funcionó en mi caso (EC2, centos6.5), así que tuve que volver a crear el volumen a partir de la instantánea. Después de repetir todos los pasos, EXCEPTO el indicador de arranque, todo funcionó perfectamente, así que pude cambiar el tamaño después de. ¡Gracias!
No tengo suficiente representante para comentar arriba; pero también tenga en cuenta, según los comentarios anteriores, que puede dañar su instancia si comienza en 1; si presiona ''u'' después de iniciar fdisk antes de enumerar sus particiones con ''p'', esto de hecho le dará el número de inicio correcto para que no corrompa sus volúmenes. Para centos 6.5 AMI, también como se mencionó anteriormente, 2048 fue correcto para mí.
[SOLUCIONADO]
Esto es lo que tenía que hacerse
- Detener la instancia
- Crear una instantánea del volumen
- Cree un nuevo volumen basado en la instantánea que aumente el tamaño
- Compruebe y recuerde el punto de montaje de volumen de la corriente (es decir, / dev / sda1)
- Separar el volumen actual
- Adjunte el volumen creado recientemente a la instancia, configurando el punto de montaje exacto
- Reiniciar la instancia
- Acceda vía SSH a la instancia y ejecute
fdisk /dev/xvde
- Pulse p para mostrar las particiones actuales
- Pulse d para eliminar las particiones actuales (si hay más de una, debe eliminar una a la vez) NOTA: No se preocupe, los datos no se pierden
- Pulse n para crear una nueva partición
- Haga clic en p para establecerlo como primario
- Hit 1 para establecer el primer cilindro
- Establezca el nuevo espacio deseado (si está vacío, se reserva todo el espacio)
- Pulse a para que sea de arranque
- Pulse 1 y w para escribir cambios
- Reiniciar instancia
- Inicie sesión mediante SSH y ejecute
resize2fs /dev/xvde1
- Por último, compruebe el nuevo espacio corriendo
df -h
Eso es todo
¡Buena suerte!
¡No es necesario detener la instancia y desconectar el volumen de EBS para cambiar su tamaño!
13-Feb-2017 Amazon anunció: " Actualización de Amazon EBS - Nuevos volúmenes elásticos lo cambian todo "
El proceso funciona incluso si el volumen a extender es el volumen raíz de la instancia en ejecución.
Digamos que queremos aumentar el disco de arranque de Ubuntu desde 8G hasta 16G "sobre la marcha".paso-1) inicie sesión en la consola web de AWS -> EBS -> haga clic con el botón derecho del mouse sobre la que desea redimensionar -> "Modificar volumen" -> cambie el campo "Tamaño" y haga clic en el botón [Modificar]
paso-2) ssh en la instancia y cambiar el tamaño de la partición:
vamos a enumerar los dispositivos de bloque conectados a nuestra caja:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 8G 0 part /
Como puede ver, / dev / xvda1 sigue siendo una partición de 8 GiB en un dispositivo 16 GiB y no hay otras particiones en el volumen. Usemos "growpart" para cambiar el tamaño de la partición 8G hasta 16G:
# install "cloud-guest-utils" if it is not installed already
apt install cloud-guest-utils
# resize partition
growpart /dev/xvda 1
Comprobemos el resultado (puede ver que / dev / xvda1 ahora es 16G):
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 16G 0 part /
Muchas de las respuestas de SO sugieren usar fdisk con eliminar / recrear particiones, que es desagradable, arriesgado, propenso a errores, especialmente cuando cambiamos la unidad de arranque.
paso 3) redimensionar el sistema de archivos para crecer hasta el final para usar completamente el nuevo espacio de partición# Check before resizing ("Avail" shows 1.1G):
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 6.3G 1.1G 86% /
# resize filesystem
resize2fs /dev/xvda1
# Check after resizing ("Avail" now shows 8.7G!-):
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 16G 6.3G 8.7G 42% /
Entonces tenemos cero tiempo de inactividad y mucho espacio nuevo para usar.
¡Disfrutar!