两台服务器
master : 10.214.130.100
slave : 10.214.130.101
vip(keepalived虚拟ip) : 10.214.130.102
1、下载:
登陆官网(http://www.keepalived.org/download.html) 下载安装包:
http://www.keepalived.org/software/keepalived-2.0.6.tar.gz
wget http://www.keepalived.org/software/keepalived-2.0.6.tar.gz
2、安装
解压: tar -zxvf keepalived-2.0.6.tar.gz
[root@dcmp2 opt]# ll
total 2174204
drwxr-xr-x. 2 root root 4096 Aug 21 10:20 install-keepalived-software
-rw-r--r--. 1 root root 166040563 Aug 14 2017 jdk-8u111-linux-x64.rpm
-rw-r--r--. 1 root root 853859 Aug 21 10:21 keepalived-2.0.6.tar.gz
[root@dcmp2 opt]# tar -zxvf keepalived-2.0.6.tar.gz
编译:
cd keepalived-2.0.6
./configure --prefix=/usr/local/keepalived
[root@dcmp2 opt]# cd keepalived-2.0.6
[root@dcmp2 keepalived-2.0.6]# ./configure --prefix=/usr/local/keepalived
prefix 指定安装的目录
编译过程一般都不太顺利,会报各种各样的错误,基本上都是缺少编译环境问题。
下载相应的包,下载地址:ftp://mirror.switch.ch/mirror/centos/7/os/x86_64/Packages/
ctrl+f 搜索
安装:
make && make install
安装完成之后,会在/usr/local下面生成keepalived文件夹
[root@dcmp1 local]# ll
total 0
drwxr-xr-x. 2 root root 168 Jun 20 21:34 bin
drwxr-xr-x. 2 root root 6 Apr 11 12:59 etc
drwxr-xr-x. 2 root root 6 Apr 11 12:59 games
drwxr-xr-x. 3 root root 21 Jun 20 21:34 include
drwxr-xr-x. 6 root root 53 Aug 21 10:07 keepalived
drwxr-xr-x. 3 root root 85 Jun 20 21:34 lib
drwxr-xr-x. 2 root root 6 Apr 11 12:59 lib64
drwxr-xr-x. 2 root root 6 Apr 11 12:59 libexec
drwxr-xr-x. 2 root root 106 Jun 20 21:34 sbin
drwxr-xr-x. 6 root root 60 Jun 20 21:34 share
drwxr-xr-x. 2 root root 6 Apr 11 12:59 src
keepalived目录结构
[root@dcmp1 keepalived]# ll
total 0
drwxr-xr-x. 2 root root 21 Aug 21 10:07 bin
drwxr-xr-x. 4 root root 41 Aug 21 10:11 etc
drwxr-xr-x. 2 root root 24 Aug 21 10:07 sbin
drwxr-xr-x. 5 root root 40 Aug 21 10:07 share
[root@localhost ~]# cp /usr/local/keepalived/sbin/keepalived /etc/init.d/
[root@localhost ~]# cp /usr/local/keepalived/sbin/keepalived /etc/sysconfig/
[root@localhost ~]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
编辑 master keepalived.conf
[root@localhost ~]# cat <<EOF > /usr/local/keepalived/etc/keepalived.conf
global_defs {
router_id LVS_nginx
}
vrrp_script CheckNginxMaster {
script "curl -k https://10.214.130.100:80"
interval 3
timeout 9
fall 2
rise 2
}
vrrp_instance VI_1 {
state MASTER
interface ens160
virtual_router_id 61
priority 100
advert_int 1
mcast_src_ip 10.214.130.100
nopreempt
authentication {
auth_type PASS
auth_pass sqP05dQgMSlzrxHj
}
unicast_peer {
10.214.130.101
}
virtual_ipaddress {
10.214.130.102/24
}
track_script {
CheckNginxMaster
}
}
EOF
slave keepalived.conf
[root@localhost ~]# cat <<EOF > /usr/local/keepalived/etc/keepalived.conf
global_defs {
router_id LVS_nginx
}
vrrp_script CheckNginxMaster {
script "curl -k https://10.214.130.101:80"
interval 3
timeout 9
fall 2
rise 2
}
vrrp_instance VI_1 {
state BACKUP
interface ens160
virtual_router_id 61
priority 50
advert_int 1
mcast_src_ip 10.214.130.101
nopreempt
authentication {
auth_type PASS
auth_pass sqP05dQgMSlzrxHj
}
unicast_peer {
10.214.130.100
}
virtual_ipaddress {
10.214.130.102/24
}
track_script {
CheckNginxMaster
}
}
EOF
priority 50 权重,值越大,权重越大,最大者成为master。
重启master和slave的keepalived服务
systemctl restart keepalived
在master和slave分别输入ip addr
看看网口上面绑定的ip。
关闭master的nginx,再观察slave情况。
10.214.130.102 ip已经飘向了101服务器。重启master的nginx,虚拟ip10.214.130.102飘向100.