CentOS 7 上配置LVS + keepalived + ipvsadm

一、部署环境
keepalived:10.10.10.30(CentOS 7)
lvs1:10.10.10.140(CentOS 6.4)
lvs2:10.10.10.150(CentOS 6.4)

二、在lvs1:10.10.10.140上配置
[[email protected] ~]# yum install -y httpd
[[email protected] ~]# /etc/init.d/httpd start
[[email protected] ~]# cd /var/www/html/
[[email protected] html]# echo "ok" > keep.html
[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:15:B7:DC
TYPE=Ethernet
UUID=93f4695a-8641-4360-9fce-5e3af0e32fc9
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.10.10.140
NETMASK=255.255.255.0
GATEWAY=10.10.10.30
[[email protected] ~]#/etc/init.d/network restart
[[email protected] ~]#/sbin/ifconfig eth0:0 10.10.10.140 broadcast 10.10.10.255 netmask 255.255.255.255 up

三、在lvs2:10.10.10.150上配置
[[email protected] ~]# yum install -y httpd
[[email protected] ~]# /etc/init.d/httpd start
[[email protected] ~]# cd /var/www/html/
[[email protected] html]# echo "ok" > keep.html
[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:0D:33:AC
TYPE=Ethernet
UUID=e04f57dc-ef9d-4563-bfa4-9c8c1e8fc870
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=10.10.10.150
NETMASK=255.255.255.0
GATEWAY=10.10.10.30
[[email protected] ~]#/etc/init.d/network restart
[[email protected] ~]#/sbin/ifconfig eth0:0 10.10.10.140 broadcast 10.10.10.255 netmask 255.255.255.255 up

四、在keepalived:10.10.10.30上配置
[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno33554984
HWADDR=00:0C:29:DC:FE:1B
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_PEERDNS=yes
#IPV6_PEERROUTES=yes
#IPV6_FAILURE_FATAL=no
NAME=eno33554984
#UUID=56cae8b8-235f-471d-9051-2508ee149e48
ONBOOT=yes
NM_CONTROLLED=no
IPADDR=10.10.10.30
NETMASK=255.255.255.0
[[email protected] ~]# /etc/init.d/network restart

[[email protected] ~]# cd /data/keepalived/
[[email protected] keepalived]# tar zxvf keepalived-1.2.12.tar.gz
[[email protected] keepalived]# cd keepalived-1.2.12/
[[email protected] keepalived-1.2.12]# ./configure --prefix=/usr/local/keepalived
[[email protected] keepalived-1.2.12]# make
[[email protected] keepalived-1.2.12]# make install
[[email protected] keepalived-1.2.2]# ln -s /usr/local/keepalived/etc/keepalived/ /etc/
[[email protected] keepalived-1.2.2]# ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
[[email protected] keepalived-1.2.2]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[[email protected] keepalived-1.2.2]# ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
[[email protected] keepalived-1.2.12]# cd

##keepalived健康检查 HTTP_GET
[[email protected] ~]# /usr/local/keepalived/bin/genhash -s 10.10.10.140 -p 80 -u /keep.html
MD5SUM = eff5bc1ef8ec9d03e640fc4370f5eacd

[[email protected] ~]# /usr/local/keepalived/bin/genhash -s 10.10.10.150 -p 80 -u /keep.html
MD5SUM = eff5bc1ef8ec9d03e640fc4370f5eacd

[[email protected] ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eno33554984
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.10.10.250
    }
}

virtual_server 10.10.10.250 80 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP

real_server 10.10.10.140 80 {
        weight 1
        HTTP_GET {
            url {
              path /keep.html
              digest eff5bc1ef8ec9d03e640fc4370f5eacd
            }
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }

real_server 10.10.10.150 80 {
        weight 1
        HTTP_GET {
            url {
              path /keep.html
              digest eff5bc1ef8ec9d03e640fc4370f5eacd
            }
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
}
[[email protected] ~]# /etc/init.d/keepalived restart

五、在keepalived:10.10.10.30上用ipvsadm 命令测试
[[email protected] ~]# yum install -y ipvsadm
[[email protected] ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.10.10.250:80 wrr persistent 50
  -> 10.10.10.140:80              Route   1      0          0         
  -> 10.10.10.150:80              Route   1      0          0

在10.10.10.140执行
[[email protected] html]# echo  "" > keep.html
[[email protected] ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.10.10.250:80 wrr persistent 50
  -> 10.10.10.150:80              Route   1      0          0

再在10.10.10.140执行
[[email protected] html]# echo  "ok" > keep.html
[[email protected] ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.10.10.250:80 wrr persistent 50
  -> 10.10.10.140:80              Route   1      0          0         
  -> 10.10.10.150:80              Route   1      0          0

时间: 2024-10-07 19:22:37

CentOS 7 上配置LVS + keepalived + ipvsadm的相关文章

CentOS 7.3 部署LVS + Keepalived 高可用集群

双击热备 在这个高度信息化的IT时代,企业的生产系统,业务运营,销售个支持 以及日常管理环节越来越依赖计算机信息和服务,使得对高可用(HA) 技术的应用需求大量上升,以便提供持续的,不间断计算机或网络 vs服务器和web-server他们必须在同一个网段内,因为LVS转发包的时候,是直接修改了包目标的MAC地址,直接扔给了rs,基于MAC地址的修改是活动在OSI二层数据链路层的,工作在数据链路层的网络设备就是交换机了,所以必须在一个交换机下面,也就是一个局域网内为啥抑制real-server的A

centos7下配置LVS+KeepAlived高可用主备+2台tomcat负载图文篇

环境描述:centos7最小化安装 1.环境说明: 名称 IP 说明 master ens33:192.168.0.61 vip:192.168.0.60 backup ens33:192.168.0.62 vip:192.168.0.60 tomcat1 ens33:192.168.0.63 负载 tomcat2 ens33:192.168.0.64 负载 测试机在同网段随意一台均可tomcat安装详细步骤上一篇文章有详细描述,这里不做赘述. 2.安装ipvsadm(管理工具)+keepali

CentOS系统上配置https服务

在CentOS6.9(http2.2)配置https 在CentOS6.9和CentOS7分别实现配置 在CentOS6.9(http2.2)配置https 创建前准备: 安装opensssl包  和 http2.2 1.在主机(192.168.109.100)创建私有CA (1)获取私钥  注意:1.私钥保存路径是按/etc/pki/tls/openssl.cnf配置文件规定的即/etc/pki/CA/private/ 2.做成的私钥的权限必须是600             3.文件名必须以

CentOS 7.3 部署LVS + Keepalived 高可用群集

本次实验需用到四台服务器,包括两台web服务器,两台调度服务器,一台访问测试的客户机先将虚拟机网络适配器修改为NAT模式在线下载安装相关软件包,调度服务器需要安装的软件包Web服务器若没有自带Apache,可使用yum进行安装之后更改网络适配器为仅主机模式,配置每台虚拟机IP地址进行实验调度服务器主:192.168.100.21/24调度服务器备:192.168.100.22/24Web服务器1:192.168.100.23/24Web服务器2:192.168.100.24/24虚拟IP:192

在centos服务器上配置gitlab钩子引发的一系列问题

为了给公司的服务器上搭建gitlab环境并且配置钩子(实现在本地git push之后服务器自动git pull),整了好久,最后终于把问题解决了,下面是记录安装gitlab之后引发的一系列问题: 首先搭建gitlab是参考了http://www.linuxidc.com/Linux/2016-06/131992.htm这篇文章,使用的是bitnami制作的一键安装包,下载下来的是run格式的文件,需要先给这个文件执行权限: chmod +x filename filename是这个文件的名字 安

centos 7 上配置mysql 开机启动详解

之前多次在centos7环境下配置mysql开机自启动出现了错误.现留下篇文章已做记录 一.centos7与centos6相比有什么不同: 1 在centos7中服务不在是用service这个命令来启动与停止,也不再用chkconfig来设置开机启动与否! 在centos7中所有对服务的管理都集中到了systemctl当中:systemctl不再是合之前一样依赖/etc/init.d/下 的脚本,它是通过配置文件来完成对服务的管理的: 二.创建systemctl管理mysql的配置文件: 1 创

centos 7 上配置SELinux允许nginx指定/home/www作为网站根目录

现象: 1 启动nginx成功,使用wget 127.0.0.1得到内容,但是提示是禁止访问(403); 2 查看/var/log/nginx/error.log,提示访问/home/www/l.com/i.html禁止; 3 查看SELinux 是否运行: sestatus -v,enable就是运行了 4查看/var/log/Audit/Audit.log日志,发现有提示到nginx被拒绝了;但是看不明白怎么处理... 它是类似这样的内容 type=AVC msg=audit(1416406

Centos 7搭建LVS+Keepalived高可用Web服务群集

一.LVS+Keepalived高可用群集 Keepalived的设计目标是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器.管理服务器池,而不仅仅用作双机热备.使用Keepalived构建LVS群集更加简便易用,主要优势体现在:对LVS负载调度器实现热备切换,提高可用性:对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入. 在基于LVS+Keepalived实现的LVS群集结构中,至少包括两台热备的负载调度器,三台以上的节点服务器.此博客将以DR模式的

RedHat linux 6.4 下LVS+Keepalived负载均衡配置

LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,现在已经是 Linux标准内核的一部分.在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能.使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能.高可用的服务器群集,它具有良好可靠性.