操作系统 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 主机从虚拟服务里删除。
本文转自sweak_h 51CTO博客,原文链接:http://blog.51cto.com/13478354/2069984,如需转载请自行联系原作者