热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

也不知怎么了LVS.SH找不到,网上搜了一篇环境搭配CENTOS下面的高可用参考

系统环境:************************************************************两台服务器都装了CentOS-5.2-x8

系统环境:

************************************************************

两台服务器都装了 CentOS-5.2-x86_64 系统

Virtual IP :          
         192.168.30.20 
            

Squid1+Real Server 1 :       网卡地址
(eth0):192.168.30.12     

Squid2+Real Server 2 :        网卡地址
(eth0):192.168.30.13   

************************************************************

 

软件列表
keepalived

http://www.keepalived.org/software/keepalived-1.1.17.tar.gz

openssl-devel

 yum -y install openssl-devel

***************************************************************

 

 


配置:

配置基于高可用 keepalived, 确定 LVS 使用 DR 模式

 

 

1. 安装配置 keepalived

1.1 安装依赖软件 如果系统为基本文本安装,需要安装一下软件 

# yum -y install ipvsadm

# yum -y install kernel kernel-devel

# reboot   重启系统切换内核

# yum -y install
openssl-devel                             
;安装 keepalived 依赖软件

#ln -s /usr/src/kernels/`uname -r`-`uname -m`/ /usr/src/linux 
    

    ;建立内核链接,编译 keepalived 支持 lvs 时需要

注意建立链接的内核名和当前运行的内核一致,否则导致安装失败

#tar zxvf keepalived-1.1.17.tar.gz

#cd keepalived-1.1.17

#./configure  --prefix=/usr  --syscOnf=/etc

 

 

Keepalived configuration

------------------------

Keepalived version       : 1.1.17

Compiler          
       : gcc

Compiler flags           :
-g -O2

Extra
Lib               
: -lpopt -lssl -lcrypto

Use IPVS Framework       :
Yes                        
; 注意编译时一定要支持 lvs

IPVS sync daemon support : Yes

Use VRRP Framework       : Yes

Use
LinkWatch            : No

Use Debug flags          :
No              

#make

#make install

 

 

1.2 编辑 keepalived
配置文件

#Vi  /etc/keepalived/keepalived.conf

 

global_defs {

   notification_email {

     test@163.com

   }

   notification_email_from root@localhost

   smtp_server 127.0.0.1

   smtp_connect_timeout 30

   router_id LVS_DEVEL

}

 

vrrp_instance VI_1 {

    state MASTER         #
备份服务器上将 MASTER 改为 BACKUP 

    interface
eth0           # HA 监测网络接口

    virtual_router_id 51     # 主、备机的
virtual_router_id 必须相同

    priority
100           #
主、备机取不同的优先级,主机值较大,备份机值较小

   
advert_int 2        #
VRRP Multicast 广播周期秒数

    authentication {

        auth_type
PASS         #VRRP 认证方式

        auth_pass
1111          #VRRP 口令字

    }

    virtual_ipaddress {

       
192.168.30.20          
    # VRRP HA 虚拟地址 如果有多个VIP,继续换行填写

    }

}

 

virtual_server 192.168.30.20 80 {

    delay_loop
2                  
# 每隔 6 秒查询 realserver 状态

    lb_algo
rr                       
#lvs 算法

    lb_kind
DR                     
# Direct Route

    persistence_timeout
50             #
同一IP 的连接60 秒内被分配到同一台realserver

    protocol
TCP                    
# 用 TCP 协议检查 realserver 状态

 

  real_server 192.168.30.12 80 {

       weight 3    
     #(权重)

    TCP_CHECK {   

       connect_timeout 10 
     #(10秒无响应超时)
    
   nb_get_retry 3
    
   delay_before_retry 3
    
   connect_port 80
  

    }

}

real_server 192.168.30.13 80 {

       weight 3    
     #(权重)

    TCP_CHECK {   

       connect_timeout 10 
     #(10秒无响应超时)
    
   nb_get_retry 3
    
   delay_before_retry 3
    
   connect_port 80
  

    }

}

}

1.3 BACKUP 服务器同上配置,先安装 lvs 再按装 keepalived, 仍后配置
/etc/keepalived/keepalived.conf ,只需将红色标示的部分改一下即可 .

 

 

global_defs {

   notification_email {

    test@163.com

   }

   notification_email_from root@localhost

   smtp_server 127.0.0.1

   smtp_connect_timeout 30

   router_id LVS_DEVEL

}

 

vrrp_instance VI_1 {

    state BACKUP 
        # 备份服务器上将 MASTER 改为 BACKUP 

    interface
eth0           # HA 监测网络接口

    virtual_router_id 51     # 主、备机的
virtual_router_id 必须相同

    priority 99  
            #
主、备机取不同的优先级,主机值较大,备份机值较小

   
advert_int 2           #
VRRP Multicast 广播周期秒数

    authentication {

        auth_type
PASS         #VRRP 认证方式

        auth_pass
1111          #VRRP 口令字

    }

    virtual_ipaddress {

       
192.168.30.20          
    # VRRP HA 虚拟地址

    }

}

virtual_server 192.168.30.20 80 {

    delay_loop
2                  
# 每隔 6 秒查询 realserver 状态

    lb_algo
rr                       
#lvs 算法

    lb_kind
DR                     
# Direct Route

    persistence_timeout
50             #
同一IP 的连接60 秒内被分配到同一台realserver

    protocol
TCP                    
# 用 TCP 协议检查 realserver 状态

 

  real_server 192.168.30.12 80 {

       weight 3    
     #(权重)

    TCP_CHECK {   

       connect_timeout 10 
     #(10秒无响应超时)
    
   nb_get_retry 3
    
   delay_before_retry 3
    
   connect_port 80
  

    }

}

real_server 192.168.30.13 80 {

       weight 3    
     #(权重)

    TCP_CHECK {   

       connect_timeout 10 
     #(10秒无响应超时)
    
   nb_get_retry 3
    
   delay_before_retry 3
    
   connect_port 80
  

    }

}

}

 

 

