介绍:

lvs即是linux虚拟服务器,是一个虚拟的服务器集群系统
特点:很好的伸缩性,很好的可靠性,很好的可管理性
四种模式:
VS/NAT:通过网络地址转换将一组服务器构成一个高性能,高可用的虚拟服务器
VS/DR:通过直接路由实现虚拟服务
VS/TUN:通过ip隧道实现虚拟服务器
还有二度开发的第四种模式(FULL NAT)

实验一:基础的轮询

1,实验主机
server1    172.25.254.1    调度器
server2    172.25.245.2    RS服务器
server3    172.25.254.3    RS服务器
server4    172.25.254.4    备用调度器
2,注意yum源的增加
[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.254.154/rhel6.5/LoadBalancer
enable=1
gpgcheck=0

lvs之DR模式


3,工具的安装
server1:yum install ipvsadm -y
4,添加策略
调度器server1:
添加ip号作为调度器

lvs之DR模式

设为基本的轮叫的模式并查看

lvs之DR模式

RS服务器server2和server3(两个配置相同):
安装http服务并开启http服务,同时编写测试页面lvs之DR模式lvs之DR模式server3:添加调度器ip

lvs之DR模式

实验效果:实现两个服务器轮流服务

lvs之DR模式设置火墙:

浏览器测试:

lvs之DR模式测试:

lvs之DR模式

yum install arptables_jf -y
控制IN和OUT保证访问的是服务器本身并保存策略

lvs之DR模式
ipvsadm -ln可以查看策略
现在即可通过测试端访问调度器,命令为curl 172.25.254.100,其中curl不受缓存影响
注意:这里为了测试结果,server2和server3的发布目录不一样,而实际上他们应该完全一样,即在一定的时间内访问两次淘宝,网页没有任何变化,而实际上服务器可能已经变化了

出现的问题

(1)当RS节点出现问题,还是会把会话连续转发到RS上
(2)当调度器出现问题,整个网络会出现故障
解决办法:
针对(1)所以需要一种健康检查机制定时检查RS是否正常,不正常的时候删除,恢复正常了再添加
针对(2)还需要再架一台调度器作为备用
所以需要lvs+keepalived配和,来实现RS节点健康检查和lvs的高可用功能                

 

实验2:ldiretcotord服务,解决RS服务器挂掉问题

解决办法:当RS服务器出现问题,ldirectord进程将其从ipvs表中移除
而一旦realserver再次上线,ldirector会将其重新添加到ipvs表中
1)调度器server1:配置yum源  
在原本的基础上家加入下面内容
[HighAvailability]
name=HighAvailability
baseurl=http://172.25.254.154/rhel6.5/HighAvailability
enabled=1
gpgcheck=0

lvs之DR模式

2)yum install ldirectord-3.9.5-3.1.x86_64.rpm  -y

lvs之DR模式

cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/

cd /etc/ha.d/

 vim ldirectord.cf

lvs之DR模式
内容如下:

lvs之DR模式

  /etc/init.d/ldirectord start

 

安装httpd服务并开启80端口,配置文件是/etc/httpd/conf/httpd.conf

lvs之DR模式

lvs之DR模式
写一个发布页面来鉴别啦比如:系统正在维护中.........
并且在本地测验一下效果如下:

lvs之DR模式

宕掉其中一个时,依然正常工作,宕掉全部时,调度器可以工作
    
以上实现了安全检查,但是当调度器出现问题,那幺系统依旧崩溃

实验3:应用keepalived高可用集群管理实现两个调度器以主备方式进行工作

说明:因为ldirectord与keepalived存在冲突,所以必须将lidirectort停掉
获取源码文件,并用scp命令传给server1

lvs之DR模式
server1获取keepalived文件并解压

yum install openssl-devel -y

lvs之DR模式

server1:
yum install gcc -y当没有安装会出现一定的报错
进入解压目录进行编译./configure-->make-->make install
./configure --with-init=SYSV --prefix=/usr/local/keepalived
make进行编译
make install进行安装
做四项软链接
ln  -s /usr/local/keepalived/etc/keepalived/ /etc/
ln -s  /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

可以查看连接lvs之DR模式

加可执行权限lvs之DR模式

yum install mailx用于接收文件
配置文件:/etc/keepalived/keepalived.conf内容如下图

lvs之DR模式
删除原本的ip:ip addr del 172.25.254.100/24 dev eth0
编辑完配置文件,开启服务/etc/init.d/keepalived start
至此server1配置完成

备用的调度器server4:
yum源可以从server1上复制过来

yum install ipvsadm -y

四项连接

lvs之DR模式
可以将配置文件直接从主调度器复制过来

lvs之DR模式
模式改为BACKUP,优先级改变要比主的优先级高不然会出现冲突

lvs之DR模式

lvs之DR模式

实验效果:

lvs之DR模式

lvs之DR模式

当调度器server1出现问题,查看server4的日志,记录由备用变为主要

实验四:当备用调度器一直处于准备状态,造成资源浪费,现配置srever4与server1互为主备

互为主备模式,既维护系统安全,又不浪费资源
RS服务器server2和server3配置一样
RS服务器端server2:yum instll vsftpd
/ect/init.d/vsftpd start
cd /var/ftp/
touch server

调度器server1:
vim /etc/keepalived/keepalived.conf配置主要文件内容如下:
更改完配置文件请重启服务/ect/init.d/keepalived  restart
ipvsadm -l查看策略

RS服务器server2:
ip addr add 172.25.254.200/32 dev eth0
vim /etc/sysconfig/arptables添加策略,内容如下
/etc/init.d/arptables_jf restart重启服务
arptables -L查看火墙策略
RS服务器server3与server2相同

测试结果:
在物理机上以lftp 172.25.254.200来测试结果
同时在server1上ipvsadm -lnc可以查看访问的哪个端口以及访问的次数

 

分类:

技术点:

相关文章: