操作系统 rhel6
配置本地yum源 service iptables stop ;chkconfig iptables off setenforce 0
ip 地址 要求 eth0
192.168.4.100-104
92.168.4.200
92.168.4.250
++++++++++++++++++++++++++++++++++
LINUX 集群与存储 5天
集群 3天: LB HA (LVS Haproxy keepalived)
存储 2天: 共享存储 (iscsi NFS FastDFS )
2天综合实验(部署网站服务)
++++++++++++++++++++++++++++++++++++
相关知识:
什么是集群?(群集)
集群的目的?
集群分类?
LVS介绍?
LVS集群的组成?
LVS术语? vip rip dip \ Director Server \ real Server
LVS工作模式: LVS/NAT LVS/DR LVS/TUN * **
LVS调度算法: 10种 常用4种(RR WRR LC WLC)。
DAY02 : 一、使用LVS部署 网站LB集群 1.1 LVS/NAT 1.1.1 环境准备
网站服务器主机101、102 客户端主机250 分发器主机100
client eth1 192.168.2.250
eth1 192.168.2.100
LVS100
eth0 192.168.4.100
eth0 eth0
web4.101 web4.102
配置: +++++++++++++++++++++++++++++++++++++ 客户端250: 配置网关地址: route -n route add default gw 192.168.2.100
http://192.168.2.100/test.html ++++++++++++++++++++++++++++++++++++++ A配置网站服务器101/102 :
配置网关地址: route -n route add default gw 192.168.4.100 route del default gw 192.168.4.100 运行网站服务 163 yum -y install httpd 164 echo web102 > /var/www/html/test.html 165 service httpd start ;chkconfig httpd on ]# netstat -untlap | grep :80
编写网页文件 vim /var/www/html/test.html web102 web101 +++++++++++++++++++++++++++++++++++++++++ B配置分发器100 开启内核的路由转发功能 ]# sed -i '7s/0/1/' /etc/sysctl.conf [root@LVS100 ~]# sysctl -p net.ipv4.ip_forward = 1 1.1.2 安装软件包 ]# rpm -q ipvsadm || yum -y install ipvsadm 1.1.3 配置LVS #ipvsadm --help -A -t -s -a -r -m -Ln -C --stats ]# ipvsadm -L ]# ipvsadm -Ln ]# ipvsadm -C 添加虚拟服务 ]# ipvsadm -A -t 192.168.2.100:80 -s rr 添加real server ]# ipvsadm -a -t 192.168.2.100:80 -r 192.168.4.101:80 -m ]# ipvsadm -a -t 192.168.2.100:80 -r 192.168.4.102:80 -m
保存配置 [root@LVS100 ~]# /etc/init.d/ipvsadm save ]# chkconfig ipvsadm on
[root@LVS100 ~]# cat /etc/sysconfig/ipvsadm -A -t 192.168.2.100:80 -s rr -a -t 192.168.2.100:80 -r 192.168.4.101:80 -m -w 1 -a -t 192.168.2.100:80 -r 192.168.4.102:80 -m -w 1
[root@LVS100 ~]# ]# watch -n 1 ipvsadm -Ln --stats 在客户端250主机 测试分发器配置: #yum -y install elinks #elinks --dump http://192.168.2.100/test.html
+++++++++++++++++++++++++++++++++++++++++++ 从虚拟服务里删除realserver ? -d ]# ipvsadm -d -t 192.168.2.100:80 -r 192.168.4.103:80
修改虚拟服务的调度算法? -s ]# ipvsadm -E -t 192.168.2.100:80 -s wrr
修改realserver权重值 -w ]# ipvsadm -e -t 192.168.2.100:80 -r 192.168.4.102:80 -w 3 -m ]# ipvsadm -e -t 192.168.2.100:80 -r 192.168.4.104:80 -w 5 -m
保存 修改
]# /etc/init.d/ipvsadm save
http://192.168.2.100/iso rhel7.iso 4G
+++++++++++++++++++++++++++++++
- 清除3种角色主机上lvs/NAT模式的配置
1.2 LVS/DR 网站 LB集群 real server 的ip地址要和 vip 地址是一个网段的。
client250 eth0 192.168.4.250
http://192.168.4.253/test.html
vip
eth0:1 192.168.4.253
lvs100 eth0 4.100
vip 192.168.4.253
web101 web102
eth0 4.101 eth0 4.102
CLient 192.168.2.250 源ip地址 目标ip 地址 2.250 <------------- DR RR--------> 4.101(vip 2.100)
192.168.2.250 http://192.168.2.100/test.html
lvs 2.100
web101 2.100 eth0 lo
web102 2.100 eth0 lo
192.168.4.0/24
A 配置网站服务器101/102 A.1 修改网络接口运行参数 ]# cd /proc/sys/net/ipv4/conf/ ]# ls
]# 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
A.2 绑定vip地址 #ifconfig lo #ifconfig lo:1 192.168.4.253/32 #ifconfig lo:1
永久配置 #vim /etc/rc.local ifconfig lo:1 192.168.4.253/32 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 :wq
++++++++++++++++++++++++++++++++++ B 配置分发器100 B.1 绑定vip地址 #ifconfig eth0:1
ifconfig eth0:1 192.168.4.253/32
永久配置 #vim /etc/rc.local ifconfig eth0:1 192.168.4.253/32 :wq
B.2 添加虚拟服务 ,和realserver. 1 ipvsadm -A -t 192.168.4.253:80 -s rr 2 ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.101:80 -g 4 ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.102:80 -g 5 ipvsadm -Ln 6 /etc/init.d/ipvsadm save 7 cat /etc/sysconfig/ipvsadm #ipvsadm -Ln --stats (只有进来的包 没有出去的包)
C 客户端192.168.4.250测试 #arping 192.168.4.253 (显示的是分发器eth0接口的mac地址) #elinks --dump http://192.168.4.253/test.html
++++++++++++++++++++++++++++++++++++++
思考?
realserver 主机上的网站服务 停止了 ,分发器还会把请求分发给realserver主机吗?
LVS 默认不对realserver 不做健康性检查。 编写脚本 检查realserver 主机上网站服务的状态,当网站服务没运行时 ,把realserver 主机从虚拟服务里删除。