GNU/Linux >> Znalost Linux >  >> Cent OS

Cluster dvouuzlových webových serverů Apache s Pacemakerem na CentOS 7

Pacemaker je clusterový software s vysokou dostupností pro Linux, jako je operační systém. Pacemaker je známý jako „Cluster Resource Manager ‘, Poskytuje maximální dostupnost klastrových prostředků tím, že přebírá zdroje mezi klastrovými uzly.

Pacemaker používá corosync pro srdeční tep a interní komunikaci mezi komponentami clusteru, Corosync se také stará o Quorum v clusteru.

V tomto článku předvedeme instalaci a konfiguraci dvou clusterů webových serverů Node Apache (httpd) pomocí Pacemaker na CentOS 7.

V mém nastavení použiji dva virtuální stroje a sdílené úložiště ze serveru Fedora (dva disky budou sdílené, přičemž jeden disk bude použit jako oplocení a druhý disk bude použit jako sdílené úložiště pro webový server)

  • node1.linuxtechi.com (192.168.1.51) – CentOS 7.x
  • node2.linuxtechi.com (192.168.1.52) – CentOS 7.x

Krok:1 Aktualizujte soubor „/etc/hosts“

Přidejte následující řádky do souboru /etc/hosts v obou uzlech.

192.168.1.51 uzel1.linuxtechi.com uzel1192.168.1.52 uzel2.linuxtechi.com uzel2

Krok:2 Nainstalujte Cluster a další požadované balíčky.

Pomocí níže uvedeného příkazu yum na obou uzlech nainstalujte balíček clusteru (pcs), agenty plotu a webový server (httpd)

[[e-mail chráněno] ~]# aktualizace yum -y[[e-mail chráněno] ~]# yum -y instalace pcs fence-agents-all iscsi-initiator-utils httpd[[e-mail chráněný] ~]# yum -y update[[email protected] ~]# yum -y install pcs fence-agents-all iscsi-initiator-utils httpd

Krok:3 Nastavte heslo na uživatele „hacluster“

Doporučuje se používat stejné heslo uživatele „hacluster“ na obou uzlech.

[[email protected] ~]# echo  | passwd --stdin hacluster[[e-mail chráněný] ~]# echo  | passwd --stdin hacluster

Krok:4 Povolte porty s vysokou dostupností ve bráně firewall.

Použijte „firewall-cmd ‘ na obou uzlech pro otevření portů vysoké dostupnosti v bráně firewall operačního systému.

[[chráněno e-mailem] ~]# cmd brány firewall --permanent --add-service=úspěch s vysokou dostupností[[chráněn e-mailem] ~]# cmd brány firewall --reloadsuccess[[chráněno e-mailem] ~]#[[ e-mail chráněno] ~]# firewall-cmd --permanent --add-service=high-availabilitysuccess[[e-mail protected] ~]# firewall-cmd --reloadsuccess[[email protected] ~]#

Krok:5 Spusťte Cluster Service a autorizujte uzly pro připojení ke clusteru.

Spusťte klastrovou službu na obou uzlech,

[[e-mail chráněný] ~]# systemctl start pcsd.service[[email protected] ~]# systemctl povolení pcsd.serviceln -s '/usr/lib/systemd/system/pcsd.service' '/etc/systemd /system/multi-user.target.wants/pcsd.service'[[chráněn e-mailem] ~]#[[chráněn e-mailem] ~]# systemctl start pcsd.service[[chráněn e-mailem] ~]# systemctl povolit pcsd.serviceln - s '/usr/lib/systemd/system/pcsd.service' '/etc/systemd/system/multi-user.target.wants/pcsd.service'[[email protected] ~]#

Pomocí níže uvedeného příkazu na některém z uzlu autorizujte uzly pro připojení ke clusteru.

[[email protected] ~]# pcs cluster auth node1 node2Username:haclusterPassword:node1:Authorizednode2:Authorized[[email protected] ~]#

Krok:6 Vytvořte Cluster a povolte Clusterovou službu

Pomocí níže uvedených příkazů pcs na libovolném uzlu clusteru vytvořte cluster s názvem „apachecluster ‘ a uzel1 a uzel2 jsou uzly clusteru.

[[email protected] ~Nastavení # pcs cluster --start --name apachecluster node1 node2Vypínání služeb kardiostimulátoru/corosync...Přesměrování na /bin/systemctl stop pacemaker.servicePřesměrování na /bin/systemctl stop corosync.serviceKilling všechny zbývající služby...Odstranění všech konfiguračních souborů clusteru...uzel1:Úspěšný uzel2:Úspěšný spouštění clusteru na uzlech:uzel1, uzel2...uzel2:Spouštění clusteru...uzel1:Spouštění clusteru...Synchronizace certifikátů pcsd na uzlech uzel1, uzel2...uzel1:Successnode2:SuccessRestartování pcsd na uzlech za účelem opětovného načtení certifikátů...uzel1:Successnode2:Success[[email protected] ~]#

Povolte Cluster Service pomocí níže uvedeného příkazu pcs:

[[e-mail chráněno] ~Povolení clusteru # pc --allnode1:Cluster Enablednode2:Cluster Enabled[[e-mail chráněný] ~]#

Nyní ověřte službu clusteru

[[email protected] ~Stav clusteru # kusů

Krok:7 Nastavení sdíleného úložiště iscsi na serveru Fedora pro oba uzly.

IP adresa serveru Fedora 23 =192.168.1.21

Nejprve nainstalujte požadovaný balíček.

[[email protected] ~]# dnf -y install targetcli

Na svém serveru fedora mám nový disk (/dev/sdb) o velikosti 11 GB, na kterém jsem vytvořil dva LV, jeden pro Fecing a druhý pro souborový systém Apache.

[[email protected] ~]# pvcreate /dev/sdb Fyzický svazek „/dev/sdb“ úspěšně vytvořen[[e-mail chráněný] ~]# vgcreate cluster_data /dev/sdb Skupina svazků „cluster_data“ úspěšně vytvořena[[e-mail protected] ~]# lvcreate -L 1G -n fence_storage cluster_data Vytvořen logický svazek "fence_storage".[[e-mail chráněno] ~]# lvcreate -L 10G -n apache_storage cluster_data Vytvořen logický svazek "apache_storage".[[email protected] ~] #

Získejte jména iniciátorů obou uzlů.

[[chráněno e-mailem] ~]# kočka /etc/iscsi/initiatorname.iscsi Název iniciátora=iqn.1994-05.com.redhat:63ba7391df7f[[chráněný e-mail] ~]# [[chráněný e-mail] ~]# kočka /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1994-05.com.redhat:d4337e65531e[[e-mail chráněný] ~]#

Nyní použijte ‘targetcli ‘ příkaz pro konfiguraci úložiště iscsi pro oba uzly.

[[email protected] ~]# targetcli/> cd /backstores/block/backstores/block> vytvořit apache-fs /dev/cluster_data/apache_storage /backstores/block> vytvořit fence-storage /dev/cluster_data/fence_storage / backstores/block> cd /iscsi/iscsi> create/iscsi> cd iqn.2003-01.org.linux-iscsi.fedora23.x8664:sn.646023b9e9c6/tpg1/luns/iscsi/iqn.20...9c /luns> vytvořit /backstores/block/apache-fs/iscsi/iqn.20...9c6/tpg1/luns> vytvořit /backstores/block/fence-storage/iscsi/iqn.20...9c6/tpg1/luns> cd ../acls/iscsi/iqn.20...9c6/tpg1/acls> vytvořit iqn.1994-05.com.redhat:63ba7391df7f/iscsi/iqn.20...9c6/tpg1/acls> vytvořit iqn .1994-05.com.redhat:d4337e65531e/iscsi/iqn.20...9c6/tpg1/acls> cd //> saveconfig /> exit

Spusťte a povolte cílovou službu

[[email protected] ~]# systemctl start target.service[[email protected] ~]# systemctl enable target.service[[email protected] ~]#

Otevřete porty iscsi v bráně OS Firewall.

[[e-mail chráněný] ~]# firewall-cmd --permanent --add-port=3260/tcpsuccess[[e-mail chráněný] ~]# firewall-cmd --reloadsuccess[[e-mail chráněný] ~]# 

Nyní prohledejte úložiště iscsi na obou uzlech:

Spusťte níže uvedené příkazy na obou uzlech

# iscsiadm --mode discovery --type sendtargets --portal 192.168.1.21# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.fedora23.x8664:sn.646023b9e9e9c -86 .1.21:3260

Nahraďte cílové „iqn“ a „ip adresa“ podle vašeho nastavení. Po provedení výše uvedeného příkazu můžeme ve výstupu příkazu „fdisk -l“ vidět dva nové disky.

Uveďte ID nově skenovaného disku iscsi.

[[e-mail chráněný] ~]# ls -l /dev/disk/by-id/celkem 0..........lrwxrwxrwx. 1 kořenový kořen 9. února 21 03:22 wwn-0x60014056e8763c571974ec3b78812777 -> ../../sdblrwxrwxrwx. 1 root root 9. února 21 03:22 wwn-0x6001405ce01173dcd7c4c0da10051405 -> ../../sdc[[e-mail chráněný] ~]#

Spusťte a povolte službu iscsi na obou uzlech.

[[e-mail chráněný] ~]# systemctl start iscsi.service[[email protected] ~]# systemctl povolení iscsi.service[[e-mail chráněný] ~]# systemctl povolení iscsid.serviceln -s '/usr/lib/ systemd/system/iscsid.service' '/etc/systemd/system/multi-user.target.wants/iscsid.service'[[chráněný e-mail] ~]# [[chráněný e-mail] ~]# systemctl spustit iscsi.service[ [e-mail chráněný] ~]# systemctl povolit iscsi.service[[e-mail chráněný] ~]# systemctl povolit iscsid.serviceln -s '/usr/lib/systemd/system/iscsid.service' '/etc/systemd/system/multi -user.target.wants/iscsid.service'[[email protected] ~]#

Krok:8 Vytvořte prostředky clusteru.

Definujte stonith (Shoot The Other Node In The Head) oplocení zařízení pro cluster. Je to metoda, jak izolovat uzel od clusteru, když uzel přestane reagovat.

Používám 1 GB úložiště iscsi (/dev/sdc ) pro oplocení.

Spusťte následující příkazy na jednom z uzlu:

[[email protected] ~]# pcs stoneith create scsi_fecing_device fence_scsi pcmk_host_list="uzel1 node2" pcmk_monitor_action="metadata" pcmk_reboot_action="off" devices="/dev/disk/by-id/wwn-104x05cd metacd poskytuje 0501705"0501705 ="unfencing"[[email protected] ~]# [[email protected] ~]# ks stoith show scsi_fecing_device (stonith:fence_scsi):Spuštěn uzel1[[email protected] ~]#

Nyní vytvořte oddíl na druhém úložišti iscsi (/dev/sdb ), který bude použit jako kořen dokumentu pro náš webový server.

[[e-mail chráněný] ~]# fdisk /dev/disk/by-id/wwn-0x60014056e8763c571974ec3b78812777

Formátování nově vytvořeného oddílu:

[[e-mail chráněný] ~]# mkfs.ext4 /dev/disk/by-id/wwn-0x60014056e8763c571974ec3b78812777-part1

Připojte nový souborový systém dočasně na /var/www a vytvořte podsložky a nastavte pravidlo selinux.

[[email protected] html]# mount /dev/disk/by-id/wwn-0x60014056e8763c571974ec3b78812777-part1 /var/www/[[email protected] html]# mkdir /var www/html[e-mail] ] html]# mkdir /var/www/cgi-bin[[chráněno e-mailem] html]# mkdir /var/www/error[[chráněno e-mailem] html]# restorecon -R /var/www[[e-mailem chráněno] html] # echo "Apache Web Sever Pacemaker Cluster"> /var/www/html/index.html

Odpojte souborový systém nyní, protože cluster připojí souborový systém, když je potřeba.

[[email protected] html]# umount /var/www/[[email protected] html]#

Vytvořte Prostředek clusteru souborového systému webového serveru pomocí níže uvedeného příkazu pcs.

[[email protected] html Vytvoření prostředku pro # pc webserver_fs Filesystem device="/dev/disk/by-id/wwn-0x60014056e8763c571974ec3b78812777-part1" directory="/var/www" fstype="ext4" --group webgroup[[email protected] html]# [[email protected] html # pcs source show Resource Group:webgroup webserver_fs (ocf::heartbeat:Filesystem):Spuštěn node1[[email protected] html]#

Přidejte následující řádky do souboru „/etc/httpd/conf/httpd.conf“ na oba uzly.

 SetHandler server-status Order odepřít, povolit Odepřít všem Povolit od 127.0.0.1

Otevřete port httpd nebo webový server v operačním firewallu na obou uzlech

[[e-mail chráněný] ~]# firewall-cmd --permanent --add-service=httpsuccess[[e-mail chráněný] ~]# firewall-cmd --reloadsuccess[[e-mail chráněný] ~]#[[chráněný e-mail ] ~]# firewall-cmd --permanent --add-service=httpsuccess[[e-mail chráněný] ~]# firewall-cmd --reloadsuccess[[e-mail chráněný] ~]#

Vytvořte zdroj clusteru virtuální IP (IPaddr2) pomocí níže uvedeného příkazu. Proveďte následující příkaz na libovolném uzlu.

[[email protected] ~Vytvoření zdroje pro # ks vip_res IPaddr2 ip=192.168.1.151 cidr_netmask=24 --group webgroup[[email protected] ~]#

Vytvořte Apache Cluster Resource pomocí níže uvedeného příkazu:

[[e-mail chráněný] ~ Vytvoření prostředku pro # ks apache_res apache configfile="/etc/httpd/conf/httpd.conf" statusurl="http://127.0.0.1/server-status" --group webgroup[ [e-mail chráněný] ~]#

Ověřte stav clusteru:

[[email chráněno] ~Stav # kusů

Použijte ‘df ‘ a ‘přidat IP ‘ příkaz k ověření systému souborů a převzetí služeb při selhání IP adresy.

Přistupujte na svůj web pomocí VIP (192.168.1.151)

.

GUI kardiostimulátoru:

GUI Pacemaker je přístupné z webového prohlížeče pomocí vip.

https://192.168.1.151:2224/

Použijte uživatelské jméno „hacluster“ a jeho heslo, které jsme nastavili ve výše uvedeném kroku.

Přidejte existující uzly clusteru.

Instalace a konfigurace kardiostimulátoru je nyní dokončena, doufáme, že se vám kroky líbily. Podělte se o své cenné zpětné vazby a komentáře 🙂

Odkaz: http://clusterlabs.org/quickstart-redhat.html


Cent OS
  1. Nainstalujte webový server Apache CentOS 6 / RHEL 6

  2. Chcete-li to provést, nainstalovat webový server Apache na CentOS 8 – proces krok za krokem?

  3. Nainstalujte Zenario s Apache, PHP a MariaDB na CentOS 7

  1. Jak nakonfigurovat více webových stránek s webovým serverem Apache

  2. Jak nainstalovat webový server Apache na Centos 8

  3. Nainstalujte Apache na CentOS 8

  1. Jak nainstalovat webový server Apache na CentOS 7

  2. Zabezpečte Apache pomocí Lets Encrypt na CentOS 7

  3. Zabezpečte Apache pomocí Lets Encrypt na CentOS 8