Pacemaker instellen op SUSE Linux Enterprise Server in Azure
Er zijn twee opties voor het instellen van een Pacemaker-cluster in Azure. U kunt een fencing-agent gebruiken, die zorgt voor het opnieuw opstarten van een mislukt knooppunt via de Azure-API's of u kunt een SBD-apparaat gebruiken.
Het SBD-apparaat vereist ten minste één extra virtuele machine die fungeert als een iSCSI-doelserver en een SBD-apparaat levert. Deze iSCSI-doelservers kunnen echter worden gedeeld met andere Pacemaker-clusters. Het voordeel van het gebruik van een SBD-apparaat is dat als u al on-premises SBD-apparaten gebruikt, er geen wijzigingen nodig zijn in de manier waarop u het Pacemaker-cluster gebruikt. U kunt maximaal drie SBD-apparaten gebruiken voor een Pacemaker-cluster zodat een SBD-apparaat niet meer beschikbaar is, bijvoorbeeld tijdens het patchen van het besturingssysteem van de iSCSI-doelserver. Als u meer dan één SBD-apparaat per Pacemaker wilt gebruiken, implementeert u meerdere iSCSI-doelservers en verbindt u één SBD vanaf elke iSCSI-doelserver. U wordt aangeraden één of drie SBD-apparaten te gebruiken. Pacemaker kan een clusterknooppunt niet automatisch omhein als u slechts twee SBD-apparaten configureert en een ervan niet beschikbaar is. Als u wilt kunnen fencen wanneer één iSCSI-doelserver niet beschikbaar is, moet u drie SBD-apparaten en dus drie iSCSI-doelservers gebruiken. Dit is de meest flexibele configuratie bij het gebruik van SBD's.
Voor de Azure Fence-agent is het niet nodig om extra virtuele machines te implementeren.

Belangrijk
Bij het plannen en implementeren van geclusterde Linux Pacemaker-knooppunten en SBD-apparaten is het essentieel voor de algehele betrouwbaarheid van de volledige clusterconfiguratie dat de routering tussen de betrokken VM's en de VM('s) die als host voor de SBD-apparaten worden gebruikt, niet wordt doorgelaten via andere apparaten, zoals NNA's. Anders kunnen problemen en onderhoudsgebeurtenissen met de NVA een negatieve invloed hebben op de stabiliteit en betrouwbaarheid van de algehele clusterconfiguratie. Als u dergelijke obstakels wilt voorkomen, definieert u geen routeringsregels van N NVA's of door de gebruiker gedefinieerde routeringsregels die verkeer routeren tussen geclusterde knooppunten en SBD-apparaten via N NVA's en vergelijkbare apparaten bij het plannen en implementeren van geclusterde Linux Pacemaker-knooppunten en SBD-apparaten.
SBD-fencing
Volg deze stappen als u een SBD-apparaat wilt gebruiken voor fencing.
iSCSI-doelservers instellen
U moet eerst de virtuele iSCSI-doelmachines maken. iSCSI-doelservers kunnen worden gedeeld met meerdere Pacemaker-clusters.
- Implementeer nieuwe virtuele machines van SLES 12 SP1 of hoger en maak er verbinding mee via ssh. De machines hoeven niet groot te zijn. Een grootte van een virtuele machine Standard_E2s_v3 of Standard_D2s_v3 is voldoende. Zorg ervoor dat u Premium de besturingssysteemschijf.
Voer de volgende opdrachten uit op alle virtuele iSCSI-doelmachines.
SLES bijwerken
sudo zypper updateNotitie
Mogelijk moet u het besturingssysteem opnieuw opstarten nadat u het besturingssysteem hebt bijgewerkt of bijgewerkt.
Pakketten verwijderen
Verwijder de volgende pakketten om een bekend probleem met targetcli en SLES 12 SP3 te voorkomen. U kunt fouten over pakketten negeren die niet kunnen worden gevonden
sudo zypper remove lio-utils python-rtslib python-configshell targetcliiSCSI-doelpakketten installeren
sudo zypper install targetcli-fb dbus-1-pythonDe iSCSI-doelservice inschakelen
sudo systemctl enable targetcli sudo systemctl start targetcli
iSCSI-apparaat maken op iSCSI-doelserver
Voer de volgende opdrachten uit op alle virtuele iSCSI-doelmachines om de iSCSI-schijven te maken voor de clusters die worden gebruikt door uw SAP-systemen. In het volgende voorbeeld worden SBD-apparaten voor meerdere clusters gemaakt. U ziet hoe u één iSCSI-doelserver gebruikt voor meerdere clusters. De SBD-apparaten worden op de besturingssysteemschijf geplaatst. Zorg ervoor dat u voldoende ruimte hebt.
nfs wordt gebruikt om het NFS-cluster te identificeren. ascsnw1 wordt gebruikt om het ASCS-cluster van NW1 te identificeren, dbnw1 wordt gebruikt om het databasecluster van NW1 te identificeren, nfs-0 en nfs-1 zijn de hostnamen van de NFS-clusterknooppunten, nw1-xscs-0 en nw1-xscs-1 zijn de hostnamen van de NW1 ASCS-clusterknooppunten en nw1-db-0 en nw1-db-1 zijn de hostnamen van de databaseclusterknooppunten. Vervang deze door de hostnamen van uw clusterknooppunten en de SID van uw SAP-systeem.
# Create the root folder for all SBD devices
sudo mkdir /sbd
# Create the SBD device for the NFS server
sudo targetcli backstores/fileio create sbdnfs /sbd/sbdnfs 50M write_back=false
sudo targetcli iscsi/ create iqn.2006-04.nfs.local:nfs
sudo targetcli iscsi/iqn.2006-04.nfs.local:nfs/tpg1/luns/ create /backstores/fileio/sbdnfs
sudo targetcli iscsi/iqn.2006-04.nfs.local:nfs/tpg1/acls/ create iqn.2006-04.nfs-0.local:nfs-0
sudo targetcli iscsi/iqn.2006-04.nfs.local:nfs/tpg1/acls/ create iqn.2006-04.nfs-1.local:nfs-1
# Create the SBD device for the ASCS server of SAP System NW1
sudo targetcli backstores/fileio create sbdascsnw1 /sbd/sbdascsnw1 50M write_back=false
sudo targetcli iscsi/ create iqn.2006-04.ascsnw1.local:ascsnw1
sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/luns/ create /backstores/fileio/sbdascsnw1
sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/acls/ create iqn.2006-04.nw1-xscs-0.local:nw1-xscs-0
sudo targetcli iscsi/iqn.2006-04.ascsnw1.local:ascsnw1/tpg1/acls/ create iqn.2006-04.nw1-xscs-1.local:nw1-xscs-1
# Create the SBD device for the database cluster of SAP System NW1
sudo targetcli backstores/fileio create sbddbnw1 /sbd/sbddbnw1 50M write_back=false
sudo targetcli iscsi/ create iqn.2006-04.dbnw1.local:dbnw1
sudo targetcli iscsi/iqn.2006-04.dbnw1.local:dbnw1/tpg1/luns/ create /backstores/fileio/sbddbnw1
sudo targetcli iscsi/iqn.2006-04.dbnw1.local:dbnw1/tpg1/acls/ create iqn.2006-04.nw1-db-0.local:nw1-db-0
sudo targetcli iscsi/iqn.2006-04.dbnw1.local:dbnw1/tpg1/acls/ create iqn.2006-04.nw1-db-1.local:nw1-db-1
# save the targetcli changes
sudo targetcli saveconfig
U kunt controleren of alles juist is ingesteld met
sudo targetcli ls
o- / .......................................................................................................... [...]
o- backstores ............................................................................................... [...]
| o- block ................................................................................... [Storage Objects: 0]
| o- fileio .................................................................................. [Storage Objects: 3]
| | o- sbdascsnw1 ................................................ [/sbd/sbdascsnw1 (50.0MiB) write-thru activated]
| | | o- alua .................................................................................... [ALUA Groups: 1]
| | | o- default_tg_pt_gp ........................................................ [ALUA state: Active/optimized]
| | o- sbddbnw1 .................................................... [/sbd/sbddbnw1 (50.0MiB) write-thru activated]
| | | o- alua .................................................................................... [ALUA Groups: 1]
| | | o- default_tg_pt_gp ........................................................ [ALUA state: Active/optimized]
| | o- sbdnfs ........................................................ [/sbd/sbdnfs (50.0MiB) write-thru activated]
| | o- alua .................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ........................................................ [ALUA state: Active/optimized]
| o- pscsi ................................................................................... [Storage Objects: 0]
| o- ramdisk ................................................................................. [Storage Objects: 0]
o- iscsi ............................................................................................. [Targets: 3]
| o- iqn.2006-04.ascsnw1.local:ascsnw1 .................................................................. [TPGs: 1]
| | o- tpg1 ................................................................................ [no-gen-acls, no-auth]
| | o- acls ........................................................................................... [ACLs: 2]
| | | o- iqn.2006-04.nw1-xscs-0.local:nw1-xscs-0 ............................................... [Mapped LUNs: 1]
| | | | o- mapped_lun0 ............................................................ [lun0 fileio/sbdascsnw1 (rw)]
| | | o- iqn.2006-04.nw1-xscs-1.local:nw1-xscs-1 ............................................... [Mapped LUNs: 1]
| | | o- mapped_lun0 ............................................................ [lun0 fileio/sbdascsnw1 (rw)]
| | o- luns ........................................................................................... [LUNs: 1]
| | | o- lun0 .......................................... [fileio/sbdascsnw1 (/sbd/sbdascsnw1) (default_tg_pt_gp)]
| | o- portals ..................................................................................... [Portals: 1]
| | o- 0.0.0.0:3260 ...................................................................................... [OK]
| o- iqn.2006-04.dbnw1.local:dbnw1 ...................................................................... [TPGs: 1]
| | o- tpg1 ................................................................................ [no-gen-acls, no-auth]
| | o- acls ........................................................................................... [ACLs: 2]
| | | o- iqn.2006-04.nw1-db-0.local:nw1-db-0 ................................................... [Mapped LUNs: 1]
| | | | o- mapped_lun0 .............................................................. [lun0 fileio/sbddbnw1 (rw)]
| | | o- iqn.2006-04.nw1-db-1.local:nw1-db-1 ................................................... [Mapped LUNs: 1]
| | | o- mapped_lun0 .............................................................. [lun0 fileio/sbddbnw1 (rw)]
| | o- luns ........................................................................................... [LUNs: 1]
| | | o- lun0 .............................................. [fileio/sbddbnw1 (/sbd/sbddbnw1) (default_tg_pt_gp)]
| | o- portals ..................................................................................... [Portals: 1]
| | o- 0.0.0.0:3260 ...................................................................................... [OK]
| o- iqn.2006-04.nfs.local:nfs .......................................................................... [TPGs: 1]
| o- tpg1 ................................................................................ [no-gen-acls, no-auth]
| o- acls ........................................................................................... [ACLs: 2]
| | o- iqn.2006-04.nfs-0.local:nfs-0 ......................................................... [Mapped LUNs: 1]
| | | o- mapped_lun0 ................................................................ [lun0 fileio/sbdnfs (rw)]
| | o- iqn.2006-04.nfs-1.local:nfs-1 ......................................................... [Mapped LUNs: 1]
| | o- mapped_lun0 ................................................................ [lun0 fileio/sbdnfs (rw)]
| o- luns ........................................................................................... [LUNs: 1]
| | o- lun0 .................................................. [fileio/sbdnfs (/sbd/sbdnfs) (default_tg_pt_gp)]
| o- portals ..................................................................................... [Portals: 1]
| o- 0.0.0.0:3260 ...................................................................................... [OK]
o- loopback .......................................................................................... [Targets: 0]
o- vhost ............................................................................................. [Targets: 0]
o- xen-pvscsi ........................................................................................ [Targets: 0]
SBD-apparaat instellen
Verbinding maken het iSCSI-apparaat dat in de laatste stap vanuit het cluster is gemaakt. Voer de volgende opdrachten uit op de knooppunten van het nieuwe cluster dat u wilt maken. De volgende items hebben het voorvoegsel [A] - van toepassing op alle knooppunten, [1] - alleen van toepassing op knooppunt 1 of [2] - alleen van toepassing op knooppunt 2.
[A] Verbinding maken iSCSI-apparaten
Schakel eerst de iSCSI- en SBD-services in.
sudo systemctl enable iscsid sudo systemctl enable iscsi sudo systemctl enable sbd[1] Wijzig de naam van de initiator op het eerste knooppunt
sudo vi /etc/iscsi/initiatorname.iscsiWijzig de inhoud van het bestand zo dat deze overeenkomen met de ACL's die u hebt gebruikt bij het maken van het iSCSI-apparaat op de iSCSI-doelserver, bijvoorbeeld voor de NFS-server.
InitiatorName=iqn.2006-04.nfs-0.local:nfs-0[2] Wijzig de naam van de initiator op het tweede knooppunt
sudo vi /etc/iscsi/initiatorname.iscsiWijzig de inhoud van het bestand zo dat deze overeenkomen met de ACL's die u hebt gebruikt bij het maken van het iSCSI-apparaat op de iSCSI-doelserver
InitiatorName=iqn.2006-04.nfs-1.local:nfs-1[A] Start de iSCSI-service opnieuw
Start nu de iSCSI-service opnieuw om de wijziging toe te passen
sudo systemctl restart iscsid sudo systemctl restart iscsiVerbinding maken de iSCSI-apparaten. In het onderstaande voorbeeld is 10.0.0.17 het IP-adres van de iSCSI-doelserver en is 3260 de standaardpoort. iqn.2006-04.nfs.local:nfs is een van de doelnamen die wordt weergegeven wanneer u de eerste opdracht hieronder (iscsiadm -m discovery) hebt uitgevoerd.
sudo iscsiadm -m discovery --type=st --portal=10.0.0.17:3260 sudo iscsiadm -m node -T iqn.2006-04.nfs.local:nfs --login --portal=10.0.0.17:3260 sudo iscsiadm -m node -p 10.0.0.17:3260 -T iqn.2006-04.nfs.local:nfs --op=update --name=node.startup --value=automatic # If you want to use multiple SBD devices, also connect to the second iSCSI target server sudo iscsiadm -m discovery --type=st --portal=10.0.0.18:3260 sudo iscsiadm -m node -T iqn.2006-04.nfs.local:nfs --login --portal=10.0.0.18:3260 sudo iscsiadm -m node -p 10.0.0.18:3260 -T iqn.2006-04.nfs.local:nfs --op=update --name=node.startup --value=automatic # If you want to use multiple SBD devices, also connect to the third iSCSI target server sudo iscsiadm -m discovery --type=st --portal=10.0.0.19:3260 sudo iscsiadm -m node -T iqn.2006-04.nfs.local:nfs --login --portal=10.0.0.19:3260 sudo iscsiadm -m node -p 10.0.0.19:3260 -T iqn.2006-04.nfs.local:nfs --op=update --name=node.startup --value=automaticZorg ervoor dat de iSCSI-apparaten beschikbaar zijn en noteer de apparaatnaam (in het volgende voorbeeld /dev/sde)
lsscsi # [2:0:0:0] disk Msft Virtual Disk 1.0 /dev/sda # [3:0:1:0] disk Msft Virtual Disk 1.0 /dev/sdb # [5:0:0:0] disk Msft Virtual Disk 1.0 /dev/sdc # [5:0:0:1] disk Msft Virtual Disk 1.0 /dev/sdd # [6:0:0:0] disk LIO-ORG sbdnfs 4.0 /dev/sdd # [7:0:0:0] disk LIO-ORG sbdnfs 4.0 /dev/sde # [8:0:0:0] disk LIO-ORG sbdnfs 4.0 /dev/sdfHaal nu de ID's van de iSCSI-apparaten op.
ls -l /dev/disk/by-id/scsi-* | grep sdd # lrwxrwxrwx 1 root root 9 Aug 9 13:20 /dev/disk/by-id/scsi-1LIO-ORG_sbdnfs:afb0ba8d-3a3c-413b-8cc2-cca03e63ef42 -> ../../sdd # lrwxrwxrwx 1 root root 9 Aug 9 13:20 /dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03 -> ../../sdd # lrwxrwxrwx 1 root root 9 Aug 9 13:20 /dev/disk/by-id/scsi-SLIO-ORG_sbdnfs_afb0ba8d-3a3c-413b-8cc2-cca03e63ef42 -> ../../sdd ls -l /dev/disk/by-id/scsi-* | grep sde # lrwxrwxrwx 1 root root 9 Feb 7 12:39 /dev/disk/by-id/scsi-1LIO-ORG_cl1:3fe4da37-1a5a-4bb6-9a41-9a4df57770e4 -> ../../sde # lrwxrwxrwx 1 root root 9 Feb 7 12:39 /dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df -> ../../sde # lrwxrwxrwx 1 root root 9 Feb 7 12:39 /dev/disk/by-id/scsi-SLIO-ORG_cl1_3fe4da37-1a5a-4bb6-9a41-9a4df57770e4 -> ../../sde ls -l /dev/disk/by-id/scsi-* | grep sdf # lrwxrwxrwx 1 root root 9 Aug 9 13:32 /dev/disk/by-id/scsi-1LIO-ORG_sbdnfs:f88f30e7-c968-4678-bc87-fe7bfcbdb625 -> ../../sdf # lrwxrwxrwx 1 root root 9 Aug 9 13:32 /dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf -> ../../sdf # lrwxrwxrwx 1 root root 9 Aug 9 13:32 /dev/disk/by-id/scsi-SLIO-ORG_sbdnfs_f88f30e7-c968-4678-bc87-fe7bfcbdb625 -> ../../sdfDe opdracht vermeldt drie apparaat-ID's voor elk SBD-apparaat. We raden u aan de id te gebruiken die begint met scsi-3. In het bovenstaande voorbeeld is dit
- /dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2en3
- /dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df
- /dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf
[1] Het SBD-apparaat maken
Gebruik de apparaat-id van de iSCSI-apparaten om de nieuwe SBD-apparaten te maken op het eerste clusterknooppunt.
sudo sbd -d /dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03 -1 60 -4 120 create # Also create the second and third SBD devices if you want to use more than one. sudo sbd -d /dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df -1 60 -4 120 create sudo sbd -d /dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf -1 60 -4 120 create[A] De SBD-configuratie aanpassen
Open het configuratiebestand SBD
sudo vi /etc/sysconfig/sbdWijzig de eigenschap van het SBD-apparaat, schakel de pacemaker-integratie in en wijzig de startmodus van SBD.
[...] SBD_DEVICE="/dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03;/dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df;/dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf" [...] SBD_PACEMAKER="yes" [...] SBD_STARTMODE="always" [...]Het
softdogconfiguratiebestand makenecho softdog | sudo tee /etc/modules-load.d/softdog.confLaad nu de module
sudo modprobe -v softdog
Clusterinstallatie
De volgende items hebben het voorvoegsel [A] - van toepassing op alle knooppunten, [1] - alleen van toepassing op knooppunt 1 of [2] - alleen van toepassing op knooppunt 2.
[A] SLES bijwerken
sudo zypper update[A] Onderdeel installeren, nodig voor clusterbronnen
sudo zypper in socat[A] Azure-lb-onderdeel installeren, nodig voor clusterbronnen
sudo zypper in resource-agentsNotitie
Controleer de versie van pakketresourceagents en zorg ervoor dat aan de minimale versievereisten wordt voldaan:
- Voor SLES 12 SP4/SP5 moet de versie ten minste resource-agents-4.3.018.a7fb5035-3.30.1 zijn.
- Voor SLES 15/15 SP1 moet de versie ten minste resource-agents-4.3.0184.6ee15eb2-4.13.1 zijn.
[A] Het besturingssysteem configureren
In sommige gevallen maakt Pacemaker veel processen en is het toegestane aantal processen daarmee uitputtend. In dat geval kan een heartbeat tussen de clusterknooppunten mislukken en leiden tot failover van uw resources. U wordt aangeraden de maximaal toegestane processen te verhogen door de volgende parameter in te stellen.
# Edit the configuration file sudo vi /etc/systemd/system.conf # Change the DefaultTasksMax #DefaultTasksMax=512 DefaultTasksMax=4096 #and to activate this setting sudo systemctl daemon-reload # test if the change was successful sudo systemctl --no-pager show | grep DefaultTasksMaxVerklein de grootte van de vervuilde cache. Zie Low write performance on SLES 11/12 servers with large RAM (Lage schrijfprestaties op SLES 11/12-servers met grote RAM-geheugen) voor meer informatie.
sudo vi /etc/sysctl.conf # Change/set the following settings vm.dirty_bytes = 629145600 vm.dirty_background_bytes = 314572800[A] Cloud-netconfig-azure configureren voor ha-cluster
Notitie
Controleer de geïnstalleerde versie van het pakket cloud-netconfig-azure door zypper info cloud-netconfig-azure uit te geven. Als de versie in uw omgeving 1.3 of hoger is, is het niet meer nodig om het beheer van netwerkinterfaces te onderdrukken door de cloudnetwerkinvoeging. Als de versie lager is dan 1.3, raden we u aan het pakket cloud-netconfig-azure bij te werken naar de nieuwste beschikbare versie.
Wijzig het configuratiebestand voor de netwerkinterface zoals hieronder wordt weergegeven om te voorkomen dat de cloudnetwerkinvoegserver het virtuele IP-adres verwijdert (Pacemaker moet de VIP-toewijzing bepalen). Zie SUSE KB-7023633voor meer informatie.
# Edit the configuration file sudo vi /etc/sysconfig/network/ifcfg-eth0 # Change CLOUD_NETCONFIG_MANAGE # CLOUD_NETCONFIG_MANAGE="yes" CLOUD_NETCONFIG_MANAGE="no"[1] SSH-toegang inschakelen
sudo ssh-keygen # Enter file in which to save the key (/root/.ssh/id_rsa): -> Press ENTER # Enter passphrase (empty for no passphrase): -> Press ENTER # Enter same passphrase again: -> Press ENTER # copy the public key sudo cat /root/.ssh/id_rsa.pub[2] SSH-toegang inschakelen
sudo ssh-keygen # Enter file in which to save the key (/root/.ssh/id_rsa): -> Press ENTER # Enter passphrase (empty for no passphrase): -> Press ENTER # Enter same passphrase again: -> Press ENTER # insert the public key you copied in the last step into the authorized keys file on the second server sudo vi /root/.ssh/authorized_keys # copy the public key sudo cat /root/.ssh/id_rsa.pub[1] SSH-toegang inschakelen
# insert the public key you copied in the last step into the authorized keys file on the first server sudo vi /root/.ssh/authorized_keys[A] Install Fence agents package, if using STONITH device, based on Azure Fence Agent.
sudo zypper install fence-agentsBelangrijk
De geïnstalleerde versie van pakket fence-agents moet ten minste 4.4.0 zijn om te profiteren van de snellere failover-tijden met Azure Fence Agent, als een clusterknooppunten moeten worden omheind. U wordt aangeraden het pakket bij te werken als u een lagere versie hebt.
[A] Azure Python SDK installeren
- Op SLES 12 SP4 of SLES 12 SP5
# You may need to activate the Public cloud extention first SUSEConnect -p sle-module-public-cloud/12/x86_64 sudo zypper install python-azure-mgmt-compute- Op SLES 15 en hoger
# You may need to activate the Public cloud extention first. In this example the SUSEConnect command is for SLES 15 SP1 SUSEConnect -p sle-module-public-cloud/15.1/x86_64 sudo zypper install python3-azure-mgmt-computeBelangrijk
Afhankelijk van uw versie en afbeeldingstype moet u mogelijk de openbare cloudextensie voor uw besturingssysteemre release activeren voordat u Azure Python SDK kunt installeren. U kunt de extensie controleren door SUSEConnect uit te ---list-extensions.
Voor het bereiken van de snellere failovertijden met Azure Fence Agent:- op SLES 12 SP4 of SLES 12 SP5 installeert u versie 4.6.2 of hoger van pakket python-azure-mgmt-compute
- installeer op SLES 15.X versie 4.6.2 van pakket python 3-azure-mgmt-compute, maar niet hoger. Vermijd versie 17.0.0-6.7.1 van pakket python 3-azure-mgmt-compute, omdat deze wijzigingen bevat die niet compatibel zijn met Azure Fence Agent
[A] Hostnaamresolutie instellen
U kunt een DNS-server gebruiken of de /etc/hosts op alle knooppunten wijzigen. In dit voorbeeld ziet u hoe u het bestand /etc/hosts gebruikt. Vervang het IP-adres en de hostnaam in de volgende opdrachten.
Belangrijk
Als u hostnamen gebruikt in de clusterconfiguratie, is het essentieel om een betrouwbare hostnaamresolutie te hebben. De clustercommunicatie mislukt als de namen niet beschikbaar zijn en dit kan leiden tot vertragingen bij de failover van het cluster. Het voordeel van het gebruik van /etc/hosts is dat uw cluster onafhankelijk wordt van DNS, wat ook een single point of failures kan zijn.
sudo vi /etc/hostsVoeg de volgende regels toe aan /etc/hosts. Wijzig het IP-adres en de hostnaam in uw omgeving
# IP address of the first cluster node 10.0.0.6 prod-cl1-0 # IP address of the second cluster node 10.0.0.7 prod-cl1-1[1] Cluster installeren
bij gebruik van SBD-apparaten voor fencing
sudo ha-cluster-init -u # ! NTP is not configured to start at system boot. # Do you want to continue anyway (y/n)? y # /root/.ssh/id_rsa already exists - overwrite (y/n)? n # Address for ring0 [10.0.0.6] Press ENTER # Port for ring0 [5405] Press ENTER # SBD is already configured to use /dev/disk/by-id/scsi-36001405639245768818458b930abdf69;/dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03;/dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf - overwrite (y/n)? n # Do you wish to configure an administration IP (y/n)? nals u geen SBD-apparaten gebruikt voor fencing
sudo ha-cluster-init -u # ! NTP is not configured to start at system boot. # Do you want to continue anyway (y/n)? y # /root/.ssh/id_rsa already exists - overwrite (y/n)? n # Address for ring0 [10.0.0.6] Press ENTER # Port for ring0 [5405] Press ENTER # Do you wish to use SBD (y/n)? n #WARNING: Not configuring SBD - STONITH will be disabled. # Do you wish to configure an administration IP (y/n)? n
[2] Knooppunt toevoegen aan cluster
sudo ha-cluster-join # ! NTP is not configured to start at system boot. # Do you want to continue anyway (y/n)? y # IP address or hostname of existing node (e.g.: 192.168.1.1) []10.0.0.6 # /root/.ssh/id_rsa already exists - overwrite (y/n)? n[A] Wijzig het hacluster-wachtwoord in hetzelfde wachtwoord
sudo passwd hacluster[A] Corosync-instellingen aanpassen.
sudo vi /etc/corosync/corosync.confVoeg de volgende vetgedrukte inhoud toe aan het bestand als de waarden er niet of anders zijn. Zorg ervoor dat u het token wijzigt in 30000 om onderhoud met geheugenbehoud toe te staan. Zie dit artikel voor Linux of Windows voor meer informatie.
[...] token: 30000 token_retransmits_before_loss_const: 10 join: 60 consensus: 36000 max_messages: 20 interface { [...] } transport: udpu } nodelist { node { ring0_addr:10.0.0.6 } node { ring0_addr:10.0.0.7 } } logging { [...] } quorum { # Enable and configure quorum subsystem (default: off) # see also corosync.conf.5 and votequorum.5 provider: corosync_votequorum expected_votes: 2 two_node: 1 }Start vervolgens de corosync-service opnieuw
sudo service corosync restart
Standaard pacemaker-configuratie voor SBD
De configuratie in deze sectie is alleen van toepassing als U SBD STONITH gebruikt.
- [1] Schakel het gebruik van een STONITH-apparaat in en stel de fence-vertraging in
sudo crm configure property stonith-timeout=144
sudo crm configure property stonith-enabled=true
# List the resources to find the name of the SBD device
sudo crm resource list
sudo crm resource stop stonith-sbd
sudo crm configure delete stonith-sbd
sudo crm configure primitive stonith-sbd stonith:external/sbd \
params pcmk_delay_max="15" \
op monitor interval="15" timeout="15"
StoNITH-apparaat voor Azure Fence-agent maken
Deze sectie van de documentatie is alleen van toepassing als STONITH wordt gebruikt op basis van de Azure Fence-agent. Het STONITH-apparaat gebruikt een service-principal om te autoreren tegen Microsoft Azure. Volg deze stappen om een service-principal te maken.
- Ga naar https://portal.azure.com
- Open de Azure Active Directory blade
Ga naar Eigenschappen en noteer de map-id. Dit is de tenant-id. - Klik op App-registraties
- Klik op Nieuwe registratie
- Voer een naam in, selecteer 'Alleen accounts in deze organisatiemap'
- Selecteer Toepassingstype 'Web', voer een aanmeldings-URL in (bijvoorbeeld http: / /localhost) en klik op Toevoegen
De aanmeldings-URL wordt niet gebruikt en kan een geldige URL zijn - Selecteer Certificaten en geheimen en klik vervolgens op Nieuw clientgeheim
- Voer een beschrijving in voor een nieuwe sleutel, selecteer 'Verloopt nooit' en klik op Toevoegen
- Noteert u de Waarde. Deze wordt gebruikt als het wachtwoord voor de service-principal
- Selecteer Overzicht. Noteer de toepassings-id. Deze wordt gebruikt als de gebruikersnaam van de service-principal
[1] Een aangepaste rol maken voor de fence-agent
De service-principal heeft standaard geen machtigingen voor toegang tot uw Azure-resources. U moet de service-principal machtigingen geven om alle virtuele machines van het cluster te starten en te stoppen (de toewijzing te herstellen). Als u de aangepaste rol nog niet hebt gemaakt, kunt u deze maken met behulp van PowerShell of Azure CLI
Gebruik de volgende inhoud voor het invoerbestand. U moet de inhoud aanpassen aan uw abonnementen. Vervang c276fc76-9cd4-44c9-99a7-4fd71546436e en e91d47c4-76f3-4271-a796-21b4ecfe3624 door de id's van uw abonnement. Als u slechts één abonnement hebt, verwijdert u de tweede vermelding in AssignableScopes.
{
"Name": "Linux Fence Agent Role",
"description": "Allows to power-off and start virtual machines",
"assignableScopes": [
"/subscriptions/e663cc2d-722b-4be1-b636-bbd9e4c60fd9",
"/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624"
],
"actions": [
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/start/action"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
[A] De aangepaste rol toewijzen aan de service-principal
Wijs de aangepaste rol 'Linux Fence Agent Role' die in het vorige hoofdstuk is gemaakt, toe aan de service-principal. Gebruik de rol van Eigenaar niet meer! Zie Azure-rollen toewijzen met behulp van de Azure Portal voor gedetailleerde Azure Portal.
Zorg ervoor dat u de rol voor beide clusterknooppunten toewijst.
[1] De STONITH-apparaten maken
Nadat u de machtigingen voor de virtuele machines hebt bewerkt, kunt u de STONITH-apparaten in het cluster configureren.
Notitie
Optie 'pcmk_host_map' is ALLEEN vereist in de opdracht als de hostnamen en de namen van de Azure-VM's NIET identiek zijn. Geef de toewijzing op in de indeling hostnaam:vm-name. Raadpleeg de vetgedrukte sectie in de opdracht .
sudo crm configure property stonith-enabled=true
crm configure property concurrent-fencing=true
# replace the bold string with your subscription ID, resource group of the VM, tenant ID, service principal application ID and password
sudo crm configure primitive rsc_st_azure stonith:fence_azure_arm \
params subscriptionId="subscription ID" resourceGroup="resource group" tenantId="tenant ID" login="application ID" passwd="password" \
pcmk_monitor_retries=4 pcmk_action_limit=3 power_timeout=240 pcmk_reboot_timeout=900 pcmk_host_map="prod-cl1-0:prod-cl1-0-vm-name;prod-cl1-1:prod-cl1-1-vm-name" \
op monitor interval=3600 timeout=120
sudo crm configure property stonith-timeout=900
Belangrijk
De bewakings- en fencingbewerkingen worden gedeser serialiseerd. Als gevolg hiervan, als er een langere bewakingsbewerking en gelijktijdige fencing-gebeurtenis is, is er geen vertraging voor de failover van het cluster vanwege de bewakingsbewerking die al wordt uitgevoerd.
Tip
Azure Fence Agent vereist uitgaande connectiviteit met openbare eindpunten zoals beschreven, samen met mogelijke oplossingen, in Openbare eindpuntconnectiviteit voor VM's die gebruikmaken van de standaard-ILB.
Pacemaker-configuratie voor geplande Azure-gebeurtenissen
Azure biedt geplande gebeurtenissen. Geplande gebeurtenissen worden aangeboden via metagegevensservice en bieden de toepassing de tijd om zich voor te bereiden op gebeurtenissen zoals het afsluiten van de VM, het opnieuw toepassen van de VM, enzovoort. Resourceagent azure-events bewaakt geplande Azure-gebeurtenissen. Als er gebeurtenissen worden gedetecteerd en de resourceagent vaststelt dat er een ander beschikbaar clusterknooppunt is, zal de agent azure-events het doelclusterknooppunt in de stand-bymodus plaatsen om het cluster te dwingen resources te migreren van de VM met geplande Azure-gebeurtenissenin behandeling. Om dat te bereiken, moeten er aanvullende Pacemaker-resources worden geconfigureerd.
- [A] Zorg ervoor dat het pakket voor de agent azure-events al is geïnstalleerd en up-to-date is.
sudo zypper info resource-agents
- [1] Configureer de resources in Pacemaker.
#Place the cluster in maintenance mode
sudo crm configure property maintenance-mode=true
#Create Pacemaker resources for the Azure agent
sudo crm configure primitive rsc_azure-events ocf:heartbeat:azure-events op monitor interval=10s
sudo crm configure clone cln_azure-events rsc_azure-events
#Take the cluster out of maintenance mode
sudo crm configure property maintenance-mode=false
Notitie
Nadat u de Pacemaker-resources voor de agent azure-events hebt geconfigureerd en u het cluster in of uit de onderhoudsmodus zet, kunt u waarschuwingsberichten ontvangen, zoals:
WAARSCHUWING: cib-bootstrap-options: onbekend kenmerk 'hostName_ hostname'
WAARSCHUWING: cib-bootstrap-options: onbekend kenmerk 'azure-events_globalPullState'
WAARSCHUWING: cib-bootstrap-options: onbekend kenmerk 'hostName_ hostname'
Deze waarschuwingsberichten kunnen worden genegeerd.
Volgende stappen
- Azure Virtual Machines en implementatie voor SAP
- Azure Virtual Machines-implementatie voor SAP
- Azure Virtual Machines DBMS-implementatie voor SAP
- Hoge beschikbaarheid voor NFS op virtuele Azure-SUSE Linux Enterprise Server
- Hoge beschikbaarheid voor SAP NetWeaver op Virtuele Azure-SUSE Linux Enterprise Server voor SAP-toepassingen
- Zie Hoge beschikbaarheid van SAP HANA in Azure Virtual Machines (VM's) voor meer informatie over het tot stand brengen van hoge beschikbaarheid en het plannen van herstel na noodherstel van SAP HANA op Azure-VM's