Linux 服务器负载均衡LB Cluster的LVS(NAT,DR)
案例1 NAT模型实验拓扑结构图
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556160wOFN.png
一、配置虚拟服务器的网卡及地址
1、添加一块网卡
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556162mBdP.png
2、配置ip地址
# setup
虚拟地址vip
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556164btXw.png
物理网卡地址
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556165NFvb.png
3、重启网络服务
# service network restart
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556167RS3o.png
二、安装ipvsadm
1、编辑sysctl.conf文件,实现数据转换功能
# vim /etc/sysctl.conf
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556169acUX.png
# sysctl –p//使数据包转换功能生效
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556171MA6s.png
2、编辑yum仓库文件
# mkdir /mnt/cdrom //建立光盘挂载点
# mount /dev/cdrom /mnt/cdrom///挂载光盘
mount: block device /dev/cdrom is write-protected, mounting read-only
# vim /etc/yum.repos.d/rhel-debuginfo.repo//编辑yum仓库文件
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556174MOUJ.png
3、安装ipvsadm
# yum list all |grep ipvsadm//查看是否有ipvsadm工具
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556175Xwi3.png
# yum install ipvsadm//安装ipvsadm工具
# ipvsadm -A -t 192.168.10.10:80 -s rr //增加一个虚拟服务,采用轮循调度算法
# ipvsadm -e -t 192.168.10.10:80 -r 192.168.2.100 -m //转发给真实服务器
# ipvsadm -e -t 192.168.10.10:80 -r 192.168.2.101 -m //转发给真实服务器
# service ipvsadm save //保存规则
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_13505561769Ifi.png
# service ipvsadm status //查看ipvsadm的状态
ipvsadm is stopped
# service ipvsadm start//启动ipvsadm服务
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556177Sgdf.png
# vim /etc/sysconfig/ipvsadm//查看所写规则是否被保存
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_13505561784dP2.png
# ipvsadm –ln
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_13505561825eDn.png
三、配置两台realserver
两台服务器
1、配置两台服务器的网卡
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556183EZhx.png
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556183w29X.png
2、配置两台服务器的ip及网关
realserver1
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_13505561844Oej.png
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640820BpCS.png
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556189wp8S.png
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556191IhL9.png
realserver2
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556191OgGS.png
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640821Eoxb.png
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556197Smig.png
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556198Ksem.png
3、查看realserver1和realserver2的网关
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556200ksz6.png
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556200ksz6.png
4、在realserver1和realserver2上分别ping192.168.2.1
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_135055620161zO.png
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_135055620161zO.png
5、在realserver1和realserver2上分别安装web服务器
realserver1
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_135055620303Ts.gif
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556204idLu.gif
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556204cGfn.png
realserver2
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_135055620303Ts.gif
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556205mXcM.gif
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556205Cq3n.png
四、测试
1、输入虚拟地址192.168.10.10
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556208dBvQ.png
刷新一下
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556210T4bS.png
再刷新一下
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556208dBvQ.png
再刷新一下
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556210T4bS.png
# ipvsadm -ln//查看路由模型
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556211nurb.png
总结:轮循调度实现
五、修改权重对轮循的影响
# ipvsadm -e -t 192.168.10.10:80 -r 192.168.2.100 -m -w 2 //修改权重
# ipvsadm -e -t 192.168.10.10:80 -r 192.168.2.101 -m -w 10 //修改权重
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556214uPl2.png
测试
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556208dBvQ.png
刷新一下
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556210T4bS.png
再刷新一下
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556208dBvQ.png
再刷新一下
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556210T4bS.png
总结:权重对轮循算法无影响
# ipvsadm -ln
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556216ZbOn.png
六、定向哈希对轮循的影响
# ipvsadm -E -t 192.168.10.10:80 -s dh//定向哈希,定向某个服务器
# ipvsadm –ln //查看连接
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_13505562192k8X.png
连续刷新网页都是下面的结果
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556208dBvQ.png
# ipvsadm –ln //查看连接
http://yunxia.blog.运维网.com/attachment/201210/18/5628445_1350556221md9N.png
案例2 DR模型
实验拓扑结构图
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640828eMq8.png
一、两台realserver的配置
1、网卡选择
realserver1
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640828XpmR.png
realserver2
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640829Q9O0.png
2、 ip地址的配置
realserver1
# setup
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640830Cy6l.png
# service network restart //重启网络服务
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640831bfpr.png
realserver2
# setup
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640832SAgJ.png
# service network restart//重启网络服务
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640831bfpr.png
3、修改内核参数
realserver1
# sysctl -a |grep arp //查看内核参数
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_13506408333z11.png
# echo "net.ipv4.conf.eth0.arp_announce = 2" >>/etc/sysctl.conf //修改此项参数,并追加到/etc/sysctl.conf (只对eth0)
# echo "net.ipv4.conf.all.arp_announce = 2" >>/etc/sysctl.conf//修改此项参数,并追加到/etc/sysctl.conf(对所有网络)
# echo "net.ipv4.conf.eth0.arp_ignore = 1" >>/etc/sysctl.conf //修改此项参数,并追加到/etc/sysctl.conf(只对eth0)
# echo "net.ipv4.conf.all.arp_ignore = 1" >>/etc/sysctl.conf//修改此项参数,并追加到/etc/sysctl.conf(对所有网络)
# vim /etc/sysctl.conf//查看此脚本文件中修改好的内核参数
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640834Idf3.png
# sysctl –p//执行此命令,让其立即生效
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640835Y5D1.png
# sysctl -a |grep arp //查看修改后的内核参数
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640836uelZ.png
realserver2
# scp 192.168.10.100:/etc/sysctl.conf /etc///将realserver1中修改好的sysctl.conf拷贝到realserver2的/etc/目录下
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640837eHDM.png
# vim /etc/sysctl.conf //查看此脚本文件中修改好的内核参数
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640834Idf3.png
# sysctl –p //执行此命令,让其立即生效
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640835Y5D1.png
4、配置loopback地址
realserver1
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640839MTLC.png
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640840v3JT.png
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640841XpLq.png
# service network restart //再次重启网络服务
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640831bfpr.png
# ifconfig
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640842lUlA.png
# route add -host 192.168.10.101 dev lo:0 //写入一条路由,保证vip返回
# route –n //查看路由表
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640843Bvmk.png
注:此处realserver2的loopback0的ip配置与realserver1的配置完全一样,可参考realserver1的配置步骤
5、启动两台realserver的web服务
# service httpd start
Starting httpd: [OK]
二、director的配置
1、网卡的选择
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640844m9he.png
2、ip地址的配置
eth0
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640845H7L2.png
eth0:0
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640839MTLC.png
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640840v3JT.png
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640846o3EH.png
# service network restart //重启网络服务
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640831bfpr.png
3、安装ipvsadm
# mkdir /mnt/cdrom//建立光盘挂载点
# mount /dev/cdrom /mnt/cdrom/ //挂载光盘
mount: block device /dev/cdrom is write-protected, mounting read-only
# cd /mnt/cdrom/Cluster//切换到该目录下
# rpm -ivh ipvsadm-1.24-10.i386.rpm//安装ipvsadm
warning: ipvsadm-1.24-10.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ###########################################
1:ipvsadm ###########################################
# service ipvsadm save //保存ipvsadm文件
Saving IPVS table to /etc/sysconfig/ipvsadm: [ OK]
# service ipvsadm start //启动ipvsadm
Clearing the current IPVS table: [OK ]
Applying IPVS configuration: [OK]
# chkconfig ipvsadm on //设置为开机时启动
4、编写ipvsadm规则
# ipvsadm -A -t 192.168.10.101:80 -s rr//增加一个虚拟服务,用轮循算法实现
# ipvsadm -a -t 192.168.10.101:80 -r 192.168.10.100 –g//转发给真实服务器
# ipvsadm -a -t 192.168.10.101:80 -r 192.168.10.200 –g//转发给真实服务器
# ipvsadm –ln //查看路由模型
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640847NEVJ.png
测试:
输入192.168.10.101
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_13506408497tZZ.png
刷新一下网页
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640851OPR0.png
再刷新一下网页
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_13506408497tZZ.png
再刷新一下网页
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640851OPR0.png
查看连接次数
# ipvsadm –ln
http://yunxia.blog.运维网.com/attachment/201210/19/5628445_1350640852xNg5.png
页:
[1]