什么是LVS
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。
1998年5月由章文嵩博士成立,并被linux收入到系统。
LVS工作在一台server上提供Directory(负载均衡器)的功能,本身并不提供服务,只是把特定的请求转发给对应的realserver(真正提供服务的主机),从而实现集群环境中的负载均衡。LVS的核心组件ipvs工作在kernel中,是真正的用于实现根据定义的集群转发规则把客户端的请求转发到特定的realserver。而另一个组件ipvsadm是工作在用户空间的一个让用户定义ipvs规则的工具。故我们只要在server上装了ipvsadm软件包就可以定义ipvs规则,而在linux kernel的2.6版本之后kernel是直接支持ipvs的。
LVS的四种模式:
1.DR
2.Nat
3.fullNat(阿里根据Nat改进的)
4.TUN (IP隧道)
DR模式
什么是DR模式?
DIP和RIP
DR模式实验实现:
loadbalancer服务器(调度器server3)
vim /etc/yum.repos.d/rhel-source.repo ##修改yum源添加LoadBalancer(负载均衡)安装包
[LoadBalancer]
name = LoadBalancer
baseurl = http://172.25.10.250/rhel6.5/LoadBalancer
gpgcheck = 0
yum install ipvsadm -y ##安装LVS管理工具
ipvsadm工具介绍
从2.4版本开始,linux内核默认支持LVS。要使用LVS的能力,只需安装一个LVS的管理工具:ipvsadm。
LVS的结构主要分为两部分:
工作在内核空间的IPVS模块。LVS的能力实际上都是由IVPS模块实现。
工作在用户空间的ipvsadm管理工具。其作用是向用户提供一个命令接口,用于将配置的虚拟服务、真实服务等传给IPVS模块。
https://www.cnblogs.com/lipengxiang2009/p/7353373.html(ipvsadm工具)
ip addr add 172.25.10.100/24 dev eth0 ##添加IP模拟MAC地址
ipvsadm -A -t 172.25.10.100:80 -s rr ##添加一条新的虚拟服务配置。负载均衡算法为rr(轮询算法)
ipvsadm -a -t 172.25.10.100:80 -r 172.25.10.2:80 -g ##在一个虚拟服务中添加一个新的真实服务器
ipvsadm -a -t 172.25.10.100:80 -r 172.25.10.3:80 -g
ipvsadm -l
/etc/init.d/ipvsadm save ##保存设定
web服务器(server1&server2)
ip addr add 172.25.10.100/32 dev eth0 ##添加IP
cd /var/www/html/
ls
vim index.html
/etc/init.d/httpd start
yum search arptables
yum install arptables_jf.x86_64
arptables -A IN -d 172.25.10.100 -j DROP
arptables -A OUT -s 172.25.10.100 -j mangle --mangle-ip-s 172.25.10.2
/etc/init.d/arptables_jf save
对后端服务器的健康检查
调度器server3
yum install ldirectord-3.9.5-3.1.x86_64.rpm
rpm -qpl ldirectord-3.9.5-3.1.x86_64.rpm
cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/
vim /etc/ha.d/ldirectord.cf
ipvsadm -C
ipvsadm -l
/etc/init.d/ldirectord start
主备
tar -xzf keepalived-2.0.6.tar.gz
cd keepalived-2.0.6
yum install gcc
yum install openssl -y
yum install openssl-devel -y
yum install libnl-devel libnl -y
./configure --prefix=/usr/local/keepalived --with-init=SYSV
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/
cd /usr/local/keepalived/etc/rc.d/init.d
chmod +x keepalived
/etc/init.d/keepalived start ##测试安装是否成功