一、架构
VIP:192.168.1.250
DR: 192.168.1.80
DR_BACK:192.168.1.66
RS1:192.168.1.84
RS2:192.168.1.90
二、初始化配置
同步时间
ntpdate asia.pool.ntp.org
关闭selinux
#临时修改,立即生效 setenforce 0 #永久修改,需要重启 vim /etc/sysconfig/selinux SELINUX=disabled
- 关闭防火墙
三、DR配置
配置虚拟IP
vim ifcfg-eth1:0 DEVICE=eth1:0 BOOTPROTO=static IPADDR=192.168.1.250 NETMASK=255.255.255.255 ONBOOT=yes ARPCHECK=no
开启包转发
vim /etc/sysctl.conf net.ipv4.ip_forward = 1 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 sysctl -p
设置piranha密码
piranha-passwd New Password: Verify: Updating password for user piranha
启动piranha和lvs
/etc/init.d/piranha-gui start /etc/init.d/pulse start /etc/init.d/ipvsadm start
浏览器访问,并添加备机和虚拟主机,配置好后会自动生成lvs.cf文件
http://192.168.1.80:3636/
配置Backup Server
点击 ENABLE 激活冗余服务器 Redundant server public IP: 192.168.1.66 //备份LVS地址 Heartbeat interval (seconds):6 //心跳网络检测时间 Assume dead after(seconds):18 //死亡转移时间 Heartbeat runs on port:539 //监控的端口 Monitor NIC links for failures : 不勾选 //网卡链路失效选项 Syncdaemon: 不勾选 //同步守护进程选项
配置虚拟服务器 > 点击 VIRTUAL SERVER > ADD
添加一条心的记录并编辑 name : LVS_local //自定义名称 Application port :80 //监控应用端口号 Protocol :tcp //监控网络的协议类型 Virtual IP Address:192.168.1.250 //虚拟服务器的IP地址 Virtual IP Network Mask: 255.255.255.255 //虚拟服务掩码 Device: eth1:0 //虚拟IP设备宿主 > Re-entry time: 15 //移除RS后从新加入时间 Service timeout: 6 //RS失效后存活时间 Scheduling: 保持默认(最小连接数) //调度算法 Persistence: 保持默认 //维持时间 Persistence Network Mask:保持默认 //掩码
配置 Real-server(同理配置其他)
配置 Real-server 点击Real SERVER 新建一条RS 记录 NAME:andy //自定义RS名称 Address:192.168.1.84 //RS1服务器IP地址 Port:80 //服务的端口 Weight:1 //调度权重
激活 activate
复制配置文件到DR_BACK
scp /etc/sysconfig/ha/lvs.cf 192.168.1.66:/etc/sysconfig/ha/
四、RS配置
配置VIP
vim /etc/sysconfig/network-scripts/ifcfg-lo:0 DEVICE=lo:0 BOOTPROTO=static IPADDR=192.168.1.250 IPV6ADDR= IPV6PREFIX= NETMASK=255.255.255.255 ONBOOT=no
内核参数配置(写入开机启动项)
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
五.验证
验证LVS负载均衡是否生
使用不同机器访问http://192.168.1.250是否会跳转到不同的RS
验证是否高可用
手动停止主DR,模拟故障
/etc/init.d/pulse stop Shutting down pulse: [ OK ]
如果仍然能正常访问则证明成功
这个时候在备份DR上查看LVS状态