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

[经验分享] 实践keepalived的HA功能

[复制链接]

尚未签到

发表于 2018-12-28 11:27:24 | 显示全部楼层 |阅读模式
一提到HA大家都知道heartbeat,heartbeat是个非常不错的HA开源软件,今天我们来介绍一下利用keepalived来做HA,keepalived的最大特点就是切换比较快,废话少说
我们来操作吧。
一.实验环境
两台服务器IP分别为:
192.168.4.188     master
192.16.4.190      slaved
192.168.4.189     virtual_ip
二.安装步骤
1.首先进行nginx的安装,其他的web软件都可以例如apache,lighttpd等等
tar -zxvf nginx-0.7.5.tar.gz
cd nginx-0.7.5
./configure --with-http_stub_status_module
make && make install
2.进行keepalived的安装
tar -zxvf keepalived-1.1.15.tar.gz
cd keepalived-1.1.15
./configure
make && make install
两台服务器的安装步骤完全一样
三.配置文件的修改
1.nginx配置文件的修改,由于我们只是简单的测试所以只要显示的页面能识别是哪台服务器的即可
master服务器:
cd /usr/local/nginx/html
echo "nginx master" > index.html
slaved服务器:
cd /usr/local/nginx/html
echo "nginx slaved" > index.html
2.keepalived配置文件的修改:
master服务器;
cd /usr/local/etc/keepalived
vi keepalived.conf
内容如下:
global_defs {
   notification_email {
     jlsfwq@163.com
   }
   notification_email_from keepalived@staff.sina.com.cn
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state MASTER                    ############ 辅机为 BAUCK
    interface eth0
    virtual_router_id 51
    mcast_src_ip 192.168.4.188
    priority 102                   ########### 权值要比 bauck 高      
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
       192.168.4.189               ############ 虚IP地址
    }
}
slaved服务器:
cd /usr/local/etc/keepalived
vi keepalived.conf
内容如下:
global_defs {
   notification_email {
     jlsfwq@163.com
   }
   notification_email_from keepalived@staff.sina.com.cn
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state BAUCK
    interface eth0
    virtual_router_id 51
    mcast_src_ip 192.168.4.190
    priority 101              
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
       192.168.4.189
    }
}
3.nginx和keepalived的启动(启动顺序先master后slaved)
nginx的启动:
/usr/local/nginx/sbin/nginx -t      测试配置文件是否正确
/usr/local/nginx/sbin/nginx         启动nginx
keepalived的启动:
/usr/local/sbin/keepalived -D -f /usr/local/etc/keepalived/keepalived.conf
四. 测试
1.先测试一下master和slaved的nginx的服务是否正常
http://192.168.4.188
会显示:nginx master
http://192.168.4.190
会显示:nginx slaved
证明两台服务器的nginx服务都正常
2.测试虚拟IP的连通性和查看虚拟ip在master还是在slaved上
测试虚拟IP的连通性:
在本地ping 192.168.4.189能ping通证明虚拟IP已经启动
查看虚拟ip在的主机:
分别在master和slave上执行ip a命令,例如:
[root@glusterfs_client keepalived]# ip a
1: lo:  mtu 16436 qdisc noqueue
    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
2: eth0:  mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:0c:29:a9:71:5e brd ff:ff:ff:ff:ff:ff
    inet 192.168.4.188/24 brd 192.168.4.255 scope global eth0
    inet 192.168.4.189/32 scope global eth0                           
    inet6 fe80::20c:29ff:fea9:715e/64 scope link
       valid_lft forever preferred_lft forever
3: sit0:  mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0
哪台主机能看到这行"inet 192.168.4.189/32 scope global eth0" 证明虚拟主机就在哪台机器上
3. 测试虚拟IP的应用:
http://192.168.4.189
能正常显示:nginx master
4.测试keepalived的切换功能
在本地一直ping 192.168.4.189,到192.168.4.188-master上切断网络,例如:service network stop
本地ping 192.168.4.189什么时候通证明切换成功,不通的话证明切换失败
验证切换到slaved上:
http://192.168.4.189  显示:nginx slaved  表示OK!!!
可以到192.168.4.190-slave上执行:ip a 产看虚拟IP:
好了到此我们已经成功的实现了keepalived的HA功能,将192.168.4.188-master的网络恢复虚拟IP又自动切换到master的上来
                        





运维网声明 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-656827-1-1.html 上篇帖子: nginx+keepalived实现nginx双主高可用的负载均衡 下篇帖子: Haproxy和keepalived高可用实验
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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