Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:Program SQL Server w systemie Linux
Aktualizacja grupy dostępności
Przed uaktualnieniem grupy dostępności zapoznaj się z wzorami i praktykami w sekcji Repliki grupy dostępności – aktualizacja.
W poniższych sekcjach opisano sposób przeprowadzania aktualizacji ciągłej dla instancji SQL Server na systemie Linux z użyciem grup dostępności.
Kroki uaktualniania w systemie Linux
Gdy repliki grup dostępności znajdują się w wystąpieniach programu SQL Server działających w systemie Linux, typ klastra tej grupy dostępności to EXTERNAL lub NONE. Grupa dostępności zarządzana przez menedżera klastra innego niż klaster trybu failover systemu Windows Server (WSFC) jest EXTERNAL. Program Pacemaker z aplikacją Corosync jest przykładem zewnętrznego menedżera klastra. Grupa dostępności bez menedżera klastra ma typ klastra NONE Kroki uaktualniania opisane tutaj są specyficzne dla grup dostępności typu klastra EXTERNAL lub NONE.
Kolejność uaktualniania wystąpień zależy od tego, czy ich rola jest pomocnicza oraz od tego, czy hostują repliki synchroniczne lub asynchroniczne. Najpierw uaktualnij wystąpienia programu SQL Server, które hostują asynchroniczne repliki pomocnicze. Następnie uaktualnij instancje, które hostują synchroniczne repliki wtórne.
Notatka
Jeśli grupa dostępności ma tylko repliki asynchroniczne, aby uniknąć utraty danych, zmień jedną replikę na synchroniczną i zaczekaj na jej zsynchronizowanie. Następnie uaktualnij tę replikę.
Przed rozpoczęciem wykonaj kopię zapasową każdej bazy danych.
Zatrzymaj zasób na węźle, który hostuje replikę pomocniczą przeznaczoną do aktualizacji.
Przed uruchomieniem polecenia uaktualnienia zatrzymaj zasób, aby klaster nie monitorował go i nie powodował jego niepotrzebnego awarii. W poniższym przykładzie dodano ograniczenie lokalizacji w węźle, które spowoduje zatrzymanie zasobu. Zaktualizuj
ag_cluster-masterprzy użyciu nazwy zasobu inodeName1za pomocą węzła obsługującego replikę przeznaczoną do uaktualnienia.pcs constraint location ag_cluster-master avoids nodeName1Uaktualnij program SQL Server w repliki pomocniczej.
Poniższy przykład uaktualnia pakiety
mssql-serverimssql-server-ha.sudo yum update mssql-server sudo yum update mssql-server-haUsuń ograniczenie lokalizacji.
Przed uruchomieniem polecenia uaktualnienia zatrzymaj zasób, aby klaster nie monitorował go i nie powodował jego niepotrzebnego awarii. W poniższym przykładzie dodano ograniczenie lokalizacji w węźle, które spowoduje zatrzymanie zasobu. Zaktualizuj
ag_cluster-masterprzy użyciu nazwy zasobu inodeName1za pomocą węzła obsługującego replikę przeznaczoną do uaktualnienia.pcs constraint remove location-ag_cluster-master-rhel1--INFINITYNajlepszym rozwiązaniem jest upewnienie się, że zasób został uruchomiony (przy użyciu polecenia
pcs status), a replika pomocnicza jest połączona i synchronizowana po uaktualnieniu.Po uaktualnieniu wszystkich replik pomocniczych, ręcznie przełącz na jedną z synchronicznych replik pomocniczych.
W przypadku grup dostępności z typem klastra
EXTERNALużyj narzędzi do zarządzania klastrem, aby przejść w tryb failover; grupy dostępności z typem klastraNONEpowinny używać Transact-SQL do przełączania w tryb failover.
W poniższym przykładzie grupa dostępności przełącza się za pomocą narzędzi do zarządzania klastrem. Zastąp<targetReplicaName>nazwą synchronicznej repliki pomocniczej, która stanie się podstawowa:sudo pcs resource move ag_cluster-master <targetReplicaName> --masterWażny
Poniższe kroki dotyczą tylko grup dostępności, które nie mają menedżera klastra.
Jeśli typ klastra grupy dostępności jest
NONE, ręcznie wykonaj przełączenie awaryjne. Wykonaj następujące kroki w następującej kolejności:Następujące polecenie ustawia replikę podstawową na pomocniczą. Zastąp
AG1nazwą grupy dostępności. Uruchom polecenie Transact-SQL na instancji programu SQL Server, która obsługuje replikę podstawową.ALTER AVAILABILITY GROUP [ag1] SET (ROLE = SECONDARY);Następujące polecenie ustawia synchroniczną replikę pomocniczą na podstawową. Uruchom następujące polecenie Transact-SQL w docelowym wystąpieniu programu SQL Server — wystąpieniu hostującym synchroniczną replikę pomocniczą.
ALTER AVAILABILITY GROUP [ag1] FAILOVER;
Po przejściu w tryb failover uaktualnij program SQL Server na starej repliki podstawowej, powtarzając poprzednią procedurę.
Poniższy przykład uaktualnia pakiety
mssql-serverimssql-server-ha.# add constraint for the resource to stop on the upgraded node # replace 'nodename2' with the name of the cluster node targeted for upgrade pcs constraint location ag_cluster-master avoids nodeName2 sudo yum update mssql-server sudo yum update mssql-server-ha# upgrade mssql-server and mssql-server-ha packages sudo yum update mssql-server sudo yum update mssql-server-ha# remove the constraint; make sure the resource is started and replica is connected and synchronized pcs constraint remove location-ag_cluster-master-rhel1--INFINITYW przypadku grup dostępności z zewnętrznym menedżerem klastra, gdzie typ klastra to EXTERNAL, usuń ograniczenie lokalizacji spowodowane przez ręczne przełączenie awaryjne.
sudo pcs constraint remove cli-prefer-ag_cluster-masterWznów przenoszenie danych dla nowo uaktualnionej repliki pomocniczej — byłej repliki podstawowej. Ten krok jest wymagany, gdy wyższe wystąpienie wersji programu SQL Server przenosi bloki dziennika do niższego wystąpienia wersji w grupie dostępności. Uruchom następujące polecenie w nowej repliki pomocniczej (poprzednia replika podstawowa).
ALTER DATABASE database_name SET HADR RESUME;
Po uaktualnieniu wszystkich serwerów można powrócić po awarii. Przełączenie z powrotem do oryginalnego głównego systemu — w razie potrzeby.
Usuwanie grupy dostępności
Aby usunąć grupę dostępności, uruchom DROP AVAILABILITY GROUP. Jeśli typ klastra jest EXTERNAL lub NONE uruchom polecenie na każdym wystąpieniu programu SQL Server, które hostuje replikę. Aby na przykład usunąć grupę dostępności o nazwie group_name uruchom następujące polecenie:
DROP AVAILABILITY GROUP group_name