keepalived简介
是一款用C语言编写的路由热备软件,主要提供简单高效的负载均衡和高可用性解决方案。Keepalived通过VRRP协议实现高可用性架构。Lvs实现了集群分发,keepalived实现了调度器的主备方案,两者的结合实现了集群系统的高负载和高可用。
VRRP协议是一种主从式灾难恢复协议,旨在防止单点故障。VRRP将两台或多台路由设备虚拟化为一台设备,并向外部提供虚拟路由ip地址。当主用路由设备启用时,它会不断向备用设备发送自己的信息,以表明主用路由状态正常。当备用设备无法从主设备接收到信息时,备用设备将根据自己的优先级选举一个新的主设备,并保证提供所有的业务功能。
LVS+保持活动实例
名称服务器网络接口IP地址
首先安装并配置web1和web2
设置web1网络参数和环回设备lo:0以设置VIP
vim/etc/sysconfig/network-scripts/ifCFG-eth0
设备=eth0
BOOTPROTO=static
IPADDR=192.168.1.7
网络掩码=255.255.255.0
网关=192.168.1.1
ONBOOT=是
vim/etc/sysconfig/network-scripts/ifCFG-lo:0
设备=lo:0
BOOTPROTO=static
IPADDR=192.168.1.2
网络掩码=255.255.255.255
网关=192.168.1.1
ONBOOT=是
修改ARP参数
vim/etc/sysctl.conf
net.IPv4.conf.eth0.ARP_ignore=1
net.IPv4.conf.eth0.ARP_announce=2
net.ipv4.conf.all.arp_ignore=1
net.IPv4.conf.all.ARP_announce=2
执行sysctl-p
服务网络重启
防火墙
iptables-X
服务iptables保存
setenforce0
sed-is/enforcing/disabled/g/etc/sysconfig/selinux
yuminstall-yhttpd
echo"web1192.168.1.7">/var/www/html/index.html
服务httpd重新启动
chkconfighttpd打开
2在web机器上执行与web1相同的步骤,注意修改一些参数
lvs_1调度程序 *** 作
首先设置网络
vim/etc/sysconfig/network-scripts/ifCFG-eth0
设备=eth0
BOOTPROTO=static
IPADDR=192.168.1.5
网络掩码=255.255.255.0
网关=192.168.1.1
ONBOOT=是
类型=以太网
服务网络重启
部署保持激活的ipvsadm
yuminstall-ygccOpenSSL-develpopt-devellibnllibnl-develkernel-develipvsadm
下载keepalived
wgethttp://www.keepalived.org/software/keepalived-1.3.0.tar.gz
tarzxfkeepalived-1.3.0.tar.gz-C/usr/src/
cd/usr/src/keepalived-1.3.0/
。/配置
制造和销售。&进行安装
ln-s/usr/local/etc/keepalived//etc/
ln-s/usr/local/etc/RC.d/init.d/keepalived/etc/init.d/
ln-s/usr/local/etc/sysconfig/keepalived/etc/sysconfig/
ln-s/usr/local/sbin/keepalived/usr/sbin/
lvs_1为主器件,lvs_2为从器件。请修改配置文件
vim/etc/keepalived/keepalived.conf
global_defs{
通知_电子邮件{
test@163.com
}
notification_email_fromroot@localhost
smtp_server127.0.0.1
smtp_connect_timeout30
router_idlvs_1
}
vrrp_实例LVS_高可用性{
主设备#LVS_2是备用设备
接口eth0
virtual_router_id60#lvs_2的VRID必须与lvs-1相同
优先级100#lvs-2是从设备,必须小于lvs-1的参数
advert_int1
身份验证{
auth_typePASS
auth_pass1111
}
虚拟IP地址{
192.168.1.2/24
}
}
虚拟服务器80{
delay_loop6
lb_algorr
lb_kindDR
nat_mask255.255.255.0
persistence_timeout50
协议TCP
real_server
重量1
TCP_CHECK{
connect_timeout20
connect_port80
nb_get_retry3
}
}
real_server192.168.1.880{
重量1
TCP_CHECK{
connect_timeout20
connect_port80
nb_get_retry3
}
}
}
服务持续启动
chkconfig保持启用
Ip地址显示#查看虚拟IP
Ipvsadm-Ln#查看lvs规则
防火墙
iptables-X
服务iptables保存
setenforce0
sed-is/enforcing/disabled/g/etc/sysconfig/selinux
在lvs_2机器上执行相同的 *** 作,注意修改一些参数。
配置以下路由器机器,作为软路由使用,生产环境直接使用硬件路由设备。
vim/etc/sysconfig/network-scripts/ifCFG-eth0
设备=eth0
BOOTPROTO=static
IPADDR=192.168.1.1
网络掩码=255.255.255.0
ONBOOT=yes
DNS=8.8.8.8
vim/etc/sysconfig/network-scripts/ifCFG-eth1
设备=eth1
BOOTPROTO=static
IPADDR=122.126.152.183
网络掩码=255.255.255.254
ONBOOT=yes
DNS=8.8.8.8
服务网络重启
防火墙
iptables-X
iptables-tnat-F
iptables-tnat-X
iptables-tNAT-IPREROUTING-d122.126.152.183-pTCP-dport80-j到达目的地192.168.1.2:80
iptables-tnat-I预路由-s192.168.1.0/24-pTCP-j122.126.152.183SNAT到源
服务iptables保存
setenforce0
sed-is/enforcing/disabled/g/etc/sysconfig/selinux
vim/etc/sysctl.conf
网络ipv4..ip_forward=1
设置参数立即生效
客户端测试
访问http://122.126.152.183的浏览器会得到不同真实服务器的数据包。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)