Nastavení Pacemakeru na linuxovém Enterprise SUSE v Azure
Cluster Pacemaker v Azure můžete nastavit dvěma způsoby. Můžete použít buď agenta ohraničování, který se postará o restartování uzlu, který selhal, prostřednictvím rozhraní API Azure, nebo můžete použít zařízení SBD.
Zařízení SBD vyžaduje alespoň jeden další virtuální počítač, který funguje jako cílový server iSCSI a poskytuje zařízení SBD. Tyto cílové servery iSCSI je však možné sdílet s jinými clustery Pacemaker. Výhodou použití zařízení SBD je, že pokud už zařízení SBD používáte místně, nevyžaduje žádné změny v tom, jak cluster Pacemaker provozujete. Pro cluster Pacemaker můžete použít až tři zařízení SBD, aby zařízení SBD bylo nedostupné, například během oprav operačního systému cílového serveru iSCSI. Pokud chcete použít více než jedno zařízení SBD na Pacemaker, nezapomeňte nasadit několik cílových serverů iSCSI a připojit jednu SBD z každého cílového serveru iSCSI. Doporučujeme použít jedno nebo tři zařízení SBD. Pacemaker nebude moct automaticky ohrahraovat uzel clusteru, pokud nakonfigurujete pouze dvě zařízení SBD a jedno z nich není k dispozici. Pokud chcete být schopni plot, když je jeden cílový server iSCSI neschválený, musíte použít tři zařízení SBD a tedy tři cílové servery iSCSI, což je nejobezpečnější konfigurace při použití SBD.
Agent Azure Fence nevyžaduje nasazení dalších virtuálních počítačů.

Důležité
Při plánování a nasazování clusterovaných uzlů Linux Pacemakeru a zařízení SBD je pro celkovou spolehlivost kompletní konfigurace clusteru nezbytné, aby směrování mezi zapojených virtuálními počítači a virtuálními počítači, které hostují zařízení SBD, procházejí žádnými jinými zařízeními, jako jsou síťová virtuální zařízení. Jinak mohou mít problémy a události údržby síťového virtuálního zařízení negativní vliv na stabilitu a spolehlivost celkové konfigurace clusteru. Abyste se takovým překážkám vyhnuli, nedefinujte pravidla směrování síťových virtuálních zařízení ani uživatelsky definovaná pravidla směrování, která směrují provoz mezi uzly clusteru a zařízeními SBD prostřednictvím síťových virtuálních zařízení a podobných zařízení při plánování a nasazení clusterovaných uzlů a zařízení SBD s Linuxem Pacemakeru.
Ohraničování SBD
Pokud chcete pro ohraničování použít zařízení SBD, postupujte podle těchto kroků.
Nastavení cílových serverů iSCSI
Nejprve je potřeba vytvořit cílové virtuální počítače iSCSI. Cílové servery iSCSI je možné sdílet s několika clustery Pacemaker.
- Nasaďte nové virtuální počítače SLES 12 SP1 nebo vyšší a připojte se k nim přes SSH. Počítače nemusí být velké. Velikost virtuálního počítače, jako je Standard_E2s_v3 nebo Standard_D2s_v3, je dostatečná. Ujistěte se, že Premium disk s operačním systémem.
Na všech cílových virtuálních počítačích s iSCSI spusťte následující příkazy.
Aktualizace SLES
sudo zypper updatePoznámka
Po upgradu nebo aktualizaci operačního systému možná budete muset restartovat operační systém.
Odebrání balíčků
Pokud se chcete vyhnout známému problému s targetcli a SLES 12 SP3, odinstalujte následující balíčky. Chyby balíčků, které se nenašly, můžete ignorovat.
sudo zypper remove lio-utils python-rtslib python-configshell targetcliInstalace cílových balíčků iSCSI
sudo zypper install targetcli-fb dbus-1-pythonPovolení cílové služby iSCSI
sudo systemctl enable targetcli sudo systemctl start targetcli
Vytvoření zařízení iSCSI na cílovém serveru iSCSI
Spuštěním následujících příkazů na všech cílových virtuálních počítačích iSCSI vytvořte disky iSCSI pro clustery používané systémy SAP. V následujícím příkladu se vytvoří zařízení SBD pro více clusterů. Ukazuje, jak použít jeden cílový server iSCSI pro více clusterů. Zařízení SBD se umístí na disk s operačním systémem. Ujistěte se, že máte dostatek místa.
nfs se používá k identifikaci clusteru NFS, ascsnw1 se používá k identifikaci clusteru ASCS NW1, dbnw1 se používá k identifikaci databázového clusteru NW1, nfs-0 a nfs-1 jsou název hostitele uzlů clusteru NFS. nw1-xscs-0 a nw1-xscs-1 jsou název hostitele uzlů clusteru NW1 ASCS a nw1-db-0 a nw1-db-1 jsou název hostitele uzlů databázového clusteru. Nahraďte je názvům hostitelů uzlů clusteru a SID vašeho systému SAP.
# 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
Můžete zkontrolovat, jestli je všechno správně nastavené.
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]
Nastavení zařízení SBD
Připojení k zařízení iSCSI, které bylo vytvořeno v posledním kroku z clusteru. Na uzlech nového clusteru, který chcete vytvořit, spusťte následující příkazy. Následující položky mají předponu [A] – platí pro všechny uzly [1] – platí jenom pro uzel 1 nebo [2] – platí jenom pro uzel 2.
[A] Připojení k zařízením iSCSI
Nejprve povolte služby iSCSI a SBD.
sudo systemctl enable iscsid sudo systemctl enable iscsi sudo systemctl enable sbd[1] Změna názvu iniciátoru na prvním uzlu
sudo vi /etc/iscsi/initiatorname.iscsiZměňte obsah souboru tak, aby odpovídal seznamy ACL, které jste použili při vytváření zařízení iSCSI na cílovém serveru iSCSI, například pro server NFS.
InitiatorName=iqn.2006-04.nfs-0.local:nfs-0[2] Změna názvu iniciátoru na druhém uzlu
sudo vi /etc/iscsi/initiatorname.iscsiZměňte obsah souboru tak, aby odpovídal seznamy ACL, které jste použili při vytváření zařízení iSCSI na cílovém serveru iSCSI.
InitiatorName=iqn.2006-04.nfs-1.local:nfs-1[A] Restartujte službu iSCSI.
Teď restartujte službu iSCSI, aby se změna aplikuje.
sudo systemctl restart iscsid sudo systemctl restart iscsiPřipojení zařízení iSCSI. V následujícím příkladu je IP adresa cílového serveru iSCSI 10.0.0.17 a 3260 je výchozí port. iqn.2006-04.nfs.local:nfs je jedním z cílových názvů uvedených při spuštění prvního příkazu níže (iscsiadm -m discovery).
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=automaticUjistěte se, že jsou dostupná zařízení iSCSI, a poznamenejte si název zařízení (v následujícím příkladu je to /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/sdfTeď načtěte ID zařízení iSCSI.
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 -> ../../sdfPříkaz zobrazí seznam tří ID zařízení pro každé zařízení SBD. Doporučujeme použít ID, které začíná na scsi-3. V příkladu výše je to
- /dev/disk/by-id/scsi-36001405afb0ba8d3a3c413b8cc2cca03
- /dev/disk/by-id/scsi-360014053fe4da371a5a4bb69a419a4df
- /dev/disk/by-id/scsi-36001405f88f30e7c9684678bc87fe7bf
[1] Vytvoření zařízení SBD
Pomocí ID zařízení iSCSI vytvořte nová zařízení SBD na prvním uzlu clusteru.
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] Přizpůsobení konfigurace SBD
Otevření konfiguračního souboru SBD
sudo vi /etc/sysconfig/sbdZměňte vlastnost zařízení SBD, povolte integraci pacemakeru a režim spuštění 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" [...]Vytvoření
softdogkonfiguračního souboruecho softdog | sudo tee /etc/modules-load.d/softdog.confTeď modul načtěte.
sudo modprobe -v softdog
Instalace clusteru
Následující položky mají předponu [A] – platí pro všechny uzly [1] – platí jenom pro uzel 1 nebo [2] – platí jenom pro uzel 2.
[A] Aktualizace SLES
sudo zypper update[A] Instalace komponenty potřebné pro prostředky clusteru
sudo zypper in socat[A] Instalace komponenty azure-lb potřebné pro prostředky clusteru
sudo zypper in resource-agentsPoznámka
Zkontrolujte verzi balíčku resource-agents a ujistěte se, že jsou splněné minimální požadavky na verzi:
- Pro SLES 12 SP4/SP5 musí být verze alespoň resource-agents-4.3.018.a7fb5035-3.30.1.
- Pro SLES 15/15 SP1 musí být verze alespoň resource-agents-4.3.0184.6ee15eb2-4.13.1.
[A] Konfigurace operačního systému
V některých případech Pacemaker vytvoří mnoho procesů a tím vyčerpá povolený počet procesů. V takovém případě může heartbeat mezi uzly clusteru selhat a vést k převzetí služeb při selhání vašich prostředků. Doporučujeme zvýšit maximální povolený počet procesů nastavením následujícího parametru.
# 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 DefaultTasksMaxZmenšete velikost nečtené mezipaměti. Další informace najdete v tématu Nízký výkon zápisu na serverech SLES 11/12s velkou paměť RAM.
sudo vi /etc/sysctl.conf # Change/set the following settings vm.dirty_bytes = 629145600 vm.dirty_background_bytes = 314572800[A] Konfigurace cloud-netconfig-azure pro cluster s ha-ka
Poznámka
Spuštěním příkazu zypper info cloud-netconfig-azure zkontrolujte nainstalovanou verzi balíčku cloud-netconfig-azure. Pokud je verze ve vašem prostředí 1.3 nebo vyšší, není už nutné potlačit správu síťových rozhraní modulem plug-in cloudové sítě. Pokud je verze nižší než 1.3, doporučujeme aktualizovat balíček cloud-netconfig-azure na nejnovější dostupnou verzi.
Změňte konfigurační soubor síťového rozhraní, jak je znázorněno níže, abyste modulu plug-in cloudové sítě zabránili v odebrání virtuální IP adresy (Pacemaker musí řídit přiřazení virtuální IP adresy). Další informace najdete v tématu SUSE KB 7023633.
# Edit the configuration file sudo vi /etc/sysconfig/network/ifcfg-eth0 # Change CLOUD_NETCONFIG_MANAGE # CLOUD_NETCONFIG_MANAGE="yes" CLOUD_NETCONFIG_MANAGE="no"[1] Povolení přístupu ssh
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] Povolení přístupu ssh
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] Povolení přístupu ssh
# 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] Pokud používáte zařízení STONITH založené na agentovi Azure Fence, nainstalujte balíček agentů Fence.
sudo zypper install fence-agentsDůležité
Nainstalovaná verze agentů plotu balíčků musí být minimálně 4.4.0, aby bylo možné využít rychlejší doby převzetí služeb při selhání pomocí agenta Azure Fence Agent, pokud je potřeba ohrazení uzlů clusteru. Pokud používáte nižší verzi, doporučujeme balíček aktualizovat.
[A] Instalace sady Azure Python SDK
- V SLES 12 SP4 nebo 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- V SLES 15 a vyšších
# 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-computeDůležité
V závislosti na vaší verzi a typu image možná budete muset před instalací Azure Python SDK aktivovat rozšíření veřejného cloudu pro vaši verzi operačního systému. Rozšíření můžete ověřit spuštěním SUSEConnect---rozšíření seznamu.
Chcete-li dosáhnout rychlejšího převzetí služeb při selhání pomocí agenta Azure Plot:- v SLES 12 SP4 nebo SLES 12 SP5 nainstalujte verzi 4.6.2 nebo vyšší z balíčku Python – Azure-Správa – Compute.
- v SLES 15. X nainstalujte verzi 4.6.2 balíčku Python 3– Azure-pro správu – COMPUTE, ale ne vyšší. Vyhněte se verzi 17.0.0-6.7.1 balíčku Python 3– Azure-pro správu – COMPUTE, protože obsahuje změny nekompatibilní s agentem Azure plot
[A] nastavení rozlišení názvu hostitele
Můžete buď použít server DNS, nebo upravit/etc/hosts na všech uzlech. Tento příklad ukazuje, jak použít soubor/etc/hosts. V následujících příkazech nahraďte IP adresu a název hostitele.
Důležité
Pokud používáte názvy hostitelů v konfiguraci clusteru, je důležité mít spolehlivé rozlišení názvu hostitele. Pokud názvy nejsou k dispozici a to může vést k prodlevám při převzetí služeb při selhání clusteru, komunikace clusteru selže. Výhodou použití/etc/hosts je to, že váš cluster bude nezávislý na službě DNS, což může být jen jeden bod selhání.
sudo vi /etc/hostsVložte následující řádky do/etc/hosts. Změňte IP adresu a název hostitele tak, aby odpovídaly vašemu prostředí.
# 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] nainstalovat cluster
Pokud se pro oplocení používá zařízení SBD
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)? nPokud nepoužíváte zařízení SBD pro oplocení
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] přidat uzel do clusteru
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] Změna hesla hacluster na stejné heslo
sudo passwd hacluster[A] upravit nastavení Corosync.
sudo vi /etc/corosync/corosync.confPokud tyto hodnoty nejsou nebo jsou odlišné, přidejte do souboru následující tučný obsah. Ujistěte se, že jste token změnili na 30000, aby se zajistila údržba paměti. Další informace najdete v tomto článku pro Linux nebo Windows.
[...] 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 }Pak restartujte službu Corosync.
sudo service corosync restart
Výchozí konfigurace Pacemaker pro SBD
Konfigurace v této části je platná, pouze pokud používáte SBD STONITH.
- [1] povolit použití zařízení STONITH a nastavit zpoždění plotu
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"
Vytvoření zařízení STONITH s agentem Azure plot
Tato část dokumentace je k dispozici, pouze pokud používáte STONITH, a to na základě agenta Azure plot. Zařízení STONITH používá instanční objekt k autorizaci proti Microsoft Azure. Pomocí těchto kroků můžete vytvořit instanční objekt.
- Přejděte na https://portal.azure.com.
- otevřete okno Azure Active Directory
Přejděte na vlastnosti a zapište ID adresáře. Toto je ID tenanta. - Klikněte na Registrace aplikací
- Klikněte na nová registrace.
- Zadejte název, vyberte účty pouze v tomto adresáři organizace.
- Vyberte typ aplikace "Web", zadejte adresu URL pro přihlášení (například http: / /localhost) a klikněte na Přidat.
Přihlašovací adresa URL se nepoužívá a může to být libovolná platná adresa URL. - Vyberte certifikáty a tajné klíče a pak klikněte na nový tajný klíč klienta.
- Zadejte popis nového klíče, vyberte možnost "nikdy vyprší platnost" a klikněte na tlačítko Přidat.
- Zapište hodnotu. Používá se jako heslo instančního objektu.
- Vyberte Přehled. Poznamenejte si ID aplikace. Používá se jako uživatelské jméno objektu služby.
[1] vytvoření vlastní role pro agenta plotu
Objekt služby nemá ve výchozím nastavení oprávnění pro přístup k prostředkům Azure. Musíte přidělit instančnímu objektu oprávnění ke spouštění a zastavování (navrácení) všech virtuálních počítačů v clusteru. Pokud jste ještě nevytvořili vlastní roli, můžete ji vytvořit pomocí PowerShellu nebo rozhraní příkazového řádku Azure CLI .
Pro vstupní soubor použijte následující obsah. Je potřeba upravit obsah pro vaše předplatná, která jsou, nahraďte c276fc76-9cd4-44c9-99a7-4fd71546436e a e91d47c4-76f3-4271-a796-21b4ecfe3624 ID vašeho předplatného. Pokud máte jenom jedno předplatné, odeberte druhou položku v 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] přiřazení vlastní role k instančnímu objektu
Přiřaďte vlastní roli "role ochrany systému Linux" vytvořenou v poslední kapitole objektu služby. Nepoužívejte již vlastníka role. Podrobný postup najdete v tématu přiřazení rolí Azure pomocí Azure Portal.
Ujistěte se, že přiřadíte roli pro oba uzly clusteru.
[1] vytvoření zařízení STONITH
Po úpravě oprávnění pro virtuální počítače můžete nakonfigurovat zařízení STONITH v clusteru.
Poznámka
Možnost ' pcmk_host_map ' je požadována pouze v příkazu, pokud názvy hostitelů a názvy virtuálních počítačů Azure nejsou stejné. Zadejte mapování ve formátu název hostitele: VM-Name. Přečtěte si část tučné v příkazu.
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
Důležité
Operace monitorování a oplocení jsou rozserializovány. Výsledkem je, že pokud už existuje již běžící operace monitorování a současná událost, dojde k převzetí služeb při selhání clusteru z důvodu již běžící operace monitorování.
Tip
Agent Azure plotu vyžaduje odchozí připojení k veřejným koncovým bodům, jak je popsáno, spolu s možnými řešeními ve veřejných koncových bodech pro virtuální počítače s využitím Standard interního nástroje.
Konfigurace Pacemaker pro plánované události Azure
Azure nabízí naplánované události. Naplánované události se poskytují prostřednictvím služby meta-data Service a umožňují, aby se aplikace připravila na události, jako je třeba vypnutí virtuálního počítače, opětovné nasazení virtuálního počítače atd. Agenti prostředků Azure – monitorování událostí pro plánované události Azure Pokud se zjistí události a Agent prostředků zjistí, že je k dispozici jiný dostupný uzel clusteru, agent Azure-Events umístí cílový uzel clusteru do úsporného režimu, aby vynutil, aby cluster migrovali prostředky z virtuálního počítače na probíhající plánované události Azure. Aby bylo možné dosáhnout dalších prostředků Pacemaker, musí být nakonfigurovány.
- [A] Ujistěte se, že balíček pro agenta Azure-Events je už nainstalovaný a aktuální.
sudo zypper info resource-agents
- [1] nakonfigurujte prostředky v 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
Poznámka
Po nakonfigurování prostředků Pacemaker pro agenta Azure-Events při umístění clusteru do režimu údržby nebo z něj dostanete varovné zprávy, jako například:
Upozornění: CIB-Bootstrap-Options: neznámý atribut hostName_ název hostitele
Upozornění: CIB-Bootstrap-Options: neznámý atribut ' Azure-events_globalPullState '
Upozornění: CIB-Bootstrap-Options: neznámý atribut hostName_ název hostitele
Tyto zprávy upozornění je možné ignorovat.
Další kroky
- Plánování a implementace Azure Virtual Machines pro SAP
- Nasazení Azure Virtual Machines pro SAP
- Nasazení Azure Virtual Machines DBMS pro SAP
- vysoká dostupnost pro NFS na virtuálních počítačích Azure na SUSE Linux Enterprise Server
- vysoká dostupnost pro sap NetWeaver na virtuálních počítačích Azure na SUSE Linux Enterprise Server pro aplikace SAP
- Další informace o tom, jak vytvořit vysokou dostupnost a naplánovat zotavení po havárii SAP HANA na virtuálních počítačích Azure, najdete v tématu Vysoká dostupnost SAP HANA na azure Virtual Machines (virtuální počítače) .