设为首页 收藏本站
查看: 3820|回复: 0

[经验分享] keepalived安装和配置(debian)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-26 08:50:14 | 显示全部楼层 |阅读模式
一、keepalived介绍及搭建环境说明
1、The keepalived The keepalived server implements the vrrpd routing demon which enables
routing failover for a pair (or set) of routers (or LVS directors) and the keepalived
demon which sets up and does the health checking of virtual services in a Linux Virtual Servier.
keepalived使用的vrrp协议方式,虚拟路由冗余协议 (Virtual Router Redundancy Protocol,简称VRRP)

2、官网
http://www.keepalived.org/

3、master/slave ip和版本和虚拟ip
1)master ip
10.1.10.117
2)master version
cat /etc/debian_version
7.8
3)slave ip
10.1.10.250
4)slave version
cat /etc/debian_version
5.0.1
5)virtual ip
10.1.10.240

二、debian下安装和配置keepalived
1、先查询下
apt-cache search keepalived
keepalived - Failover and monitoring daemon for LVS clusters

2、apt方式安装keepalived服务
apt-get -y install keepalived --force-yes

3、配置
1、apt方式安装后发现/etc/keepalived下是没有配置文件的
可以从/usr/share/doc/keepalived/samples复制样本配置文件
ll /usr/share/doc/keepalived/samples/keepalived.conf.sample
-rw-r--r-- 1 root root 919 Sep 28  2009 /usr/share/doc/keepalived/samples/keepalived.conf.sample

4、查看模板配置
cat /usr/share/doc/keepalived/samples/keepalived.conf.sample
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    interface eth0
    virtual_router_id 50
    nopreempt
    priority 100
    advert_int 1
    virtual_ipaddress {
        192.168.200.11
        192.168.200.12
        192.168.200.13
    }
}

virtual_server 10.10.10.2 1358 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    sorry_server 192.168.200.200 1358

    real_server 192.168.200.2 1358 {
        weight 1
        HTTP_GET {
            url {
              path /testurl3/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

5、复制模板配置到/etc/keepalived/
cp /usr/share/doc/keepalived/samples/keepalived.conf.sample /etc/keepalived/keepalived.conf

6、修改master/slave配置
1)master
cat /etc/keepalived/keepalived.conf
global_defs
{
router_id aaa
}

vrrp_instance VI_1
{
state MASTER
interface eth0
virtual_router_id 90
nopreempt
priority 100
advert_int 1
virtual_ipaddress
{
10.1.10.240/24
}
}
2)slave
cat /etc/keepalived/keepalived.conf
global_defs
{
router_id bbb
}

vrrp_instance VI_1
{
state BACKUP
interface eth0
virtual_router_id 90
priority 99
advert_int 1
virtual_ipaddress
{
10.1.10.240/24
}
}

7、配置说明
state              #MASTER是主服务器,BACKUP是备服务器。
virtual_ipaddress  #设置虚拟IP地址,也叫漂移IP地址。
priority           #值越大优先级越高,主的值在设置上大于备的值
nopreempt          #不抢占
virtual_router_id  #取值范围是1-255(must be between 1 & 255)
advert_int         #MASTER和BACKUP之间同步检查的时间间隔(s)

8、自定义日志存放地方(不定义的话默认是在/var/log/messages)
1)cat /etc/rsyslog.conf(增加在最后)
local0.*                                                /var/log/keepalived
2)生效的话需要重启下rsyslog服务
/etc/init.d/rsyslog restart
[ ok ] Stopping enhanced syslogd: rsyslogd.
[ ok ] Starting enhanced syslogd: rsyslogd.
3)查看
ll /var/log/keepalived
-rw-r----- 1 root adm 0 May 24 09:14 /var/log/keepalived

9、启动服务
keepalived -d -D -S 0 -f /etc/keepalived/keepalived.conf

10、查看进程
ps aux |grep keepalived |grep -v grep
root      2234  0.0  0.0  16408   728 ?        Ss   09:16   0:00 keepalived -d -D -S 0 -f /etc/keepalived/keepalived.conf
root      2235  0.0  0.1  24824  1796 ?        S    09:16   0:00 keepalived -d -D -S 0 -f /etc/keepalived/keepalived.conf
root      2236  0.2  0.1  24824  1188 ?        S    09:16   0:00 keepalived -d -D -S 0 -f /etc/keepalived/keepalived.conf

11、查看启动日志(master/slave)
1)cat /var/log/keepalived(master这里只截取部分日志信息)
May 25 01:50:10 debian Keepalived: Starting Keepalived v1.2.2 (12/18,2011)
May 25 01:50:10 debian Keepalived: Starting Healthcheck child process, pid=3323
May 25 01:50:10 debian Keepalived: Starting VRRP child process, pid=3324
May 25 01:50:10 debian Keepalived_vrrp: Netlink reflector reports IP 10.1.10.117 added
May 25 01:50:11 debian Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
May 25 01:50:12 debian Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
May 25 01:50:12 debian Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 10.1.10.240
May 25 01:50:12 debian Keepalived_healthcheckers: Netlink reflector reports IP 10.1.10.240 added
2)cat /var/log/keepalived(slave这里只截取部分日志信息)
May 25 01:54:01 debian Keepalived:Starting Keepalived v1.1.15 (12/20,2007)
May 25 01:54:01 debian Keepalived_healthcheckers: Using MII-BMSR NIC polling thread...
May 25 01:54:01 debian Keepalived_healthcheckers: Netlink reflector reports IP 10.1.10.250 added
May 25 01:54:01 debian Keepalived_vrrp: 10.1.10.240/24 brd 10.1.10.240 dev eth0 scope global
May 25 01:54:01 debian Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE
May 25 01:54:01 debian Keepalived_vrrp: VRRP sockpool: [ifindex(2), proto(112), fd(8,9)]

12、使用ip命令查看(master)
1)  eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:c8:87:a1 brd ff:ff:ff:ff:ff:ff
    inet 10.1.10.117/24 brd 10.1.10.255 scope global eth0
    inet 10.1.10.240/24 scope global secondary eth0
    inet6 fe80::20c:29ff:fec8:87a1/64 scope link
    valid_lft forever preferred_lft forever

13、启动参数说明
--use-file, -f keepalived.conf_file Use the specified configuration file.
--dump-conf, -d Dump the configuration data.
--log-detail, -D Detailed log messages (the default with the rc script provided).
--log-facility, -S 0-7 Set syslog facility to LOG_LOCAL[0-7] (default=LOG_DAEMON)

14、设置开机启动
1)查看当前运行级别
runlevel
N 2
2)安装时已经自动加入了
ll /etc/rc2.d/ |grep keepalived
lrwxrwxrwx 1 root root  20 2015-05-22 05:06 S20keepalived -> ../init.d/keepalived

三、测试
1)在master上执行/etc/init.d/keepalived stop可以看到日志
May 25 02:11:22 debian Keepalived: Terminating on signal
May 25 02:11:22 debian Keepalived: Stopping Keepalived v1.2.2 (12/18,2011)
May 25 02:11:22 debian Keepalived_vrrp: Terminating VRRP child process on signal
May 25 02:11:22 debian Keepalived_healthcheckers: Terminating Healthchecker child process on signal
May 25 02:11:22 debian Keepalived_vrrp: VRRP_Instance(VI_1) removing protocol VIPs.
执行ip命令查看
lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:c8:87:a1 brd ff:ff:ff:ff:ff:ff
    inet 10.1.10.117/24 brd 10.1.10.255 scope global eth0
    inet6 fe80::20c:29ff:fec8:87a1/64 scope link
       valid_lft forever preferred_lft forever
2)在slave上查看日志
May 25 02:11:25 debian Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
May 25 02:11:26 debian Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
May 25 02:11:26 debian Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs.
May 25 02:11:26 debian Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 0.0.0.0
May 25 02:11:26 debian Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 10.1.10.240
May 25 02:11:26 debian Keepalived_vrrp: Netlink: skipping nl_cmd msg...
May 25 02:11:26 debian Keepalived_healthcheckers: Netlink reflector reports IP 10.1.10.240 added
May 25 02:11:31 debian Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 0.0.0.0
May 25 02:11:31 debian Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 10.1.10.240
执行ip命令查看
lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:8c:61:6e brd ff:ff:ff:ff:ff:ff
    inet 10.1.10.250/24 brd 10.1.10.255 scope global eth0
    inet 10.1.10.240/24 scope global secondary eth0
    inet6 fe80::20c:29ff:fe8c:616e/64 scope link
       valid_lft forever preferred_lft forever



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-70737-1-1.html 上篇帖子: 配置keepalive实现mysql双主高可用 下篇帖子: keepalived基础知识及高可用的实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表