NLB en Hyper-V: STOP: 0x000000E1
En los últimos meses, me topado con un montón de proyecto en los que he tenido que implantar o formar gente acerca de Hyper-V.
La verdad es que para mi, la experiencia global con el producto es estupenda. Tanto, que fuimos muy valientes y hasta pusimos un entorno bastante complejo en producción usando la versión RTM de Windows Server 2008 pero una versión todavía por aquel entonces RC de Hyper-V.
Este entorno que os comento consiste en dos servidores físicos conectados a una SAN a través de iSCSI. Estos dos nodos físicos tienen instalado Windows Server 2008 y básicamente conforman un Failover Cluster del Mailbox Store de Exchange Server 2007 SP1.
Pero como necesitabamos un despliegue de Exchange en alta disponibilidad y no queríamos invertir en un montón de servidores y no podemos compartir el Host para instalar los roles de Hub Transport y CAS de Exchange porque ya tiene el Mailbox en cluster y no está soportado tenerlo todo junto…, pues hicimos lo siguiente: montamos Hyper-V en los dos nodos del Failover Cluster, y cada nodo ejecutando Windows Server 2008 con los roles Hub Transport y CAS de Exchange y balanceando el CAS usando NLB (para el acceso OWA, Outlook Anywhere, ActiveSync).
Ahora bien, cuando montamos un cluster NLB formado por máquina virtuales que se ejecutan en uno o varios nodos de Hyper-V, nos podemos topar con que las máquinas virtuales se reinician de vez en cuando de forma inesperada con el error STOP: 0x000000E1 del título.
Solución? muy fácil…
Windows Server 2008 Hyper-V virtual machines generate a Stop error when NLB is configured or when the NLB cluster does not converge as expected