Error al deserializar el objeto de tipo Microsoft. VirtualManager. utils. ErrorInfo al reinstalar VMM 2012 R2

Este artículo le ayudará a solucionar un problema en el que no puede reinstalar Microsoft System Center 2012 R2 Virtual Machine Manager y recibir la deserialización del objeto del tipo Microsoft. VirtualManager. utils. errorInfo .

Versión del producto original:   System Center 2012 Virtual Machine Manager, Microsoft System Center 2012 R2 Virtual Machine Manager
Número de KB original:   3072393

Síntomas

Imagine la siguiente situación:

  • Tiene un entorno de System Center 2012 R2 Virtual Machine Manager (VMM 2012 R2).
  • Uno o varios servidores de biblioteca usan una red de área de almacenamiento (SAN). Esto también se aplica a un servidor de biblioteca que es una máquina virtual (VM) que usa canal de fibra virtual (vFC).
  • Aplique el paquete acumulativo de actualizaciones 6 (UR6) o una versión posterior para VMM 2012 R2.
  • Intenta reinstalar VMM 2012 R2 o agregar un nodo de clúster que se asocia a una base de datos existente. Por ejemplo, podría hacerlo como un procedimiento de recuperación ante desastres.

En este escenario, se produce un error en la instalación y se recibe el siguiente mensaje de error:

12:36:22: VMMPostinstallProcessor produjo una excepción: produjo una excepción. tipo: System. Runtime. Serialization. SerializationException, Exception. Message: error al deserializar el objeto de tipo Microsoft. VirtualManager. utils. ErrorInfo. Se esperaba el elemento final ' código ' del espacio de nombres ' http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils '. Se encontró el elemento ' EnumValueName ' del espacio de nombres ' http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils '.
12:36:22: StackTrace: at System.Runtime.Serialization.XmlObjectSerializer. ReadObjectHandleExceptions (XmlReaderDelegator Reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
en System.Runtime.Serialization.XmlObjectSerializer. ReadObject (XmlDictionaryReader Reader)
en Microsoft. VirtualManager. utils. SerializationHelper. DeserializeDataContract[T](Byte[] dataBytes)
en Microsoft. VirtualManager. DB. ADHC. LibraryServer.. ctor (fila SqlRow)
en Microsoft. VirtualManager. Setup. VirtualMachineManagerHelpers. AddLibrary ()
en Microsoft. VirtualManager. Setup. InstallItemCustomDelegates. PangaeaServerPostinstallProcessor ()
12:36:22: InnerException. Type: System.Xml.XmlException, InnerException. Message: se esperaba el elemento final ' Code ' del espacio de nombres ' http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils '. Se encontró el elemento ' EnumValueName ' del espacio de nombres ' http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils '.
12:36:22: InnerException. StackTrace: en System.Xml.XmlExceptionHelper. ThrowXmlException (XmlDictionaryReader Reader, String res, String arg1, String arg2, String arg3)
en System.Xml.XmlBaseReader. ReadEndElement ()
en System.Xml.XmlBaseReader. ReadElementContentAsString ()
at System.Xml.XmlBinaryReader. ReadElementContentAsString ()
en System. Runtime. Serialization. EnumDataContract. ReadEnumValue (lector de XmlReaderDelegator)
en System. Runtime. Serialization. EnumDataContract. ReadXmlValue (XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context)
at System.Runtime.Serialization.XmlObjectSerializerReadContext. InternalDeserialize (XmlReaderDelegator Reader, string name, String NS, Type declaredType, DataContract& DataContract)
at System.Runtime.Serialization.XmlObjectSerializerReadContext. InternalDeserialize (XmlReaderDelegator xmlReader, Int32 ID, RuntimeTypeHandle declaredTypeHandle, string name, String NS)
en ReadErrorInfoFromXml (XmlReaderDelegator, XmlObjectSerializerReadContext, XmlDictionaryString [], XmlDictionaryString [])
en System. Runtime. Serialization. ClassDataContract. ReadXmlValue (XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context)
at System.Runtime.Serialization.XmlObjectSerializerReadContext. InternalDeserialize (XmlReaderDelegator Reader, string name, String NS, Type declaredType, DataContract& DataContract)
at System.Runtime.Serialization.XmlObjectSerializerReadContext. InternalDeserialize (XmlReaderDelegator xmlReader, Type declaredType, DataContract DataContract, string name, String NS)
en System. Runtime. Serialization. DataContractSerializer. InternalReadObject (XmlReaderDelegator xmlReader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
at System.Runtime.Serialization.XmlObjectSerializer. ReadObjectHandleExceptions (XmlReaderDelegator Reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
12:36:22: ProcessInstalls: al ejecutar el PostProcessDelegate, se devuelve false.
12:36:22: ProcessInstalls: error al ejecutar el PostProcessDelegate para PangaeaServer.... Este es un elemento irrecuperable. Configuración de la reversión.

Causa

Este problema se produce cuando realiza una instalación en una base de datos que ha cambiado su esquema por parte del paquete acumulativo de actualizaciones 6 o una versión posterior para VMM 2012 R2. El problema se produce porque VMM 2012 R2 UR6 contiene el EnumValueName elemento. Se trata de un elemento adicional que no se incluyó en el código de lanzamiento inicial de VMM 2012 R2.

Solución alternativa

Para solucionar este problema, restablezca temporalmente los FibreChannelSANStatus valores, iscsisanstatus y NPIVFibreChannelSANStatus para todos los servidores de biblioteca en NULL. Para ello, siga estos pasos:

  1. Haga una copia de seguridad completa de la base de datos VMM.

  2. Ejecute el siguiente script en la base de datos VMM. En este script, sustituya el nombre real del servidor de biblioteca por el <libraryserver.contoso.com> marcador de posición.

    Nota

    Si tiene más de un servidor de biblioteca, vuelva a ejecutar este script para cada servidor.

    update dbo.tbl_ADHC_Library
    set
    FibreChannelSANStatus=null,
    iscsisanstatus=null,
    NPIVFibreChannelSANStatus=null
    where computername ='libraryserver.contoso.com'
    
  3. Una vez aplicados los cambios, vuelva a ejecutar el programa de instalación.

    Nota

    Si implementa una instalación de VMM de alta disponibilidad (en clúster), repita este paso en todos los nodos antes de ir al paso 4.

  4. Una vez finalizada la instalación, instale el paquete acumulativo de actualizaciones más reciente.

    Nota

    Al instalar el paquete acumulativo de actualizaciones, se actualizan los valores eliminados por el script.