Chinaunix首页 | 论坛 | 博客
  • 博客访问: 598480
  • 博文数量: 248
  • 博客积分: 52
  • 博客等级: 民兵
  • 技术积分: 1028
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-23 12:05
文章分类

全部博文(248)

文章存档

2016年(7)

2013年(241)

分类: 服务器与存储

2013-02-04 06:48:20

一安装LVS准备:
1、准备4台Centos 6.2 x86_64

注:本实验关闭 SELinux和IPtables防火墙。

管理IP地址 角色 备注
192.168.1.101 LVS主调度器(Msater Director) 对外提供服务的VIP为192.168.1.181
192.168.1.114 LVS从调度器(Backup Director) 平时可以做为RS(真是服务器)使用
192.168.1.104 RS1(真实服务器)
192.168.1.103 RS2(真实服务器)

2、配置好简单的HTTP服务
这里以apache服务为例,通过yum -y install httpd 的方式安装好httpd服务。
分别在192.168.1.103和192.168.1.104上做如下操作:
[root@centos ~]# yum -y install httpd 
echo 103 >/var/www/html/index.html   #(104上的要把 103字段改成 104) 
[root@centos ~]# service httpd start  #启动http服务
[root@centos ~]# ps -ef | grep httpd #检查进程如有类似的输出表示启动成功。
root      1535     1  0 23:27 ?        00:00:00 /usr/sbin/httpd
apache    1537  1535  0 23:27 ?        00:00:00 /usr/sbin/httpd
apache    1538  1535  0 23:27 ?        00:00:00 /usr/sbin/httpd
apache    1539  1535  0 23:27 ?        00:00:00 /usr/sbin/httpd
[root@centos ~]# setenforce 0   #关闭SELinux
[root@centos ~]# /etc/rc.d/init.d/iptables stop   #关闭防火墙
3、测试http服务配置:

注:用IP地址最后一段数字代表RS自身的内容,容易让大家看到测试的结果,实际业务中,RS的业务内容应该是完全相同的。
4、开始安装LVS
下载相关软件包:

[root@centos1 ~]# mkdir download 
[root@centos1 ~]# cd download/ 
[root@centos1 download]# wget  
5、安装命令
注:以下安装需要在192.168.1.101和192.168.1.104上面操作:
[root@centos1 download]# uname -r   #查看linux内核版本   
2.6.32-220.el6.x86_64   
[root@centos1 download]# ln -s /usr/src/kernels/2.6.32-220.el6.x86_64/ /usr/src/linux #不做此步骤,安装会报错  
注:此ln命令的路径要和uname -r输出内核版本一致,如果没有 /usr/src/kernels/2.6.32-220.el6.x86_64/ 需要安装 kernel-devel软件包。  
[root@centos1 download]# tar zxvf ipvsadm-1.24.tar.gz   
[root@centos1 download]# cd ipvsadm-1.24   
[root@centos1 ipvsadm-1.24]# make   
[root@centos1 ipvsadm-1.24]# make install   
[root@centos1 ipvsadm-1.24]# ipvsadm  #执行ipvsadm命令,把LVS添加到linux内核中   
IP Virtual Server version 1.2.1 (size=4096)   
Prot LocalAddress:Port Scheduler Flags   
  -> RemoteAddress:Port       Forward Weight ActiveConn InActConn   
[root@centos1 ipvsadm-1.24]# lsmod | grep ip_vs  #查看LVS是否已经添加到linux内核了,如果有如下输出表示已经成功。   
ip_vs                 108133  0    
ipv6                  322029  154 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6   
6配置LVS 服务端
在192.168.1.101和192.168.1.114上分别配置LVS DR模式
1)、配置LVS,建立一个脚本配置LVS
注:192.168.1.101和192.168.1.114上配置都是一样的
[root@centos1 bin]# vim lvs_dr.sh 

#!/bin/bash  
. /etc/init.d/functions  
vim lvs_dr.sh  
#!/bin/bash  
GW=192.168.1.1  
# website director vip.  
SNS_VIP=192.168.1.181  
SNS_RIP1=192.168.1.103  
SNS_RIP2=192.168.1.104  
      
logger $0 called with $1  
case "$1" in  
start)  
  # set squid vip  
  /sbin/ipvsadm --set 30 5 60  
  /sbin/ifconfig eth0:0 $SNS_VIP broadcast $SNS_VIP netmask 255.255.255.255 up  
  /sbin/route add -host $SNS_VIP dev eth0:0  
  /sbin/ipvsadm -A -t $SNS_VIP:80 -s wrr -p 3  
  /sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP1:80 -g -w 1  
  /sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP2:80 -g -w 1  
  touch /var/lock/subsys/ipvsadm >/dev/null 2>&1  
  ;;  
stop)  
  /sbin/ipvsadm -C  
  /sbin/ipvsadm -Z  
  ifconfig eth0:0 down  
  ifconfig eth0:1 down  
  route del $SNS_VIP  
  route del $SS_VIP  
  rm -rf /var/lock/subsys/ipvsadm >/dev/null 2>&1  
  echo "ipvsadm stoped"  
  ;;  
status)  
  if [ ! -e /var/lock/subsys/ipvsadm ];then  
  echo "ipvsadm stoped"  
  exit 1  
  else  
  echo "ipvsadm OK"  
  fi  
  ;;  
*)  
 echo "Usage: $0 {start|stop|status}"  
 exit 1  
esac  
 exit 0  
[root@centos1 bin]# chmod +x lvs_dr.sh 
[root@centos1 bin]# cp lvs_dr.sh /etc/rc.d/init.d/   #方便启动 
[root@centos1 bin]# service lvs_dr.sh start   #启动lvs服务 
用ipvsadm -Ln 命令查看是否有如下输出,如有证明LVS配置成功

[root@centos1 bin]# ipvsadm 
IP Virtual Server version 1.2.1 (size=4096) 
Prot LocalAddress:Port Scheduler Flags 
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn 
TCP  192.168.1.181:http wrr persistent 3 
  -> 192.168.1.104:http           Route   1      0          0          
  -> 192.168.1.103:http           Route   1      0          0    
7、配置LVS RS服务器

[root@centos bin]# vim lvs_dr.sh

#!/bin/bash 
. /etc/init.d/functions 
SNS_VIP=192.168.1.181 
 
case "$1" in 
start) 
      ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP 
      /sbin/route add -host $SNS_VIP dev lo:0 
      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 2>&1 
      echo "RealServer Start OK" 
      ;; 
stop) 
     ifconfig lo:0 down 
      route del $SNS_VIP >/dev/null 2>&1 
      echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore 
      echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce 
      echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore 
      echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce 
      echo "RealServer Stoped" 
      ;; 
*) 
      echo "Usage: $0 {start|stop}" 
      exit 1 
esac 
exit 0 
[root@centos bin]# cp lvs_dr.sh /etc/rc.d/init.d/ 
[root@centos bin]# service lvs_dr.sh start  #启动lvs RS服务器 
RealServer Start OK 
8、验证LVS DR模式是否配置成功
在浏览器中输入 LVS  

然后打开另一个浏览器再次输入 看看内容是否一样

用两个浏览器访问的服务器不同,证明LVS DR模式配置负载均衡成功

到此LVS DR模式已经配置完成,下面配置LVS DR + Keepalived 高可用负载均衡。

阅读(2414) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~