Centos7实践LVS+Keepalived

   2016-11-03 0
核心提示:网上有很多关于这个主题的配置,要么是陈旧的,要么是错误,胡乱转载,有时参考这些文章,反而给你的工作带来更大的麻烦。经过实践,博主 javacoder.cn将其整理成文,转载请注明出处 ,希望对你有所帮助。 其实keepalived集成了LVS的功能,所以理论上只要安装

网上有很多关于这个主题的配置,要么是陈旧的,要么是错误,胡乱转载,有时参考这些文章,反而给你的工作带来更大的麻烦。经过实践,博主 javacoder.cn将其整理成文,转载请注明出处 ,希望对你有所帮助。

其实keepalived集成了LVS的功能,所以理论上只要安装keepalived就好了,可选安装ipvsadm,ipvsadm命令能查看你通过keepalived配置的LVS是否正确,

本文使用NAT模式,NAT简介如下

用过vmware的人都知道连接方式之一就是NAT模式,NAT用于内网和外网的互联,当内网请求外网的资源的时候,在路由处,将数据包的源地址改为路由器的地址,并记录真正的源地址;当请求的资源返回到路由处时,将目的地址改为保存的源地址,并将包转给源地址。

实践使用vmware虚拟机测试的,本示例使用nat模式,拓扑图如下:

Centos7实践LVS+Keepalived

可以看到Router1和Router2谁成为master时,谁占有内网VIP和外网VIP,real_server的网管指向内网VIP,这点至关重要。

实践步骤:

准备步骤

防火墙的配置不在本文的范围,请关闭selinux和firewall

systemctl disable firewalld

systemctl stop firewalld

setenforce 0

vi /etc/selinux/config

改如下行SELINUX=disabled

安装keepalived,ipvsadm

yum install keepalived

yum install ipvsadm

配置keepalived

修改/etc/keepalived/keepalived.conf

global_defs {

@唯一标识,每台服务器不一样

router_id LVS_DEVEL

}

vrrp_sync_group VRRP1 {

#组的作用是当组内的一个vrrp_instance故障时,将整个组的vrrp_instance都按照故障处理

group {

VI_1

VI_2

}

}

#外网的VIP配置

vrrp_instance VI_1 {

state MASTER

interface eno16777736

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

#外网的VIP

192.168.14.127/24

}

}

#内网的VIP配置

vrrp_instance VI_2 {

state MASTER

interface eno33554992

virtual_router_id 52

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

#内网的VIP

192.168.26.1/24

}

}

#virtual_server配置,192.168.14.127为外网VIP,80表示这个server的端口

virtual_server 192.168.14.127 80 {

delay_loop 3

lb_algo rr

#使用nat模式

lb_kind NAT

nat_mask 255.255.255.0

persistence_timeout 50

protocol TCP

#一个真实server 的ip和端口

real_server 192.168.26.10 80 {

weight 1

TCP_CHECK {

connect_timeout 3

}

}

#另一个真实server 的ip和端口

real_server 192.168.26.11 80 {

weight 1

TCP_CHECK {

connect_timeout 3

}

}

}

backup router的配置基本一样,配置不同的router_id,state设为BACKUP,priority设为比master低的值

配置realServer

realServer1的配置如下

修改/etc/sysconfig/network-scripts/ifcfg-eno16777736,改成静态IP,将GETEWAY指向keepalived中的漂移地址192.168.26.1

TYPE=Ethernet

BOOTPROTO=static

IPADDR=192.168.26.10

NETMASK=255.255.255.0

GETEWAY=192.168.26.1

配置realServer 2类似,只是IPADDR不同而已。

验证

对router1和router2执行

systemctl start keepalived

在router1和router2上分别执行ip addr, router1的输出如下,

2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:50:56:33:b8:a4 brd ff:ff:ff:ff:ff:ff

inet 192.168.14.144/24 brd 192.168.14.255 scope global dynamic eno16777736

valid_lft 1573sec preferred_lft 1573sec

inet 192.168.14.127/24 scope global secondary eno16777736

valid_lft forever preferred_lft forever

3: eno33554992: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:50:56:22:d9:1b brd ff:ff:ff:ff:ff:ff

inet 192.168.26.8/24 brd 192.168.26.255 scope global eno33554992

valid_lft forever preferred_lft forever

inet 192.168.26.1/24 scope global secondary eno33554992

valid_lft forever preferred_lft forever

发现eno16777736绑定了192.168.14.127,eno33554992绑定了192.168.26.1,印证绑定vip成功。

而router2的输出就没有这个的绑定记录

在router1和router2上分别执行ipvsadm,router的输出如下:

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 192.168.14.127:http rr persistent 50

-> 192.168.26.10:http Masq 1 0 0

