环境:主keepalived服务器:192.168.80.100从keepalived服务器: ??192.168.80.101Web服务器:192.168.80.102 ???????????????????192.168.80.103
在80.100虚拟机上:
systemctl stop firewalld ??????????//关闭防火墙
setenforce 0 ???????????????????????????//关闭监控
yum install lrz* -y ??????//安装上传软件
把keepalived包拉入
tar xf keepalived-1.4.2.tar.gz -C /opt/ ??????//解压keepalived-1.4.2文件到/opt
cd /opt/keepalived-1.4.2/
yum install gcc gcc-c++ make popt-devel kernel-devel openssl-devel -y
./configure --prefix=/
make && make install
cd /cd /etc/ls | grep keepalivedcd keepalived/
vi keepalived.conf ?????????????????????????//进入keepalived删除所有内容并添加以下内容:
! Configuration File for keepalivedglobal_defs { ??router_id LVS_01 ???????????//本服务器的名称}vrrp_instance VI_1 { ???????????//定义VRRP热备实例 ???state MASTER ????????????//热备状态,MASTER表示主服务器,BACKUP表示从服务器 ???interface ens32 ???????????//承载VIP地址的物理接口 ???virtual_router_id 51 ???????//虚拟路由器的ID号,每个热备组保持一致 ???priority 110 ??????????????//优先级,数值越大优先级越高 ???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 startsystemctl status keepalived ?????//查看keepalived状态
ip addr show dev ens32
modprobe ip_vsyum install ipvsadm -yservice keepalived restartipvsadm -Ln ???????????//查看LVS虚拟服务器
在80.101虚拟机上:
systemctl stop firewalld ??????????//关闭防火墙
setenforce 0 ???????????????????????????//关闭监控
yum install lrz* -y ??????//安装上传软件
把keepalived包拉入
tar xf keepalived-1.4.2.tar.gz -C /opt/ ??????//解压keepalived-1.4.2文件到/opt
cd /opt/keepalived-1.4.2/
yum install gcc gcc-c++ make popt-devel kernel-devel openssl-devel -y
./configure --prefix=/make && make installmodprobe ip_vsyum install ipvsadm -y
vi /etc/keepalived/keepalived.conf ???????????//删除所有内容并添加以下内容:
! Configuration File for keepalivedglobal_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 TCPreal_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
systemctl status keepalived ??????????//查看keepalived状态
————————————————————————————
在80.102虚拟机上:
systemctl stop firewalld
setenforce 0yum install httpd -y ?????????????????//安装httpd
????
vi /etc/httpd/conf/httpd.confServerName ??www.example.com.80 ?前面的#去掉
cd /var/www/html/ ?????????????//进入目录echo "<h1>SERVER AA</h1>" > index.html ??????//在index.html添加内容lscat index.html
systemctl start httpd
cdls./web.sh
ifconfig ??????//查找IP地址
在虚拟机80.103上:
systemctl stop firewalld
setenforce 0yum install httpd -y ?????????????//安装httpd
vi /etc/httpd/conf/httpd.confServerName ??www.example.com.80 前面的#去掉
cd /var/www/html/ ???????????//进入目录echo "<h1>SERVER BB</h1>" > index.html ??????//在index.html添加内容lscat index.html
systemctl start httpd
vi web.sh ?????
里面添加以下内容
#!/bin/bash#hahaifconfig lo:0 192.168.80.188 broadcast 192.168.80.188 netmask 255.255.255.255 uproute add -host 192.168.80.188 dev lo:0echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/lo/arp_announceecho "1" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/all/arp_announcesysctl -p &>/dev/null ???:wq ??????//保存退出
chmod +x web.sh ?????//设置权限./web.shifconfig ?????????//查找IP地址
scp web.sh root@192.168.80.102:/root/ ????//把地址传送过去yesroot密码
网页上输入http:192.168.80.188
在80.103中
systemctl stop httpd ?????//关闭httpd
在页面上刷新成下面情况:
LVS+keepalived+httpd高可用集群
原文地址:http://blog.51cto.com/14158297/2343886