w części 1 tej serii pokazałem, jak przygotować klaster wielostanowiskowy, w tym skonfigurować węzeł i Kworum większości udziałów plików. W części 2 obejrzeliśmy wideo pokazujące, jak zintegrować SteelEye DataKeeper, jedno z dostępnych rozwiązań do replikacji klastrów, z klastrem pracy awaryjnej w celu skonfigurowania klastra pracy awaryjnej Hyper-V w wielu lokalizacjach. W części 3 zbadamy, w jaki sposób Microsoft SQL Server 2008 może być skonfigurowany w klastrze wielostanowiskowym z klastrem pracy awaryjnej Windows Server 2008 i SteelEye DataKeeper Cluster Edition.
po pierwsze, dlaczego chcesz wdrożyć klaster wielostanowiskowy SQL server? SQL Server oferuje wiele opcji wysokiej dostępności, w tym wysyłanie dzienników, replikację (transakcyjną, scalającą, migawkową), dublowanie bazy danych i klastry pracy awaryjnej. Jest świetny artykuł, który mówi o opcjach wysokiej dostępności w SQL Server 2008, więc nie wymyślę ponownie koła tutaj. Jeśli chcesz dowiedzieć się więcej o wszystkich opcjach, zapoznaj się z tym artykułem Ross Mistry, High Availability Options in SQL Server 2008.
jeśli czytasz artykuł, Podsumowanie Rossa składa następujące oświadczenie…
„oczywiście klaster pracy awaryjnej jest najlepszym wyborem, aby skrócić czas przestoju systemu i zapewnić większą dostępność aplikacji dla całej instancji SQL Server w witrynie; jednak klaster pracy awaryjnej nie chroni przed awarią dysku i wymaga SAN.”
co by było, gdybyś mógł mieć wszystkie korzyści, które przedstawia Ross, a także chronić przed awarią dysku i wyeliminować potrzebę San? Cóż, dobrą wiadomością jest to, że jest to dokładnie to, co możesz zrobić, wdrażając klaster wielostanowiskowy Microsoft SQL Server 2008 w systemie Windows Server 2008. SQL Server 2008 multi – site cluster może być trochę mylący. Niekoniecznie musi być rozmieszczony w rozproszonych geograficznie lokalizacjach. Serwery mogą znajdować się w tej samej szafie, tym samym pomieszczeniu, tym samym budynku lub na różnych kontynentach; to naprawdę nie ma znaczenia. Ważne jest to, że eliminujesz pamięć masową jako pojedynczy punkt awarii, a jeśli zdecydujesz się zlokalizować węzły klastra w różnych lokalizacjach fizycznych, masz również wbudowaną odporność witryny.
jednym z najczęstszych pytań i punktów niejasności dotyczących klastrowania pracy awaryjnej SQL Server 2008 i Windows Server 2008 jest obsługa awarii między podsieciami. Tak, klastrowanie pracy awaryjnej systemu Windows Server 2008 obsługuje awarie między podsieciami w większości aplikacji, jednak SQL Server 2008 nie jest jedną z tych aplikacji. O ile wiem, SQL Server 2008 R2 również nie będzie obsługiwał awarii między podsieciami po wydaniu. Rozumiem, że zespół SQL pracuje nad obsługą przełączania awaryjnego między podsieciami, ale będzie ona obsługiwana jakiś czas po wydaniu SQL Server 2008 R2. Tak więc, na razie, będziesz musiał rozciągnąć swoją podsieć, jeśli chcesz oddzielić węzły geograficznie.
teraz, gdy zdecydowałeś się wdrożyć wielowęzłowy klaster serwera SQL, oto kroki, które musisz wykonać.
skonfiguruj podstawowy klaster
wykonaj kroki opisane w części 1 tej serii, aby skonfigurować podstawowy klaster 2-węzłowy z Kworum większości węzłów i udziałów plików.
skonfiguruj replikację
wdrożenie klastra wielostanowiskowego wymaga ścisłej współpracy z dostawcą replikacji podczas tej części konfiguracji. Każdy dostawca będzie miał bardzo szczegółowe instrukcje dotyczące konfigurowania replikacji i tworzenia zasobów pamięci masowej, które mają być używane w klastrze. Na potrzeby tej demonstracji użyję SteelEye DataKeeper Cluster Edition do replikacji dysku E z serwera o nazwie PRIMARY na serwer o nazwie SECONDARY. Napęd E na podstawowym i wtórnym są tylko lokalnymi przyłączonymi woluminami i nie są częścią żadnego SAN. Tak długo, jak dysk E pojawia się jako lokalny dysk dołączony, DataKeeper może go replikować z jednego serwera na drugi. Możesz łączyć i dopasowywać SAS, iSCSI, SAN, VHD lub dowolny inny typ pamięci masowej, ponieważ DataKeeper jest agnostykiem pamięci masowej.
po skonfigurowaniu podstawowego klastra zgodnie z opisem w części 1 mojej serii, uruchom konfigurację DataKeeper.exe do instalacji SteelEye DataKeeper Cluster Edition na obu węzłach klastra. Po zakończeniu instalacji pojawi się monit o wprowadzenie klucza licencyjnego. Wprowadź licencję i uruchom ponownie serwery po wyświetleniu monitu. Jesteś teraz gotowy, aby stworzyć swoje lustro. Uruchom interfejs graficzny DataKeeper i postępuj zgodnie z poniższymi instrukcjami, aby utworzyć serwer lustrzany.
kliknij „Połącz się z serwerem”.
wprowadź nazwę pierwszego serwera. Kliknij Połącz.
wpisz nazwę drugiego serwera, kliknij Połącz
teraz kliknij Utwórz zadanie. Spowoduje to uruchomienie Kreatora tworzenia zadań.
podaj nazwę i opis swojej pracy. To może być cokolwiek zechcesz.
wybierz następujące:
- serwer źródłowy – gdzie dane będą replikowane z
- Karta sieciowa – sieć, w której będzie przemieszczał się ruch replikacyjny
- wolumin-wolumin, który chcesz replikować
kliknij Dalej, aby kontynuować.
wybierz następujące:
- serwer docelowy – gdzie dane będą replikowane do
- Karta sieciowa – sieć, w której będzie przemieszczał się ruch replikacji
- wolumin-wolumin, który chcesz replikować
kliknij Dalej, aby kontynuować.
wybierz następujące:
- poziom kompresji – jeśli masz 100 MB / S lub szybszą sieć do replikacji, pozostaw ją ustawioną na brak. Jeśli masz sieć WAN o przepustowości mniejszej niż 100 MB / S, możesz skorzystać z włączenia kompresji. Ustawienia gdzieś w środku zwykle zapewniają najlepszą wydajność kompresji w porównaniu z obciążeniem procesora związanym z włączeniem kompresji.
- asynchroniczny vs. Replikacja synchroniczno-asynchroniczna jest ogólnie akceptowalna w większości środowisk i jest zdecydowanie wymagana w środowiskach WAN o wysokim opóźnieniu. Napisałem cały wpis na blogu na ten temat, więc jeśli masz jakieś pytania, sprawdź mój artykuł na temat replikacji asynchronicznej vs. synchronicznej.
- maksymalna przepustowość – można o tym myśleć jako o „biednym” QOS. Jeśli chcesz mieć pewność, że replikacja nigdy nie przekroczy określonego progu pojemności sieci WAN, możesz określić limit przepustowości, jaką może zużywać. O ile nie masz dobrego powodu, aby go ustawić, lepiej zostawić go ustawionego na 0.
kliknij Gotowe, aby utworzyć lustro.
teraz, jeśli spojrzysz na GUI Datakeepera, będzie on wyglądał podobnie do poniższych.
po utworzeniu serwera lustrzanego należy udostępnić go w klastrze Microsoft „dostępna pamięć masowa”. Istnieje kilka sposobów, aby to zrobić, ale najbardziej prostym sposobem jest użycie Windows PowerShell CLI. Poniżej znajduje się przykład, który pokazuje, jak wziąć istniejący serwer lustrzany, który właśnie utworzyliśmy na dysku E, i dodać go do klastra „dostępna pamięć masowa”, przenieść go do węzła głównego i wprowadzić do eksploatacji
Import-Module FailoverClusters
Add-ClusterResource-Name „DataKeeper Volume E”- ResourceType „DataKeeper Volume”- Group „Available Storage”
Get-Cluster clusterresource „DataKeeper volume e” | set-Clusterparameter volumeletter e
move-clustergroup „available Storage”-Node primary
Start-Clusterresource „DataKeeper volume e”
więcej informacje na temat PowerShell i dostępnych poleceń do użycia z klastrem pracy awaryjnej, sprawdź ten świetny post na blogu Symon Perriman z zespołu Microsoft Failover Clustering Team.
http://blogs.msdn.com/clustering/archive/2008/12/20/9243367.aspx
teraz zamierzasz powtórzyć powyższe kroki, aby dodać dodatkowe serwery lustrzane, których będziesz używać w swoim klastrze. W naszym przypadku utworzymy lustro napędu F i użyjemy go do klastra MSDTC. Po dodaniu dodatkowych serwerów lustrzanych i dodaniu ich do dostępnej pamięci, interfejs graficzny DataKeeper powinien wyglądać mniej więcej tak.
i GUI Menedżera klastra pracy awaryjnej powinno wyglądać tak.
WAŻNA UWAGA – istnieje poprawka, która jest wymagana do obsługi DTC z zasobami dyskowymi innych firm. Zapoznaj się z poniższym artykułem KB i zastosuj howfix do wszystkich węzłów klastra. http://support.microsoft.com/kb/978476
SQL 2008 jest bardzo zależny od MSDTC, dlatego zaleca się klasterowanie zasobu MSDTC przed klastrem zasobu SQL. Poniższe artykuły są dla odniesienia do konfiguracji i zarządzania zasobem MSDTC.
http://technet.microsoft.com/en-us/library/cc770748(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc771540(WS.10).aspx
zaczniesz od otwarcia interfejsu GUI Menedżera klastra przełączania awaryjnego, a następnie wybierz „Skonfiguruj usługę lub aplikację”.
następnie wybierz „Distributed Transaction Coordinator” i kliknij Dalej
nadaje zasobowi MSDTC nazwę i unikalny adres IP. Powinny one być unikalne dla MSDTC, a nie Takie Same, które będą używane później podczas tworzenia zasobu SQL.
Wybierz wolumin, w którym będą przechowywane dane zasobu MSDTC. W naszym przypadku wybieramy replikowany napęd F.
Potwierdź informacje i kliknij Dalej, aby kontynuować.
Gratulacje, pomyślnie skonfigurowałeś zasób DTC. Kliknij Zakończ.
jesteśmy już prawie gotowi do rozpoczęcia instalacji pierwszego węzła klastra SQL Server, jednak jest jedna rzecz, którą musimy zrobić w przygotowaniu – Slip Stream SQL 2008 SP1 na nośnik instalacyjny SQL Server 2008 RTM.
SLIP STREAM SQL SP1 na nośniku instalacyjnym SQL 2008
odkryłem, że SQL Server 2008 nie zainstaluje się w systemie Windows Server 2008 R2 bez wcześniejszego przesyłania strumieniowego SQL Server 2008 SP1 na nośniku instalacyjnym SQL 2008. Oto świetny artykuł, który opisuje, jak slipstream SQL Server 2008 RTM i Service Pack 1. Po przeczytaniu tego artykułu i pomyślnie slipstream SP1 na SQL 2008 RTM, znalazłem następujący artykuł Microsoft KB, który opisuje tę samą procedurę. Może pojawić się błąd, który wygląda następująco, jeśli spróbujesz zainstalować SQL bez pierwszego slipstreaming SP1 na nośniku.
wystąpił błąd ustawiający własność prywatną 'RequireKerberos’ na wartość '1′
postępowałem zgodnie z instrukcjami opisanymi w pierwszym artykule i skopiowałem mój SQL 2008 z instalacją SP1 na dysk C:\ obu węzłów w moim klastrze. W poniższej instrukcji wykonam instalację z dysku lokalnego każdego węzła klastra.
instalacja pierwszego węzła klastra
teraz, gdy masz już gotowy nośnik instalacyjny SQL Server 2008 SP1, jesteś gotowy do zainstalowania pierwszego węzła SQL. Jest jeden główny „mam cię”, jeśli chodzi o instalację SQL na klastrze wielowęzłowym. Aby zainstalować SQL na klastrze wielowęzłowym, musisz najpierw przejść proces sprawdzania poprawności klastra pracy awaryjnej systemu Windows Server 2008. Niestety, klaster wielostanowiskowy jest zwolniony z przechodzenia testu związanego z pamięcią masową,więc nigdy nie jesteś w stanie „przejść” walidacji w zakresie SQL. Zajęło to trochę dochodzenia z mojej strony, ale to, co znalazłem, to to, że istnieje parametr wiersza poleceń, który pozwala pominąć test sprawdzania poprawności instalacji SQL 2008. Oto wiersz poleceń.
Setup / SkipRules=Cluster_VerifyForErrors /Action = InstallFailoverCluster
aby uruchomić konfigurację SQL, Otwórz okno poleceń, przejdź do katalogu instalacyjnego SQL 2008 z dodatkiem SP1 i wpisz polecenie, jak pokazano poniżej.
jeśli wszystko pójdzie zgodnie z planem, powinieneś zobaczyć ekran poniżej. Kliknij OK, aby kontynuować.
Wprowadź klucz produktu i kliknij Dalej
zaakceptuj umowę licencyjną i kliknij Dalej
kliknij przycisk Instaluj, aby zainstalować pliki pomocy instalacyjnej
po zakończeniu konfiguracji plików wsparcia otrzymasz ostrzeżenie. Kliknij na Pokaż szczegóły, a zobaczysz wiadomość poniżej. Możesz kliknąć przycisk Dalej, ignorując ten Komunikat, ponieważ jest on oczekiwany w klastrze pamięci masowej z wieloma witrynami lub nie współdzielonym.
Wybierz funkcje, które chcesz zainstalować i kliknij przycisk Dalej. Pozostaw katalog „Shared Feature” ustawiony na dysku C, Ponieważ pliki binarne SQL nie powinny być instalowane na replikowanym woluminie.
na następnym ekranie wybierzesz nazwę sieci dla serwera SQL. Będzie to nazwa, z którą wszyscy klienci będą się łączyć. Zakładając, że jest to domyślna instancja, pozostaw ID i katalog główny instancji ustawione na domyślne. Nie należy przenosić katalogu głównego wystąpienia na replikowany wolumin.
zalecane jest posiadanie oddzielnych kont domen dla SQLServer i sqlagent. Możesz poświęcić trochę czasu na utworzenie tych kont teraz, jeśli jeszcze tego nie zrobiłeś. Konta te nie wymagają specjalnych uprawnień, ponieważ ten proces instalacji da im uprawnienia, których potrzebują.
potwierdź, że masz wystarczająco dużo miejsca na dysku i kliknij przycisk Dalej, aby kontynuować.
wybierz Ustawienia domyślne, aby umożliwić utworzenie nowej grupy zasobów klastra o nazwie ” SQL Server( MSSQLSERVER)”.
Wybierz zreplikowany wolumin, który jest nadal dostępny, w naszym przypadku E:\ drive. Kliknij Dalej, aby kontynuować.
teraz wybierzesz adres IP, który chcesz powiązać z zasobem klastra SQL. Możesz pozostawić go ustawionego na użycie DHCP, jeśli chcesz.
wybierz Ustawienia zabezpieczeń i kliknij Dalej
Dodaj wszystkich administratorów serwera SQL i wybierz tryb uwierzytelniania, a następnie kliknij Dalej
wybierz opcje raportowania błędów i użycia i kliknij Dalej
po raz kolejny zobaczysz ostrzeżenia związane z procesem walidacji. Możesz zignorować te wiadomości tak, jak należy się ich spodziewać w klastrze wielostanowiskowym SQL Server.
kliknij przycisk Zainstaluj, aby rozpocząć proces instalacji
jeśli wszystko zostanie zainstalowane zgodnie z oczekiwaniami, powinieneś zobaczyć następujące ekrany. Kliknij Dalej, a następnie zamknij, aby zakończyć instalację.
Gratulacje, pomyślnie zainstalowałeś pierwszy węzeł klastra wielostanowiskowego SQL Server. Teraz zainstalujemy drugi węzeł klastra.
zainstaluj drugi węzeł klastra
instalacja drugiego węzła klastra jest podobna do instalacji pierwszego węzła. Musimy ponownie uruchomić SQL Setup z wiersza poleceń, abyśmy mogli pominąć proces walidacji. Tak więc, z drugiego węzła, otwórz wiersz polecenia i uruchom następujące polecenie.
-
zainstaluj SQL 2008 SP1 (merged setup) na drugim węźle za pomocą następującego polecenia:
Setup /SkipRules=Cluster_VerifyForErrors /Action=AddNode /INSTANCENAME=”MSSQLSERVER”
*Uwaga: zakłada to zainstalowanie domyślnej instancji na 1. węźle
spowoduje to uruchomienie Kreatora instalacji, jak pokazano poniżej. Kliknij OK, aby kontynuować.
Wprowadź klucz produktu i kliknij Dalej.
zaakceptuj warunki licencji i kliknij Dalej
kliknij przycisk Instaluj, aby zainstalować pliki pomocy instalacyjnej.
możesz ponownie zignorować ostrzeżenie, że niektóre testy walidacji klastra zostały pominięte. Należy się tego spodziewać w klastrach wielostanowiskowych i nie-współdzielonych klastrach pamięci masowej.
sprawdź, czy dodajesz węzeł do właściwej instancji i kliknij przycisk Dalej.
Dodaj hasła do kont usługi i kliknij Dalej
wybierz opcje raportowania błędów i użycia i kliknij Dalej
ponownie zignoruj ostrzeżenie o pominiętych operacjach.
kliknij przycisk Zainstaluj, aby rozpocząć proces instalacji.
jeśli wszystko pójdzie zgodnie z oczekiwaniami, powinieneś zobaczyć następujący ekran.
teraz, gdy masz w pełni funkcjonalny klaster dwóch węzłów, prawdopodobnie powinieneś przetestować rzeczy, wykonując ręczne przełączanie. Kliknij prawym przyciskiem myszy na zasobie i wybierz „Przenieś do węzła wtórnego”.
jeśli wszystko jest poprawnie skonfigurowane, interfejs GUI klastra pracy awaryjnej powinien wyglądać następująco.
wniosek
uważam, że klastry SQL z replikowaną pamięcią masową mają sens. Przechowywanie zawsze było pojedynczym punktem awarii tradycyjnych klastrów. Ten pojedynczy punkt awarii można wyeliminować, wdrażając klaster SQL Server z replikowaną pamięcią masową ze SteelEye lub dowolnego innego partnera Microsoft Multi-Site Cluster replication. Mam nadzieję, że ten artykuł jest pouczający. Jeśli masz jakieś pytania lub sugestie, dodaj swój komentarz!