Configuration de l'environnement
Puisque rhel8 n'est pas encore populaire dans les entreprises, nous devons installer des machines virtuelles rhel7.6 pour terminer le projet.
Dans cette expérience, nous avons besoin de trois machines virtuelles:
Maison hôte: 172.25.19.10
serveur1: 172.25.19.1
serveur2: 172.25.19.2
Emballage de machine virtuelle
1. Modification du nom d'hôte
[root@localhost ~]$ hostnamectl set-hostname home
[root@localhost ~]$ hostname
home
2. Configuration des fichiers réseau
[root@localhost network-scripts]$ vim ifcfg-eth0
[root@localhost network-scripts]$ cat ifcfg-eth0
BOOTPROTO=none
DEVICE=eth0
ONBOOT=yes
IPADDR=172.25.19.10
PREFIX=24
3. Configurer la résolution de l'hôte
[root@localhost network-scripts]$ vim /etc/hosts
[root@localhost network-scripts]$ cat /etc/hosts
4. Désactiver les éléments
systemctl disable --now NetworkManager
systemctl disable --now firewalld
vim /etc/sysconfig/selinux
5. Configurer la source yum
mount /iso/rhel-server-7.6-x86_64-dvd.iso /var/www/html/rhel7.6/
vim /etc/yum.repos.d/westos.repo
Implémentation d'un cluster haute disponibilité
1. Configuration de l'environnement
Cloner la machine virtuelle encapsulée deux fois, renommer server1, server2 et changer l'adresse IP en 172.25.19.1 et 172.25.19.2 respectivement
2. Mettre à jour la configuration de l'entrepôt de logiciels pour le cluster à haute disponibilité
[root@server1 yum.repos.d]# cat westos.repo
[rhel7]
name=rhel7
baseurl=http://172.25.19.250/rhel7.6/
gpgcheck=0
[addons]
name=HighAvailability
baseurl=http://172.25.19.250/rhel7.6/addons/HighAvailability
gpgcheck=0
3. Connexion sans secret
在server1中:
ssh-keygen
ssh-copy-id server2
4. Réalisation concrète à haute disponibilité
在server1中:
yum install -y pacemaker pcs psmisc policycoreutils-python 安装集群插件
ssh server2 yum install pacemaker corosync -y
ssh server2 yum install -y pacemaker pcs psmisc policycoreutils-python
systemctl enable --now pcsd
systemctl start pcsd.service
systemctl status pcsd.service
ssh server2 systemctl enable --now pcsd
ssh server2 systemctl start pcsd.service
echo westos | passwd --stdin hacluster
ssh server2 echo westos | passwd --stdin hacluster
yum install bash-* -y
pcs cluster auth server1 server2 配置corosync
#在同一个节点上使用pc集群设置来生成和同步corosync
pcs cluster setup --name mycluster server1 server2
pcs cluster start --all 开启集群
corosync-cfgtool -s 检查群通信是否通畅
pcs cluster status
5. Ajouter des ressources au cluster hautement disponible
[root@server1 yum.repos.d]# pcs property set stonith-enabled=false
[root@server1 yum.repos.d]# crm_verify -LV
pcs resource create vip ocf:heartbeat:IPaddr2 ip=172.25.254.100 op monitor interval=30s
pcs status
yum install httpd
ssh server2 yum install httpd -y
systemctl enble --now httpd
systemctl enable --now httpd
systemctl restart httpd
ssh server2 systemctl enable --now httpd
ssh server2 systemctl restart httpd
pcs resource create apache systemd:httpd op monitor interval=1min
pcs resource group add webgroup vip apache
Effet complet:
Si le serveur1 est en panne, les ressources flottent automatiquement vers le serveur2 pour réaliser le clustering