Cambiar el tamaño de la partición en VPS sin perder datos

Cambiar el tamaño de la partición en VPS sin perder datos

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í:

Tamaño de las particiones

/dev/vda1es /booty /dev/vda5es mi /. Mi proveedor de VPS agregó /dev/vda2. No estoy seguro de si esto es correcto, pero intenté eliminar /dev/vda5y /dev/vda2crear /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 growpartque 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 growpartutilidad acepta el disco y el número de partición como argumentos separados, por lo que para cambiar el tamaño /dev/vda2escribirá:

sudo growpart /dev/vda 2

/dev/vda2Primero cambie el tamaño de la partición extendida y luego cambie el tamaño /dev/vda5de 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/vda5funcionará. Para XFS, utilice xfs_growfs /.

Respuesta2

Según su fdiskresultado, 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/vda5que 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 fdiskno 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 fdiskresultado no indica ninguna mención de la partición LVM.

No recomendaría eliminar y volver a crear particiones, ya fdiskque 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 /homey todo lo demás, excepto, /homepermanecerá en la partición anterior. Para hacer esto:

  1. Úselo fdiskpara 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 con mkfs /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á.

  2. cambie el nombre de su /homedirectorio /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 /homedirectorio con el mismo propietario y permisos que el anterior.

  3. monte el /dev/vda3sistema de archivos /homecon el comando: mount /dev/vda3 /home. Si esto tiene éxito, debe editar /etc/fstabpara que el nuevo sistema de archivos se monte automáticamente de forma adecuada cuando se inicie el sistema. Probablemente su /etc/fstabactual 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 /homedirectorio y reinicie el sistema. Si después de reiniciar el archivo que colocó en el /homedirectorio todavía está allí, significa que /homese montó correctamente en el arranque.

  4. Ahora puede mover todo de /old_homea /homey luego eliminar el /old_homedirectorio 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 /homecomo 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. partedestá diseñado específicamente para modificar particiones sin perder datos, lo cual fdiskno podemos garantizar. Estoy seguro partedque 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/vda5para 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/vda5usarlo resize2fso 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.

información relacionada