2. 配置lvs客户端脚本 

 

 




[c-sharp] view plaincopyprint?


  1. #vi /usr/local/sbin/realserver.sh  

  2.  #!/bin/bash  

  3. class="alt"> # description: Config realserver lo and apply noarp   

  4.  #Written by :NetSeek http://www.linuxtone.org  

  5.    

  6.  SNS_VIP=192.168.30.20  

  7.     

  8.  . /etc/rc.d/init.d/functions  

  9.     

  10.  case "$1" in  

  11.  start)  

  12.         ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP  

  13. class="alt">        /sbin/route add -host $SNS_VIP dev lo:0  

  14.         echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore  

  15. class="alt">        echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce  

  16.         echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore  

  17. class="alt">        echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce  

  18.         sysctl -p >/dev/null 2>&1  

  19. class="alt">        echo "RealServer Start OK"  

  20.     

  21. class="alt">        ;;  

  22.  stop)  

  23. class="alt">        ifconfig lo:0 down  

  24.         route del $SNS_VIP >/dev/null 2>&1  

  25. class="alt">        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore  

  26.         echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce  

  27. class="alt">        echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore  

  28.         echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce  

  29. class="alt">        echo "RealServer Stoped"  

  30.         ;;  

  31.  *)  

  32.         echo "Usage: $0 {start|stop}"  

  33. class="alt">        exit 1  

  34.  esac  

  35.     

  36.  exit 0  

  

 

 

或者采用secondary ip address方式配置
          # vi
/etc/sysctl.conf

 

          
net.ipv4.conf.lo.arp_ignore = 1
       
   net.ipv4.conf.lo.arp_announce = 2
    
      net.ipv4.conf.all.arp_ignore = 1
 
         net.ipv4.conf.all.arp_announce =
2

#sysctl -p

#ip addr add 192.168.30.20/32 dev lo
#ip add list 查看是否绑定


 3. 启动lvs-dr脚本和realserver启本,在DR上可以查看LVS当前状态:
    
    #watch ipvsadm -ln

 

4. 启动 keepalived
服务
#service httpd start

#/etc/init.d/keepalived start  

  查看keepalived的安装位置:
    # find /
-name
keepalived 

 将keepalived作为服务添加到chkconfig中,并设置开机启动
  
# chkconfig --add keepalived
   # chkconfig --level
35 keepalived on

   # chkconfig --list keepalived

      keepalived     
0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:启用  6:关闭

 

“各等级”包括2、3、4、5等级

等级0表示:表示关机

等级1表示:单用户模式

等级2表示:无网络连接的多用户命令行模式

等级3表示:有网络连接的多用户命令行模式

等级4表示:不可用

等级5表示:带图形界面的多用户模式

等级6表示:重新启动

5. 测试 lvs
服务是否正常

  5.1 通过浏览器访问 http://192.168.30.20 是否正常

多次刷新浏览器,在主 LVS 上看连接数变化

5.2 停止主 LVS 上的 keepalived 看看备份 keepalived 是否正常接管服务

 

注:realserver如果为windows主机的话需要安装microsoft
loopback,设置IP为VIP

确认之后搜索注册表,关键字"VIP"

把搜到结果的每项里面的subnet
mask都改成255.255.255.255

然后重启即可


推荐阅读
  • 目录结构如下:Nginx基础知识NginxHTTP服务器的特色及优点Nginx的主要企业功能Nginx作为web服务器的主要应用场景包括:Nginx的安装安装环境 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • phpstudy云服务器安装,如何安装phpstudy
    本文目录一览:1、phpstudy安装在哪本地电脑还是服务器? ... [详细]
  • mysql mmm搭建_搭建mysqlmmm高可用MySQL集群
    实验需求:配置mysql-mmm,实现mysql的高可用MySQL-MMM实现MySQL高可用http:www.linuxidc.comLinux201 ... [详细]
  • 如何配置mysql双主_MySQL双主配置_MySQL
    准备环境:服务器操作系统为RHEL6.4x86_64,为最小化安装。主机A和主机B均关闭防火墙和SELINUX,IP地址分别为192.168.131.1 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
  • centos php部署到nginx 404_NodeJS项目部署到阿里云ECS服务器全程详解
    本文转载自:http:www.kovli.com20170919ecs-deploy作者:Kovli本文详细介绍如何部署NodeJS项目到阿里云ECS上, ... [详细]
  • 目录Atlas介绍Atlas部署Atlas基本管理Atlas结合MHA故障恢复读写分离建议Atlas介绍Atlas是由Qihoo360Web平台部基础架构团队开发维护的一个基于My ... [详细]
  • linux clickhouse安装在指定目录_Centos8服务器指定目录安装配置Nginx
    1.安装前准备(1)检查是否安装过nginx(如果没有安装过可以无视)find-namenginx搜索nginx文件及其文件夹rm-rf【nginx配置地址文件及其文件夹】手动删除 ... [详细]
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 一、生产服务器netstattcp连接状态 ... [详细]
author-avatar
UJXo小妖春日望美
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有