keepalive实验

实验环境centos 7 server x2 做keepalived主备 地址分别是192.168.0.200 192.168.0.201

Centos 7 server x2 做real server 采用DR模型

 

yum -y install ntp#安装ntp client

ntpdate 47.95.253.33#时间同步到自己的ntp服务器

 

RS上的配置

首先设置网卡 我是设置的桥接模式 两个server的RIP分别RS1:192.168.0.203 和 RS2:192.168.0.204  VIP设置为192.168.0.205

VIP的设置:定义ens33的lo别名上

[root@localhost ~]# ifconfig lo:0 192.168.0.205 netmask 255.255.255.255 broadcast 192.168.0.205

echo “1”>/proc/sys/net/ipv4/conf/all/arp_ignore

echo “1”>/proc/sys/net/ipv4/conf/lo/arp_ignore

echo “2”>/proc/sys/net/ipv4/conf/all/arp_announce

echo “2”>/proc/sys/net/ipv4/conf/lo/arp_announce

 

然后在四台server上都安装apache

其中RS 上

RS1:index.html:<h1>RS1</h1>

RS2:index.html:<h1>RS2</h1>

#在实际生产环境中资源应当一致

 

 

 

在Director上的配置

yum -y install keepalived #安装keepalived

vim /etc/keepalived/keepalived.conf

 

! Configuration File for keepalived

 

global_defs {

notification_email {

root@localhost

}

notification_email_from Alexandre.Cassen@firewall.loc

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id ha1

vrrp_skip_check_adv_addr

vrrp_garp_interval 0

vrrp_gna_interval 0

vrrp_mcast_group4 224.0.100.18

}

 

vrrp_instance VI_1 {

state MASTER #设置角色 MASTER/BACKUP

interface ens33 #设置要使用的网卡

virtual_router_id 51 #设置router-id,主备必须一致

priority 100#设置优先级,主的必须最大

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.0.205 dev ens33 label ens33:0 #设置vip 这边是定义在ens33的别名上

}

}

 

virtual_server 192.168.0.205 80 { 设置virtual server

delay_loop 6

lb_algo rr

lb_kind DR #设置LVS模型

protocol TCP

sorry_server 127.0.0.1 80 #定义sorry_server

 

real_server 192.168.0.203 80 { #定义real server

weight 1 #设置权重

HTTP_GET {

url {

path /

status_code 200

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

 

real_server 192.168.0.204 80 {

weight 2

HTTP_GET {

url {

path /

status_code 200

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

遇到的问题:

当配置完keepalived之后,发现vip无法访问:

解决方法:将vrrp_strict注释掉就好了 nnd,搞了我大半天,还有确保实验的时候firewalld和selinux都禁掉

 

然后在主备上都配置httpd服务,作为sorry server的服务器

当real server都挂掉之后,启用sorry server

 

启用keepalived服务

测试下

1

现在停掉一个RS

2

当全部的RS挂掉之后

3

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89951

(0)
N27_flypigN27_flypig
上一篇 2017-12-11
下一篇 2017-12-11

相关推荐

  • N26第一周作业

    第一周作业   1. 描述计算机的组成及其功能。   计算机主要由处理器(CPU)、存储器、输入设备、输出设备。 CPU由运算器、控制器、寄存器、缓存器组成,提供运算。 存储器即内存,RAM(Random Access Memory),内存为cpu运算时提供数据存储。 Input:用户下指令的设备,使计算机能够与用户进行交互。 Outpu…

    Linux干货 2017-01-03
  • 基础指令的使用篇2 Linux版

    #echo -e "\033[41;33:4:5m"\033[0m] man命令 /usr/share/man 地址 whatis passwd 查看passwd的man 章节 man n passwd 显示passwd的第几章man文件 man -a passwd 列出所有的章节     -f   &nbs…

    Linux干货 2016-08-04
  • 网络相关命令

    网络相关命令 常用命令 ifcfg家族:   ifconfig:配置IP,NETMASK   route :路由   netstat : 状态及统计数据查看 iproute2家族     ip  系列 &nbs…

    Linux干货 2016-09-07
  • Http虚拟主机的应用

    一、http 1、 基于主机名实现三个虚拟主机 (1)yum安装httpd (2)注释中心主机的网页路径 (3)创建三个虚拟机主机的文件路径 (4)创建三个虚拟机主机的文件网页index.html (5)更改hosts文件进行映射 (6)关闭防火墙和Selinux进行测试(测试步骤是在本机的虚拟机上测试) 2、每虚拟主机使用独立的访问日志和错误日志 (1)给…

    Linux干货 2016-10-08
  • Linux上命令使用格式及如何获取帮助信息

    Linux系统上命令使用: 命令本身是一个可执行的程序文件,二进制格式的文件,有可能会调用共享库文件,发起一条命令,请求内核将某一个二进制程序运行为一个进程。   命令的语法格式:   ~]#COMMAND(命令)   OPENTIONS(选项)   ARGUMENTS(参数) command 命令…

    Linux干货 2016-10-30
  • 数组和字符串处理

    数组:存储多个元素的连续的内存空间,相当于多个变量的集合     1)定义数组:        declare -a ARRAY_NAME 定义普通数组 可省略declare -a ]#arr=(a b&nbs…

    Linux干货 2016-08-24