1:操作系统rhel7内核 3.10.0-123.el7.x86_64
2:keepalived软件版本 keepalived-1.3.9.tar.gz
1:主Keepalived服务器IP地址 192.168.1.10
2:备Keepalived服务器IP地址 192.168.1.20
3:Keepalived 虚拟IP地址 192.168.1.15 [局域网中任意未使用IP]
1:上传Keepalived软件到/bankapp目录
2: 解压软件
tar -zxvf keepalived-1.3.9.tar.gz
cd keepalived-1.3.9
编译以及编译安装
./configure --prefix=/usr/local/keepalived
make && make install
注意:
configure: error:
!!! OpenSSL is not properly installed on your system. !!!
!!! Can not include OpenSSL headers files.
解决办法:
openssl version -a 查看一下openssl是否安装
yum -y install openssl-devel --安装开发包,包含头文件和链接库
3:制作快捷启动,在源文件的目录./keepalived-1.3.5/keepalived/etc/init.d下有两个快捷启动文件和生成/usr/local/keepalived/目录下一个配置文件需要复制
1:cp /bankapp/keepalived-1.3.9/keepalived/etc/init.d/keepalived /etc/rc.d/init.d/
2:cp /bankapp/keepalived-1.3.9/keepalived/etc/sysconfig/keepalived /etc/sysconfig
#cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig
3:mkdir -p /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
4:cp /usr/local/keepalived/sbin/keepalived /usr/sbin
###注意 /etc/init.d是/etc/rc/init.d软链接文件
4:设置为服务,开机启动
vi /etc/rc.local
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
/etc/init.d/keepalived start
1:主机修改配置文件
cp keepalived.conf keepalived.conf.20200319 #备份原来的
vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
vrrp_instance VI_1 {
state BACKUP #mdodel :MASTER-BACKUP,BACKUP-BACKUP
interface eno16777728
virtual_router_id 51 #主备要一致
priority 150 #优先级主要比从高50,一般是50为一个分级
advert_int 1
nopreempt #非抢占式,主服务器要配置,备机不配置
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.15
}
}
2:备机也按照主机那样安装,配置
然后修改配置文件
! Configuration File for keepalived
vrrp_instance VI_1 {
state BACKUP #备机也是BACKUP
interface eno16777728
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.15
}
}
1:service keepalived start
#service keepalived stop
#service keepalived restart
2:ps - ef | grep keep |grep -v grep 查看进程,有3个进程说明正常启动
root 8732 1 0 19:14 ? 00:00:00 /usr/local/keepalived/sbin/keepalived -D
root 8733 8732 0 19:14 ? 00:00:00 /usr/local/keepalived/sbin/keepalived -D
root 8734 8732 0 19:14 ? 00:00:00 /usr/local/keepalived/sbin/keepalived -D
# ip addr show eno16777728
2: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:5d:1a:f0 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute eno16777728
valid_lft forever preferred_lft forever
inet 192.168.1.15/32 scope global eno16777728
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe5d:1af0/64 scope link noprefixroute
valid_lft forever preferred_lft forever
# ip addr show eno16777728
2: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:5a:67:0e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.20/24 brd 192.168.1.255 scope global eno16777728
valid_lft forever preferred_lft forever
inet 192.168.1.15/32 scope global eno16777728
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe5a:670e/64 scope link
valid_lft forever preferred_lft forever
###我这备机也有虚拟IP,可能裂脑了
注意error:
#eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> 这里会显示网卡模式
#主备都有VIP,裂脑了,通过修改网卡的为混杂模式解决
ifconfig eno16777728 #临时修改
eno16777728: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fe5d:1af0 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:5d:1a:f0 txqueuelen 1000 (Ethernet)
RX packets 15605 bytes 12116937 (11.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8017 bytes 1558236 (1.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#永久修改开机执行命令:
vi /etc/rc.local
ifconfig eno16777728 promisc
#注意关闭防火墙
systemctl status firewalld
systemctl disable firewalld
1:主机
ip addr show eno16777728 |grep 192.168.1.15
inet 192.168.1.15/32 scope global eno16777728
2:备机
ip addr show eno16777728 | grep 192.168.1.15
无输出
3:停掉主机keepalived服务
[root@docker log]# service keepalived stop
Stopping keepalived (via systemctl): [ OK ]
[root@docker log]# ip addr show eno16777728 |grep 192.168.1.15
[root@docker log]#
4:查看备机
[root@registry log]# ip addr show eno16777728 | grep 192.168.1.15
inet 192.168.1.15/32 scope global eno16777728
成功!!!
?
原文:https://www.cnblogs.com/zhoujun007/p/12521564.html