LVS-DR集群实验

我的未来我决定 提交于 2020-01-30 02:38:02

一、    LVS-DR集群实验


 
实验准备
1)    VMware 虚拟出三台CentOS 7 
2)    在Vmware下将网络模式配合NAT模式,网段配置为80网段(根据自己喜好,注意一致性即可)
3)    分别配置三台CentOS7的网络地址配置为:
(1)    负载均衡调度器(LVS-DR)IP:192.168.80.20
(2)    服务器AA(Server1)IP:192.168.80.30,主机名为AA
(3)    服务器BB(Server2)IP:192.168.80.40,主机名为BB
4)    VIP 地址:192.168.80.100,该配置在配置文件中实现。
5)    关闭三台CentOS7上面的防火墙
[root@localhost ~]# systemctl stop firewalld.service     #关闭防火墙
[root@localhost ~]# systemctl disable firewalld.service     #可直接选择禁止firewall开机启动

安装配置DS
6)    安装LVS IP-VS的管理模块ipvsadm
[root@localhost ~]# modprobe ip_vs    //加载ip_vs模块
[root@localhost ~]# cat /proc/net/ip_vs   //查看ip_vs版本信息 
[root@localhost ~]# yum install ipvsadm    //安装管理软件ipvsadm

7)    配置LVS IP-VS的管理模块的配置文件
[root@localhost ~]# vi dr.sh   //进入VI编辑器
#配置文件内容:
#!/bin/bash
#添加虚拟地址VIP的虚接口,对应网卡名称是 ens33
ifconfig ens33:0 192.168.80.100 broadcast 192.168.80.100 netmask 255.255.255.255 up  
#给ens33:0添加静态路由
route add -host 192.168.80.100 dev ens33:0
#清除内核虚拟服务器表中的所有记录
ipvsadm -C
#创建虚拟服务器,并配置负载均衡模式
ipvsadm -A -t 192.168.80.100:80 -s rr
#添加服务器节点
ipvsadm -a -t 192.168.80.100:80 -r 192.168.80.30:80 -g
ipvsadm -a -t 192.168.80.100:80 -r 192.168.80.40:80 -g
#输出当前配置结果,查看节点状态,加个“-n”将以数字形式显示地址、端口信息
ipvsadm -Ln

    保存退出
【Esc键】>>【:wq!】
8)    执行配置文件dr.sh
[root@localhost ~]# sh dr.sh
9)    查看虚拟接口是否就绪
[root@localhost ~]# ifconfig
安装配置RS
10)    在两台RS上分别 安装&配置Httpd服务
[root@aa ~]# yum install -y httpd
[root@aa ~]# vi /etc/httpd/conf/httpd.conf

#配置文件修改
#找到下面该行,去掉 #,修改主机名
ServerName aa 

    进入目录并配置
[root@aa ~] # cd /var/www/html/
[root@aa html ] # echo "<h1>SERVER AA</h1>" > index.html
[root@aa html ] # cat index.html

    回到根目录
[root@aa html ] # cd 

11)    在两台RS上分别 配置RS响应和服务模式
[root@ aa~] # vi web.sh   
#web配置文件修改
#!/bin/bash
#配置本机的VIP,用于和DS的VIP匹配,处理CIP发过来的请求
ifconfig lo:0 192.168.80.100 broadcast 192.168.80.100 netmask 255.255.255.255 up
route add -host 192.168.80.100 dev lo:0
# 以下四行echo是关闭本机的ARP广播响应功能
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
#使配置文件生效
sysctl -p &>/dev/null

12)    在两台RS上分别 执行脚本 并查看结果
[root@ aa ~] # sh web.sh      //执行脚本
[root@ aa ~] # ifconfig

****** 另外一台服务器也同样配置,注意主机名和index文件两个地方不同******
ServerName bb
[root@bb html ] # echo "<h1>SERVER BB</h1>" > index.html

测试验证
13)    两台RS上分别 启动 http服务
[root@ aa ~] # service httpd start
[root@ bb ~] # service httpd start

14)    在客户端(除了这三台服务器之外的CentOS)的浏览器访问 http://192.168.80.100,多次刷新,根据负载均衡出现结果。
15)    在客户端(除了这三台服务器之外CentOS IP不要冲突)命令行下,执行
# for ((i=0; i<10; i++)); do curl 192.168.80.100 ; done
# for i in $(seq 1 10); do curl 192.168.80.100 ; done
# for i in `seq 1 10`; do curl 192.168.80.100 ; done

(注意:上面的 `seq 1 10` 外面的不是 ’ 引号,是键盘左上角的 ` )



 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!