• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Keepalived实现高可用

Keepalived实现高可用

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了keepalived高可用,keepalived,keepalived配置详解,keepalived原理,lvs keepalived等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Keepalived实现高可用


Keepalived实现高可用

参考文档:

1. keepaliveduser guide:http://www.keepalived.org/pdf/UserGuide.pdf

2. 安装文档:源码解压包中的INSTALL文档

本文涉及keepalived的安装,简单配置,为haproxy做高可用。

一.环境准备

1. 操作系统

CentOS-7-x86_64-Everything-1511

2. Keepalived版本

截至2017-03-22,keepalived版本是1.3.5:

http://www.keepalived.org/software/keepalived-1.3.5.tar.gz

3. 拓扑图


1) 采用VMware ESXi虚拟出的2台服务器node1/2,前端访问地址10.11.4.151/152,后端地址192.168.4.151/2;

2) Web1服务器为采用docker技术生成的1台服务器,已安装并启动nginx与php服务,ip地址192.168.4.171;

3) Web2/3同Web1服务器,ip地址192.168.4.172/173;

4) 计划在node1/2两台服务器上部署keepalive&haproxy,利用keepalived虚拟出vip:10.11.4.150做高可用;

5) Haproxy相关配置请参考:http://blog.chinaunix.net/uid-26168435-id-5761429.html,调整后将静态网页指向web1/2服务器的index.html,将动态网页指向web1/2服务器的index.php,其他指向web3服务器;

6) 以web1为例,设置测试页面,以方便后续查看验证结果。

二.Keepalived安装配置

以下流程均在node1节点完成,node2节点请参考node1做适当修改。

1. 依赖软件

  1. [root@elk-node1 ~]# yum install openssl-devel libnl3-devel ipset-devel iptables-devel libnfnetlink-devel popt popt-static popt-devel gcc kernel-headers kernel-devel net-snmp-devel -y

#升级或者安装相关软件,不是必需都安装一次,但一般libnl3-devel ipset-develiptables-devel libnfnetlink-devel popt popt-static popt-devel等并没有预安装到系统中,net-snmp-devel是需要开启相关功能才需要。

2. 下载

  1. [root@elk-node1 ~]# cd /usr/local/src/
  2. [root@elk-node1 src]#wget http://www.keepalived.org/software/keepalived-1.3.5.tar.gz

3. 编译安装

  1. [root@elk-node1 src]# tar -zxvf keepalived-1.3.5.tar.gz
  2. [root@elk-node1 src]# cd keepalived-1.3.5
  3. [root@elk-node1 keepalived-1.3.5]# ./configure --prefix=/usr/local/keepalived
  4. [root@elk-node1 keepalived-1.3.5]# make
  5. [root@elk-node1 keepalived-1.3.5]# make install

#编译前可通过”./configure --help”查看相关编译参数;

#此编译未带“--with-kernel-dir”参数,一般认为采用”--with-kernel-dir=/usr/src/kernels/(version)”指定到内核效果更好,可能本人环境比较简单,实际使用后并没有明显的问题;这里未指定是因为centos7在编译使用参数之后找不到”linux/netlink.h”头文件,即使在相应目录下能找到相应头文件,搜了一下也没有找到对应的解决方案。

4. 配置开机启动

1) 启动相关命令

  1. [root@elk-node1 ~]# cd /usr/local/keepalived/
  2. [root@elk-node1 keepalived]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
  3. [root@elk-node1 keepalived]# ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/

#软链接。

2) 配置文件

  1. [root@elk-node1 keepalived]# mkdir -p /etc/keepalived
  2. [root@elk-node1 keepalived]# ln -s /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

#软链接。

3) 开机启动

  1. [root@elk-node1 keepalived]# touch /etc/rc.d/init.d/keepalived
  2. [root@elk-node1 keepalived]# chmod +x /etc/rc.d/init.d/keepalived
  3. [root@elk-node1 keepalived]# vim /etc/rc.d/init.d/keepalived
  4. #!/bin/sh
  5. #
  6. # keepalived High Availability monitor built upon LVS and VRRP
  7. #
  8. # chkconfig: - 86 14
  9. # description: Robust keepalive facility to the Linux Virtual Server project \
  10. # with multilayer TCP/IP stack checks.
  11. ### BEGIN INIT INFO
  12. # Provides: keepalived
  13. # Required-Start: $local_fs $network $named $syslog
  14. # Required-Stop: $local_fs $network $named $syslog
  15. # Should-Start: smtpdaemon httpd
  16. # Should-Stop: smtpdaemon httpd
  17. # Default-Start:
  18. # Default-Stop: 0 1 2 3 4 5 6
  19. # Short-Description: High Availability monitor built upon LVS and VRRP
  20. # Description: Robust keepalive facility to the Linux Virtual Server
  21. # project with multilayer TCP/IP stack checks.
  22. ### END INIT INFO
  23. # Source function library.
  24. . /etc/rc.d/init.d/functions
  25. exec="/usr/sbin/keepalived"
  26. prog="keepalived"
  27. config="/etc/keepalived/keepalived.conf"
  28. [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
  29. lockfile=/var/lock/subsys/keepalived
  30. start() {
  31. [ -x $exec ] || exit 5
  32. [ -e $config ] || exit 6
  33. echo -n $"Starting $prog: "
  34. daemon $exec $KEEPALIVED_OPTIONS
  35. retval=$?
  36. echo
  37. [ $retval -eq 0 ] && touch $lockfile
  38. return $retval
  39. }
  40. stop() {
  41. echo -n $"Stopping $prog: "
  42. killproc $prog
  43. retval=$?
  44. echo
  45. [ $retval -eq 0 ] && rm -f $lockfile
  46. return $retval
  47. }
  48. restart() {
  49. stop
  50. start
  51. }
  52. reload() {
  53. echo -n $"Reloading $prog: "
  54. killproc $prog -1
  55. retval=$?
  56. echo
  57. return $retval
  58. }
  59. force_reload() {
  60. restart
  61. }
  62. rh_status() {
  63. status $prog
  64. }
  65. rh_status_q() {
  66. rh_status &>/dev/null
  67. }
  68. case "$1" in
  69. start)
  70. rh_status_q && exit 0
  71. $1
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Keepalived实现高可用

相关文章

  • 2017-05-26在Kotlin上怎样用Mockito2 mock final 类(KAD 23),kotlinmockito2
  • 2017-05-26AsyncTask注意事项,面试技巧和注意事项
  • 2017-05-26深入了解Volley如何执行一个Request的流程
  • 2017-05-26android--获取屏幕高宽度工具类,android--工具类
  • 2017-05-26初涉RxAndroid结合Glide实现多图片加载操作
  • 2017-05-26GitLab误删 300G数据的一点启示
  • 2017-05-26安卓第十八天笔记--简单动画,安卓第十八天--
  • 2017-05-26android设计的布局在阿拉伯语下界面错乱的解决方法,android阿拉伯语
  • 2017-05-26Android开发学习之路--网络编程之xml、json
  • 2017-05-26银联支付,支付

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Intent之运输大队长,Intent之运输队长
    • Android 5.0(棒棒糖))十大新特性,android新特性
    • Android第一天-->布局,android第一天--
    • Android Studio 2.2.2导入Eclipse中创建的项目,androideclipse
    • 安卓开源项目周报0117,安卓开源项目0117
    • React-Native系列Android——Touch事件原理及状态效果
    • 关于在R中无法引用自己的xml文件,引用xml文件
    • npm源切换,npm源
    • 声明和使用权限,声明使用权限
    • 认识Activity,创建第一个android应用,activityandroid

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有