CentOS5.5环境下布署LVS+keepalived
lvs-master:192.168.4.80
lvs-backup:192.168.4.79(备份服务器配置和master差不多)
vip:192.168.4.81 (必须是能访问的ip地址)
web1:192.168.4.105
web2:192.168.4.106
netmask:255.255.255.0
gateway:192.168.4.1
调试时候最好关闭防火墙和selinux,或用iptables命令允许防火墙通过的ip和端口
虚拟机ip设置成静态内网ip
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #默认不动
BOOTPROTO=static #改成static
ONBOOT=yes #默认不动
HWADDR=08:00:27:c4:2f:85 #默认不动
IPADDR=192.168.4.105 #分配的内网ip
IPV6INIT=no #默认不动
IPV6_AUTOCONF=no #默认不动
BROADCAST=192.168.4.255 #广播网段
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.4.1 #网关
DNS1=8.8.8.8 #首选DNS 这里用谷歌的
DNS2=8.8.4.4 #备用DNS 这里用谷歌的
# service network restart //重启网卡
# ifconfig //查看本机ip是否设置的ip
![CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代 CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代](http://img2.ph.126.net/epIWEAGqXdBsMmDy2jUElg==/6608506886608408286.png)
![CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代 CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代](http://img1.ph.126.net/y-ZXTNDmICDMAtbWYIdKLQ==/6608955487352542852.png)
![CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代 CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代](http://img1.ph.126.net/gXhY-lL_GDmZJ4mp_6Ac5A==/6608251799911853320.png)
开始搭建配置Lvs
//虚拟服务器和备份服务器安装ipvsadm ,keepalived
# cd /data/soft/
# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
# wget http://www.keepalived.org/software/keepalived-1.1.17.tar.gz
//建立软连接(类似快捷方式),不然安装会出错, 要是/usr/src/kernels下没有2.6.xxxx则安装kernel-devel
#yum -y install kernel-devel
# ln -sv /usr/src/kernels/2.6.xxxxxx/ /usr/src/linux
//安装ipvsadm
# tar -zxvf ipvsadm-1.24.tar.gz
# cd ipvsadm-1.24
# make && make install
//安装keepalived 确保已安装了openssl-devel,检查命令 rpm -qa|grep openssl-devel
# tar -zxvf keepalived-1.1.17.tar.gz
# cd keepalived-1.1.17
# ./configure --with-kernel-dir=/usr/src/kernels/2.6.xxxxxx/
# make && make install
//配置keepalived
# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
# mkdir /etc/keepalived
# cp /usr/local/sbin/keepalived /usr/sbin/
# vi /etc/keepalived/keepalived.conf (keepalived配置文件,没有这个文件就创建)
global_defs {
notification_email {
king_819@163.com
}
notification_email_from king_819@163.com
smtp_server smtp.163.com
# smtp_connect_timeout 30
router_id LVS_DEVEL
}
# VIP1
vrrp_instance VI_1 {
state MASTER #备份服务器上将MASTER改为BACKUP
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 51
priority 100 # 备份服务上将100改为90
advert_int 5
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.4.81
#(如果有多个VIP,继续换行填写.)
}
}
virtual_server 192.168.4.81 80 {
delay_loop 6 #(每隔10秒查询realserver状态)
lb_algo wlc #(lvs 算法)
lb_kind DR #(Direct Route)
persistence_timeout 5 #(同一IP的连接60秒内被分配到同一台realserver)
protocol TCP #(用TCP协议检查realserver状态)
real_server 192.168.4.105 80 { #这里是监听真实服务器80端口 apache服务,
weight 100 #(权重)
TCP_CHECK {
connect_timeout 10 #(10秒无响应超时)
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.4.106 80 {
weight 100
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
# service keepalived start|stop //(启动和停止keepalived服务器)
# chkconfig –-level 2345 keepalived on //加入到服务快捷方式,可以直接执行 service keepalived start|stop
# ip add //看到记录 inet 192.168.4.81/32 scope global eth0 说明配置成功了
![CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代 CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代](http://img1.ph.126.net/lPLQ6tvc9ETA5K9I3Yo3kw==/6608677310910712426.png)
配置realserver web1: 192.168.4.105 和 web2: 192.168.4.105
//想要测试 最好在真实服务器先安装apache, 真实服务器不用安装lvs软件
# vi /usr/sbin/lvs_real.sh
#!/bin/bash
SNS_VIP=192.168.4.81
/etc/rc.d/init.d/functions
case "$1" in
start)
/sbin/ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
/sbin/route add -host $SNS_VIP 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
echo "1" > /proc/sys/net/ipv4/ip_forward #允许数据包转发 1允许 0禁止
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
;;
stop)
/sbin/ifconfig lo:0 down
/sbin/route del $SNS_VIP >/dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "0" > /proc/sys/net/ipv4/ip_forward #0禁止数据包转发
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
# chmod +x /usr/sbin/lvs_real.sh
#/usr/sbin/lvs_real.sh start //启动
# echo "/usr/sbin/lvs_real.sh start" >> /etc/rc.local //自动随服务器启动
看到下面的则表示成功
![CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代 CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代](http://img0.ph.126.net/63bnTla5jjQA17JmC3gZiQ==/6608544270003752508.png)
回到虚拟服务器 virtual_server 192.168.4.80 查看一些lvs的状态信息
# ttail -n 10 /var/log/messages //查看keepalived监听状态
![CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代 CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代](http://img2.ph.126.net/5vrAJyinWQCxjtU9EN7WQg==/6608468403701435201.png)
# ipvsadm //查看集群请求的当前状态
![CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代 CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代](http://img0.ph.126.net/OtI4aSnafhFwn-Oucn4FnQ==/6608409030074628822.png)
# ipvsadm -Ln //查看集群中的服务器
![CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代 CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代](http://img0.ph.126.net/Bg_bSTWKodvMwmTnXxWMgg==/6608793859143257607.png)
# ipvsadm -lnc //查看集群请求的 被分发的链接
![CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代 CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代](http://img0.ph.126.net/XhnNTeGx7Vjlf0DQCjGcgw==/6608525578306081452.png)
测试访问:http://192.168.4.81/
![CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代 CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代](http://img2.ph.126.net/nDVIrCqbjyxhPU4WKeweTw==/6608271591121155314.png)
![CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代 CentOS5.5环境下布署LVS+keepalived - 安时代 - 理想时代](http://img1.ph.126.net/cjJs3P48HCk6q8sxawtadQ==/6608749878678146449.png)