Saludos nuevamente.
Hace unos pocos días me tropecé con un colega administrador que estaba algo desesperado por resolver un problema que se le dió con una actualización de Proxmox. Resulta que él tenía la versión 3.2 y actualizó a la 3.4 utilizando el repositorio que le propoercioné. La cosa fue que cuando se enfrentó al cambio de la versión de GRUB no seleccionó la opción adecuada y BUM.
Como yo soy un chivador malo lo fundí un ratico, pero luego hablando en serio, le dije que a mi me había pasado eso también, que pasara por mi trabajo a recoger el documento para que lo aplicara en su hipervisor.
Una vez que resolvió le volvió el alma al cuerpo.
Ahora bien, como sé que eso le puede pasar a cualquiera que use Proxmox y que no tiene muchas posibilidades de mantenerse actualizado, le pondré aquí el pequeño manual que hice (que es el Anexo 5 del manual que les he comentado en post anteriores).
Sin más, aquí les va.
Anexo 5 – Problema en el arranque luego de la actualización de la versión 1.99 a la 2.02 de GRUB en Proxmox VE 3.3 (domingo 1 de febrero de 2015)
El sábado 31 de enero de 2015 cuando realicé la actualización de uno de los hipervisores Proxmox VE 3.3 me sucedió algo que no esperaba. Resulta que en el último paquete de actualizaciones emitido por el equipo de Proxmox se incluyó la actualización de GRUB, de la versión 1.99 a la 2.02. En esta nueva versión la estrcutura del cargador de arranque GRUB cambia considerablemente. De hecho, durante el proceso de actualización del sistema operativo aparece un nuevo elemento: GRUB-PC.
Para alguien que no está acostumbrado a estos nuevos cambios (mi caso), surgen nuevas dudas de cual es la opción adecuada a escoger.
A continuación cuento lo que me pasó.
Primero que todo, cuando el APT se ubica en este punto, lanza la siguiente pantalla:
En ella se ve que APT (o dpkg-reconfigure grub-pc, que es lo que se ejecuta en segundo plano) autoselecciona “<No>”. Lo dejé tal y como viene, y presioné <ENTER>. Luego me salió esta nueva pantalla:
Aquí, como se ve, solamente queda una opción: presionar <ENTER>.
En este punto, la opción a escoger para que no haya ningún problema es la que se marca en la imagen anterior (claro está que de eso me di cuenta luego de probar esto en otros hipervisores Proxmox), o sea, la opción del disco duro por donde arranca normalmente el sistema operativo. Bueno, yo cometí el error (llevado por la duda) de seleccionar la partición que contiene los archivos de arranque del GRUB: /dev/sda2, dado que Proxmox por defecto crea una tabla de particiones GPT donde la primera partición contiene el Master Boot Record (MBR) clásico, la segunda contiene los archivos de arranque del GRUB (/boot) y la tercera o restante partición contiene, dentro de un grupo de volúmenes LVM, la estrcutura de paticiones que utiliza Proxmox normalmente. Cuando reinicié el hipervisor ocurrió el desastre: no inició como esperaba, lo cual hizo realidad mi mayor temor, que explotara durante el arranque del sistema operativo.
Entonces, hoy domingo 1ro de febrero me dí a la tarea de ver cómo arreglar el problema del arranque de ese servidor, dado que contiene máquinas virtuales importantes (entre ellas, el servidor de Acceso Remoto de las empresas subordinadas al Grupo Empresarial).
Luego de varios intentos, logré arreglar el cargador de arranque de un hipervisor Proxmox de pruebas. Los pasos son los siguientes:
1.- Iniciar con un LiveCD en el servidor afectado para comenzar el arreglo de GRUB 2.02. En mi caso, utilicé el CD de instalación de Linux Mint 17.1.
2.- Una vez iniciado el sistema operativo, levantar una consola Bash para luego trabajar en modo root.
3.- Ejecutar fdisk para ver el particionado del disco principal:
# fdisk -l
Esto da una salida como esta:
Como mencionamos anteriormente, Proxmox crea una partición de tipo GPT que abarca todo el tamaño del disco duro.
4.- Ver el contenido de la partición GPT del disco
En la imagen anterior fdisk muestra un mensaje de aviso que no soporta este tipo de partición, por lo tanto, hay que utilizar otra herramienta que tenga soporte para GPT, esa herramienta es parted:
# parted
Ua vez dentro de la utilidad, se procede a ver la otra “tabla de particiones” mediante la opción print, la cual da el resultado que se ve en la imagen siguiente:
Donde se ve que la partición No. 2 (la que está marcada) es la que contiene los archivos del GRUB 2.02 previamente montado durante el proceso de actualización de Proxmox, y que es la que vamos a montar.
5.- Montar la partición del GRUB (/boot)
Para ello, primeramente hay que crear un punto de montaje, en nuestro caso /mnt/disk, y luego montarla. En la imagen siguiente se ve los comandos:
No obstante, si se quiere verificar que la partición montada contiene los archivos que nos interesa, basta con listar su contenido, como se muestra en la imagen siguiente:
Si son los archivos que necesitamos, pes, las condiciones están creadas para reinstalar el gestor de arranque.
6.- Reinstalar el gestor de arranque GRUB 2.02
Para reinstalar el gestor de arranque, basta con ejecutar el comando grub-install, el cual da una salida como esta:
Y así completamos la primera parte del proceso. Entonces, luego del reinicio del sistema operativo, tendremos un entorno de GRUB al estilo de un BASH de Linux, el cual nos permitirá arrancar manualmente el sistema con más comodidad, como se ve en la imagen siguiente:
7.- Arrancar manualmente el sistema operativo del Proxmox VE 3.3
Para poder arrancar el sistema operativo del Proxmox VE 3.3, es necesario ver un ejemplo de configuración de GRUB de otro hipervisor que haya sido actualizado correctamente para que nos sirva como guía de los comandos que hay que proporcionarle. He aquí dicho ejemplo-guía:
Entonces, de este ejemplo solamente necesitamos las líneas “insmod”, “set root”, “linux” e “initrd”, como se ve en la imagen a continuación:
Presionamos <ENTER> y comenzaremos a ver el típico arranque de Proxmox, pero con algunos cambios (y la consiguiente sensación de que nos vuelve el alma al cuerpo):
Hasta que termina de iniciar:
Ahora viene la parte fuerte de la segunda parte.
8.- Reconfiguración del gestor de arranque
Para reconfigurar el gestor de arranque hay que ejecutar el siguiente comando:
# dpkg-reconfigure grub-pc
El cual muestra las mismas pantallas a las que se hace alusión al comienzo de este anexo, donde tenemos la oportunidad de seleccionar correctamente el dispositivo de arranque, o sea, el disco duro principal por donde debe arrancar el hipervisor:
Luego de presionar <ENTER> se ve cómo se va reconfigurando el cargador de arranque:
Con esto ya todo está terminado. Sólo queda reiniciar el servidor y ver con satisfacción (y con una tremenda sensación de alivio) la nueva pantalla del gestor de arranque de Proxmox:
Presionar <ENTER> y todo vuelve a la normalidad. 🙂
Ah, otra cosa, para los curiosos, la opción “Advanced options for Proxmox Virtual Environment GNU/Linux” no es más que la pantalla de GRUB 1.99 a la que estábamos acostumbrados, lo que ahora sale en negro todo y con la nueva versión de GRUB en su encabezamiento :-):
Y ya. Fin. 🙂





