V tomto tutoriálu vám ukážeme, jak nastavit cluster Nginx High Availability pomocí Pacemaker na CentOS 7. Chcete-li mít server Nginx, který může fungovat nepřetržitě bez selhání po dlouhou dobu, musíme nakonfigurovat server s aktivními a pasivními instancemi Nginx . Pacemaker je open source software pro správu clusterů, který dosahuje maximálně vysoké dostupnosti vašich služeb. Je to pokročilý a škálovatelný správce clusteru s vysokou dostupností distribuovaný společností ClusterLabs, spravuje všechny služby clusteru a využívá možnosti zasílání zpráv a členství základního clusteru.
1. Předpoklady
Abyste mohli postupovat podle tohoto návodu, musíte mít:
- 2 nebo více serverů
- Operační systém CentOS 7
- kořenový přístup ke každému ze serverů
2. Přihlaste se a aktualizujte CentOS
ssh root@IP_Address -p7022
yum update yum upgrade
Upravte soubor /etc/hosts na obou serverech pomocí libovolného terminálového textového editoru
nano /etc/hosts
Přidejte následující řádky do souboru /etc/hosts
192.168.0.22 webserver-01 192.168.0.23 webserver-02
3. Nainstalujte Epel Repository a Nginx
K instalaci Nginx je potřeba extra Packages for Enterprise Linux (EPEL) repository. Spusťte následující příkazy na obou serverech.
yum install epel-release -y yum install nginx -y
systemctl enable nginx systemctl start nginx
4. Změnit výchozí indexovou stránku Nginx
Po dokončení musíme provést změny na výchozí indexové stránce Nginx na obou serverech.
Spusťte následující příkaz na serveru one
echo ‘
webový server-01
’ > /usr/share/nginx/html/index.html
Spusťte následující příkaz na serveru dva
echo ‘
webový server-02
’ > /usr/share/nginx/html/index.html
5. Nainstalujte a nakonfigurujte Pacemaker
V této části nainstalujeme sadu Pacemaker. Tento krok musíte dokončit na obou serverech.
yum install corosync pacemaker pcs -y
Po dokončení instalace povolte automatické spouštění všech služeb při spouštění systému pomocí příkazů systemctl níže.
systemctl enable pacemaker systemctl enable corosync systemctl enable pcsd
6. Synchronizujte konfiguraci
Instalace vytvoří uživatele systému „hacluster“. Musíme také spustit pcsd, abychom synchronizovali konfiguraci
systemctl start pcsd
7. Vytvořte heslo
Dále vytvořte nové heslo pro uživatele „hacluster“, které bylo automaticky vytvořeno během předchozí instalace, musíme použít stejné heslo pro všechny servery
passwd hacluster
8. Vytvořit clustery
Dále spusťte tento příkaz níže
pcs cluster auth webserver-01 webserver-02
V tuto chvíli jsme připraveni nastavit cluster.
pcs cluster setup –name rosecluster webserver-01 webserver-02
rosecluster je název clusteru, zatímco webserver-01 a webserver-02 jsou servery, které budou součástí rosecluster.
Povolte jej při spuštění a spusťte jej nyní.
pcs cluster enable –all pcs cluster start –all
Stav clusteru můžeme zkontrolovat pomocí tohoto příkazu:
pcs status
9. Zakázat STONITH
STONITH nebo Shoot The Other Node In The Head je implementace šermu na Pacemaker. Pokud jste ve výrobě, je lepší povolit STONITH. Protože nepoužíváme oplocení, deaktivujeme STONITH.
Při spuštění příkazu pcs status uvidíte na výstupu varování, že nejsou nakonfigurována žádná zařízení STONITH a že STONITH není zakázáno:
VAROVÁNÍ:žádná zařízení stonith a povoleno stonith není false
Vypněte STONITH pomocí následujícího příkazu pcs.
pcs property set stonith-enabled=false
10. Ignorujte zásady kvora
V tomto tutoriálu nakonfigurujeme Pacemaker tak, aby ignoroval kvorum:
pcs property set no-quorum-policy=ignore
Zkontrolujte seznam vlastností a ujistěte se, že jsou zakázány zásady stonith a kvora.
pcs property list
11. Přidat zdroje
Plovoucí IP adresa je IP adresa, kterou lze okamžitě migrovat z jednoho serveru na druhý ve stejné síti, používá se k podpoře převzetí služeb při selhání v clusteru s vysokou dostupností. V tomto tutoriálu bude plovoucí IP adresa pro Pacemaker High-Availability ‚192.168.0.100‘. Prozatím přidáme dva zdroje, zdroj plovoucí IP adresy s názvem ‚v_ip‘ a nový zdroj pro webový server Nginx s názvem ‚webserver‘.
Přidejte novou plovoucí IP adresu „v_ip“ pomocí následujícího příkazu.
pcs resource create v_ip ocf:heartbeat:IPaddr2 ip=192.168.0.100 cidr_netmask=32 op monitor interval=20s
Dále můžeme přidat druhý prostředek do clusteru. Agent prostředků služby je ocf:heartbeat:nginx s názvem „webserver“.
pcs resource create webserver ocf:heartbeat:nginx configfile=/etc/nginx/nginx.conf op monitor timeout=”5s” interval=”5s”
Ujistěte se, že nedošlo k chybě, a poté zkontrolujte zdroje.
pcs status resources
Pokud vidíte dva zdroje; „v_ip“ a „webový server“, to znamená, že byly přidány plovoucí IP a webový server Nginx.
12. Konfigurace omezení
V tomto kroku sdělíme serveru, aby oba zdroje vytvořené dříve spustil na stejném hostiteli. Nastavíme omezení kolokace pro zdroje se skóre INFINITY.
pcs constraint colocation add webserver v_ip INFINITY
Nastavte prostředek Nginx (webový server), aby vždy běžel na stejném hostiteli, kde je aktivní v_ip.
pcs constraint order v_ip then webserver
Chcete-li zkontrolovat, zda prostředky běží na stejném hostiteli, můžeme vyvolat:
pcs status
13. Otestujte cluster.
Ve svém webovém prohlížeči přejděte na http://192.168.0.100, uvidíte výchozí stránku Nginx z webového serveru-01.
Poté vyvolejte následující příkaz k zastavení clusteru na webovém serveru-01:
pcs cluster stop webserver-01
Pokud nyní obnovíte stránku na adrese http://192.168.0.100, získáte výchozí stránku Nginx z webového serveru-02.
Gratulujeme, úspěšně jste s kardiostimulátorem nastavili aktivní a pasivní cluster Nginx High Availability. Pokud máte velmi vytížený web, můžete zvážit provozování webu na Nginx HA. Na Nginx HA běží mnoho známých webů, které používají Nginx HA k rychlému, spolehlivému a bezpečnému poskytování obsahu.
Samozřejmě nemusíte nastavovat Nginx High Availability Cluster pomocí Pacemaker na CentOS 7, pokud používáte jedno z našich Nginx Hosting Solutions, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby vám s tím pomohli. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.
PS . Pokud se vám líbil tento příspěvek o tom, jak nastavit Nginx High Availability Cluster pomocí Pacemaker na CentOS 7, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.