• Keepalived高可用服务器案例


    部署Keepalived高可用软件,实现如下:

    - 使用Keepalived实现web服务器的高可用

    - Web服务器IP地址分别为192.168.4.100和192.168.4.200

    - Web服务器的浮动VIP地址为192.168.4.80

    - 客户端通过访问VIP地址访问Web页面

    环境: 使用3台虚拟机,2台作为Web服务器,并部署Keepalived、1台作为客户端,拓扑结构如图所示

    拓扑图:

    步骤:

    一, 配置网络环境

    1. 设置Web1服务器网络参数、配置Web服务

    [root@web1 ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.100/24 connection.autoconnect yes

    [root@web1 ~]# nmcli connection up eth0

    [root@web1 ~]# yum -y install httpd

    [root@web1 ~]# echo "192.168.4.100" > /var/www/html/index.html

    [root@web1 ~]# systemctl restart httpd

    2. 设置Web2服务器网络参数、配置Web服务

    [root@web2 ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.200/24 connection.autoconnect yes

    [root@web2 ~]# nmcli connection up eth0

    [root@web2 ~]# yum -y install httpd

    [root@web2 ~]# echo "192.168.4.200" > /var/www/html/index.html

    [root@web2 ~]# systemctl restart httpd

    3. 配置client主机的网络参数

    [root@client~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.5/24 connection.autoconnect yes

    [root@client~]# nmcli connection up eth0

    二, 安装Keepalived软件

    [root@web1 ~]# yum install -y keepalived

    [root@web2 ~]# yum install -y keepalived

    三, 部署Keepalived服务

    1. 修改web1服务器Keepalived配置文件

    [root@web1 ~]# vim /etc/keepalived/keepalived.conf

    global_defs {

                      notification_email {

                                                  admin@tarena.com.cn #设置报警收件人邮箱

                                                  }

                      notification_email_from ka@localhost     #设置发件人

                      smtp_server 127.0.0.1    #定义邮件服务器

                      smtp_connect_timeout 30

                      router_id web1     #设置路由ID号

                      }

    vrrp_instance VI_1 {

                                  state MASTER #主服务器为MASTER(备服务器需要修改为BACKUP)

                                  interface eth0 #定义网络接口

                                  virtual_router_id 51 #主备服务器VRID号必须一致

                                  priority 100 #服务器优先级,优先级高优先获取VIP

                                  advert_int 1

                                  authentication {

                                                         auth_type pass

                                                         auth_pass 1111    #主备服务器密码必须一致

                                                         }

                                  virtual_ipaddress {            #谁是主服务器谁获得该VIP

                                                              192.168.4.80

                                                             }

                                  }

    2. 修改web2服务器Keepalived配置文件

    [root@web2 ~]# vim /etc/keepalived/keepalived.conf

    global_defs {

                      notification_email {

                                                  admin@tarena.com.cn #设置报警收件人邮箱

                                                  }

                      notification_email_from ka@localhost     #设置发件人

                      smtp_server 127.0.0.1    #定义邮件服务器

                      smtp_connect_timeout 30

                      router_id web2     #设置路由ID号

                      }

    vrrp_instance VI_1 {

                                  state BACKUP      #备用服务器

                                  interface eth0          #定义网络接口

                                  virtual_router_id 51        #主备服务器VRID号必须一致

                                  priority 50             #服务器优先级值小于主服务器

                                  advert_int 1

                                  authentication {

                                                         auth_type pass

                                                         auth_pass 1111    #主备服务器密码必须一致

                                                         }

                                  virtual_ipaddress {            #谁是主服务器谁获得该VIP

                                                              192.168.4.80

                                                             }

                                  }

    3. 启动服务

    [root@web1 ~]# systemctl start keepalived

    [root@web2 ~]# systemctl start keepalived

    4. 配置防火墙和SELinux (注意,启动keepalived会自动添加一个drop的防火墙规则,需要清空iptables)

    [root@web1 ~]# iptables -F

    [root@web1 ~]# setenforce 0

    [root@web2 ~]# iptables -F

    [root@web2 ~]# setenforce 0

    四, 测试

    1. 登录web1和web2查看VIP信息

    [root@web1 ~]# ip addr show eth0

    [root@web2 ~]# ip addr show eth0

    2.  客户端访问

    客户端使用curl命令连接http://192.168.4.80,查看Web页面.

    关闭Web1服务器的网卡,客户端再次访问http://192.168.4.80,验证是否可以正常访问服务?

    结束.

  • 相关阅读:
    谈谈目前书店里面的计算机书籍“含量”情况 发发看法
    注意:CSS中加入中文注释,会使.NET中样式丢失
    今天很是郁闷
    用周末的时间,通过BT终于把VS2005Team版下载下来啦~~~
    今天在网上找到了两个常用建模工具的下载地址 ,速度还不错
    C#下如何实现服务器+客户端的聊天程序
    CSS网页制作技巧:图片的自适应居中和兼容处理(转)
    SASS用法指南(转)
    CSS选择器学习小结
    JavaScript编写计算器《JavaScript王者归来》读书笔记1
  • 原文地址:https://www.cnblogs.com/liusingbon/p/11164875.html
Copyright © 2020-2023  润新知