Konfiguracja wysokiej dostępności w systemie SUSE przy użyciu urządzenia ogrodzenia
W tym artykule omówimy kroki konfigurowania wysokiej dostępności w dużych wystąpieniach platformy HANA w systemie operacyjnym SUSE przy użyciu urządzenia ogrodzenia.
Uwaga
Ten przewodnik pochodzi z pomyślnego testowania konfiguracji w środowisku dużych wystąpień platformy Microsoft HANA. Zespół zarządzania usługami firmy Microsoft dla dużych wystąpień HANA nie obsługuje systemu operacyjnego. Aby uzyskać informacje na temat rozwiązywania problemów lub wyjaśnienia dotyczące warstwy systemu operacyjnego, skontaktuj się z systemem SUSE.
Zespół zarządzania usługami firmy Microsoft konfiguruje i w pełni obsługuje urządzenie ogrodzenia. Może pomóc w rozwiązywaniu problemów z urządzeniem ogrodzenia.
Wymagania wstępne
Aby skonfigurować wysoką dostępność przy użyciu klastrowania SUSE, należy:
- Aprowizuj duże wystąpienia platformy HANA.
- Zainstaluj i zarejestruj system operacyjny przy użyciu najnowszych poprawek.
- Połącz serwery dużych wystąpień HANA z serwerem SMT, aby uzyskać poprawki i pakiety.
- Skonfiguruj protokół czasu sieciowego (serwer czasu NTP).
- Przeczytaj i zapoznaj się z najnowszą dokumentacją systemu SUSE dotyczącą konfiguracji wysokiej dostępności.
Szczegóły instalacji
W tym przewodniku jest używana następująca konfiguracja:
- System operacyjny: SLES 12 SP1 dla systemu SAP
- Duże wystąpienia platformy HANA: 2xS192 (cztery gniazda, 2 TB)
- Wersja platformy HANA: HANA 2.0 SP1
- Nazwy serwerów: sapprdhdb95 (node1) i sapprdhdb96 (node2)
- Urządzenie ogrodzenia: oparte na protokole iSCSI
- NTP w jednym z węzłów dużego wystąpienia HANA
Podczas konfigurowania dużych wystąpień HANA za pomocą replikacji systemu HANA można zażądać, aby zespół zarządzania usługami firmy Microsoft skonfigurował urządzenie ogrodzenia. Zrób to w momencie aprowizacji.
Jeśli jesteś istniejącym klientem z już aprowizowaną usługą HANA Large Instances, nadal możesz skonfigurować urządzenie ogrodzenia. Podaj następujące informacje zespołowi zarządzania usługami firmy Microsoft w formularzu żądania obsługi (SRF). SRF można uzyskać za pośrednictwem Menedżera konta technicznego lub kontaktu firmy Microsoft dotyczącego dołączania dużych wystąpień HANA.
- Nazwa serwera i adres IP serwera (na przykład myhanaserver1 i 10.35.0.1)
- Lokalizacja (na przykład Wschodnie stany USA)
- Nazwa klienta (na przykład Microsoft)
- Identyfikator systemu HANA (SID) (na przykład H11)
Po skonfigurowaniu urządzenia ogrodzenia zespół zarządzania usługami firmy Microsoft udostępni nazwę SBD i adres IP magazynu iSCSI. Te informacje służą do konfigurowania konfiguracji ogrodzenia.
Wykonaj kroki opisane w poniższych sekcjach, aby skonfigurować wysoką dostępność przy użyciu urządzenia ogrodzenia.
Identyfikowanie urządzenia SBD
Uwaga
Ta sekcja dotyczy tylko istniejących klientów. Jeśli jesteś nowym klientem, zespół zarządzania usługami firmy Microsoft nada nazwę urządzenia SBD, więc pomiń tę sekcję.
Zmodyfikuj parametr /etc/iscsi/initiatorname.isci , aby:
iqn.1996-04.de.suse:01:<Tenant><Location><SID><NodeNumber>
Usługa Microsoft Service Management udostępnia ten ciąg. Zmodyfikuj plik w obu węzłach. Jednak numer węzła jest inny w każdym węźle.
Zmodyfikuj plik /etc/iscsid.conf , ustawiając i
node.session.timeo.replacement_timeout=5
node.startup = automatic
. Zmodyfikuj plik w obu węzłach.Uruchom następujące polecenie odnajdywania w obu węzłach.
iscsiadm -m discovery -t st -p <IP address provided by Service Management>:3260
Wyniki pokazują cztery sesje.
Uruchom następujące polecenie w obu węzłach, aby zalogować się do urządzenia iSCSI.
iscsiadm -m node -l
Wyniki pokazują cztery sesje.
Użyj następującego polecenia, aby uruchomić skrypt ponownego skanowania rescan-scsi-bus.sh . Ten skrypt przedstawia utworzone nowe dyski. Uruchom go w obu węzłach.
rescan-scsi-bus.sh
Wyniki powinny zawierać numer LUN większy niż zero (na przykład: 1, 2 itd.).
Aby uzyskać nazwę urządzenia, uruchom następujące polecenie w obu węzłach.
fdisk –l
W wynikach wybierz urządzenie o rozmiarze 178 MiB.
Inicjowanie urządzenia SBD
Użyj następującego polecenia, aby zainicjować urządzenie SBD w obu węzłach.
sbd -d <SBD Device Name> create
Użyj następującego polecenia w obu węzłach, aby sprawdzić, co zostało zapisane na urządzeniu.
sbd -d <SBD Device Name> dump
Konfigurowanie klastra SUSE HA
Użyj następującego polecenia, aby sprawdzić, czy wzorce ha_sles i SAPHanaSR-doc są zainstalowane w obu węzłach. Jeśli nie są zainstalowane, zainstaluj je.
zypper in -t pattern ha_sles zypper in SAPHanaSR SAPHanaSR-doc
Skonfiguruj klaster przy użyciu
ha-cluster-init
polecenia lub kreatora yast2. W tym przykładzie używamy kreatora yast2. Wykonaj ten krok tylko w węźle podstawowym.Przejdź doklastrao wysokiej dostępności>yast2>.
W wyświetlonym oknie dialogowym dotyczącym instalacji pakietu hawk wybierz pozycję Anuluj , ponieważ pakiet halk2 jest już zainstalowany.
W wyświetlonym oknie dialogowym dotyczącym kontynuowania wybierz pozycję Kontynuuj.
Oczekiwana wartość to liczba wdrożonych węzłów (w tym przypadku 2). Wybierz opcję Dalej.
Dodaj nazwy węzłów, a następnie wybierz pozycję Dodaj sugerowane pliki.
Wybierz pozycję Włącz csync2.
Wybierz pozycję Generuj klucze wstępne.
W wyświetlonym oknie podręcznym wybierz przycisk OK.
Uwierzytelnianie jest wykonywane przy użyciu adresów IP i kluczy wstępnych w Csync2. Plik klucza jest generowany za pomocą
csync2 -k /etc/csync2/key_hagroup
polecenia .Ręcznie skopiuj plik key_hagroup do wszystkich członków klastra po jego utworzeniu. Pamiętaj, aby skopiować plik z węzła node1 do node2. Następnie wybierz przycisk Dalej.
W opcji domyślnej rozruch był wyłączony. Zmień ją na Wł., aby usługa pacemaker została uruchomiona podczas rozruchu. Możesz dokonać wyboru na podstawie wymagań dotyczących konfiguracji.
Wybierz pozycję Dalej, a konfiguracja klastra została ukończona.
Konfigurowanie softdog watchdog
Dodaj następujący wiersz do /etc/init.d/boot.local w obu węzłach.
modprobe softdog
Użyj następującego polecenia, aby zaktualizować plik /etc/sysconfig/sbd w obu węzłach.
SBD_DEVICE="<SBD Device Name>"
Załaduj moduł jądra w obu węzłach, uruchamiając następujące polecenie.
modprobe softdog
Użyj następującego polecenia, aby upewnić się, że program softdog jest uruchomiony w obu węzłach.
lsmod | grep dog
Użyj następującego polecenia, aby uruchomić urządzenie SBD w obu węzłach.
/usr/share/sbd/sbd.sh start
Użyj następującego polecenia, aby przetestować demona SBD w obu węzłach.
sbd -d <SBD Device Name> list
Wyniki pokazują dwa wpisy po konfiguracji w obu węzłach.
Wyślij następujący komunikat testowy do jednego z węzłów.
sbd -d <SBD Device Name> message <node2> <message>
W drugim węźle (node2) użyj następującego polecenia, aby sprawdzić stan komunikatu.
sbd -d <SBD Device Name> list
Aby zastosować konfigurację usługi SBD, zaktualizuj plik /etc/sysconfig/sbd w następujący sposób w obu węzłach.
SBD_DEVICE=" <SBD Device Name>" SBD_WATCHDOG="yes" SBD_PACEMAKER="yes" SBD_STARTMODE="clean" SBD_OPTS=""
Użyj następującego polecenia, aby uruchomić usługę pacemaker w węźle podstawowym (node1 ).
systemctl start pacemaker
Jeśli usługa pacemaker zakończy się niepowodzeniem, zobacz sekcję Scenariusz 5: Usługa Pacemaker kończy się niepowodzeniem w dalszej części tego artykułu.
Dołączanie węzła do klastra
Uruchom następujące polecenie w węźle Node2 , aby umożliwić dołączenie tego węzła do klastra.
ha-cluster-join
Jeśli podczas dołączania do klastra wystąpi błąd, zobacz sekcję Scenariusz 6: Węzeł2 nie może dołączyć do klastra w dalszej części tego artykułu.
Weryfikowanie klastra
Użyj następujących poleceń, aby sprawdzić i opcjonalnie uruchomić klaster po raz pierwszy w obu węzłach.
systemctl status pacemaker systemctl start pacemaker
Uruchom następujące polecenie, aby upewnić się, że oba węzły są w trybie online. Można go uruchomić w dowolnym z węzłów klastra.
crm_mon
Możesz również zalogować się do usługi hawk, aby sprawdzić stan klastra:
https://\<node IP>:7630
. Domyślny użytkownik to hacluster, a hasło to linux. W razie potrzeby możesz zmienić hasło przy użyciupasswd
polecenia .
Konfigurowanie właściwości i zasobów klastra
W tej sekcji opisano kroki konfigurowania zasobów klastra. W tym przykładzie skonfigurujesz następujące zasoby. Resztę (w razie potrzeby) można skonfigurować, odwołując się do przewodnika SUSE HA.
- Uruchamianie klastra
- Urządzenie ogrodzeniowe
- Wirtualny adres IP
Wykonaj konfigurację tylko w węźle podstawowym .
Utwórz plik bootstrap klastra i skonfiguruj go, dodając następujący tekst.
sapprdhdb95:~ # vi crm-bs.txt # enter the following to crm-bs.txt property $id="cib-bootstrap-options" \ no-quorum-policy="ignore" \ stonith-enabled="true" \ stonith-action="reboot" \ stonith-timeout="150s" rsc_defaults $id="rsc-options" \ resource-stickiness="1000" \ migration-threshold="5000" op_defaults $id="op-options" \ timeout="600"
Użyj następującego polecenia, aby dodać konfigurację do klastra.
crm configure load update crm-bs.txt
Skonfiguruj urządzenie ogrodzenia, dodając zasób, tworząc plik i dodając tekst w następujący sposób.
# vi crm-sbd.txt # enter the following to crm-sbd.txt primitive stonith-sbd stonith:external/sbd \ params pcmk_delay_max="15"
Użyj następującego polecenia, aby dodać konfigurację do klastra.
crm configure load update crm-sbd.txt
Dodaj wirtualny adres IP zasobu, tworząc plik i dodając następujący tekst.
# vi crm-vip.txt primitive rsc_ip_HA1_HDB10 ocf:heartbeat:IPaddr2 \ operations $id="rsc_ip_HA1_HDB10-operations" \ op monitor interval="10s" timeout="20s" \ params ip="10.35.0.197"
Użyj następującego polecenia, aby dodać konfigurację do klastra.
crm configure load update crm-vip.txt
Użyj polecenia ,
crm_mon
aby zweryfikować zasoby.Wyniki pokazują dwa zasoby.
Stan można również sprawdzić pod adresem> IP https://< node:7630/cib/live/state.
Testowanie procesu pracy w trybie failover
Aby przetestować proces pracy w trybie failover, użyj następującego polecenia, aby zatrzymać usługę pacemaker w węźle Node1.
Service pacemaker stop
Zasoby przełączą się w tryb failover do węzła2.
Zatrzymaj usługę pacemaker w węźle Node2 i przełącz zasoby w tryb failover do węzła1.
Oto stan przed przejściem w tryb failover:
Oto stan po przejściu w tryb failover:
Rozwiązywanie problemów
W tej sekcji opisano scenariusze błędów, które mogą wystąpić podczas instalacji.
Scenariusz 1. Węzeł klastra nie jest w trybie online
Jeśli którykolwiek z węzłów nie jest wyświetlany w trybie online w Menedżerze klastra, możesz wypróbować tę procedurę, aby przenieść ją do trybu online.
Użyj następującego polecenia, aby uruchomić usługę iSCSI.
service iscsid start
Użyj następującego polecenia, aby zalogować się do tego węzła iSCSI.
iscsiadm -m node -l
Oczekiwane dane wyjściowe wyglądają następująco:
sapprdhdb45:~ # iscsiadm -m node -l Logging in to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.11,3260] (multiple) Logging in to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.12,3260] (multiple) Logging in to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.22,3260] (multiple) Logging in to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.21,3260] (multiple) Login to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.11,3260] successful. Login to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.12,3260] successful. Login to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.22,3260] successful. Login to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.21,3260] successful.
Scenariusz 2: Yast2 nie wyświetla widoku graficznego
Ekran graficzny yast2 służy do konfigurowania klastra o wysokiej dostępności w tym artykule. Jeśli plik yast2 nie jest otwarty przy użyciu okna graficznego, jak pokazano, i zgłasza błąd Qt, wykonaj następujące kroki, aby zainstalować wymagane pakiety. Jeśli zostanie otwarte okno graficzne, możesz pominąć kroki.
Oto przykład błędu Qt:
Oto przykład oczekiwanych danych wyjściowych:
Upewnij się, że zalogowano się jako użytkownik "root" i skonfigurowano protokół SMT do pobierania i instalowania pakietów.
Przejdź do obszaruZależnościzarządzania>oprogramowaniemyast>, > a następnie wybierz pozycję Zainstaluj zalecane pakiety.
Uwaga
Wykonaj kroki w obu węzłach, aby uzyskać dostęp do widoku graficznego yast2 z obu węzłów.
Poniższy zrzut ekranu przedstawia oczekiwany ekran.
W obszarze Zależności wybierz pozycję Zainstaluj zalecane pakiety.
Przejrzyj zmiany i wybierz przycisk OK.
Instalacja pakietu jest kontynuowana.
Wybierz opcję Dalej.
Po wyświetleniu ekranu Instalacja zakończona pomyślnie wybierz pozycję Zakończ.
Użyj następujących poleceń, aby zainstalować pakiety libqt4 i libyui-qt.
zypper -n install libqt4
zypper -n install libyui-qt
Yast2 może teraz otworzyć widok graficzny.
Scenariusz 3: Yast2 nie pokazuje opcji wysokiej dostępności
Aby opcja wysokiej dostępności był widoczna w centrum sterowania yast2, należy zainstalować inne pakiety.
Przejdź do pozycji Yast2Software Management (Zarządzanie oprogramowaniem>Yast2>). Następnie wybierz pozycjęAktualizacja onlineoprogramowania>.
Wybierz wzorce dla następujących elementów. Następnie wybierz pozycję Akceptuj.
- Baza serwerów SAP HANA
- Kompilator i narzędzia języka C/C++
- Wysoka dostępność
- Baza serwera aplikacji SAP
Na liście pakietów, które zostały zmienione w celu rozwiązania zależności, wybierz pozycję Kontynuuj.
Na stronie Stan instalacji wykonującej wybierz przycisk Dalej.
Po zakończeniu instalacji zostanie wyświetlony raport instalacji. Wybierz pozycję Zakończ.
Scenariusz 4. Instalacja platformy HANA kończy się niepowodzeniem z powodu błędu zestawów gcc
Jeśli instalacja platformy HANA nie powiedzie się, może zostać wyświetlony następujący błąd.
Aby rozwiązać ten problem, zainstaluj biblioteki libgcc_sl i libstdc++6, jak pokazano na poniższym zrzucie ekranu.
Scenariusz 5. Niepowodzenie usługi Pacemaker
Poniższe informacje są wyświetlane, jeśli usługa pacemaker nie może się uruchomić.
sapprdhdb95:/ # systemctl start pacemaker
A dependency job for pacemaker.service failed. See 'journalctl -xn' for details.
sapprdhdb95:/ # journalctl -xn
-- Logs begin at Thu 2017-09-28 09:28:14 EDT, end at Thu 2017-09-28 21:48:27 EDT. --
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync configuration map
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [QB ] withdrawing server sockets
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync configuration ser
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [QB ] withdrawing server sockets
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync cluster closed pr
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [QB ] withdrawing server sockets
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync cluster quorum se
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync profile loading s
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [MAIN ] Corosync Cluster Engine exiting normally
Sep 28 21:48:27 sapprdhdb95 systemd[1]: Dependency failed for Pacemaker High Availability Cluster Manager
-- Subject: Unit pacemaker.service has failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit pacemaker.service has failed.
--
-- The result is dependency.
sapprdhdb95:/ # tail -f /var/log/messages
2017-09-28T18:44:29.675814-04:00 sapprdhdb95 corosync[57600]: [QB ] withdrawing server sockets
2017-09-28T18:44:29.676023-04:00 sapprdhdb95 corosync[57600]: [SERV ] Service engine unloaded: corosync cluster closed process group service v1.01
2017-09-28T18:44:29.725885-04:00 sapprdhdb95 corosync[57600]: [QB ] withdrawing server sockets
2017-09-28T18:44:29.726069-04:00 sapprdhdb95 corosync[57600]: [SERV ] Service engine unloaded: corosync cluster quorum service v0.1
2017-09-28T18:44:29.726164-04:00 sapprdhdb95 corosync[57600]: [SERV ] Service engine unloaded: corosync profile loading service
2017-09-28T18:44:29.776349-04:00 sapprdhdb95 corosync[57600]: [MAIN ] Corosync Cluster Engine exiting normally
2017-09-28T18:44:29.778177-04:00 sapprdhdb95 systemd[1]: Dependency failed for Pacemaker High Availability Cluster Manager.
2017-09-28T18:44:40.141030-04:00 sapprdhdb95 systemd[1]: [/usr/lib/systemd/system/fstrim.timer:8] Unknown lvalue 'Persistent' in section 'Timer'
2017-09-28T18:45:01.275038-04:00 sapprdhdb95 cron[57995]: pam_unix(crond:session): session opened for user root by (uid=0)
2017-09-28T18:45:01.308066-04:00 sapprdhdb95 CRON[57995]: pam_unix(crond:session): session closed for user root
Aby rozwiązać ten problem, usuń następujący wiersz z pliku /usr/lib/systemd/system/fstrim.timer:
Persistent=true
Scenariusz 6. Węzeł Node2 nie może dołączyć do klastra
Poniższy błąd pojawia się, jeśli wystąpił problem z dołączeniem węzła2 do istniejącego klastra za pomocą polecenia ha-cluster-join .
ERROR: Can’t retrieve SSH keys from <Primary Node>
Aby rozwiązać ten problem:
Uruchom następujące polecenia w obu węzłach.
ssh-keygen -q -f /root/.ssh/id_rsa -C 'Cluster Internal' -N '' cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
Upewnij się, że węzeł Node2 został dodany do klastra.
Następne kroki
Więcej informacji na temat konfigurowania systemu SUSE HA można znaleźć w następujących artykułach:
- Scenariusz zoptymalizowany pod kątem wydajności usługi SAP HANA ( witryna internetowa SUSE)
- Urządzenia ogrodzeniowe i ogrodzeniowe (strona internetowa SUSE)
- Przygotuj się do korzystania z klastra Pacemaker dla platformy SAP HANA — część 1: Podstawy (blog SAP)
- Przygotuj się do korzystania z klastra Pacemaker dla platformy SAP HANA — część 2: awaria obu węzłów (blog SAP)
- Tworzenie i przywracanie kopii zapasowej systemu operacyjnego