SQL Mirroring – rola serwera witness i co dzieje się kiedy witness ma awarię.

17-lis-2012

Mirroring ma na celu zwiększenie dostępności bazy danych. Nie będę tu zastanawiał się nad całym rozwiązaniem mirroringu a jedynie zastanowię się nad sytuacją, gdy w sesji High-Safety with automatic failover tracimy serwer Witness.

Domyślnie w High Safety do wybrania serwera Principal potrzebne jest Quorum. Quorum to większość z 3 serwerów (principal,  mirror i witness), więc 2 komputery. Jeśli z jakiegoś powodu Witness stanie się niedostępny, to Quorum nadal istnieje. Stanowią je principal i mirror. Jeżeli jednak w takiej konfiguracji dojdzie do przerwy w łączności między Principalem, a Mirrorem, to ani Principal ani Mirror nie mogą podjąć decyzji o podjęciu obsługi bazy danych. W efekcie awaria jest totalna. Żaden serwer nie obsługuje bazy danych.

W takiej sytuacji może się okazać, że High Performance lub HighSafety without automatic failover są lepsze! W tej konfiguracji serwery same nie podejmują decyzji o tym, który z nich ma obsługiwać bazę danych, więc kiedy dojdzie do rozłączenia między Principalem a mirrorem, mirror sam nie podejmie próby działania, a principal nie zaprzestanie obsługi bazy danych. Efekt – mimo utraty połączenia baza danych będzie działać.

Dlatego też zaleca się w przypadku stosowania trybu High Safety with automatic failover, aby usunąć serwer Witness z konfiguracji, gdyby miał on być przez jakiś czas niedostępny niedostępny.

Więcej informacji o Wuorum i roli komputera Witnes: http://msdn.microsoft.com/en-us/library/ms189902(v=sql.105).aspx

Komentarze są wyłączone

Autor: Rafał Kraik