今天部署keepalived时,才发现,这活虽然简单,但是坑太多了,网上文章一堆,但没几个靠谱的。
一、安装依赖
yum install -y curl gcc openssl-devel libnl3-devel net-snmp-devel
二、安装文件上传到/home
安装文件官网找,怎么上传不说了
三、解压
tar -zxvf keepalived-2.0.18.tar.gz
坑1:网上好多教程版本都是1.4以下,和最新版本文件结构不一致,千万不要参考、不要参考、不要参考,keepalived高版本没有rc.d目录
四、编译前配置
mkdir /usr/local/keepalived #新建一个用于输出的文件夹
cd /home/keepalived-2.0.18
./configure --prefix=/usr/local/keepalived
五、编译
make && make install
六、使用
坑2:对,就可以使用了,好多文章介绍要,要把编译好的文件cp /etc/keepalived/....下,然后配置开机自启动什么的,不需要,统统不需要,配置keepalived.conf文件搞好就行了
主:
global_defs {
router_id hostname #名字
}
vrrp_instance VI_1 {
state MASTER #主机标识
interface ens33 #网卡,一定要和当前网卡一致
virtual_router_id 52 #编号,主、从标号一定要一样
priority 150 #优先级,主机要高于从机
advert_int 1 #不认识
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { #最关键的虚拟IP,要和当前机器IP在一个网段
192.168.157.180
}
}
从:
global_defs {
router_id hostname2
}
vrrp_instance VI_1 {
state BACKUP #从机标识
interface ens33
virtual_router_id 52 #标号,要一致
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.157.180 #虚拟IP
}
}
坑3:/usr/local/keepalived 下没有keepalived.conf 文件,只有keepalived.conf.sample文件,不要慌,mv keepalived.conf.sample keepalived.conf 这样不就有了,里面内容改改就行了(vim普通模式下,ggdG,全删)
配置文件搞好后,启动就是了
service keepalived start
七、检测
ip addr, 看看虚拟IP出来了没,不放心再ping,就好了
常见问题
1、没关防火墙
systemctl disable firewalld
2、找不到rc.d目录,高版本没有这个目录
3、keepalived没反应, service keepalived start,即使配置文件有问题,启动的时候也不报错,太坑了
ps -ef | grep keepalived
看下你的keepalived在哪里,我当时修改了半天的/etc/keepalived/keepalived.conf文件,最后发现启动的keepalived在/usr/local/keepalived/下
4、绑定的网卡,ip addr 一定要看清了当前的网卡用的是eth0还是ens33...,一个网段内
5、权限问题 Permission denied 哪个文件报这个错,搞他
chomd 777 /usr/local/keepalvied/..... #赋权就是了