zoukankan      html  css  js  c++  java
  • 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,验证是否可以正常访问服务?

    结束.

  • 相关阅读:
    php测试题整理(0519)
    Ajax调用返回json,xml数据类型(0517--pm)
    python 收集测试日志--格式
    python3下tomorow模块报语法错误def async(n, base_type, timeout=None): ^ SyntaxError: invalid syntax
    appium 下载
    VMware 虚拟机设置固定ip
    Centos7 安装配置 SVN
    【Linux】 Centos7 安装 mysql-8.0
    win7 SP1 64位 原版 百度网盘下载
    win10操作系统 64位 原版 百度网盘下载
  • 原文地址:https://www.cnblogs.com/liusingbon/p/11164875.html
Copyright © 2011-2022 走看看