lunes, 7 de mayo de 2012

Hospedando SharePoint 2010 en un Servidor Hyper-V de repente la tarjeta de red dejó de funcionar

Error:

El usuario notificó que no había portal disponible, el error reportado era el siguiente:

No se puede establecer conexión con la base de datos de configuración

Luego al revisar e visor de eventos el mensaje era el siguiente:

Log Name:      Application
Source:        Microsoft-SharePoint Products-SharePoint Foundation
Date:          02/05/2012 08:46:39 a.m.
Event ID:      5586
Task Category: Base de datos
Level:         Error
Keywords:     
User:         

Computer:     
Description:
Excepción de SQL desconocida 53. A continuación se incluye información adicional de SQL Server sobre el error.

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-SharePoint Products-SharePoint Foundation" Guid="{6FB7E0CD-52E7-47DD-997A-241563931FC2}" />
    <EventID>5586</EventID>
    <Version>14</Version>
    <Level>2</Level>
    <Task>3</Task>
    <Opcode>0</Opcode>
    <Keywords>0x4000000000000000</Keywords>
    <TimeCreated SystemTime="2012-05-02T14:46:39.126494800Z" />
    <EventRecordID>9337</EventRecordID>
    <Correlation />
    <Execution ProcessID="1772" ThreadID="608" />
    <Channel>Application</Channel>
    <Computer></Computer>
    <Security UserID="S-1-5-21-517477833-839442939-1533541279-41622" />
  </System>
  <EventData>
    <Data Name="int0">53</Data>
    <Data Name="string1">A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)</Data>
  </EventData>
</Event>

Explicación:

El problema se origina en la opción de Hyper-V de asignar dinámicamente la dirección MAC de las tarjetas virtuales.  Al parecer según Ben Armstrong en su artículo Hyper-V and Dynamic MAC Address Regeneration Hyper-V detecta que es necesario regenerar la dirección MAC de las tarjetas virtuales “la desconecta” y como no puede regenerarla hasta reiniciar la virtual.  Esto se queda así hasta que se detecte el error manualmente y el administrador de Hyper-V reinicie manualmente el servidor, para mientras sin SharePoint entre tanto se reinicializa.

Otras referencias sobre el tema:

http://blogs.technet.com/b/jhoward/archive/2008/07/15/hyper-v-mac-address-allocation-and-apparent-network-issues-mac-collisions-can-cause.aspx

http://social.technet.microsoft.com/Forums/en-US/virtualmachinemanager/thread/627a089c-16ab-47eb-bdf1-9beb40a0c8b2

 

Solución:

Existen varias alternativas como son las siguientes:

1) Reiniciar el Servidor.

2) Crear una nueva tarjeta y reemplazar la tarjeta por la nueva (Para ello es necesario apagar la máquina virtual y en configuración de la maquina virtual cambiar la tarjeta).

3) Asignar manualmente la dirección MAC, para ello puede utilizar un generador de dirección MAC en línea (http://www.miniwebtool.com/mac-address-generator/)

En resumen en mi caso decidí no correr otra vez el riesgo y debido a que es solamente un servidor Hyper-V y unas cuantas virtuales asignar manualmente la dirección MAC de cada virtual.

 

VirtualizeSharePoint4Fun!,

 

Juan Manuel Herrera Ocheita

2 comentarios:

Anónimo dijo...

Hola que tal, tengo exactamente el mismo problema, pero en mi caso no se soluciono con poner la mac adress estática en hiper-v, habrá otra posible solución al problema?

Anónimo dijo...

Hola que tal, tengo exactamente el mismo problema, pero en mi caso no se soluciono con poner la mac adress estática en hiper-v, habrá otra posible solución al problema?