Thursday, June 3, 2010

Remote Desktop într-un Server 2008 R2 cu blocaje sau încetineli

Zilele trecute am instalat pe un server Intel Server System SR1630HGP un Windows Server 2008 R2 Enterprise Edition.
Toate bune și frumoase, serverul mergea strună (avea și cu ce..., Xeon cu 8 nuclee logice la 2,66GHz, 16GB DDR3, hot swap ,4 conexiuni GbE, în fine, tot tacâmul...) dar după ce am făcut toată procedura standard pentru un server nou:
  • actualizat BIOS, Firmware BMC, SDR, FRU, etc,
  • configurat BIOS, BMC, etc.
  • instalat interfețe GbE suplimentare
  • testat RAM-ul
  • configurat RAID
  • testat volumele RAID
  • instalat sistemul de operare & actualizări
  • instalat drivere
  • configurat adrese IP, etc.
am montat serverul în rack, la locul lui, l-am conectat la KVM, rețea, UPS și am încercat să mă conectez la server prin RDP, de pe o stație Windows 7, că doar nu o să stau toată ziua în camera cu servere...

Inițial totul a mers bine, doar că uneori desenarea ecranului remote nu era chiar așa de "sprințară", ca să zic așa... În fine, nu mi-am bătut capul.
A doua zi, am încercat să intru iar pe server prin RDP, după login fie Server Manager apărea parțial și totul se bloca, fie din prima primeam un ecran negru și după un timp sesiunea se închidea singură. Ooops..., aveam o problemă!

Să nu pot să intru remote pe un server??? No way!!!

Pe server, în System Event Viewer, aveam erori:
Event Id: 56, Source: TermDD, The Terminal Server security layer detected an error in the protocol stream and has disconnected the client. Client IP: stația mea. 
Event Id: 50, Source: TermDD, The RDP protocol component X.224 detected an error in the protocol stream and has disconnected the client. 
Pe Google/MSKB/TechNet, căutările pe aceste erori sau pe simptomul de blocări/încetineli pe RDP aveau în general rezolvări diverse, ba cu TCP/IP Offloading-ul efectuat de plăcile de rețea, ba cu Network Level Authentication sau cu driverele plăcii de rețea.

Inițial am dezactivat din registry TCP Offloading, creând cheia DisableTaskOffload cu valoarea 1 în HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters. A părut să meargă, dar pista s-a dovedit falsă, deoarece activarea/dezactivarea offloadingului din registry necesita un reboot și oricum sesiunea RDP își revenea după un reboot, chiar și fără nici o modificare a configurației....

Apoi am dezactivat toate setările de Offloading din proprietățile plăcii de rețea. Astea nu mai necesitau un reboot iar efectul a fost imediat, RDP-ul mergea din nou!!!! Gata, am zis, l-am rezolvat.
A doua zi, RDP-ul se bloca cu ecran negru...

Am încercat fel de fel de setări pe la driverul plăcii de rețea din server. Totul mergea până a doua zi...
Pus ultimele versiuni de drivere la plăcile de rețea. Nimic.
Au urmat diverse dezactivări de RSS și Autotuning pe client. Nimic.
Dezactivat Network Level Authentication pe server. Nimic.
RDP de pe stații XP SP3. Nimic.

După mai bine de o săptămână în care practic nu am putut să pun în producție serverul, am încercat din curiozitate un ping pe IP-ul către care făceam RDP și cu uimire am constatat că se pierdeau pachete, nu multe, destul de rar. Dar se pierdeau!
Imediat am înlocuit cablul care ducea la switch și ca prin farmec problema s-a rezolvat, RDP-ul merge perfect, așa cum trebuie!

Învățătură de minte: începe cu verificările de la lucrurile de bază, nu o lua de sus în jos!

No comments:

Post a Comment