07
Nov
2010
victor

Problemas con Fedora 14 y VMware Server 2.0.2

Retomo la publicación en esta bitácora con un problema que me ha traído de cabeza este fin de semana después de actualizar mi equipo a Linux Fedora 14. Hace ya algunos meses había cambiado el sistema operativo Windows XP que venía preinstalado por un Linux Fedora para 64 bits (empezando por la versión 12 posteriormente actualizada a la 13), de forma que pudiera aprovechar los 4 Gbytes de memoria instalados.

El proceso de actualización  de Fedora 13 a Fedora 14 con la herramienta preupgrade se desarrolló sin problemas, aunque partiendo inicialmente de una instalación de Fedora 12, en la que el tamaño de la partición /boot por defecto era más reducido que en las versiones posteriores, tuve que recurrir a la conexión ethernet (cable) durante el proceso de actualización.

Finalizada la actualización verifiqué que todo estaba en orden: correo electrónico, navegador web, OpenOffice (actualizado ya a la versión 3.3 aunque en la web del proyecto se anuncia aún en estado Release Candidate). Lo último que revisé antes de dar concluida de forma exitosa la actualización era el funcionamiento del VMware Server 2.0.2 ... Y esto no funcionaba. La interfaz de gestión web no estaba accesible por los puertos 8222 y 8333 aunque aparentemente el servicio se iniciaba sin novedad ...

Después de buscar en internet por si alguien ya había pasado por esta situación encuentro el mismo problema reportado en un mensaje reciente de un foro de VMware (confirmado revisando /var/log/messages):

Nov  6 10:20:10 lenovor61 kernel: [ 1425.148608] vmware-hostd[5406]: segfault at 2100001c4f ip 00007f546e9c5210 sp 00007f54671fab88 error 4 in libc-2.12.90.so[7f546e893000+199000]
Nov  6 10:20:10 lenovor61 abrt[5407]: saved core dump of pid 5394 (/usr/lib/vmware/bin/vmware-hostd) to /var/spool/abrt/ccpp-1289038810-5394.new/coredump (37748736 bytes)
Nov  6 10:20:10 lenovor61 abrtd: Directory 'ccpp-1289038810-5394' creation detected

Revisé también las páginas que había consultado en su momento para la instalación inicial de VMware Server 2.0.2 en Fedora 12 de 64 bits (primero las instrucciones de un blog y posteriormente el procedimiento manual apuntado en otra página con el que realicé finalmente la instalación). En el primer blog se apuntaba un parche adicional para kernel 2.6.35 (Fedora 14 hace uso de una versión de este kernel de Linux), pero reinstalado el VMware Server siguiendo las instrucciones persistía el error inicial.

Dado que parece que por parte de VMware no va a continuar el soporte de VMware Server (por la falta de actualizaciones y novedades en relación al producto), evalué en ese momento el uso VMware Player y VirtualBox, pero la experiencia no fue satisfactoria (ya comentaré los detalles de esta "evaluación rápida" de alternativas en otra entrada de la bitácora para no alargar más de la cuenta esta historia).

Busqué entonces errores relacionados con la librería libc (provista por el paquete glibc) y el proceso vmware-hostd referidos en el log y encontré una referencia a un problema parecido en otro mensaje de un foro de VMware pero para sistemas Red Hat Enterprise Linux. La causa del error estaba en la actualización de la librería glibc junto con la actualización global del sistema, y se apuntaba como solución inicial recuperar la librería libc provista en la versión anterior de RHEL con la que VMware Server funcionaba correctamente.

Dado que volver a una versión anterior del paquete glibc no era una opción viable (ya que puede afectar a otros programas o servicios instalados en el equipo) intenté aplicar las soluciones expuestas tal y como se presentaban pero sin éxito, aunque con las instrucciones en ese mensaje y en una incidencia de CentOS relacionada conseguí después de muchas horas arrancar sin errores el servicio y volver a acceder a la interfaz de gestión. Pero más allá del login volvía a fallar el proceso vmware-hostd ... También encontré otra referencia en la que se consideraba además de la librería libc la librería zlib.

Vistos los avances conseguidos y que con la versión 13 de Fedora VMware Server funcionaba correctamente, me propuse usar las librerías glibc y zlib de Fedora 13 de forma exclusiva para el proceso vmware-hostd.

Después de varias pruebas encontré el procedimiento correcto para solventar el error en Fedora 14 (ejecutar como usuario root y con VMware Server 2.0.2 ya instalado):

# cd
# mkdir fedorafix
# cd fedorafix
# rpm -Uvh --nodeps --root=/tmp/ glibc-2.12.1-4.x86_64.rpm
# rpm -Uvh --nodeps --root=/tmp/ zlib-1.2.3-23.fc12.x86_64.rpm

# cp -Rp /tmp/lib64/ /usr/lib/vmware/lib/fc13lib64

En este punto necesitamos editar el fichero /usr/sbin/vmware-hostd para incluir antes de la última línea (la que ejecuta el vmware-hostd binario) el siguiente comando (todo en la misma línea):

export LD_LIBRARY_PATH=/usr/lib/vmware/vmacore:/usr/lib/vmware/lib/libexpat.so.0:/usr/lib/vmware/lib/libxml2.so.2:/usr/lib/vmware/lib/fc13lib64

Reiniciamos el servicio y por fin tenemos de nuevo operativo el VMware Server. Lo que parece claro es que sin soporte de VMware cada vez se hará más difícil la ejecución de este interesante producto en las nuevas versiones de distribuciones de Linux.