Cómo cambiar el tamaño de una partición de un GPT a través de la herramienta de línea de comandos Parted. (Utilizando el entorno de rescate SSH).

Cómo cambiar el tamaño de una partición de un GPT a través de la herramienta de línea de comandos Parted. (Utilizando el entorno de rescate SSH).

Tengo un servidor dedicado remoto sin panel de control en línea para cambiar el tamaño de las particiones después de la instalación inicial del sistema operativo, por lo que estoy usando el entorno de rescate basado en Debian para manipular las particiones desmontadas. El problema es que soy un poco estúpido cuando se trata de manipulación de particiones en unidades remotas. Intenté usar la herramienta de línea de comandos GNU Parted, ya que GParted no es una opción y fdisk es inútil ya que la unidad está formateada con GPT, solo para Descubra que el comando de cambio de tamaño se eliminó a partir de la versión 2.4. Entonces, a continuación se muestra una lista de mis particiones del comando de impresión de parted:

Number  Start   End     Size    File system     Name     Flags
1      20.5kB  1049kB  1029kB                  primary  bios_grub
2      2097kB  21.0GB  21.0GB  ext4            primary
3      21.0GB  2000GB  1979GB  ext4            primary
4      2000GB  2000GB  536MB   linux-swap(v1)  primary

Lo que necesito descubrir es cómo reducir el número 3 a aproximadamente 1,2 TB y luego expandir el número 2 para llenar lo que se movió cuando se redujo el número 3. Mi partición n.º 2 está llena y la partición n.º 3 tiene espacio de sobra.

Respuesta1

Hacer lo que desea puede ser posible o no, dependiendo de lo que esté (y deba estar) actualmente montado y de si puede arrancar desde algún otro medio para solucionar los problemas de montaje. Factores a considerar aquí:

  • Tenga siempre presente la distinción entredividir(una estructura de datos simple que define el punto inicial y final de una porción de espacio en disco, generalmente junto con otras cosas como un código de tipo) y unsistema de archivos(una estructura de datos más compleja que se mantiene dentro de una partición u otro contenedor, como un volumen lógico de LVM). Si aún no comprende completamente esta distinción, deténgase ahora e investíguela.
  • Puede aumentar el tamaño de un sistema de archivos ext2/3/4 montado, pero AFAIK no puede disminuir el tamaño de un sistema de archivos ext2/3/4 montado. La resize2fsutilidad hace este trabajo desde la línea de comando.
  • Para cambiar el tamaño de una partición, es posible que deba eliminarla y crear una nueva en su lugar. Es posible que sea necesario especificar los puntos de inicio y finalización con precisión a nivel de sector, lo que partedno se proporciona de forma predeterminada. Necesita configurarlo unit spara obtener esto; o puede usar gdisk, que proporciona precisión a nivel de sector de forma predeterminada. ( gdiskSin embargo, incluso alinea automáticamente las particiones con valores de 2048 sectores de forma predeterminada, por lo que es posible que deba ajustar la alineación con la dopción en el menú de expertos).
  • Las operaciones de cambio de tamaño del sistema de archivos normalmente dejan el punto de inicio del sistema de archivos sin cambios. Por lo tanto, si necesita mover el punto de inicio de una partición, debe hacerlo utilizando ddalguna otra herramienta para mover todo el contenido del sistema de archivos. Dependiendo de la dirección del movimiento, es posible que sea necesario hacer esto antes o después de eliminar la partición original, y es posible que sea necesario crear una nueva antes o después del movimiento. Si la operación de movimiento se superpone a la ubicación original, debe estarmuy¡Cuidado con cómo haces esto, no sea que destruyas algunos datos de la partición!
  • Tenga mucho cuidado con los puntos finales de la partición y del sistema de archivos. Si reduce un sistema de archivos y luego vuelve a crear una nueva partición que es demasiado pequeña, puede terminar destruyendo datos importantes. Recomiendo reducir el sistema de archivos a un tamaño más pequeño de lo previsto, crear una nueva partición y luego usarla resize2fspara hacer crecer el sistema de archivos al tamaño de la nueva partición circundante. Este procedimiento minimiza las posibilidades de que el tamaño no coincida.
  • Recuerde que es posible que deba reiniciar después de cambiar la tabla de particiones para que el kernel use la nueva tabla.