-> 192.168.26.11:http Masq 1 0 0

说明nat配置成功了,而router2上就没有对应的记录。

使用浏览器访问 http://192.168.14.128/index.html,访问成功

将对router1 执行systemctl stop network

使用浏览器访问 http://192.168.14.128/index.html,也能访问成功

再查看router2的ip addr和ipvsadm的输出,现在就有了和原来router1一样的输出了。

到此,恭喜你,完美结束!!

参考文档

LVS-NAT-Keepalived-HOWTO

Posted in:Linux, MySQL practise

 
标签: keepalived Centos
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • debian下配置keepalived ha
    抄袭自http://blog.51yip.com/server/1417.html,做了一些修改可以参考http://blog.linuxphp.org/archives/1615/ 备注:NAT模式在rs机器上不需要做关于ip之类的任何配置,以下为DR模式,ip tunnerl模式也需要在rs上配置vip和router,ip tunnel和DR模式不允许
    02-10
  • 一脸懵逼学习keepalived(对Nginx进行热备)
    一脸懵逼学习keepalived(对Nginx进行热备)
    1:Keepalived的官方网址:http://www.keepalived.org/2:Keepalived:可以实现高可靠;  高可靠的概念:    HA(High Available), 高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。3:高可靠软
    02-10
  • nginx+keepalived+tomcat+memcache负载均衡搭建小集群
    nginx+keepalived+tomcat+memcache负载均衡搭建
    最近一段时间一直在研究高可用高并发负载均衡分布式集群等技术,先前发布了lvs基于网络第四次协议搭建的小集群,现在用空刚好搭建了一个基于nginx搭建的小集群。我准备了四台机器,情况如下机器名称机器IP安装软件角色虚拟ip描述vmm01192.168.252.11Nginx、ke
    02-10
  • CentOS下安装keepalived 进行服务器热备
    一、准备:1.1 安装依赖软件 如果系统为基本文本安装,需要安装一下软件 yum -y install ipvsadmyum -y install kernel kernel-develreboot   重启系统切换内核yum -y install openssl-devel 1.2 安装好这些软件之后,注意看是否安装好了GCC这些编译器,
    02-09
  • nginx+keepalived IP飘移(高可用)
    nginx+keepalived IP飘移(高可用)
    1、安装keepalived   yum  install -y keepalived设置开机自启动   systemctl enable keepalived.service 2、修改配置文件(1)主配置文件vim  /etc/keepalived/keepalived.confglobal_defs { router_id keep_01}vrrp_script chk_nginx {script "/etc
    02-09
  • keepalived对nginx进行高可用搭建及原理详解
    keepalived对nginx进行高可用搭建及原理详解
    目录一、Keepalived介绍二、Keepalived的应用场景三、Keepalived的工作原理1 VRRP协议2 核心组件3 分层工作4 工作状态四、Keepalived使用1 配置介绍2 使用keepalived对nginx进行高可用搭建2.1 环境准备2.2 nginx软件安装和配置2.3 Keepalived软件安装2.4 监听
  • 18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构
    18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列
    集群架构虚拟机规划IPhostname节点说明端口控制台地址192.168.247.150rabbitmq.masterrabbitmq master5672http://192.168.247.150:15672192.168.247.151rabbitmq.s.orabbitmq slave5672http://192.168.247.151:15672192.168.247.152rabbitmq.s.trabbitmq slav
    02-07
  • keepalived + nginx 实现高可用
    keepalived + nginx 实现高可用
    keepalived + nginx 实现高可用本篇主要介绍一下 keepalived + nginx 来实现 对于nginx的高可用, 还是简单的主备模式1.概述前面有了解keepalived 的主备的基本使用, 但是那种是针对宕机等情况 停止了keepalived 的进程实现的 vip的漂移,本篇把keepalived 添加
    02-07
  • 基于VMware的虚拟Linux集群搭建-lvs+keepalived
    基于VMware的虚拟Linux集群搭建-lvs+keepalived
    通过 keepalived 实现 lvs 服务器的的双机热备和真实服务器之间的负载均衡的blog 挺多的,在搭建的时候也参考了相关博文,不同人搭建的实验环境不一样,本文是基于 VM 搭建的虚拟集群环境,全部虚拟机网卡模式为 NAT 方式相连,处于同一网段。搭建环境: 使用
  • Linux Cluster之Keepalived + Nginx的实现
    Linux Cluster之Keepalived + Nginx的实现
    一、实验环境http server1与http server2组成web集群,由nginx服务器实现负载均衡代理,使用keepalived保证nginx服务的高可用。通过虚拟IP192.168.154.177对外提供web服务。实验目的:1)当Nginx server1上的nginx服务异常时,由nginx server2提供反带服务。2
点击排行