LVS+keepalived+httpd高可用集群
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS+keepalived+httpd高可用集群相关的知识,希望对你有一定的参考价值。
环境:
主keepalived服务器:192.168.80.100
从keepalived服务器: 192.168.80.101
Web服务器:192.168.80.102
192.168.80.103
在80.100虚拟机上
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install lrz* -y //安装上传软件
tar xf keepalived-1.4.2.tar.gz -C/opt/ //解压keepalived-1.4.2.tar.gz文件到/opt/
cd /opt/ keepalived-1.4.2/
yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel
./configure --prefix=/
make && make install
cd /etc/
ls | grep keepalived
cd keepalived/
vi keepalived.conf
把里面内容全删掉换成
! Configuration File for keepalived
global_defs {
router_id LVS_01 //本服务器的名称
}
vrrp_instance VI_1 { //定义VRRP热备实例
state MASTER //热备状态,MASTER表示主服务器,BACKUP表示从服务器
interface ens32 //承载VIP地址的物理接口
virtual_router_id 51 //虚拟路由器的ID号,每个热备组保持一致
priority 150 //优先级,数值越大优先级越高
advert_int 1 //通告间隔秒数(心跳频率)
authentication { //热备认证信息,每个热备组保持一致
auth_type PASS //认证类型
auth_pass 6666 //密码字符串
}
virtual_ipaddress { //指定漂移地址(VIP),可以有多个
192.168.80.188
}
}
virtual_server 192.168.80.188 80 { //虚拟服务器地址(VIP)、端口
delay_loop 6 //健康检查的间隔时间(秒)
lb_algo rr //轮询(rr)调度算法
lb_kind DR //直接路由(DR)群集工作模式
persistence_timeout 60 //连接保持时间(秒)
protocol TCP //应用服务器采用的是TCP协议
real_server 192.168.80.102 80 { //第一个Web服务器节点的地址、端口
weight 1 //节点的权重
TCP_CHECK { //健康检查方式
connect_port 80 //检查的目标端口
connect_timeout 3 //连接超时(秒)
nb_get_retry 3 //重试次数
delay_before_retry 3 //重试间隔
}
}
real_server 192.168.80.103 80 { //第二个Web服务器节点的地址、端口
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
:wq
service keepalived start
systemctl status keepalived
ip add show ens32
modprobe ip_vs
yum install ipvsadm -y
service keepalived restart
ipvsadm -Ln
在80.101虚拟机上
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install lrz* -y //安装上传软件
tar xf keepalived-1.4.2.tar.gz -C/opt/ //解压keepalived-1.4.2.tar.gz文件到/opt/
cd /opt/ keepalived-1.4.2/
yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel
./configure --prefix=/
make && make install
modprobe ip_vs
yum install ipvsadm -y
vi /etc/keepalived/keepalived.conf
删掉里面的所有内容添加以下内容
! Configuration File for keepalived
global_defs {
router_id LVS_02
}
vrrp_instance VI_1 {
state BACKUP
interface ens32
virtual_router_id 51
priority 105
advert_int 1
authentication {
auth_type PASS
auth_pass 6666
}
virtual_ipaddress {
192.168.80.188
}
}
virtual_server 192.168.80.188 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 192.168.80.102 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.80.103 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
:wq
service keepalived start
service keepalived status
在80.102虚拟机上
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install httpd -y
vi /etc/httpd/conf/httpd.conf
找到#ServerName www.example.com:80吧#去掉
cd /var/www/html/
echo "<h1>SERVER AA</h1>" > index.html
systemctl start httpd
./web.sh
ifconfig
在80.103虚拟机上
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install httpd -y
vi /etc/httpd/conf/httpd.conf
找到#ServerName www.example.com:80吧#去掉
cd /var/www/html/
echo "<h1>SERVER BB</h1>" > index.html
systemctl start httpd
vi web.sh
添加以下内容
#!/bin/bash
#haha
ifconfig lo:0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 up
route add -host 192.168.80.188 dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p &>/dev/null
:wq
chmod +x web.sh
./web.sh
ifconfig
scp web.sh [email protected]:/root/
yes
自己设的root密码
效果网页输入192.168.80.188
以上是关于LVS+keepalived+httpd高可用集群的主要内容,如果未能解决你的问题,请参考以下文章