1.haproxy的配置
1.安装及测试
机器 | IP |
---|
server1 | 172.25.14.1 | server2 | 172.25.14.2 | server3 | 172.25.14.3 |
server1安装haproxy
yum install -y haproxy.x86_64 #安装
vim /etc/haproxy/haproxy.cfg #修改配置文件
systemctl start haproxy.service #启动服务
vim /etc/security/limits.conf #修改内核数据
浏览器访问172.25.14.1/status 显示app1、app2 DOWN server2、server3开启apache服务后,再次刷新网站 显示app1、app2 UP
2.图片访问
server1
vim /etc/haproxy/haproxy.cfg
systemctl reload haproxy.service
server3
[root@server3 ~]# mkdir /var/www/html/images
[root@server3 ~]# mv vim.jpg /var/www/html/images/
浏览器访问172.25.14.1/images/vim.jpg
浏览器访问172.25.14.1/vim.jpg无法访问到图片
3.source
server1
[root@server1 ~]# vim /etc/haproxy/haproxy.cfg
[root@server1 ~]# systemctl reload haproxy
物理机访问 server2关闭apache后真机访问资源转移到server3上
4.权重
5.设置黑名单及自动跳转网址
黑名单报错 跳转
6.日志查看代理
[root@server1 ~]# vim /etc/rsyslog.conf
真机访问 [kiosk@foundation14 Desktop]$ for i in {1…6};do curl 172.25.14.1; done server2 server3 server2 server3 server2 server3
server1上显示日志
7.访问密码
[root@server1 haproxy]# vim haproxy.cfg
stats auth admin:westos
[root@server1 haproxy]# systemctl reload haproxy.service
8.读写分离
vim upload_file.php #修改文件最大字节数为2000000000
将php文件以upload目录传给server3,同时serverw2、server3的upload目录需要777的权限。 [root@server1 ~]# vim /etc/haproxy/haproxy.cfg [root@server1 ~]# systemctl reload haproxy.service
浏览器访问172.25.14.1/index.php
上传文件 查看server1的日志,显示从server2上读,存储到server3
2.Pacemaker实现haproxy双机热备
server1配置好仓库
ssh-keygen #生成密钥设置免密
ssh-copy-id server4
scp /etc/yum.repos.d/dvd.repo server4:/etc/yum.repos.d/ #将配置好的仓库文件传给server4
yum install -y pacemaker pcs psmisc policycoreutils-python
ssh server4 yum install -y pacemaker pcs psmisc policycoreutils-python
systemctl enable --now pcsd.service #开启服务
ssh server4 systemctl enable --now pcsd.service
echo westos | passwd --stdin hacluster
ssh server4 'echo westos | passwd --stdin hacluster'
pcs cluster auth server1 server4 #认证
pcs cluster setup --name mycluster server1 server4 #设定集群名为mycluster 包含 server1 server4
pcs cluster start --all #启动所有节点
pcs cluster enable --all
pcs property set stonith-enabled=false #取消警告
pcs status
设置vip
pcs resource create vip ocf:heartbeat:IPaddr2 ip=172.25.14.100 op monitor interval=30s
将haproxy添加到resources中 将vip和haproxy放到一个组中并运用于一个节点中
pcs resource create haproxy systemd:haproxy op monitor interval=60s
pcs resource group add hagroup vip haproxy
pcs status
pcs status查看设置成功 server1关闭
pcs node standby
pcs status
server4接管资源
pcs status
3.fence防止脑裂
物理机安装
fence-virtd-libvirt-0.4.0-4.el8.x86_64
fence-virtd-multicast-0.4.0-4.el8.x86_64
fence-virtd-0.4.0-4.el8.x86_64
fence_virtd -c 配置fence生成key
[root@foundation14 ~]# cd /etc/cluster/
[root@foundation14 cluster]# ls
fence_xvm.key
server1、server4创建目录
mkdir /etc/cluster/
真机将key传给server1、server4的/etc/cluster/下
[root@foundation14 cluster]# scp fence_xvm.key root@172.25.14.1:/etc/cluster/
[root@foundation14 cluster]# scp fence_xvm.key root@172.25.14.4:/etc/cluster/
server1、server4安装fence-virt server1、server4 输入stonith_admin -I查看到以下
[root@server1 ~]# pcs stonith create vmfence fence_xvm pcmk_host_map="server1:vm1;server4:vm4" op monitor interval=60s
[root@server1 ~]# pcs status
启动stonish
[root@server1 ~]# pcs property set stonith-enabled=true
[root@server1 ~]# pcs status
测试: server4内核破坏,自动重启
[root@server4 ~]# echo c > /proc/sysrq-trigger
server1断掉网卡,服务会切换到另一台server上,且断电主机会强制重启,重启成功后不会回退。资源转移到另一个master上
[root@server1 ~]# ip link set down eth0
|