Konfiguration av hög tillgänglighet i SUSE med hjälp av fäktningsenheten

I den här artikeln går vi igenom stegen för att konfigurera hög tillgänglighet (HA) i STORA HANA-instanser på SUSE-operativsystemet med hjälp av fäktningsenheten.

Anteckning

Den här guiden härleds från att ha testat konfigurationen i miljön stora Microsoft HANA-instanser. Microsoft Service Management-teamet för stora HANA-instanser stöder inte operativsystemet. Om du vill felsöka eller förtydliga operativsystemets lager kontaktar du SUSE.

Microsoft Service Management-teamet har konfigurerat och har fullt stöd för fäktningsenheten. Det kan hjälpa dig att felsöka problem med stängselenheter.

Förutsättningar

Om du vill konfigurera hög tillgänglighet med hjälp av SUSE-klustring måste du:

  • Etablera stora HANA-instanser.
  • Installera och registrera operativsystemet med de senaste korrigeringarna.
  • Anslut HANA Large Instance-servrar till SMT-servern för att hämta korrigeringar och paket.
  • Konfigurera NTP-tidsserver (Network Time Protocol).
  • Läs och förstå den senaste SUSE-dokumentationen om konfiguration av hög tillgänglighet.

Konfigurationsinformation

I den här guiden används följande konfiguration:

  • Operativsystem: SLES 12 SP1 för SAP
  • STORA HANA-instanser: 2xS192 (fyra sockets, 2 TB)
  • HANA-version: HANA 2.0 SP1
  • Servernamn: sapprdhdb95 (node1) och sapprdhdb96 (node2)
  • Fäktningsenhet: iSCSI-baserad
  • NTP på en av noderna för stora HANA-instanser

När du konfigurerar STORA HANA-instanser med HANA-systemreplikering kan du begära att Microsoft Service Management-teamet konfigurerar fäktningsenheten. Gör detta vid tidpunkten för etableringen.

Om du är en befintlig kund med STORA HANA-instanser som redan har etablerats kan du fortfarande konfigurera fäktningsenheten. Ange följande information till Microsoft Service Management-teamet i tjänstbegäransformuläret (SRF). Du kan hämta SRF via den tekniska kontohanteraren eller din Microsoft-kontakt för registrering av stora HANA-instanser.

  • Servernamn och serverns IP-adress (till exempel myhanaserver1 och 10.35.0.1)
  • Plats (till exempel USA, östra)
  • Kundnamn (till exempel Microsoft)
  • HANA-systemidentifierare (SID) (till exempel H11)

När fäktningsenheten har konfigurerats ger Microsoft Service Management-teamet dig SBD-namnet och IP-adressen för iSCSI-lagringen. Du kan använda den här informationen för att konfigurera fäktningskonfigurationen.

Följ stegen i följande avsnitt för att konfigurera HA med hjälp av fäktningsenheten.

Identifiera SBD-enheten

Anteckning

Det här avsnittet gäller endast för befintliga kunder. Om du är en ny kund ger Microsoft Service Management-teamet dig SBD-enhetsnamnet, så hoppa över det här avsnittet.

  1. Ändra /etc/iscsi/initiatorname.isci till:

    iqn.1996-04.de.suse:01:<Tenant><Location><SID><NodeNumber> 
    

    Microsoft Service Management tillhandahåller den här strängen. Ändra filen på båda noderna. Nodnumret är dock olika på varje nod.

    Skärmbild som visar en initiatornamnfil med InitiatorName-värden för en nod.

  2. Ändra /etc/iscsi/iscsid.conf genom att ange node.session.timeo.replacement_timeout=5 och node.startup = automatic. Ändra filen på båda noderna.

  3. Kör följande identifieringskommando på båda noderna.

    iscsiadm -m discovery -t st -p <IP address provided by Service Management>:3260
    

    Resultaten visar fyra sessioner.

    Skärmbild som visar ett konsolfönster med resultatet av identifieringskommandot.

  4. Kör följande kommando på båda noderna för att logga in på iSCSI-enheten.

    iscsiadm -m node -l
    

    Resultaten visar fyra sessioner.

    Skärmbild som visar ett konsolfönster med resultatet av nodkommandot.

  5. Använd följande kommando för att köra rescan-scsi-bus.sh genomsöka skriptet igen. Det här skriptet visar de nya diskar som skapats åt dig. Kör den på båda noderna.

    rescan-scsi-bus.sh
    

    Resultatet bör visa ett LUN-tal som är större än noll (till exempel: 1, 2 och så vidare).

    Skärmbild som visar ett konsolfönster med resultatet av skriptet.

  6. Hämta enhetsnamnet genom att köra följande kommando på båda noderna.

      fdisk –l
    

    I resultatet väljer du enheten med storleken 178 MiB.

    Skärmbild som visar ett konsolfönster med resultatet av f-diskkommandot.

Initiera SBD-enheten

  1. Använd följande kommando för att initiera SBD-enheten på båda noderna.

    sbd -d <SBD Device Name> create
    

    Skärmbild som visar ett konsolfönster med resultatet av kommandot s b d create.

  2. Använd följande kommando på båda noderna för att kontrollera vad som har skrivits till enheten.

    sbd -d <SBD Device Name> dump
    

Konfigurera SUSE HA-klustret

  1. Använd följande kommando för att kontrollera om ha_sles- och SAPHanaSR-doc-mönster är installerade på båda noderna. Installera dem om de inte är installerade.

    zypper in -t pattern ha_sles
    zypper in SAPHanaSR SAPHanaSR-doc
    

    Skärmbild som visar ett konsolfönster med resultatet av mönsterkommandot.

    Skärmbild som visar ett konsolfönster med resultatet av kommandot SAPHanaSR-doc.

  2. Konfigurera klustret med hjälp av kommandot ha-cluster-init eller yast2-guiden. I det här exemplet använder vi yast2-guiden. Gör det här steget endast på den primära noden.

    1. Gå till yast2-kluster>med hög tillgänglighet>.

      Skärmbild som visar YaST Control Center med hög tillgänglighet och kluster valt.

    2. I dialogrutan som visas om hawk-paketinstallationen väljer du Avbryt eftersom halk2-paketet redan är installerat.

      Skärmbild som visar en dialogruta med alternativen Installera och Avbryt.

    3. I dialogrutan som visas om att fortsätta väljer du Fortsätt.

      Skärmbild som visar ett meddelande om att fortsätta utan att installera nödvändiga paket.

    4. Det förväntade värdet är antalet distribuerade noder (i det här fallet 2). Välj Nästa.

    5. Lägg till nodnamn och välj sedan Lägg till föreslagna filer.

      Skärmbild som visar fönstret Konfigurera kluster med listorna Synkroniseringsvärd och Synkroniseringsfil.

    6. Välj Aktivera csync2.

    7. Välj Generera i förväg delade nycklar.

    8. I popup-meddelandet som visas väljer du OK.

      Skärmbild som visar ett meddelande om att nyckeln har genererats.

    9. Autentiseringen utförs med hjälp av IP-adresser och i förväg delade nycklar i Csync2. Nyckelfilen genereras med csync2 -k /etc/csync2/key_hagroup.

      Kopiera filen key_hagroup till alla medlemmar i klustret manuellt när den har skapats. Se till att kopiera filen från node1 till node2. Välj sedan Nästa.

      Skärmbild som visar dialogrutan Konfigurera kluster med de alternativ som krävs för att kopiera nyckeln till alla medlemmar i klustret.

    10. I standardalternativet var startav. Ändra den till så att pacemakertjänsten startas vid start. Du kan göra valet baserat på dina konfigurationskrav.

      Skärmbild som visar fönstret Klustertjänst med Start aktiverat.

    11. Välj Nästa så är klusterkonfigurationen klar.

Konfigurera softdog-vakthunden

  1. Lägg till följande rad i /etc/init.d/boot.localbåda noderna.

    modprobe softdog
    

    Skärmbild som visar en startfil med softdog-raden tillagd.

  2. Använd följande kommando för att uppdatera filen /etc/sysconfig/sbdbåda noderna.

    SBD_DEVICE="<SBD Device Name>"
    

    Skärmbild som visar filen s b d med S B-D_DEVICE tillagt värde.

  3. Läs in kernelmodulen på båda noderna genom att köra följande kommando.

    modprobe softdog
    

    Skärmbild som visar en del av ett konsolfönster med kommandot modprobe softdog.

  4. Använd följande kommando för att säkerställa att softdog körs på båda noderna.

    lsmod | grep dog
    

    Skärmbild som visar en del av ett konsolfönster med resultatet av att köra kommandot l s mod.

  5. Använd följande kommando för att starta SBD-enheten på båda noderna.

    /usr/share/sbd/sbd.sh start
    

    Skärmbild som visar en del av ett konsolfönster med startkommandot.

  6. Använd följande kommando för att testa SBD-daemonen på båda noderna.

    sbd -d <SBD Device Name> list
    

    Resultatet visar två poster efter konfigurationen på båda noderna.

    Skärmbild som visar en del av ett konsolfönster som visar två poster.

  7. Skicka följande testmeddelande till en av dina noder.

    sbd  -d <SBD Device Name> message <node2> <message>
    
  8. På den andra noden (node2) använder du följande kommando för att kontrollera meddelandestatusen.

    sbd  -d <SBD Device Name> list
    

    Skärmbild som visar en del av ett konsolfönster där en av medlemmarna visar ett testvärde för den andra medlemmen.

  9. Om du vill implementera SBD-konfigurationen uppdaterar du filen /etc/sysconfig/sbd på följande sätt på båda noderna.

    SBD_DEVICE=" <SBD Device Name>" 
    SBD_WATCHDOG="yes" 
    SBD_PACEMAKER="yes" 
    SBD_STARTMODE="clean" 
    SBD_OPTS=""
    
  10. Använd följande kommando för att starta pacemakertjänsten på den primära noden (node1).

    systemctl start pacemaker
    

    Skärmbild som visar ett konsolfönster som visar status när pacemakern har startats.

    Om pacemakertjänsten misslyckas kan du läsa avsnittet Scenario 5: Pacemakertjänsten misslyckas senare i den här artikeln.

Anslut noden till klustret

Kör följande kommando på node2 för att låta noden ansluta till klustret.

ha-cluster-join

Om du får ett fel när du ansluter till klustret kan du läsa avsnittet Scenario 6: Node2 kan inte ansluta till klustret senare i den här artikeln.

Verifiera klustret

  1. Använd följande kommandon för att kontrollera och starta klustret för första gången på båda noderna.

    systemctl status pacemaker
    systemctl start pacemaker
    

    Skärmbild som visar ett konsolfönster med statusen pacemaker.

  2. Kör följande kommando för att se till att båda noderna är online. Du kan köra den på någon av noderna i klustret.

    crm_mon
    

    Skärmbild som visar ett konsolfönster med resultatet av kommandot c r m_mon.

    Du kan också logga in på hawk för att kontrollera klusterstatusen: https://\<node IP>:7630. Standardanvändaren är hacluster och lösenordet är linux. Om det behövs kan du ändra lösenordet med hjälp passwd av kommandot .

Konfigurera klusteregenskaper och resurser

I det här avsnittet beskrivs stegen för att konfigurera klusterresurserna. I det här exemplet konfigurerar du följande resurser. Du kan konfigurera resten (om det behövs) genom att referera till SUSE HA-guiden.

  • Bootstrap för kluster
  • Fäktningsenhet
  • Virtuell IP-adress

Utför endast konfigurationen på den primära noden .

  1. Skapa bootstrap-filen för klustret och konfigurera den genom att lägga till följande text.

    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"
    
  2. Använd följande kommando för att lägga till konfigurationen i klustret.

    crm configure load update crm-bs.txt
    

    Skärmbild som visar en del av ett konsolfönster som kör kommandot c r m.

  3. Konfigurera stängselenheten genom att lägga till resursen, skapa filen och lägga till text på följande sätt.

    # vi crm-sbd.txt
    # enter the following to crm-sbd.txt
    primitive stonith-sbd stonith:external/sbd \
    params pcmk_delay_max="15"
    

    Använd följande kommando för att lägga till konfigurationen i klustret.

    crm configure load update crm-sbd.txt
    
  4. Lägg till den virtuella IP-adressen för resursen genom att skapa filen och lägga till följande 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"
    

    Använd följande kommando för att lägga till konfigurationen i klustret.

    crm configure load update crm-vip.txt
    
  5. crm_mon Använd kommandot för att verifiera resurserna.

    Resultaten visar de två resurserna.

    Skärmbild som visar ett konsolfönster med två resurser.

    Du kan också kontrollera statusen på https://< nodens IP-adress>:7630/cib/live/state.

    Skärmbild som visar status för de två resurserna.

Testa redundansväxlingsprocessen

  1. Om du vill testa redundansväxlingen använder du följande kommando för att stoppa pacemakertjänsten på node1.

    Service pacemaker stop
    

    Resurserna redundansväxlar till node2.

  2. Stoppa pacemakertjänsten på node2 och resurser redundansväxlar till node1.

    Här är statusen före redundansväxlingen:
    Skärmbild som visar status för de två resurserna före redundansväxlingen.

    Här är statusen efter redundansväxlingen:
    Skärmbild som visar status för de två resurserna efter redundansväxlingen.

    Skärmbild som visar ett konsolfönster med status för resurser efter redundansväxling.

Felsökning

I det här avsnittet beskrivs felscenarier som du kan stöta på under installationen.

Scenario 1: Klusternoden är inte online

Om någon av noderna inte visas online i Klusterhanteraren kan du prova den här proceduren för att ta den online.

  1. Använd följande kommando för att starta iSCSI-tjänsten.

    service iscsid start
    
  2. Använd följande kommando för att logga in på den iSCSI-noden.

    iscsiadm -m node -l
    

    Förväntade utdata ser ut så här:

    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 visar inte grafisk vy

Den grafiska skärmen yast2 används för att konfigurera klustret med hög tillgänglighet i den här artikeln. Om yast2 inte öppnas med det grafiska fönstret som det visas, och det utlöser ett Qt-fel, utför du följande steg för att installera de nödvändiga paketen. Om den öppnas med det grafiska fönstret kan du hoppa över stegen.

Här är ett exempel på Qt-felet:

Skärmbild som visar en del av ett konsolfönster med ett felmeddelande.

Här är ett exempel på förväntade utdata:

Skärmbild som visar YaST Control Center med hög tillgänglighet och kluster markerat.

  1. Kontrollera att du är inloggad som användarens "rot" och att SMT har konfigurerats för att ladda ned och installera paketen.

  2. Gå till yast>Software>Software Management>Dependencies och välj sedan Installera rekommenderade paket.

    Anteckning

    Utför stegen på båda noderna så att du kan komma åt den grafiska vyn yast2 från båda noderna.

    Följande skärmbild visar den förväntade skärmen.

    Skärmbild som visar ett konsolfönster som visar YaST Control Center.

  3. Under Beroenden väljer du Installera rekommenderade paket.

    Skärmbild som visar ett konsolfönster med Installera rekommenderade paket valt.

  4. Granska ändringarna och välj OK.

    Skärmbild som visar ett konsolfönster med en lista över paket som har valts för installation.

    Paketinstallationen fortsätter.

    Skärmbild som visar ett konsolfönster som visar förloppet för installationen.

  5. Välj Nästa.

  6. När skärmen Installationen är klar visas väljer du Slutför.

    Skärmbild som visar ett konsolfönster med ett meddelande om att åtgärden lyckades.

  7. Använd följande kommandon för att installera paketen libqt4 och libyui-qt.

    zypper -n install libqt4
    

    Skärmbild som visar ett konsolfönster som installerar det första paketet.

    zypper -n install libyui-qt
    

    Skärmbild som visar ett konsolfönster som installerar det andra paketet.

    Skärmbild som visar ett konsolfönster där det andra paketet installeras, fortsatte.

    Yast2 kan nu öppna den grafiska vyn.

    Skärmbild som visar YaST Control Center med Programvara och Onlineuppdatering valt.

Scenario 3: Yast2 visar inte alternativet för hög tillgänglighet

För att alternativet med hög tillgänglighet ska vara synligt i yast2-kontrollcentret måste du installera de andra paketen.

  1. Gå till Yast2>Software>Software Management. Välj sedan Programuppdatering>online.

    Skärmbild som visar YaST Control Center med Programvara och Onlineuppdatering valt.

  2. Välj mönster för följande objekt. Välj sedan Acceptera.

    • SAP HANA-serverbas
    • C/C++-kompilator och verktyg
    • Hög tillgänglighet
    • SAP-programserverbas

    Skärmbild som visar hur du väljer det första mönstret i objektet för kompilator och verktyg.

    Skärmbild som visar hur du väljer det andra mönstret i objektet för kompilator och verktyg.

  3. I listan över paket som har ändrats för att lösa beroenden väljer du Fortsätt.

    Skärmbild som visar dialogrutan Ändrade paket med paket ändrade för att lösa beroenden.

  4. På sidan Installationsstatus väljer du Nästa.

    Skärmbild som visar sidan Utför installationsstatus.

  5. När installationen är klar visas en installationsrapport. Välj Slutför.

    Skärmbild som visar installationsrapporten.

Scenario 4: HANA-installationen misslyckas med gcc-sammansättningar

Om HANA-installationen misslyckas kan du få följande fel.

Skärmbild som visar ett felmeddelande om att operativsystemet inte är redo att utföra g c c 5 sammansättningar.

Åtgärda problemet genom att installera biblioteken libgcc_sl och libstdc++6 enligt följande skärmbild.

Skärmbild som visar ett konsolfönster som installerar nödvändiga bibliotek.

Scenario 5: Pacemakertjänsten misslyckas

Följande information visas om pacemakertjänsten inte kan starta.

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

Åtgärda problemet genom att ta bort följande rad från filen /usr/lib/systemd/system/fstrim.timer:

Persistent=true

Skärmbild som visar trimningsfilen f s med värdet Persistent=true som ska tas bort.

Scenario 6: Node2 kan inte ansluta till klustret

Följande fel visas om det finns ett problem med att ansluta node2 till det befintliga klustret via kommandot ha-cluster-join .

ERROR: Can’t retrieve SSH keys from <Primary Node>

Skärmbild som visar ett konsolfönster med ett felmeddelande om att S S H-nycklar inte kan hämtas från en viss I P-adress.

Så här åtgärdar du det:

  1. Kör följande kommandon på båda noderna.

    ssh-keygen -q -f /root/.ssh/id_rsa -C 'Cluster Internal' -N ''
    cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
    

    Skärmbild som visar en del av ett konsolfönster som kör kommandot på den första noden.

    Skärmbild som visar en del av ett konsolfönster som kör kommandot på den andra noden.

  2. Bekräfta att node2 har lagts till i klustret.

    Skärmbild som visar ett konsolfönster med ett lyckat kopplingskommando.

Nästa steg

Mer information om konfiguration av SUSE HA finns i följande artiklar: