centos6.8 x64安装keepalived-1.3.5+lvs

简介:

CentOS release 6.8 x64 (Final)2.6.32-642.4.2.el6.x86_64 安装keepalived-1.3.5+lvs

============

一、环境安装:

============

   1.依赖安装

1
2
3
4
yum  install  -y openssl-devel libnl3-devel ipset-devel iptables-devel libnfnetlink-devel popt*
  
    增加软连接
    ln  -s  /usr/src/kernels/ ` uname  -r`  /usr/src/linux

   2.5台机器IP设置

     LVS1: 172.16.0.100

     LVS2: 172.16.0.101

      VIP: 172.16.0.150

      WEB: 172.16.0.102

      WEB2:172.16.0.103

      web3:172.16.0.104(windows客户端IIS)

   3.关闭selinux  

   修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

   4.关闭iptables,如果不关的话,需更具情况增加开放端口。

1
2
3
    #iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    #iptables -I INPUT -p icmp -j ACCEPT
    #service iptables save

二、安装步骤(在LVS1.LVS2上安装):   

============

  1)安装lvs管理工具

1
2
3
4
5
6
   1. tar  zxvf ipvsadm-1.26. tar .gz 
   2. cd  ipvsadm-1.26
   3. 'make'
   4. 'make install'
   5. #ipvsadm
   6.lsmod |  grep  ip_vs

  

  2)安装keepalived软件

1
2
3
4
5
6
7
   1.  tar  zxvf keepalived-1.3.5. tar .gz 
   2.  cd  ikeepalived-1.3.5
   3. . /configure  --prefix= /usr/local/keepalived  --with-init=SYSV   
   #注:(upstart|systemd|SYSV|SUSE|openrc) 
   #根据系统选择对应的启动方式
   4.  'make'
   5.  'make install' .

  6.配置keepalived文件的路径

1
2
3
4
5
      cp  /usr/local/keepalived/etc/rc .d /init .d /keepalived  /etc/init .d/
      cp  /usr/local/keepalived/etc/sysconfig/keepalived  /etc/sysconfig/
      mkdir  /etc/keepalived
      cp  /usr/local/keepalived/etc/keepalived/keepalived .conf  /etc/keepalived/
      cp  /usr/local/keepalived/sbin/keepalived  /usr/sbin/

  7.配置文件(vim /etc/keepalived/keepalived.conf)

     #这里是全局定义部分

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
global_defs {
    notification_email {
     root@ local    #设置报警邮件单个或多个地址
   
    }
    notification_email_from server@ local  #邮件的发送地址
    smtp_server 127.0.0.1  #smtp 地址
    smtp_connect_timeout 30  #连接smtp服务器超时的实际
    router_id LVS_ONE    #路由ID两台机器不能相同。LVS2更改为不同
   vrrp_skip_check_adv_addr
     # vrrp_strict  #严格执行VRRP协议规范,此模式不支持节点单播.
     #且重启keepalived服务,会自动启动iptables,原计划打算关闭iptables,
     #但测试发现,多次(通过命令service iptables stop且chkconfig iptables off,)
     #将iptables关闭后,但启动或重启keepalived服务后,自动又启动起来iptables,
     #且自加了一条把VIP地址DROP掉的规则。导致VIP查不到,ping不通.默认安装时自带配置
     #含有此选项。所以建议禁用此选项。
     vrrp_garp_interval 0
     vrrp_gna_interval 0
    
    
    
    
}
#vrrp 实例定义部分
vrrp_instance VI_1 {
     state MASTER   #keepalived 的角色 MASTER 表示主服务器。LVS2更改为:BACKUP
     interface eth0  #指定监测网卡
     virtual_router_id 51  #虚拟路由标示,相同实例,需相同标示。
     priority 150  #优先级 数字越大 优先级越高 MASTER的优先级高于BACKUP优先级(如master 150,backup 100)
     advert_int 1  #设定主备之间检查时间 单位s
     authentication {   #设定验证类型和密码
         auth_type PASS
         auth_pass 1111
     }
     virtual_ipaddress {  #设定虚拟IP地址 可以设置多个 每行一个
        172.16.0.150 /24  brd 172.16.0.255 dev eth0 label eth0:0 
     }
}
#虚拟服务器部分
virtual_server 172.16.0.150 80 {
     delay_loop 6  #设定运行情况检查时间 单位s
     lb_algo rr  #负载调度算法 rr即轮叫算法
     lb_kind DR  #设置LVS负载机制 NAT TUN DR 三种模式可选
     persistence_timeout 0   #会话时间
                             #会话保持在某个服务节点
                             #用户在动态页面50s内没有任何动作,那么后面就会被分发到其他节点
                             #用户一直动作,不受50s限制
     protocol TCP   #使用协议
     #以下为real_server部分
     real_server 172.16.0.102 80 {
         weight 1   #服务节点权值,数字越大,权值越高
                   #权值的大小可以为不同性能的服务器分配不同的负载
                   #这样才能有效合理的利用服务器资源
         TCP_CHECK {   #状态检查部分    
           connect_timeout 3  #3s无响应超时                                                     
           nb_get_retry 3   #重试次数
           delay_before_retry 3    #重试间隔
           connect_port 80  #连接端口                                                    
         }  
     }
     real_server 172.16.0.103 80 {
         weight 1  
         TCP_CHECK {  
           connect_timeout 3                                                  
           nb_get_retry 3  
           delay_before_retry 3   
           connect_port 80                                                 
         }  
     }
      real_server 172.16.0.104 80 {
         weight 1  
         TCP_CHECK {     
           connect_timeout 3                                                   
           nb_get_retry 3  
           delay_before_retry 3   
           connect_port 80                                                     
         }  
     }
}

三、客户端设置(web1,web2配置)

   1.增加启动关闭脚本,并chmod执行权限

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
  #!/bin/bash  
#   
# Script to start LVS DR real server.   
# description: LVS DR real server   
#   
.   /etc/rc .d /init .d /functions
VIP=172.16.0.150  #修改相应的VIP  
host=` /bin/hostname `
case  "$1"  in  
start)   
        # 启动 LVS-DR 模式,real server on this machine. 关闭ARP冲突检测。
         /sbin/ifconfig  lo down   
         /sbin/ifconfig  lo up   
         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
         /sbin/ifconfig  lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up  
         /sbin/route  add -host $VIP dev lo:0
;;  
stop)
         #停止LVS-DR real server loopback device(s).  
         /sbin/ifconfig  lo:0 down   
         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
;;  
status)
         # Status of LVS-DR real server.  
         islothere=` /sbin/ifconfig  lo:0 |  grep  $VIP`   
         isrothere=` netstat  -rn |  grep  "lo:0"  |  grep  $VIP`   
         if  [ !  "$islothere"  -o !  "isrothere"  ]; then   
             # Either the route or the lo:0 device   
             # not found.   
             echo  "LVS-DR real server Stopped!"   
         else   
             echo  "LVS-DR real server Running..."   
         fi   
;;   
*)   
             # Invalid entry.   
             echo  "$0: Usage: $0 {start|status|stop}"   
             exit  1   
;;   
esac

  2.增加web http服务,使用80端口可以打开网站。

  3.测试服务器相互之间是否可以PING通。

  4.windows客户端增加VIP事项(web3机器):

  win2003地址设置方法:控制面板->添加硬件->添加新的硬件->手动安装硬件-》网络适配器

  wKiom1kugOzyUd6wAAASjw6Iehs850.png-wh_50

  重命名为VIP,增加IP地址172.16.0.104,掩码255.255.255.0

  打开regedit,编辑:subnetMask为255.255.255.255

      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

  wKioL1kugW7ghZKQAAAkpchWWLk438.png-wh_50

  

  Win2008地址设置方法:控制面板-硬件和打印机->新增硬件

  找到新增的环回连接,重命名为VIP, 右键VIP连接属性,开始设置TCP/IP

        172.16.0.104  255.255.255.255.255 保存

        运行CMD执行:

1
2
3
4
     netsh interface ipv4  set  interface  "VIP"  weakhostreceive=enabled
     netsh interface ipv4  set  interface  "VIP"  weakhostsend=enabled
     netsh interface ipv4  set  interface  "LAN"  weakhostreceive=enabled
     netsh interface ipv4  set  interface  "LAN"  weakhostsend=enabled

 

四、测试检查keepalived+lvs问题

   

   1、 查看系统日志 /var/log/messages 

   2、 检查负载均衡器的网络连通状况(ping命令或arping)。

   3、 检查 keepalived 的运行情况。ps -aux | grep keepalived查看是否进程启动。lsmod | grep ip_vs,检查ipvs 模块是否被加载到系统的内核,vip 是否被绑定到网络接口,ipvsadm 是否有输出。

   4、 检查 keepalived 的配置文件书写是否正确。

   5、 检查负载均衡器是否启用防火墙规则。

   6、 realserver的web是否正常










本文转自 lcpljc 51CTO博客,原文链接:http://blog.51cto.com/lcpljc/1930821,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1831 69
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
4785 3
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
1140 78
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
500 80
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2754 16
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
920 10
|
机器人 Linux
CentOS 7系统中安装特定版本CMake 3.21.2的方法。
到这里,过程已经全部完成。如果你跟随上面的步骤来,那么你现在已经拥有了一个全新的CMake版本在你的CentOS 7系统上了。这个过程就像是你通过一系列仪式,唤醒了一个沉睡已久的古老机器人,它现在完全按照你的意愿来帮你构建和编译软件了。
871 18
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
1001 2
|
安全 Linux
安装EPEL Repository Centos 7.9
记住,行走在Linux的世界,把“学习”作为你不可或缺的随身宝典。今天你学会了如何将EPEL这座外来的宝库接入你的系统,明天,你或许就能在这座宝库中发现一款能领你走向Linux大师之路的神器。
881 5
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
926 0