CentOS下安装keepalived 进行服务器热备
一、准备:
1.1 安装依赖软件 如果系统为基本文本安装,需要安装一下软件
yum -y install ipvsadm
yum -y install kernel kernel-devel
reboot 重启系统切换内核
yum -y install openssl-devel
1.2 安装好这些软件之后,注意看是否安装好了GCC这些编译器,如果没有,安装GCC编译器
yum -y
install
gcc
yum -y
install
gcc
-c++
yum
install
make
-- 或者
yum groupinstall
"Development Tools"
-- 或者
yum
install
gcc
gcc
-c++ kernel-devel
make
make install
完成安装
三、配置keepalived
配置keepalived之前先了解配置文件中的一些属性的含义,配置文件为keepalived.conf
! Configuration File for keepalived
#全局定义块,包含邮件定义部分,
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL //负载均衡器标识,在一个网络内,它应该是唯一的
}
#VRRP实例定义块,负责负载均衡器之间的失败切换
vrrp_instance VI_1 {
state MASTER //只有MASTER和BACKUP 2种状态,主为MASTER,从为BACKUP,使用大写
interface eth0 //监控的网络接口
virtual_router_id 51 //同一实例下virtual_router_id必须相同
priority 100 //定义优先级,数字越大,优先级越高
advert_int 1 //MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
authentication { //验证类型和密码
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { //虚拟ip地址virtual_ipaddress,可以定义多个
192.168.200.16
192.168.200.17
192.168.200.18
}
}
#虚拟服务器定义块
virtual_server 192.168.200.100 443 { //定义虚拟服务器
delay_loop 6 //delay_loop,健康检查时间间隔,单位是秒
lb_algo rr //负载调度算法,这里设置为rr,即轮询算法,互联网应用常使用wlc或rr
lb_kind NAT //负载均衡转发规则。一般包括DR,NAT,TUN3种,在我的方案中,都使用DR的方式
nat_mask 255.255.255.0 //子网掩码
persistence_timeout 50 //会话保持时间,单位是秒(可以适当延长时间以保持session)
protocol TCP //转发协议类型,有tcp和udp两种
real_server 192.168.201.100 443 { //真实服务器IP及端口
weight 1 //默认为1,0为失效
SSL_GET {
url {
path /
digest ff20ad2481f97b1754ef3e12ecd3a9cc
}
url {
path /mrtg/
digest 9b3a0c85a887a256d6939da88aabd8cd
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
直接拷贝是无效的,没有全部将配置文件中的属性拷贝出来,这里的热备主要注意点是,虚拟IP就是以后给用户访问的IP,而实际IP则是本机IP,interface eth0 这里的表示网卡,如果你使用的不是eth0则需要修改,不然,热备无法生效,real_server,virtual_ipaddress
还需要注意点:
vrrp_instance VI_1 {
state MASTER
这个属性,如果热备,将备服务器上的配置文件修改为BACKUP,不然,热备也不生效。
实际,Keepalived热备的效果就是将两台服务器指向同一个虚拟IP,而对外提供的IP就是这个虚拟IP,如果一台服务器宕机,不能提供IP访问,那么,将有备服务器指向改IP并提供IP服务
四、Keepalived日志查询
路径:/var/log/messages 文件