CentOS7 安装Keepalived以及基本配置

一、去官方网站下载最新版本的软件包 http://www.keepalived.org/software/keepalived-1.2.22.tar.gz

准备3台服务器,可以使用VMware虚拟机

IP  192.168.1.104  Windows7 用来测试

IP  192.168.1.107  Linux 主机

IP  192.168.1.108  Linux 主机

虚拟IP 192.168.1.220

二、安装

1:加压缩

tar -zxvf keepalived-1.2.2.tar.gz

2:进入到解压完的目录

cd keepalived-1.2.2

3:配置安装位置,在这步之前需要安装 openssl 和 openssl-devel  YUM分别安装 yum install openssl  和 yum install openssl-devel

./configure –prefix=/home/wangpl/mine/soft/keepalived-1.2.2    (/home/wangpl/mine/soft/keepalived-1.2.2路径随便哪里都可以)

成功以后的样子,注意 USE IPVS Framework 一定要先已经装载,否则先安装LVS

LVS的RPM包地址 http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26-1.src.rpm 直接用YUM安装

4:编译与安装
make && make install

5:安装完成后系统会在/home/wangpl/mine/soft/keepalived-1.2.2目录下生成 bin  etc  sbin  share 这 4 个目录。

其中一个模板的配置文件(keepalived.conf)在 /home/wangpl/mine/soft/keepalived-1.2.2/etc/keepalived 这个路径下

创建一个目录,并拷贝配置文件

mkdir -p /etc/keepalived/       keepalived启动时默认去这个路径加载配置文件

cp /home/wangpl/mine/soft/keepalived-1.2.2/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

6:修改配置文件

默认的配置文件中,使用第三方smtp服务器,但这在现实中几乎没有意义(需要验证的原因),我们将其指定为localhost, 将通知信息的发送交给本地sendmail服务处理。查阅说明文档得知route_id配置是为了标识当前节点,我将其设置为NodeA。当然两个节点的此项设置可相同,也可不相同。

  1. ! Configuration File for keepalived
  2. global_defs {
  3.     notification_email {
  4.      root@localhost
  5.    }
  6.    notification_email_from root@localhost
  7.    smtp_server localhost
  8.    smtp_connect_timeout 30
  9.    router_id  NodeA
  10. }
  11. vrrp_instance VI_1 {
  12.     state MASTER   #指定A节点为主节点 备用节点上设置为BACKUP即可
  13.     interface eth0   #绑定虚拟IP的网络接口  
  14.     virtual_router_id 51  #VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一VRRP
  15.     priority 100   #主节点的优先级(1-254之间),备用节点必须比主节点优先级低
  16.     advert_int 1   #组播信息发送间隔,两个节点设置必须一样
  17.     authentication {   #设置验证信息,两个节点必须一致
  18.         auth_type PASS
  19.         auth_pass 1111
  20.     }
  21.     virtual_ipaddress {   #指定虚拟IP, 两个节点设置必须一样
  22.         192.168.1.220
  23.     }
  24. }

需要注意的是

<span style="color:#ff0000;">interface eth0  这个的网卡名称一定别弄错了,要弄成自己的。可以使用 ip a 命令查看</span>

 

按同样的方法配置节点B并修改配置文件,可将A节点的配置文件复制到B节点,并修改以下几项:
router_id  NodeB

state   BACKUP

priority   99

其它项不必修改。

 

7:启动keepalived

/home/wangpl/mine/soft/keepalived-1.2.2/sbin/keepalived -D

8:查看进程

ps aux | grep keepalived

Keepalived 正常运行时,共启动 3 个进程,其中一个进程是父进程,负责监控其子进程;一个是 vrrp 子进程;另外一个是 checkers 子进程

9:我们可以在查看网卡绑定情况,可以看到虚拟IP已经绑定到网卡上了。

10:测试

在192.168.1.104  Windows7机器上可以 ping 192.168.1.220 ,发现可以通了。也可以在俩台主机上开启tomcat测试。

我们通过ARP -a 命令来查看220的MAC地址,看它现在绑定在哪台服务器上,下图可以看到绑定在了107上,

现在让我们把107关机,再看看效果。发现MAC地址马上绑定在108主机上了。也就是说虚拟IP已经漂到备机上了。

11、在真实环境中,如果出现VIP访问不到的情况,我们可以使用抓包工具来分析数据包,解决问题。

发表评论

电子邮件地址不会被公开。 必填项已用*标注