一、lvs实现负载均衡
在vm1上
vim /etc/yum.repos.d/rhel-source.repo
添加4个包
[HighAvailability]
name=HighAvailability
baseurl=http://172.25.9.250/rhel6.5/HighAvailability
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.9.250/rhel6.5/LoadBalancer
gpgcheck=0
[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.9.250/rhel6.5/ResilientStorage
gpgcheck=0
[ScalableFileSystem]
name=ScalableFileSystem
baseurl=http://172.25.9.250/rhel6.5/ScalableFileSystem
gpgcheck=0
yum insatll -y ipvsadm
ip addr add 172.25.9.100/24 dev eth0
添加vip
ip addr
ipvsadm -A -t 172.25.9.100:80 -s rr
添加策略为轮询策略
ipvsadm -a -t 172.25.9.100:80 -r 172.25.9.2:80 -g
ipvsadm -a -t 172.25.9.100:80 -r 172.25.9.3:80 -g
/etc/init.d/ipvsadm save
保存策略
cat /etc/sysconfig/ipvsadm
查看添加的策略
在vm2 和vm3上
ip addr add 172.25.9.100/24 dev eth0
添加vip
yum install -y arptables_jf
arptables -A IN -d 172.25.9.100 -j DROP
arptables -A OUT -s 172.25.9.100 -j mangle --mangle-ip-s 172.25.9.2(172.25.9.3)
/etc/init.d/arptables_jf save
在物理机上
curl 172.25.9.100
二、使用ldirectord工具自动添加策略
在vm1上
yum install ldirectord-3.9.5-3.1.x86_64.rpm -y
rpm -ql ldirectord.x86_64 0:3.9.5-3.1
查看生成的文件
cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/
拷贝配置文件
vim /etc/ha.d/ldirectord.cf
编辑配置文件
/etc/init.d/ipvsadm stop
停止ipvsadm策略
/etc/init.d/ldirectord start
启用ldirectord自动书写ipvsadm策略
ipvsadm -l
查看策略是否书写成功
在物理机上
curl 172.25.9.100
三、使用集成好的keepalived部署服务
在vm1上
tar zxf keepalived-1.4.3.tar.gz
解压keepalived包
./configure --prefix=/usr/local/keepalived ==with-init=SYSV
使用源码安装keepalived
make && make install
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
进行相关连接
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/etc/keepalived/ /etc/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
chmod +x /usr/local/keepalived/etc/rc.d/init.d/keepalived
赋予执行权限
/etc/init.d/keepalived status
查看安装是否成功
yum install -y mail
vim /etc/keepalived/keepalived.conf
notification_email {
root@localhost
}
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_strict 执行会添加iptables策略阻止访问,需要注释掉
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER 设置为主机
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { 添加的vip
172.25.9.100
}
}
virtual_server 172.25.9.100 80 {
delay_loop 6
lb_algo rr 添加策略为rr模式
lb_kind DR 适用于直连网络的策略
persistence_timeout 50 50秒后重新响应,需注释掉
protocol TCP
real_server 172.25.9.2 80 { 后端的ip
weight 1 权重表示接受服务的比重
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 3
}
}
real_server 172.25.9.3 80 {
weight 1
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}
/etc/init.d/ldirectord stop
关闭并清空ldirectord服务
chkconfig ldirectord off
/etc/init.d/keepalived start
ipvsadm -l
scp -r keepalived/ root@172.25.9.4:/usr/local/
在vm4上
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/etc/keepalived/ /etc/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
chmod +x /usr/local/keepalived/etc/rc.d/init.d/keepalived
vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state BACKUP 作为备用机
interface eth0
virtual_router_id 51
priority 50 数值与选举机制成正比
advert_int 1
在vm2,vm3上
/etc/init.d/httpd start
在物理机上
curl 172.25.9.100