Debido a estos problemas, intentar hacer lo que quiere sin la ayuda de GParted o alguna otra herramienta diseñada para coordinar los cambios de partición y sistema de archivos puede ser extremadamente arriesgado. ÉlpoderSe puede hacer, pero un error al especificar un valor de sector puede dejarlo con un disco que no tiene ningún valor. El hecho de que estés pidiendo ayuda sobre esto me hace desconfiar de sugerirte que lo intentes; El riesgo de arruinar un sistema de producción es demasiado grande para alguien que nunca antes ha hecho este tipo de cosas. Si no tiene otra opción, le recomiendo encarecidamente que vuelva a crear su servidor localmente y practique con la copia antes de probarlo en su servidor remoto.

Quizás quieras considerar algunas alternativas:

  • Usar GParted-- Si puedes arrancar desde un medio externo, puedes usar GParted. Dices que este es un servidor remoto. Muchos de estos sistemas proporcionan un BMC que le permite conectar unidades USB virtuales y ver una consola virtual a través de un subprograma de Java. El uso de esta función será extremadamente lento, pero debería permitirle ejecutar GParted y realizar cambios de manera mucho más fácil y segura.
  • Crear particiones adicionales-- Es posible que pueda reducir una partición y luego, en lugar de mover y hacer crecer la otra, crear una nueva partición. Luego, movería datos de un subdirectorio a la nueva partición y los montaría en lugar de ese subdirectorio. Este enfoque básicamente divide la diferencia; aún debe reducir una partición, pero evita la necesidad de realizar la operación de movimiento más peligrosa y difícil.
  • Usar enlaces simbólicos-- Es posible que pueda lograr sus objetivos dividiendo algunos archivos de su partición demasiado llena en la menos llena y luego usando enlaces simbólicos para hacerlos accesibles en las rutas deseadas. Es probable que este sea el enfoque más seguro.
  • Reinstalar-- Si tiene una copia de seguridad adecuada, puede hacer una copia de seguridad del sistema, reinstalarlo con una mejor configuración y restaurar sus datos originales.
  • Hazlo en el sitio-- Si tiene acceso físico a sus servidores, o si tiene ayuda en el sitio, usted (o su ayuda) puede hacerlo en persona como lo haría con un sistema de escritorio, usando una unidad flash USB de instalación de Ubuntu. Dependiendo de lo importante que sea esto y de dónde esté el servidor en relación con usted, incluso podría valer la pena un viaje para hacer el trabajo.
  • Agregar un disco-- Podrías considerar agregar un disco, si esa es una opción, y mover algunos de tus datos a él.

En el futuro, es posible que desee considerar el usoGestión de volúmenes lógicos (LVM),lo que hace que este tipo de manipulaciones sean mucho más sencillas y seguras. LVM tiene una curva de aprendizaje significativa, pero una vez que dominas los conceptos básicos, ayuda mucho porque no necesitas preocuparte por mover particiones; Los sistemas de archivos se almacenan como archivos en un sistema de archivos, por lo que una vez que reduce uno, puede expandir otro en el espacio libre sin cambiar el punto de inicio. LVM también le ayuda a agregar espacio en forma de discos nuevos.

Respuesta2

Como solución temporal, de un artículo que leí. Parecía que el 70% del espacio utilizado provenía del servidor web, específicamente /var/www. entonces lo que hice fue:

cd /var
mv www /home
ln -s /home/www www
ll
lrwxrwxrwx  1 root root      9 Oct 18 12:33 www -> /home/www/

Como dije, una solución temporal, pero mi directorio raíz ahora solo está lleno en un 30% en lugar de un 100%. Entonces, hasta que pueda cambiar el tamaño de las particiones, esto funcionará.

información relacionada