Nastavení vysoké dostupnosti v SUSE pomocí zařízení STONITH
V tomto článku provedeme kroky pro nastavení vysoké dostupnosti (HA) ve velkých instancích v HANA v operačním systému SUSE pomocí zařízení STONITH.
Poznámka
Tato příručka je odvozená od úspěšného testování nastavení v prostředí velkých instancí Microsoft HANA. Tým Microsoft Service Management pro velké instance v HANA nepodporuje operační systém. Při řešení potíží nebo objasnění vrstvy operačního systému kontaktujte SUSE.
Tým pro správu služeb Microsoftu nastavuje a plně podporuje zařízení STONITH. Může pomoct vyřešit problémy s STONITH zařízeními.
Požadavky
K nastavení vysoké dostupnosti pomocí clusteringu SUSE je potřeba:
- Zřizování velkých instancí HANA
- Nainstalujte a zaregistrujte operační systém s nejnovějšími opravami.
- Připojení Servery rozsáhlých instancí HANA na server SMT, aby se získaly opravy a balíčky.
- Nastavte protokol síťové doby (čas NTP).
- Přečtěte si nejnovější dokumentaci k SUSE nastavení HA a Pochopte ji.
Podrobnosti o nastavení
Tato příručka používá následující nastavení:
- Operační systém: SLES 12 SP1 pro SAP
- Velké instance HANA: 2xS192 (čtyři sokety, 2 TB)
- Verze HANA: HANA 2,0 SP1
- Názvy serverů: sapprdhdb95 (Uzel1) a sapprdhdb96 (Uzel2)
- Zařízení STONITH: založené na iSCSI
- NTP na jednom z uzlů velkých instancí HANA
Když nakonfigurujete velké instance HANA pomocí replikace systému HANA, můžete požádat, aby tým pro správu služeb Microsoftu nastavil zařízení STONITH. Proveďte tuto možnost v době zřizování.
Pokud jste již zřídili stávajícího zákazníka se stávajícími velkými instancemi HANA, můžete si i nadále nastavit zařízení STONITH. Do formuláře žádosti o službu (SRF) zadejte následující informace týmu služby Microsoft Service Management. SRF můžete získat prostřednictvím Správce technického účtu nebo svého kontaktu Microsoftu pro rozsáhlou instanci služby HANA.
- Název serveru a IP adresa serveru (například myhanaserver1 a 10.35.0.1)
- Umístění (například USA – východ)
- Jméno zákazníka (například Microsoft)
- Identifikátor systému HANA (SID) (například H11)
Po nakonfigurování zařízení STONITH vám tým Microsoftu pro správu služeb poskytne název SBD (STONITH Block Device) a IP adresu úložiště iSCSI. Tyto informace můžete použít ke konfiguraci instalace STONITH.
Pokud chcete nastavit HA pomocí STONITH, postupujte podle kroků v následujících částech.
Identifikace zařízení SBD
Poznámka
Tato část se týká pouze stávajících zákazníků. Pokud jste novým zákazníkem, tým Microsoftu pro správu služeb vám poskytne název zařízení SBD, takže tuto část přeskočte.
Upravit /etc/iSCSI/initiatorname.iSCI na:
iqn.1996-04.de.suse:01:<Tenant><Location><SID><NodeNumber>Tento řetězec poskytuje služba Microsoft Service Management. Upravte soubor na obou uzlech. Číslo uzlu se ale u každého uzlu liší.

Upravte /etc/iSCSI/iscsid.conf nastavením
node.session.timeo.replacement_timeout=5anode.startup = automatic. Upravte soubor na obou uzlech.Spusťte následující příkaz zjišťování na obou uzlech.
iscsiadm -m discovery -t st -p <IP address provided by Service Management>:3260Ve výsledcích se zobrazí čtyři relace.

Spusťte následující příkaz na obou uzlech a přihlaste se k zařízení iSCSI.
iscsiadm -m node -lVe výsledcích se zobrazí čtyři relace.

