GNU/Linux >> Linux Esercitazione >  >> Cent OS

Cluster di server Web Apache a due nodi con Pacemaker su CentOS 7

Pacemaker è un software cluster ad alta disponibilità per Linux come il sistema operativo. Pacemaker è noto come "Gestione risorse cluster ', Fornisce la massima disponibilità delle risorse del cluster eseguendo il failover delle risorse tra i nodi del cluster.

Pacemaker utilizza corosync per il battito cardiaco e la comunicazione interna tra i componenti del cluster, Corosync si occupa anche del Quorum nel cluster.

In questo articolo dimostreremo l'installazione e la configurazione di due Node Apache (httpd) Web Server Clustering utilizzando Pacemaker su CentOS 7.

Nella mia configurazione utilizzerò due macchine virtuali e storage condiviso da Fedora Server (verranno condivisi due dischi in cui un disco verrà utilizzato come dispositivo di scherma e l'altro disco verrà utilizzato come spazio di archiviazione condiviso per il server web)

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

Passaggio:1 Aggiorna il file '/etc/hosts'

Aggiungi le seguenti righe nel file /etc/hosts in entrambi i nodi.

192.168.1.51 node1.linuxtechi.com node1
192.168.1.52 node2.linuxtechi.com node2

Fase:2 Installa il cluster e gli altri pacchetti richiesti.

Usa il comando yum sotto su entrambi i nodi per installare il pacchetto cluster (pcs), gli agenti di recinzione e il server web (httpd)

[[email protected] ~]# yum -y update
[[email protected] ~]# yum -y install pcs fence-agents-all iscsi-initiator-utils httpd

[[email protected] ~]# yum -y update
[[email protected] ~]# yum -y install pcs fence-agents-all iscsi-initiator-utils httpd

Passaggio:3 Imposta la password per l'utente "hacluster"

Si consiglia di utilizzare la stessa password dell'utente 'hacluster' su entrambi i nodi.

[[email protected] ~]# echo <new-password> | passwd --stdin hacluster
[[email protected] ~]# echo <new-password> | passwd --stdin hacluster

Passaggio:4 Consenti porte ad alta disponibilità nel firewall.

Usa "firewall-cmd ' comando su entrambi i nodi per aprire le porte ad alta disponibilità nel firewall del sistema operativo.

[[email protected] ~]# firewall-cmd --permanent --add-service=high-availability
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#

[[email protected] ~]# firewall-cmd --permanent --add-service=high-availability
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#

Passaggio:5 Avvia il Servizio cluster e autorizza i nodi a unirsi al cluster.

Avviamo il servizio cluster su entrambi i nodi,

[[email protected] ~]# systemctl start pcsd.service
[[email protected] ~]# systemctl enable pcsd.service
ln -s '/usr/lib/systemd/system/pcsd.service' '/etc/systemd/system/multi-user.target.wants/pcsd.service'
[[email protected] ~]#

[[email protected] ~]# systemctl start pcsd.service
[[email protected] ~]# systemctl enable pcsd.service
ln -s '/usr/lib/systemd/system/pcsd.service' '/etc/systemd/system/multi-user.target.wants/pcsd.service'
[[email protected] ~]#

Utilizzare il comando seguente su uno dei nodi per autorizzare i nodi a unirsi al cluster.

[[email protected] ~]# pcs cluster auth node1 node2
Username: hacluster
Password:
node1: Authorized
node2: Authorized
[[email protected] ~]#

Passo:6 Crea il Cluster e abilita il Cluster Service

Utilizza i seguenti comandi pcs su uno qualsiasi dei nodi del cluster per creare un cluster con il nome "apachecluster ' e node1 e node2 sono i nodi del cluster.

[[email protected] ~]# pcs cluster setup --start --name apachecluster node1 node2
Shutting down pacemaker/corosync services...
Redirecting to /bin/systemctl stop pacemaker.service
Redirecting to /bin/systemctl stop corosync.service
Killing any remaining services...
Removing all cluster configuration files...
node1: Succeeded
node2: Succeeded
Starting cluster on nodes: node1, node2...
node2: Starting Cluster...
node1: Starting Cluster...
Synchronizing pcsd certificates on nodes node1, node2...
node1: Success
node2: Success
Restaring pcsd on the nodes in order to reload the certificates...
node1: Success
node2: Success
[[email protected] ~]#

Abilita il servizio cluster utilizzando il comando pcs di seguito:

[[email protected] ~]# pcs cluster enable --all
node1: Cluster Enabled
node2: Cluster Enabled
[[email protected] ~]#

Ora verifica il servizio cluster

[[email protected] ~]# pcs cluster status

Fase:7 Configurazione dello storage condiviso iscsi su Fedora Server per entrambi i nodi.

Indirizzo IP di Fedora 23 Server =192.168.1.21

Installa prima il pacchetto richiesto.

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

Ho un nuovo disco (/dev/sdb) di dimensione 11 GB sul mio server fedora su cui ho creato due LV uno per Fecing e l'altro è per il file system Apache.

[[email protected] ~]# pvcreate /dev/sdb
 Physical volume "/dev/sdb" successfully created
[[email protected] ~]# vgcreate cluster_data /dev/sdb
 Volume group "cluster_data" successfully created
[[email protected] ~]# lvcreate -L 1G -n fence_storage cluster_data
 Logical volume "fence_storage" created.
[[email protected] ~]# lvcreate -L 10G -n apache_storage cluster_data
 Logical volume "apache_storage" created.
[[email protected] ~]#

Ottieni i nomi degli iniziatori di entrambi i nodi.

[[email protected] ~]# cat /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.1994-05.com.redhat:63ba7391df7f
[[email protected] ~]# 

[[email protected] ~]# cat /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.1994-05.com.redhat:d4337e65531e
[[email protected] ~]#

Ora usa "targetcli ' comando per configurare l'archiviazione iscsi per entrambi i nodi.

[[email protected] ~]# targetcli
/> cd /backstores/block
/backstores/block> create apache-fs /dev/cluster_data/apache_storage 
/backstores/block> create 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...9c6/tpg1/luns> create /backstores/block/apache-fs
/iscsi/iqn.20...9c6/tpg1/luns> create /backstores/block/fence-storage
/iscsi/iqn.20...9c6/tpg1/luns> cd ../acls
/iscsi/iqn.20...9c6/tpg1/acls> create iqn.1994-05.com.redhat:63ba7391df7f
/iscsi/iqn.20...9c6/tpg1/acls> create iqn.1994-05.com.redhat:d4337e65531e
/iscsi/iqn.20...9c6/tpg1/acls> cd /
/> saveconfig 
/> exit

Avvia e abilita il servizio di destinazione

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

Apri le porte iscsi nel firewall del sistema operativo.

[[email protected] ~]# firewall-cmd --permanent --add-port=3260/tcp
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#

Ora scansiona lo storage iscsi su entrambi i nodi :

Esegui i comandi seguenti su entrambi i nodi

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

Sostituisci il target "iqn" e "ip address" secondo la tua configurazione. Dopo aver eseguito il comando sopra, possiamo vedere due nuovi dischi nell'output del comando 'fdisk -l'.

Elenca gli ID del disco iscsi appena scansionato.

[[email protected] ~]# ls -l /dev/disk/by-id/
total 0
..........
lrwxrwxrwx. 1 root root 9 Feb 21 03:22 wwn-0x60014056e8763c571974ec3b78812777 -> ../../sdb
lrwxrwxrwx. 1 root root 9 Feb 21 03:22 wwn-0x6001405ce01173dcd7c4c0da10051405 -> ../../sdc
[[email protected] ~]#

Avvia e abilita il servizio iscsi su entrambi i nodi.

[[email protected] ~]# systemctl start iscsi.service
[[email protected] ~]# systemctl enable iscsi.service
[[email protected] ~]# systemctl enable iscsid.service
ln -s '/usr/lib/systemd/system/iscsid.service' '/etc/systemd/system/multi-user.target.wants/iscsid.service'
[[email protected] ~]# 

[[email protected] ~]# systemctl start iscsi.service
[[email protected] ~]# systemctl enable iscsi.service
[[email protected] ~]# systemctl enable iscsid.service
ln -s '/usr/lib/systemd/system/iscsid.service' '/etc/systemd/system/multi-user.target.wants/iscsid.service'
[[email protected] ~]#

Passo:8 Crea le risorse del cluster.

Definisci pietra (Spara all'altro nodo nella testa) dispositivo di recinzione per il cluster. È un metodo per isolare il nodo dal cluster quando il nodo non risponde.

Sto utilizzando 1 GB di storage iscsi (/dev/sdc ) per la scherma.

Esegui i seguenti comandi su uno dei nodi:

[[email protected] ~]# pcs stonith create scsi_fecing_device fence_scsi pcmk_host_list="node1 node2" pcmk_monitor_action="metadata" pcmk_reboot_action="off" devices="/dev/disk/by-id/wwn-0x6001405ce01173dcd7c4c0da10051405" meta provides="unfencing"
[[email protected] ~]# 
[[email protected] ~]# pcs stonith show
 scsi_fecing_device (stonith:fence_scsi): Started node1
[[email protected] ~]#

Ora crea una partizione sul secondo storage iscsi (/dev/sdb ) che verrà utilizzato come documento root per il nostro server web.

[[email protected] ~]# fdisk /dev/disk/by-id/wwn-0x60014056e8763c571974ec3b78812777

Formatta la partizione appena creata :

[[email protected] ~]# mkfs.ext4 /dev/disk/by-id/wwn-0x60014056e8763c571974ec3b78812777-part1

Monta il nuovo file system temporaneo su /var/www e crea le sottocartelle e imposta la regola selinux.

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

Smonta il file system ora perché il cluster monterà il file system quando richiesto.

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

Crea la Risorsa cluster del file system del server Web usando il comando pcs sotto.

[[email protected] html]# pcs resource create 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 resource show
 Resource Group: webgroup
 webserver_fs (ocf::heartbeat:Filesystem): Started node1
[[email protected] html]#

Aggiungi le seguenti righe nel file '/etc/httpd/conf/httpd.conf' su entrambi i nodi.

<Location /server-status>
 SetHandler server-status
 Order deny,allow
 Deny from all
 Allow from 127.0.0.1
</Location>

Apri la porta httpd o del server web nel firewall del sistema operativo su entrambi i nodi

[[email protected] ~]# firewall-cmd --permanent --add-service=http
success
[[email protected] ~]# firewall-cmd --reload
success

[[email protected] ~]#
[[email protected] ~]# firewall-cmd --permanent --add-service=http
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#

Crea risorsa cluster IP virtuale (IPaddr2) usando il comando sotto. Esegui il comando seguente su uno qualsiasi dei nodi.

[[email protected] ~]# pcs resource create vip_res IPaddr2 ip=192.168.1.151 cidr_netmask=24 --group webgroup
[[email protected] ~]#

Crea risorsa cluster Apache usando sotto Comando:

[[email protected] ~]# pcs resource create apache_res apache configfile="/etc/httpd/conf/httpd.conf" statusurl="http://127.0.0.1/server-status" --group webgroup
[[email protected] ~]#

Verifica lo stato del cluster :

[[email protected] ~]# pcs status

Usa 'df ' e 'aggiungi ip ' comando per verificare il failover del file system e dell'indirizzo IP.

Accedi al tuo sito Web utilizzando VIP (192.168.1.151)

.

GUI del pacemaker :

È possibile accedere alla GUI di Pacemaker dal browser Web tramite vip.

https://192.168.1.151:2224/

Utilizza il nome utente "hacluster" e la relativa password che abbiamo impostato nel passaggio precedente.

Aggiungi i nodi Cluster esistenti.

L'installazione e la configurazione di Pacemaker sono state completate Ora, spero che i passaggi siano stati di tuo gradimento. Condividi i tuoi preziosi feedback e commenti 🙂

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


Cent OS
  1. Come configurare più siti Web con il server Web Apache

  2. Installa il server web Apache CentOS 6 / RHEL 6

  3. Installa Apache Web Server su CentOS 8 - Procedura passo passo per farlo?

  4. Come installare Apache Web Server su Centos 8

  5. Installa Zenario con Apache, PHP e MariaDB su CentOS 7

Come installare il server Web Lighttpd su CentOS 8

Come installare il server Web Cherokee su CentOS 6

Come installare Jetty Web Server su CentOS 7

Come installare Hiawatha Web Server su CentOS 7

Come installare Caddy Web Server su CentOS 7

Come installare il server Web LiteSpeed ​​in WHM/cPanel con Centos 7.x?