Centos 6.8 配置Lvs

 

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的*软件项目之一。

宗旨:
  使用集群技术和Linux操作系统实现一个高性能、高可用的服务器.
  很好的可伸缩性(Scalability)
  很好的可靠性(Reliability)
  很好的可管理性(Manageability)。

特点:

  可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份)。我们先分析实现虚拟网络服务的主要技术,指出IP负载均衡技术是在负载调度器的实现技术中效率最高的。在已有的IP负载均衡技术中,主要有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server via Network Address Translation)。在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出了通过IP隧道实现虚拟服务器的方法VS/TUN (Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。VS/NAT、VS/TUN和VS/DR技术是LVS集群中实现的三种IP负载均衡技术。

优点:

  1、开源,免费
  2、在网上能找到一些相关技术资源
  3、具有软件负载均衡的一些优点
缺点:
  1、最核心的就是没有可靠的支持服务,没有人对其结果负责;
  2、功能比较简单,支持复杂应用的负载均衡能力较差,如算法较少等;
  3、开启隧道方式需重编译内核;
  4、配置复杂;
  5、主要应用于LINUX,目前没有专门用于WINDOWS的版本,不过可以通过配置,使windows成为LVS集群中的real server(win2003、win2008中)。

环境:

 Web-Server:Centos6.8    192.168.126.135

 Web-Server:Centos6.8    192.168.126.134

 

在Web服务器上搭建web:

1、安装web系统,在centOS上可以使用命令yum install进行安装,-y 表示安装过程中全部选择yes,我这里做测试环境,所以简单安装

yum -y install httpd 

2、设置httpd、mysqld为开机启动服务

chkconfig httpd on

3、启动服务、关闭防火墙

service httpd start
service iptables stop #为了测试方便,直接关闭防火墙

4、安装虚拟IP管理工具:ipvsadm

yum -y install ipvsadm

5、新建脚本:

#!/bin/bash

VIP=192.168.126.100  #假设126.100是VIP
RIP1=192.168.126.135  #web-1
RIP2=192.168.126.134  #web-2

case "$1" in
  start)
    echo "开始配置LVS Director Server"
    ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
    route add -host $VIP dev eth0:0
    echo "1">/proc/sys/net/ipv4/ip_forward
    ipvsadm -C
    ipvsadm -A -t $VIP:80 -s rr
    ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
    ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
    ipvsadm
    echo "配置成功"
    ;;
  stop)
    echo "正在关闭LVS Director Server"
    echo "0">/proc/sys/net/ipv4/ip_forward
    ipvsadm -C
    ifconfig eth0:0 down
    echo "关闭成功!"
    ;;
  *)
    echo "用法:$0 {start|stop}"
    exit 1
esac

 

6、赋予脚本权限并运行脚本

[root@localhost /]# sh lvs.sh start
开始配置LVS Director Server
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.126.100:http rr   #虚拟IP
  -> 192.168.126.134:http         Route   1      0          0        #WEB-1  
  -> 192.168.126.135:http         Route   1      0          0        #WEB-2
配置成功

 

在另一台 Web服务器上搭建web:

1、安装web系统,在centOS上可以使用命令yum install进行安装,-y 表示安装过程中全部选择yes,我这里做测试环境,所以简单安装

yum -y install httpd 

2、设置httpd、mysqld为开机启动服务

chkconfig httpd on

3、启动服务、关闭防火墙

service httpd start
service iptables stop #为了测试方便,直接关闭防火墙

4、安装虚拟IP管理工具:ipvsadm

yum -y install ipvsadm

5、新建脚本:

[root@localhost /]# vim lvs.sh
#!/bin/bash

VIP=192.168.126.100  #VIP

case "$1" in
  start)
   echo "配置lvs Real Server开始..."
   ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
   route add -host $VIP dev lo:0
   echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
   echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
   echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
   echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
   ;;
  stop)
   echo "正在关闭lvs Real server"
   ifconfig lo:0 down
   echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
   echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
   echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
   echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
   ;;
  *)
   echo "用法:$0 {start|stop}"
   exit 1
esac
  

[root@localhost /]# sh lvs.sh start
配置lvs Real Server开始...

   配置完成!

  打开浏览器访问VIP地址:http://192.168.126.100  持续刷新网页看会不会出现访问到两个web服务器地址的页面

 

  如果你需要进一步配置LVS+Keepalived,可以参考:LVS+keepalived配置

上一篇:第八章 Libgdx输入处理(3)输入设备


下一篇:Centos 7.x 配置Gitlab