Pomocí následujícího příkazu spusťte skript rescan-SCSI-Bus.sh pro opětovné prohledání. Tento skript zobrazuje nové disky, které jste vytvořili za vás. Spusťte ji na obou uzlech.
rescan-scsi-bus.shVýsledky by měly ukazovat na číslo logické jednotky větší než nula (například: 1, 2 atd.).

Chcete-li získat název zařízení, spusťte následující příkaz na obou uzlech.
fdisk –lVe výsledcích vyberte zařízení s velikostí 178 MiB.

Inicializace zařízení SBD
K inicializaci zařízení SBD na obou uzlech použijte následující příkaz.
sbd -d <SBD Device Name> create
Pomocí následujícího příkazu na obou uzlech ověřte, co bylo zapsáno do zařízení.
sbd -d <SBD Device Name> dump
Konfigurace clusteru SUSE HA
Pomocí následujícího příkazu můžete ověřit, jestli jsou na obou uzlech nainstalované vzory Ha_sles a SAPHanaSR-doc. Pokud nejsou nainstalovány, nainstalujte je.
zypper in -t pattern ha_sles zypper in SAPHanaSR SAPHanaSR-doc

Cluster můžete nastavit pomocí
ha-cluster-initpříkazu nebo průvodce YaST2. V tomto příkladu používáme Průvodce YaST2. Tento krok proveďte pouze v primárním uzlu.Přejít na YaST2 > cluster s vysokou dostupností > .

V dialogovém okně, které se objeví v instalaci balíčku Hawk, vyberte Zrušit , protože balíček halk2 je už nainstalovaný.

V dialogovém okně, které se zobrazí o pokračování, vyberte pokračovat.

Očekávaná hodnota je počet nasazených uzlů (v tomto případě 2). Vyberte Další.
Přidejte názvy uzlů a pak vyberte Přidat navrhované soubory.

Vyberte zapnout csync2.
Vyberte možnost Generovat předsdílené klíče.
V místní zprávě, která se zobrazí, vyberte OK.

Ověřování se provádí pomocí IP adres a předsdílených klíčů v Csync2. Soubor klíče je vygenerován pomocí
csync2 -k /etc/csync2/key_hagroup.Ručně zkopírujte soubor key_hagroup do všech členů clusteru po jeho vytvoření. Nezapomeňte zkopírovat soubor z Uzel1 do Uzel2. Pak vyberte Další.

Ve výchozí možnosti je spouštění vypnuto. Změňte na zapnuto, aby byla služba Pacemaker spuštěna při spuštění. Můžete vybrat podle požadavků na instalaci.

Vyberte Další a dokončete konfiguraci clusteru.
Nastavení sledovacího zařízení softdog
Přidejte následující řádek do /etc/init.d/Boot.Local v obou uzlech.
modprobe softdog
Pomocí následujícího příkazu aktualizujte soubor /etc/sysconfig/SBD na obou uzlech.
SBD_DEVICE="<SBD Device Name>"
Spusťte následující příkaz a načtěte modul jádra na obou uzlech.
modprobe softdog
Pomocí následujícího příkazu zkontrolujte, že softdog běží na obou uzlech.
lsmod | grep dog
Pomocí následujícího příkazu spusťte zařízení SBD na obou uzlech.
/usr/share/sbd/sbd.sh start
K otestování démona SBD na obou uzlech použijte následující příkaz.
sbd -d <SBD Device Name> listVe výsledcích se zobrazí dvě položky po konfiguraci na obou uzlech.

Odešlete následující zkušební zprávu na jeden z vašich uzlů.
sbd -d <SBD Device Name> message <node2> <message>Na druhém uzlu (Uzel2) použijte následující příkaz ke kontrole stavu zprávy.
sbd -d <SBD Device Name> list
Chcete-li přijmout konfiguraci SBD, aktualizujte soubor /etc/sysconfig/SBD následujícím způsobem na obou uzlech.
SBD_DEVICE=" <SBD Device Name>" SBD_WATCHDOG="yes" SBD_PACEMAKER="yes" SBD_STARTMODE="clean" SBD_OPTS=""Pomocí následujícího příkazu spusťte službu Pacemaker v primárním uzlu (Uzel1).
systemctl start pacemaker
Pokud se služba Pacemaker nezdařila, přečtěte si část scénář 5: služba Pacemaker se v tomto článku nezdařila.
Připojte uzel ke clusteru.
Spusťte následující příkaz v Uzel2 a nechejte tento uzel připojit ke clusteru.
ha-cluster-join
Pokud při připojování ke clusteru dojde k chybě, podívejte se do části scénář 6: Uzel2 se nemůže připojit ke clusteru dále v tomto článku.
Ověřit cluster
Pomocí následujících příkazů můžete zaškrtnout a volitelně spustit cluster na obou uzlech poprvé.
systemctl status pacemaker systemctl start pacemaker
Spusťte následující příkaz, abyste měli jistotu, že jsou oba uzly online. Můžete ji spustit na libovolném uzlu clusteru.
crm_mon
Můžete se také přihlásit k Hawk a ověřit stav clusteru:
https://\<node IP>:7630. Výchozí uživatel je hacluster a heslo je Linux. V případě potřeby můžete heslo změnit pomocípasswdpříkazu.
Konfigurace vlastností a prostředků clusteru
Tato část popisuje kroky pro konfiguraci prostředků clusteru. V tomto příkladu nastavíte následující prostředky. V případě potřeby můžete nakonfigurovat Rest (v případě potřeby) odkazem na Průvodce SUSE HA.
- Zavedení clusteru
- Zařízení STONITH
- Virtuální IP adresa
Proveďte konfiguraci pouze na primárním uzlu .
Vytvořte spouštěcí soubor clusteru a nakonfigurujte ho přidáním následujícího textu.
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"Pomocí následujícího příkazu přidejte konfiguraci do clusteru.
crm configure load update crm-bs.txt
Nakonfigurujte zařízení STONITH přidáním prostředku, vytvořením souboru a přidáním textu následujícím způsobem.
# vi crm-sbd.txt # enter the following to crm-sbd.txt primitive stonith-sbd stonith:external/sbd \ params pcmk_delay_max="15"Pomocí následujícího příkazu přidejte konfiguraci do clusteru.
crm configure load update crm-sbd.txtPřidejte virtuální IP adresu pro prostředek tak, že vytvoříte soubor a přidáte následující text.
# 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"Pomocí následujícího příkazu přidejte konfiguraci do clusteru.
crm configure load update crm-vip.txtcrm_monK ověření prostředků použijte příkaz.Ve výsledcích se zobrazí tyto dva prostředky.

Můžete také zjistit stav na adrese https:// <node IP address> : 7630/CIB/Live/State.

Test procesu převzetí služeb při selhání
Chcete-li otestovat proces převzetí služeb při selhání, pomocí následujícího příkazu zastavte službu Pacemaker v Uzel1.
Service pacemaker stopU prostředků převezme služby při selhání Uzel2.
Zastavení služby Pacemaker v Uzel2 a převzetí služeb při selhání v Uzel1.
Tady je stav před převzetím služeb při selhání:

Toto je stav po převzetí služeb při selhání:


Řešení potíží
Tato část popisuje scénáře selhání, se kterými se můžete setkat během instalace.
Scénář 1: uzel clusteru není online
Pokud se některý z uzlů ve Správci clusteru nezobrazí online, můžete tento postup použít k převedení do online režimu.
Pomocí následujícího příkazu spusťte službu iSCSI.
service iscsid startPomocí následujícího příkazu se přihlaste k tomuto uzlu iSCSI.
iscsiadm -m node -lOčekávaný výstup vypadá takto:
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.
Scénář 2: Yast2 nezobrazuje grafické zobrazení
Grafická obrazovka YaST2 slouží k nastavení clusteru s vysokou dostupností v tomto článku. Pokud se YaST2 neotevře s grafickým oknem, jak je znázorněné, a vyvolá chybu QT, proveďte následující kroky a nainstalujte požadované balíčky. Pokud se otevře s grafickým oknem, můžete postup přeskočit.
Tady je příklad chyby QT:

Tady je příklad očekávaného výstupu:

Ujistěte se, že jste přihlášeni jako uživatel "root" a že máte SMT nastaveno ke stažení a instalaci balíčků.
Klikněte na yastovat > závislosti správy softwarového > softwaru > a pak vyberte instalovat doporučené balíčky.
Poznámka
Proveďte kroky na obou uzlech, aby bylo možné získat přístup k grafickému zobrazení YaST2 z obou uzlů.
Na následujícím snímku obrazovky vidíte očekávanou obrazovku.

V části závislosti vyberte instalovat doporučené balíčky.

Zkontrolujte změny a vyberte OK.

Instalace balíčku pokračuje.

Vyberte Další.
Po zobrazení obrazovky Instalace byla úspěšně dokončena vyberte Dokončit.

Pomocí následujících příkazů nainstalujte balíčky libqt4 a libyui-QT.
zypper -n install libqt4
zypper -n install libyui-qt

Yast2 teď může otevřít grafické zobrazení.

Scénář 3: Yast2 nezobrazuje možnost vysoké dostupnosti
Aby bylo možné zobrazit možnost vysoké dostupnosti v řídicím centru YaST2, je nutné nainstalovat další balíčky.
Přejít na Yast2 > software software > Management. Pak vyberte > aktualizace softwaru online.

Vyberte vzory pro následující položky. Pak vyberte přijmout.
- Základ serveru SAP HANA
- Kompilátor a nástroje jazyka C/C++
- Vysoká dostupnost
- Základ aplikačního serveru SAP


V seznamu balíčků, které byly změněny pro rozpoznání závislostí, vyberte pokračovat.

Na stránce provést stav instalace vyberte Další.

Po dokončení instalace se zobrazí sestava instalace. Vyberte Dokončit.

Scénář 4: instalace HANA se nezdařila s chybou sestavení RSZ
Pokud se instalace HANA nezdařila, může se zobrazit následující chyba.

Chcete-li tento problém vyřešit, nainstalujte knihovny libgcc_sl a libstdc + + 6, jak je znázorněno na následujícím snímku obrazovky.

Scénář 5: služba Pacemaker se nezdařila
Pokud se služba Pacemaker nemůže spustit, zobrazí se následující informace.
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
Pokud ho chcete opravit, odstraňte následující řádek ze souboru /usr/lib/systemd/System/fstrim.Timer:
Persistent=true

Scénář 6: Uzel2 se nemůže připojit ke clusteru
Pokud dojde k potížím s připojením Uzel2 ke stávajícímu clusteru prostřednictvím příkazu ha-cluster-JOIN , zobrazí se následující chyba.
ERROR: Can’t retrieve SSH keys from <Primary Node>

Oprava:
Na obou uzlech spusťte následující příkazy.
ssh-keygen -q -f /root/.ssh/id_rsa -C 'Cluster Internal' -N '' cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

Potvrďte, že se Uzel2 přidá do clusteru.

Další kroky
Další informace o nastavení SUSE HA najdete v následujících článcích:
- SAP HANA optimalizovaný scénář výkonu SR (Web SUSE)
- Oplocení a STONITH (Web SUSE)
- Připravte se na použití clusteru Pacemaker pro SAP HANA – část 1: Základy (blog SAP)
- Připravte se na použití clusteru Pacemaker pro SAP HANA – část 2: selhání obou uzlů (blog SAP).
Přečtěte si, jak provést zálohování a obnovení na úrovni souborů pro operační systém: