服务器:CentOS 7.5html
下载地址:https://www.keepalived.org/download.htmlmysql
安装包:keepalived-2.0.10.tar.gzsql
>cd /opt >tar -zxvf keepalived-2.0.10.tar.gz #解压安装包 >cd keepalived-2.0.10 #进入安装目录 >./configure --prefix=/usr/local/keepalived #配置 >make & make install #编译和安装
安装完成后的目录如图所示: vim
安装包所在路径:/opt/keepalived-2.0.10
bash
查看配置文件目录结构:服务器
>tree -l /opt/keepalived-2.0.10/keepalived/etc keepalived/etc/ ├── init │ ├── keepalived.conf.in │ ├── Makefile │ ├── Makefile.am │ └── Makefile.in ├── init.d │ ├── keepalived │ ├── keepalived.rh.init │ ├── keepalived.suse.init.in │ ├── Makefile │ ├── Makefile.am │ └── Makefile.in ├── keepalived │ └── keepalived.conf ├── Makefile ├── Makefile.am ├── Makefile.in ├── openrc │ └── keepalived └── sysconfig └── keepalived
将配置文件拷贝到系统相应目录下:rest
>mkdir /etc/keepalived >cd /opt/keepalived-2.0.10/keepalived/etc >cp ./keepalived/keepalived.conf /etc/keepalived/keepalived.conf >cp ./init.d/keepalived /etc/init.d/keepalived >cp ./sysconfig/keepalived /etc/sysconfig/keepalived.conf
设置开机启动:code
>chkconfig keepalived on
修改配置文件:router
>vim /etc/keepalived/keepalived.conf global_defs { router_id mysql-103 #每台keepalived不一样 } vrrp_instance VI_1 { state MASTER #主实例,BACKUP为从实例 interface ens160 #网卡名称 virtual_router_id 51 #主备都相同 priority 100 #优先级,主备不一样,主高于备 advert_int 1 authentication { auth_type PASS #主备相同 auth_pass 1111 #主备相同 } virtual_ipaddress { 192.168.0.250 #vip,主备相同,且位于同一网段 } }
>firewall-cmd --add-rich-rule='rule protocol value="vrrp" accept' --permanent >firewall-cmd --reload
>service keepalived start/stop/restart/status
查看启动状态:htm
>ps -ef|grep keepalived root 23512 1 0 11:14 ? 00:00:00 /usr/local/keepalived/sbin/keepalived -D root 23513 23512 0 11:14 ? 00:00:00 /usr/local/keepalived/sbin/keepalived -D root 23535 7821 0 11:14 pts/3 00:00:00 grep --color=auto keepalived
验证vip地址:
>ip addr 1: ...(ignore) 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 00:00... brd ff:ff:ff:ff:ff:ff inet 192.168.0.110/24 brd 192.168.0.255 scope global ens160 #本机ip valid_lft forever preferred_lft forever inet 192.168.0.250/32 scope global ens160 #出现vip valid_lft forever preferred_lft forever inet6 ffee:eeff.../64 scope link valid_lft forever preferred_lft forever
多个keepalived实例在安装完成后须要进行主备交叉验证,关闭主实例,从实例可看到vip,再次启动主实例,此时只有主实例能够看到vip