Heredé un antiguo servidor de PC (quad Pentium 4) que solo tenía particiones para y /
( RAID1 con 2 discos SATA de 1T), pero necesitaba actualizar la distribución (desde CentOS 6.9). Decidí crear una nueva partición para poder formatear la que contiene./boot
swap
/
Pero olvidé agregar la -p
bandera resize2fs
y ahora me está mirando silenciosamente y no puedo decir cuánto tiempo más podría tomar (ha estado así por más de 50 horas). Ahora sé que reducir un sistema de archivospuede tomar mucho tiempo, pero mientras podía esperar100 horas, algo como800 horas están fuera de discusión.
Esto es lo que estoy pensando en este momento:
- Continúe con el
Ctrl
+C
&&e2fsck
. - Monte la partición y elimine manualmente más de 100 G de datos que no nos sirven para nada.
- Empiece desde arriba con
resize2fs -p ...
Pero no he podido encontrarconsensosobre cómopeligrosoes enviar SIGINT a resize2fs
.
Tengo una copia de seguridad adicional de la información importante, pero aún así me gustaría hacerla sin dañar el sistema de archivos. Y sí, soy consciente de que podría ser más rápido instalar la distribución desde cero y restaurar mi copia de seguridad.
Actualizar: Decidí interrumpirlo. Y todo parece ir bien, pero la pregunta sigue en pie. Todavía tengo curiosidad.
Respuesta1
Definitivamente es una pregunta interesante y, si bien su resultado fue bastante bueno (y como esperaba, dado que capturar SIGINT
no es exactamente ciencia espacial y hacer una pausa a mitad de camino simplemente reubicar algunos bloques de datos tampoco parece difícil), también hay suficientes historias sin éxito. , como por ejemplo el error de Debian de 10 añoshttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574292
Pero a pesar de que ese error tiene 10 años, acabo de realizar una simulación y e2fsck
, aunque el primero instala un montón de controladores de señales, incluidos y , todavía no lo hace.resize2fs
strace
SIGINT
SIGTERM
resize2fs
Entonces, si alguien encuentra esta pregunta: tome lo anterior como evidencia anecdótica y continúe teniendo cuidado. :-) Tenga en cuenta que la página de manual menciona una marca para crear un archivo de deshacer en caso de errores.
(Y a mí, simplemente me gustaría ejecutar esta operación de cambio de tamaño dentro de una sesión de pantalla... pero bueno, al menos lo hice -p
)
editar
Espera, me acabo de dar cuenta, ¿por qué no ingresar SSH, hacer una instantánea de LVM y e2fsck
hacerlo mientras el cambio de tamaño aún se está ejecutando? Hice eso 5 veces seguidas durante la fase "Reubicación de bloques" y aunque en cada verificación aparece "contiene un sistema de archivos con errores, verificación forzada", nunca encontró ningún error. Por supuesto, no me pregunten sobre la integridad de los datos.
editar
Respuesta bastante interesante del propio tytso@, por cierto, enhttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574292#30