Kilka tygodni temu usłyszałem dość ciekawe pytanie: co stanie się, gdy w czterowęzłowym klastrze spróbuję zainstalować SQL Server Standard. Pytanie jest o tyle nietrywialne, że Windows Server 2008 (R2 i bez R2) pozwala na utworzenie klastra złożonego z szesnastu węzłów (kto nie ma jak sprawdzić, musi uwierzyć w oficjalną specyfikację) a w przypadku SQL, wersja Standard od Enterprise różni się między innymi tym, że na wersji w uboższej wersji klaster SQL może mieć tylko dwa węzły a w bogatszej – ile system pozwoli.
Niby możnaby (często to nie jest wcale taki zły pomysł) rozbić ten wielki klaster na kilka mniejszych z dwoma węzłami i tam instalować SQLe, ale w tym konkretnym przypadku nie wchodziło to w grę. Podobnie, zakup SQL w wersji Enterprise też nie był specjalnie kuszącym rozwiązaniem, choć w tym przypadku przyczyny były związane wyłącznie z finansami.
Teoretycznie, wydawałoby się, że wszystko powinno działać, ale póki nikt nie ma pewności, to "rozpoznanie bojem" na produkcyjnym środowisku nie jest najlepszą opcją. Niezawodna i jak zawsze pomocna grupa mailingowa (istnieją jeszcze takie wynalazki) klastrowych MVP generalnie była zdania, że powinno się udać, aż w końcu William Bressette napisał, że ma klientów, u których coś takiego działa. Czyli, że się da.
To wystarczyło, żeby spróbować samodzielnie, choć prawdę mówiąc, gdybym przeczytał, ze się nie da – też chciałbym to osobiście sprawdzić. Niewielki laboratoryjny klaster (DC, programowy target iSCSI, i 3 węzły) i można próbować. Metodę instalacji SQL w klastrze opisałem kiedyś wspólnie z Marcinem Gołem (SQLowym MVP), więc jeżeli ktoś chce znać szczegóły, to polecam.
Pierwszy węzeł SQL instaluje się "normalnie". Ani słowa, że coś może być inaczej niż zwykle. W przypadku drugiego węzła również wszystko jest jak zawsze. W efekcie otrzymujemy na dwóch wybranych węzłach większego klastra dwuwęzłowy klaster SQL. I działa. Awaria któregoś z węzłów powoduje przełączenie usługi i ogólnie, wszystko jest tak, jak możnaby się spodziewać. Nie byłbym jednak sobą, gdybym nie spróbował na węźle trzecim. Nie dlatego, żebym koniecznie musiał "zaoszczędzić" na licencjach, tylko dlatego, że ciekawy byłem jak technicznie zrealizowane jest to ograniczenie. Kilka kliknięć i już wiem wszystko:
Jak widać, kreator, podczas sprawdzania zgodności środowiska z wymaganiami SQL Server, w wersji Standard sprawdza również ilość węzłów. Prosto, skutecznie i elegancko. W efekcie, trzeciego węzła postawić się faktycznie nie da.
A tak zupełnie na marginesie, wersja Enterprise serwera SQL ma poza większą ilością węzłów wiele innych zalet. Czasem warto poważniej się nad nią zastanowić, choć oczywiście musi być to finansowo uzasadnione.
Autor: Grzegorz Tworek [MVP]
PS tak, wiem... całe wieki nic nie pisałem. Postaram się zabrać do roboty, zwłaszcza że widzę, że na innych "zaprzyjaźnionych" blogach w ostatnim czasie również słabo jakieś życie widać, więc rozumiem zgłaszany mi przez czytelników głód nowości i łączę się w bólu.