1 votos

No se puede completar la actualización interrumpida de ESXi 5 a U2

He estado intentando hacer una actualización interactiva de VMware ESXi 5.0.0 update 1 a 5.0.0 update 2 a través de la imagen del instalador grabada en un DVD.

La primera vez que ejecuté la actualización, todo parecía ir bien al principio. Elegí la opción "Actualizar ESXi, conservar el almacén de datos VMFS".

Sin embargo, el instalador se bloquea con un "error inesperado", "OSError: [Errno 39] Directory not empty". Hacía referencia a un directorio $RECYCLE.BIN en root de un volumen VMFS que, por lo demás, sólo contenía imgdb.tgz. Usando la consola de mantenimiento también encontré que el directorio $RECYCLE.BIN contenía sólo un DESKTOP.INI cuyo contenido era consistente con las extensiones de Windows Shell.

Sospecho que este archivo se las arregló para terminar allí accidentalmente mientras estaba usando herramientas basadas en Windows (arrancadas por separado) para inspeccionar y administrar los volúmenes RAID en los que está instalado el host. En cualquier caso, el archivo no parecía pertenecer y parecía estar interrumpiendo la actualización, así que simplemente lo eliminé a través de la consola de gestión.

A continuación, intenté hacer la actualización de nuevo, pero esta vez el instalador no proporcionó la opción "Actualizar ESXi, conservar el almacén de datos VMFS". El instalador indica ahora para la unidad:

ESX(i) Encontrado: No

(Había dicho "Sí" antes de la caída del instalador).

Me habría permitido reinstalar ESXi desde cero conservando el datastore, pero he tenido problemas en el pasado con cosas como las direcciones MAC que se cambian al reimportar las máquinas virtuales, así que no quería seguir ese camino.

También intenté eliminar el propio directorio $RECYCLE.BIN, pero esto no cambió nada.

El host sigue funcionando bien pero necesito instalar la actualización 2 para que sea compatible con Solaris 11.1.

Se agradecerá cualquier información o sugerencia.

Gracias, Kevin

1voto

Jeff Higgins Puntos 11

Yo también me encontré con este problema y pude encontrar una solución.

Explicación

Algunas explicaciones para empezar, Este problema es causado por el arranque de Windows que tiene acceso a las unidades datastore, en cada partición que ve Windows crea una carpeta $RECYCLE:BIN, pero el símbolo $ crea problemas con linux por lo que hay que eliminarlo. Así que si alguna vez tienes que arrancar con Windows te recomiendo que las limpies antes de actualizar, o mejor aún después de boot en Windows.

Solucionar la causa principal

El primer paso es limpiar las carpetas $RECYCLING.BIN.

  1. Habilitar SSH y conectarse al host
  2. Ejecutar cd /vmfs/volumes/
  3. Ejecutar ls -allh esto listará todos sus volúmenes
  4. Ejecute lo siguiente para cada volumen y tome nota de cuáles tienen la carpeta $RECYCLING.BIN ls -allh [volume id] (sustituya [identificador de volumen] por cada uno de los volúmenes enumerados anteriormente)

Ahora que hemos identificado qué volúmenes tienen las carpetas, tenemos que limpiarlas.

  1. Navegue hasta el volumen con cd [volume id]
  2. Primero cambiaremos el nombre de la carpeta para deshacernos del $, ejecutando mv '$RECYCLING.BIN' REC (incluyendo las comillas simples) (no creo que esto sea necesario pero lo hice de todos modos)
  3. Ahora borramos la carpeta con rm -rf REC

La carpeta debería haber desaparecido, ejecuté ls de nuevo para asegurarme de que la carpeta había desaparecido pero es opcional, también ejecuté ls REC/ para asegurarse de que no hay nada más en el directorio antes de borrarlo.

Finalización de la actualización

Ahora nos ocuparemos de terminar realmente la actualización Ya que esencialmente hemos "quemado" la opción de actualización desde el DVD necesitamos otra forma, afortunadamente hay algunas formas de actualizar.

  1. Primero tendremos que apagar sus máquinas virtuales y poner el host en modo de mantenimiento
  2. Habilitar SSH si no está ya desde antes
  3. Necesitamos habilitar la regla de firewall httpclient, puedes hacerlo desde el gui o con el comando esxcli network firewall ruleset set -e true -r httpClient

Ahora para la actualización real, hay dos maneras de hacerlo, a. dejar que el host descargue los archivos necesarios o b. descargar el zip de actualización desde el sitio de VMWare y subirlo al host (esto requiere la licencia apropiada en su cuenta de MyVMWare).

  1. Ejecute el comando

esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-6.5.0-4564106-standard

En este comando estoy actualizando a la versión 6.5, si estás actualizando a una versión más reciente entonces necesitarás saber el nombre del perfil, afortunadamente puedes obtenerlo del sitio de VMWare o de la imagen iso, en root del disco hay un archivo XML llamado PROFILE.XML, si lo abres verás el <name> esta es la versión en el disco, reemplace esto en la última parte del comando.

Si está actualizando desde el ZIP utilizará el comando esxcli software vib update -d /vmfs/volumes/DATASTORE/VMware-ESXi-6.0.0-2494585-depot.zip

  1. Ahora reinicie y cuando el host vuelva a funcionar debería estar en la última versión
  2. Por último, desactive la regla de firewall httpclient desde la interfaz gráfica o con el comando esxcli network firewall ruleset set -e false -r httpClient Salga del modo de mantenimiento, y no olvide desactivar SSH

Sé que esto es de hace 4 años pero sigue siendo uno de los primeros resultados en Google y además sólo hay otro resultado relevante así que esto es para cualquiera que venga.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: