Hoge beschikbaarheid instellen in SUSE met behulp van het STONITH-apparaat
In dit artikel doorlopen we de stappen voor het instellen van hoge beschikbaarheid (HA) in HANA Large Instances op het SUSE-besturingssysteem met behulp van het STONITH-apparaat.
Notitie
Deze handleiding is afgeleid van het testen van de installatie in de Microsoft HANA Large Instances-omgeving. Het Microsoft Service Management-team voor HANA Large Instances biedt geen ondersteuning voor het besturingssysteem. Neem contact op met SUSE voor probleemoplossing of uitleg over de besturingssysteemlaag.
Het Microsoft Service Management-team stelt het STONITH-apparaat in en ondersteunt het volledig. Het kan helpen bij het oplossen van STONITH-apparaatproblemen.
Vereisten
Als u hoge beschikbaarheid wilt instellen met behulp van SUSE-clustering, moet u het volgende doen:
- HANA Large Instances inrichten.
- Installeer en registreer het besturingssysteem met de nieuwste patches.
- Verbinding maken HANA Large Instance-servers naar de SMT-server om patches en pakketten op te halen.
- Instellen van Network Time Protocol (NTP tijdserver).
- Lees en begrijp de nieuwste SUSE-documentatie over het instellen van ha.
Installatiedetails
In deze handleiding wordt gebruikgemaakt van de volgende instellingen:
- Besturingssysteem: SLES 12 SP1 voor SAP
- HANA Large Instances: 2xS192 (vier sockets, 2 TB)
- HANA-versie: HANA 2.0 SP1
- Servernamen: sapprdhdb95 (node1) en sapprdhdb96 (node2)
- STONITH-apparaat: op basis van iSCSI
- NTP op een van de HANA Large Instance-knooppunten
Wanneer u HANA Large Instances in stelt met HANA-systeemreplicatie, kunt u het Microsoft Service Management-team vragen het STONITH-apparaat in te stellen. Doe dit op het moment van inrichten.
Als u een bestaande klant bent met HANA Large Instances die al zijn ingericht, kunt u het STONITH-apparaat nog steeds instellen. Geef het Microsoft Service Management-team de volgende informatie op in het formulier voor serviceaanvraag (SRF). U kunt de SRF krijgen via de Technical Account Manager of uw Contactpersoon van Microsoft voor onboarding van grote HANA-exemplaren.
- Servernaam en SERVER-IP-adres (bijvoorbeeld myhanaserver1 en 10.35.0.1)
- Locatie (bijvoorbeeld US - oost)
- Klantnaam (bijvoorbeeld Microsoft)
- HANA-systeem-id (SID) (bijvoorbeeld H11)
Nadat het STONITH-apparaat is geconfigureerd, geeft het Microsoft Service Management-team u de SBD-naam (StoNITH Block Device) en het IP-adres van de iSCSI-opslag. U kunt deze informatie gebruiken om STONITH-installatie te configureren.
Volg de stappen in de volgende secties om ha in te stellen met behulp van STONITH.
Het SBD-apparaat identificeren
Notitie
Deze sectie is alleen van toepassing op bestaande klanten. Als u een nieuwe klant bent, geeft het Microsoft Service Management-team u de naam van het SBD-apparaat, dus sla deze sectie over.
Wijzig /etc/iscsi/initiatorname.isci in:
iqn.1996-04.de.suse:01:<Tenant><Location><SID><NodeNumber>Microsoft Service Management biedt deze tekenreeks. Wijzig het bestand op beide knooppunten. Het knooppuntnummer verschilt echter op elk knooppunt.

Wijzig /etc/iscsi/iscsid.conf door en
node.session.timeo.replacement_timeout=5in tenode.startup = automaticstellen. Wijzig het bestand op beide knooppunten.Voer de volgende detectieopdracht uit op beide knooppunten.
iscsiadm -m discovery -t st -p <IP address provided by Service Management>:3260De resultaten geven vier sessies weer.

Voer de volgende opdracht uit op beide knooppunten om u aan te melden bij het iSCSI-apparaat.
iscsiadm -m node -lDe resultaten geven vier sessies weer.

Gebruik de volgende opdracht om het script rescan-scsi-bus.sh opnieuw te scannen. Dit script toont de nieuwe schijven die voor u zijn gemaakt. Voer deze uit op beide knooppunten.
rescan-scsi-bus.shDe resultaten moeten een LUN-getal groter dan nul (bijvoorbeeld: 1, 2, etc.) tonen.

Voer de volgende opdracht uit op beide knooppunten om de apparaatnaam op te halen.
fdisk –lKies in de resultaten het apparaat met een grootte van 178 MiB.

Het SBD-apparaat initialiseren
Gebruik de volgende opdracht om het SBD-apparaat op beide knooppunten te initialiseren.
sbd -d <SBD Device Name> create
Gebruik de volgende opdracht op beide knooppunten om te controleren wat er naar het apparaat is geschreven.
sbd -d <SBD Device Name> dump
Het SUSE HA-cluster configureren
Gebruik de volgende opdracht om te controleren of ha_sles en SAPHanaSR-doc-patronen op beide knooppunten zijn geïnstalleerd. Als ze niet zijn geïnstalleerd, installeert u ze.
zypper in -t pattern ha_sles zypper in SAPHanaSR SAPHanaSR-doc

Stel het cluster in met behulp van de
ha-cluster-initopdracht of de wizard yast2. In dit voorbeeld gebruiken we de wizard yast2. Doe deze stap alleen op het primaire knooppunt.Ga naar yast2 > High Availability > Cluster.

Selecteer In het dialoogvenster dat wordt weergegeven over de installatie van het pakket, de optie Annuleren omdat het pakket moet worden geïnstalleerd.

Selecteer Doorgaan in het dialoogvenster dat wordt weergegeven over doorgaan.

De verwachte waarde is het aantal knooppunten dat is geïmplementeerd (in dit geval 2). Selecteer Next.
Voeg knooppuntnamen toe en selecteer voorgestelde bestanden toevoegen.

Selecteer Csync2 in- of uit.
Selecteer Vooraf gedeelde sleutels genereren.
Selecteer OK in het pop-upbericht dat wordt weergegeven.

De verificatie wordt uitgevoerd met behulp van de IP-adressen en vooraf gedeelde sleutels in Csync2. Het sleutelbestand wordt gegenereerd met
csync2 -k /etc/csync2/key_hagroup.Kopieer het bestand handmatig key_hagroup naar alle leden van het cluster nadat het is gemaakt. Zorg ervoor dat u het bestand van knooppunt1 naar knooppunt2 kopieert. Selecteer vervolgens Volgende.

In de standaardoptie was Opstarten Uit. Wijzig deze in Aan, zodat de Pacemaker-service wordt gestart bij het opstarten. U kunt de keuze maken op basis van uw installatievereisten.

Selecteer Volgende en de clusterconfiguratie is voltooid.
De Softdog Watchdog instellen
Voeg de volgende regel toe aan /etc/init.d/boot.local op beide knooppunten.
modprobe softdog
Gebruik de volgende opdracht om het bestand /etc/sysconfig/sbd op beide knooppunten bij te werken.
SBD_DEVICE="<SBD Device Name>"
Laad de kernelmodule op beide knooppunten door de volgende opdracht uit te voeren.
modprobe softdog
Gebruik de volgende opdracht om ervoor te zorgen dat softdog wordt uitgevoerd op beide knooppunten.
lsmod | grep dog
Gebruik de volgende opdracht om het SBD-apparaat op beide knooppunten te starten.
/usr/share/sbd/sbd.sh start
Gebruik de volgende opdracht om de SBD-daemon op beide knooppunten te testen.
sbd -d <SBD Device Name> listDe resultaten geven twee vermeldingen weer na de configuratie op beide knooppunten.

Verzend het volgende testbericht naar een van uw knooppunten.
sbd -d <SBD Device Name> message <node2> <message>Gebruik op het tweede knooppunt (knooppunt2) de volgende opdracht om de status van het bericht te controleren.
sbd -d <SBD Device Name> list
Als u de SBD-configuratie wilt gebruiken, moet u het bestand /etc/sysconfig/sbd als volgt op beide knooppunten bijwerken.
SBD_DEVICE=" <SBD Device Name>" SBD_WATCHDOG="yes" SBD_PACEMAKER="yes" SBD_STARTMODE="clean" SBD_OPTS=""Gebruik de volgende opdracht om de Pacemaker-service te starten op het primaire knooppunt (knooppunt1).
systemctl start pacemaker
Als de Pacemaker-service uitvalt, bekijkt u de sectie Scenario 5: Pacemaker-service mislukt verder in dit artikel.
Het knooppunt aan het cluster deelnemen
Voer de volgende opdracht uit op knooppunt2 om dat knooppunt lid te laten worden van het cluster.
ha-cluster-join
Als er een foutbericht wordt weergegeven tijdens het samenvoegen van het cluster, zie dan de sectie Scenario 6: Node2 kan niet worden lid van het cluster verderop in dit artikel.
Het cluster valideren
Gebruik de volgende opdrachten om het cluster voor de eerste keer op beide knooppunten te controleren en optioneel te starten.
systemctl status pacemaker systemctl start pacemaker
Voer de volgende opdracht uit om ervoor te zorgen dat beide knooppunten online zijn. U kunt deze uitvoeren op een van de knooppunten van het cluster.
crm_mon
U kunt zich ook aanmelden bij de groep om de clusterstatus te controleren:
https://\<node IP>:7630. De standaardgebruiker is hacluster en het wachtwoord is linux. Indien nodig kunt u het wachtwoord wijzigen met behulp van depasswdopdracht .
Clustereigenschappen en -resources configureren
In deze sectie worden de stappen beschreven voor het configureren van de clusterbronnen. In dit voorbeeld stelt u de volgende resources in. U kunt de rest (indien nodig) configureren door te verwijzen naar de SUSE HA-handleiding.
- Cluster bootstrap
- STONITH-apparaat
- Virtueel IP-adres
De configuratie alleen op het primaire knooppunt.
Maak het cluster bootstrap-bestand en configureer het door de volgende tekst toe te voegen.
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"Gebruik de volgende opdracht om de configuratie toe te voegen aan het cluster.
crm configure load update crm-bs.txt
Configureer het STONITH-apparaat door de resource toe te voegen, het bestand te maken en als volgt tekst toe te voegen.
# vi crm-sbd.txt # enter the following to crm-sbd.txt primitive stonith-sbd stonith:external/sbd \ params pcmk_delay_max="15"Gebruik de volgende opdracht om de configuratie toe te voegen aan het cluster.
crm configure load update crm-sbd.txtVoeg het virtuele IP-adres voor de resource toe door het bestand te maken en de volgende tekst toe te voegen.
# 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"Gebruik de volgende opdracht om de configuratie toe te voegen aan het cluster.
crm configure load update crm-vip.txtGebruik de
crm_monopdracht om de resources te valideren.De resultaten tonen de twee resources.

U kunt ook de status controleren op <node IP address> https://:7630/cib/live/state.

Het failoverproces testen
Als u het failoverproces wilt testen, gebruikt u de volgende opdracht om de Pacemaker-service op knooppunt1 te stoppen.
Service pacemaker stopVoor de resources wordt een fail overgeslagen naar knooppunt2.
Stop de Pacemaker-service op knooppunt2 en voor resources wordt een fail overgeslagen naar knooppunt1.
Dit is de status vóór de failover:

Dit is de status na de failover:


Problemen oplossen
In deze sectie worden foutscenario's beschreven die u tijdens de installatie kunt tegenkomen.
Scenario 1: Clusterknooppunt niet online
Als een van de knooppunten niet online wordt weer geven in Clusterbeheer, kunt u deze procedure proberen om deze online te brengen.
Gebruik de volgende opdracht om de iSCSI-service te starten.
service iscsid startGebruik de volgende opdracht om u aan te melden bij dat iSCSI-knooppunt.
iscsiadm -m node -lDe verwachte uitvoer ziet er als volgende uit:
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.
Scenario 2: Yast2 toont geen grafische weergave
Het grafische yast2-scherm wordt gebruikt om het cluster met hoge beschikbaarheid in te stellen in dit artikel. Als yast2 niet wordt geopend met het grafische venster zoals wordt weergegeven en er een Qt-fout wordt weergegeven, moet u de volgende stappen ondernemen om de vereiste pakketten te installeren. Als deze wordt geopend met het grafische venster, kunt u de stappen overslaan.
Hier is een voorbeeld van de Qt-fout:

Hier is een voorbeeld van de verwachte uitvoer:

Zorg ervoor dat u bent aangemeld als rootgebruiker en dat SMT is ingesteld om de pakketten te downloaden en te installeren.
Ga naar yast > Software > Management-afhankelijkheden > en selecteer aanbevolen pakketten installeren.
Notitie
Voer de stappen uit op beide knooppunten, zodat u vanuit beide knooppunten toegang hebt tot de grafische yast2-weergave.
In de volgende schermopname ziet u het verwachte scherm.

Selecteer onder Afhankelijkheden de optie Aanbevolen pakketten installeren.

Controleer de wijzigingen en selecteer OK.

De installatie van het pakket gaat door.

Selecteer Next.
Wanneer het scherm Installatie is voltooid wordt weergegeven, selecteert u Voltooien.

Gebruik de volgende opdrachten om de libqt4- en libyui-qt-pakketten te installeren.
zypper -n install libqt4
zypper -n install libyui-qt

Yast2 kan nu de grafische weergave openen.

Scenario 3: Yast2 toont niet de optie voor hoge beschikbaarheid
Als u wilt dat de optie voor hoge beschikbaarheid zichtbaar is in het Yast2-beheercentrum, moet u de andere pakketten installeren.
Ga naar Yast2 > Software > Software Management. Selecteer vervolgens Software > Online Update.

Selecteer patronen voor de volgende items. Selecteer vervolgens Accepteren.
- SAP HANA serverbasis
- C/C++ compiler en hulpprogramma's
- Hoge beschikbaarheid
- Basis van SAP-toepassingsserver


Selecteer Doorgaan in de lijst met pakketten die zijn gewijzigd om afhankelijkheden op te lossen.

Selecteer op de pagina Installatiestatus uitvoeren de optie Volgende.

Wanneer de installatie is voltooid, wordt er een installatierapport weergegeven. Selecteer Finish.

Scenario 4: HANA-installatie mislukt met gcc-assemblies-fout
Als de HANA-installatie mislukt, wordt mogelijk de volgende fout weergegeven.

U kunt het probleem oplossen door de bibliotheken libgcc_sl en libstdc++6 te installeren, zoals wordt weergegeven in de volgende schermopname.

Scenario 5: Pacemaker-service mislukt
De volgende informatie wordt weergegeven als de Pacemaker-service niet kan worden starten.
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
Verwijder de volgende regel uit het bestand /usr/lib/systemd/system/fst timer om dit probleem op te lossen:
Persistent=true

Scenario 6: Node2 kan geen lid worden van het cluster
De volgende fout wordt weergegeven als er een probleem is met het samenvoegen van knooppunt2 aan het bestaande cluster via de ha-cluster-join-opdracht.
ERROR: Can’t retrieve SSH keys from <Primary Node>

U kunt dit als volgende oplossen:
Voer de volgende opdrachten uit op beide knooppunten.
ssh-keygen -q -f /root/.ssh/id_rsa -C 'Cluster Internal' -N '' cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

Controleer of knooppunt2 is toegevoegd aan het cluster.

Volgende stappen
Meer informatie over het instellen van SUSE HA vindt u in de volgende artikelen:
- SAP HANA SR Performance Optimized Scenario (SUSE-website)
- Fencing en STONITH (SUSE-website)
- Wees voorbereid op het gebruik van pacemakercluster voor SAP HANA – Deel 1: Basisbeginselen (SAP-blog)
- Wees voorbereid op het gebruik van pacemakercluster voor SAP HANA – Deel 2: Fout van beide knooppunten (SAP-blog)
Meer informatie over het maken van een back-up en herstel op bestandsniveau voor een besturingssysteem: