
Tengo un pequeño servidor VPS con 40 GB de espacio en disco. Compré 40 GB adicionales y ahora me gustaría ampliar /
el tamaño de la partición.
Mis particiones se ven así:
/dev/vda1
es /boot
y /dev/vda5
es mi /
. Mi proveedor de VPS agregó /dev/vda2
. No estoy seguro de si esto es correcto, pero intenté eliminar /dev/vda5
y /dev/vda2
crear /dev/vda5
, pero no tengo esa opción, solo puedo volver a crear dispositivos con ID 2-4 y no 5 donde /
está el mío.
Respuesta1
Existe una utilidad llamada growpart
que hará crecer las particiones de forma segura una vez que su proveedor haya expandido su disco virtual. El único truco en su caso es que han creado innecesariamente una partición DOS extendida/lógica cuando no era necesaria. Por lo tanto, tendrás que cambiar el tamaño de la partición extendida y luego de la lógica que contiene.
sudo apt install cloud-guest-utils
La growpart
utilidad acepta el disco y el número de partición como argumentos separados, por lo que para cambiar el tamaño /dev/vda2
escribirá:
sudo growpart /dev/vda 2
/dev/vda2
Primero cambie el tamaño de la partición extendida y luego cambie el tamaño /dev/vda5
de la misma manera.
sudo growpart /dev/vda 2
sudo growpart /dev/vda 5
Ahora deberías poder cambiar el tamaño de tu sistema de archivos. Si es ext4 entonces resize2fs /dev/vda5
funcionará. Para XFS, utilice xfs_growfs /
.
Respuesta2
Según su fdisk
resultado, parece que efectivamente tiene un disco de 80 GB con 40 GB.extendidopartición ( /dev/vda2
) que contiene en su interior 40 GBlógicopartición /dev/vda5
que contiene su /
sistema de archivos. La partición extendida en realidad no contiene ningún archivo, es solo un "contenedor" de particiones lógicas que permite superar el límite de 4 particiones que menciono a continuación. Luego hay 40 GB de espacio no asignado que fdisk
no se muestra de ninguna manera.
Es posible que tenga varias opciones sobre cómo utilizar ese espacio no asignado. Supongo que no estás usando LVM porque si lo haces, el procedimiento sería completamente diferente, ya que LVM tiene sus propias herramientas para cambiar el tamaño de los volúmenes. Sin embargo, su fdisk
resultado no indica ninguna mención de la partición LVM.
No recomendaría eliminar y volver a crear particiones, ya fdisk
que esto siempre conlleva el riesgo de perder datos. Así que si quieres hacerlo de forma segura, puedes probar lo siguiente:
La primera opción es tener dos particiones de 40 GB y dividir inteligentemente sus archivos entre estas dos. Si, por ejemplo, guarda muchos archivos grandes /home
, puede usar la nueva partición /home
y todo lo demás, excepto, /home
permanecerá en la partición anterior. Para hacer esto:
Úselo
fdisk
para crear otra partición primaria (¡probablemente aparecerá como/dev/vda3
!) en ese espacio no asignado y formatéelo como un nuevo sistema de archivos Linux conmkfs /dev/vda3
. Puede haber un máximo de 4 particiones primarias o extendidas en total, y como máximo una de ellas debe estar extendida, por lo que hay espacio para otra partición. No es un diseño de partición recomendado donde viene una partición primaria.despuésla partición extendida, pero probablemente funcionará.cambie el nombre de su
/home
directorio/old_home
(asegúrese de que no esté en uso en este momento, así que hágalo desde la raíz sin que ningún usuario regular haya iniciado sesión) y cree un nuevo/home
directorio con el mismo propietario y permisos que el anterior.monte el
/dev/vda3
sistema de archivos/home
con el comando:mount /dev/vda3 /home
. Si esto tiene éxito, debe editar/etc/fstab
para que el nuevo sistema de archivos se monte automáticamente de forma adecuada cuando se inicie el sistema. Probablemente su/etc/fstab
actual contiene dos líneas para vda1 y vda5, algo como esto (estoy inventando esta ahora, la suya puede ser diferente):/dev/vda5 / ext4 defaults 0 1
/dev/vda1 /boot ext4 defaults 0 2
Agregue una línea similar para vda3 que diga, por ejemplo:
/dev/vda3 /home ext4 defaults 0 2
(Si su archivo tiene algo más en lugar de "ext4" o "defaults", simplemente copie estos parámetros en la nueva línea). Ahora escriba cualquier archivo en el nuevo
/home
directorio y reinicie el sistema. Si después de reiniciar el archivo que colocó en el/home
directorio todavía está allí, significa que/home
se montó correctamente en el arranque.Ahora puede mover todo de
/old_home
a/home
y luego eliminar el/old_home
directorio vacío.
Considero que este método suele ser el más seguro y sencillo para mí y lo he utilizado varias veces. Sin embargo, tiene el inconveniente de tener en realidad 2x40 GB en lugar de 80 GB de espacio, lo que a veces puede ser bueno y a veces malo; por ejemplo, cuando desea evitar que el disco del sistema se llene accidentalmente con archivos de usuario, es mejor tener /home
como partición separada.
Entonces otra opción es usar GNUseparadoprograma para cambiar el tamaño de sus particiones vda2 y vda5 (primero vda2 y luego vda5, ya que la primera contiene la segunda) a 80 GB. parted
está diseñado específicamente para modificar particiones sin perder datos, lo cual fdisk
no podemos garantizar. Estoy seguro parted
que está en el repositorio de Debian, así que puedes instalarlo con apt
.
Después de haber cambiado el tamaño de la partición, use el comando resize2fs /dev/vda5
para extender su /
sistema de archivos a 80 GB completos.
Respuesta3
Normalmente en este caso usarías fdisk /dev/vda
.
- Tome nota de los sectores iniciales de las particiones 2 y 5.
- Quitar la partición 5.
- Eliminar la partición 2.
- Vuelva a crear la partición 2 con el antiguo sector de inicio y el nuevo final (valor predeterminado). Esto es unextendidodividir.
- Vuelva a crear la partición 5 con el antiguo sector de inicio y el nuevo final (valor predeterminado). Esto es unlógicodividir.
Después de que la tabla esté escrita y activa (por ejemplo, reiniciar), aún necesitará extender el sistema de archivos al /dev/vda5
usarlo resize2fs
o lo que sea apropiado para el sistema de archivos en esa partición.
Sobre todo, asegúrese de tener una buena copia de seguridad antes de intentar esto.