Nosso ambiente da Web consiste em dois servidores.
- front-end da Web. Dell PowerEdge R610, RHEL 5.5, Apache 2.2.17, php 5.2.14.
- Servidor de banco de dados. Dell PowerEdge R710, x64 do Windows 2008 R2 Standard, MySQL 5.5.11-log x64.
Normalmente, esses dois funcionam perfeitamente bem juntos. No entanto, quando tento fazê-los falar através de uma LAN dedicada em seus NIC secundários (cada máquina tem quatro deles), as coisas ficam escamosas. Eu tenho NIC # 2 em ambas as máquinas configuradas na sub-rede 172.16.1.0/24, sem gateway ou servidores DNS (obviamente, já que são apenas esses dois sistemas), e eu coloco o endereço IP privado de cada máquina no arquivo hosts de o outro. As tabelas de roteamento em ambas as máquinas parecem bem depois que eu faço isso.
Eu tentei isso com um cabo cruzado colocado diretamente entre as duas NICs, e também por meio de uma vlan dedicada no switch no rack. Em ambos os casos, tenho problemas de conexão intermitentes. É uma porcentagem bastante pequena de conexões que falham, mas é suficiente para causar um problema significativo, e eu tenho que voltar para a conexão de rede principal, que irá lidar com todos os outros tráfegos e hosts no switch.
A mensagem de erro completa exibida no log do aplicativo:
SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'reading initial communication packet', system error: 110
Estou fazendo algo realmente idiota que está fazendo com que isso não funcione corretamente? Qualquer coisa que eu possa verificar no MySQL que explicaria por que ele não está se conectando ocasionalmente?