Tanie kontrolery w drogich serwerach
Jakiś czas temu opisywałem wyjątkowo powolny kontroler DELL H200. Miałem wtedy nadzieję, że jest to potknięcie inżynierów i odosobniony przypadek komponentu, który działa poprawnie, ale nie ma nic wspólnego z wydajnością. Niestety, okazało się, że po prostu zostałem rozbestwiony „pełnymi” kontrolerami Adapteca, które są fajne i bezproblemowe oraz rozwiązaniami DELL PERC (Dell PowerEdge RAID Controller), które również nie mają problemów z wydajnością.
Ostatnio wpadł mi w ręce serwer HP ProLiant ML350 G5 z kontrolerem Smart Array E200i i… powiedzmy, że po przygodach z H200 nie byłem zdziwiony, ale poczułem się nieswojo. Okazało się, że o ile wydajność mojego niezbyt nowego dysku przy odczycie rzędu 75MB/s jest akceptowalna, to zapis na poziomie 10MB/s dość mocno rozczarowuje. Spodziewałem się zdecydowanie lepszych wyników.
Najpierw przejrzałem konfigurację kontrolera i okazało się, że moduł podtrzymywania bateryjnego nie działa. Pewnie „skończyła” się bateria (sprzęt ma już swoje lata), więc nic dziwnego, że kontroler próbuje się zabezpieczyć przed utratą danych i coś pozmieniał (pewnie podobnie jak DELL wyłączył wewnętrzny cache dysków, chociaż pewności nie mam). Ale zacząłem szukać opinii o moim kontrolerze i trafiłem na TĄ stronę. Okazuje się, że sytuację da się trochę poprawić, nawet bez wymiany modułu BBWC. Metoda na zwiększenie wydajność jest natomiast bardzo osobliwa. Najpierw należy WŁĄCZYĆ cache zapisu, a potem ustawić jego wykorzystanie na ZERO. Trochę na bakier z logiką, ale spróbowałem. Po wydaniu dwóch magicznych komend:
ctrl slot=0 modify cacheratio=100/0 ctrl slot=0 modify dwc=enable
okazało się, że kontroler zachowuje się znacznie żwawiej – wydajność zapisu jest teraz porównywalna z odczytem i waha się w granicach 70-80MB/s. Zdaję sobie sprawę, że awaria prądu w połączeniu z uszkodzoną baterią może skutkować dość niemiłymi efektami, ale nie jest to maszyna krytyczna, a przed nią i tak stoi UPS, więc jestem w stanie zaryzykować.