Hoy tocaba pizza de virtuozzo para desayunar, comer y cenar. Pero al final, la solución ideal la sabíamos desde el principio, pero pasó desapercibida. El problema fue que uno de los anfitriones Windows bajo Virtuozzo decidió irse al garete. Virtuozzo difiere en la organización del sistema de archivos de OpenVZ, como es lógico, pero además, sus características le hacen posiblemente más “seguro” pero mucho menos flexible. La situación es un anfitrión windows que tiene problemas serios, relacionados con el error “Vzcore”. Ahora mismo no sabemos debido a qué, pero no es difícil que sea por causa de algún patch de windows.
The description for Event ID ( 1 ) in Source ( vzcore ) cannot be found
Los servicios de Virtuozzo del anfitrión estaban apagados y al intentar levantarlos daba error. De este modo, teniendo acceso al anfitrión pero las virtuales innacesibles empiezas a preguntarte como demonios recuperar el contenido, pues la reparación de la incidencia puede que requiera la intervención directa de Parallels. Si navegamos por el directorio de Virtuozzo en la raíz del so, vemos diversas carpetas, una de ellas, llamada private. Hay aparecen las carpetas listadas con el ID de la virtual, pero si entramos veremos que tan sólo hay algunos archivos de configuración y uno bastante más grande, llamado root.efd. Este archivo es la clave, pues es como Virtuozzo crea los containers, los migra, clona, etc.
Pero claro, así a pelo, poco podemos hacer. Hay otros directorios que podrían parecer que contienen los datos del container, pero tan sólo son directorios que luego mapean a otras carpetas de Virtuozzo. Así que no podemos recuperar los datos tan fácilmente como se podría hacer bajo Virtuozzo Linux. Así pues, la pista era el .efd. Y la solución fue “montar” en un container N el archivo .efd como segundo disco duro.
vzctl partadd VEID --drive d: --file C:\vz\Temp\root.efd
Este comando lo hemos de ejecutar desde el anfitrión obviamente. Le estamos diciendo que añada al container VEID un disco duro D: con el contenido del archivo root.efd. Una vez hecho esto, accedemos al container y veremos que tenemos un segundo disco con todos los datos del antiguo container, y de ahí, poder aplicar soluciones al menos, en espera de resolver el problema del vzcore de Virtuozzo.
Una vez acabada la tarea, podemos borrar fácilmente el “disco duro” añadido de la forma
vzctl partdel 101 --drive D:\ --delete
Links