IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Keepalived +VIP(虚拟IP) 漂移 部署系统高可用 离线部署|故障转移 -> 正文阅读

[系统运维]Keepalived +VIP(虚拟IP) 漂移 部署系统高可用 离线部署|故障转移

目前需要做一个项目需要高可用? ? 项目采用Keepalived+VIP(虚拟IP)进行一个故障转移。Keepalived和VIP的相关知识就不在这里废话介绍了? 介绍一下当前的高可用环境实现思路。

目前有三台服务器。分别为三台服务器上部署keepalived 进行故障转移,当用户访问虚拟IP时,其keepalived会判断其优先级,主要根据监控的相关的服务端口? 如

nginx 监听的端口 80

数据库服务端口? 3306?

php-fpm的9000端口? ?

将优先级的进行虚拟IP(VIP)的地址漂移。使用ip a 可以查看到其绑定的虚拟IP在哪一台服务器上,或通过相关日志进行查看。

服务器相关IP配置

资源IP?
服务器1192.168.1.101
服务器1192.168.1.102
服务器1192.168.1.103

步骤一? ? 先从部署或交付那边拿到配置好的虚拟IP? ? 如:192.168.1.86? ?

步骤二? ?启动关键的端口服务? 如? ngngx php-fpm? mysql? ? 使用lsof -i:80? ?命令进行查看

步骤三? 修改或新增一个keepalived的配置? ?如? keepalived.conf

下面贴出我的配置文件? ?

! Configuration File for keepalived

global_defs {
   notification_email {
	yuluolishang@qq.com	
   }
   notification_email_from yuluolishang@yisa.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   script_user root
   enable_script_security
   vrrp_skip_check_adv_addr
   #vrrp_strict
   #vrrp_iptables
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_script chk_mysql_port {
       script "</dev/tcp/127.0.0.1/3306" # connects and exits
       interval 1                      # check every second
       weight -20                       # default priority: -20 if connect fails
}

vrrp_script chk_php_port {
       script "</dev/tcp/127.0.0.1/9000" # connects and exits
       interval 1                      # check every second
       weight -20                       # default priority: -20 if connect fails
}

vrrp_script chk_nginx_port {
       script "</dev/tcp/127.0.0.1/80" # connects and exits
       interval 1                      # check every second
       weight -20                       # default priority: -20 if connect fails
}
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 66
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass Feipeng$
    }
    unicast_src_ip 192.168.1.101
    unicast_peer {
        192.168.1.102
        192.168.1.103
    }
    virtual_ipaddress {
        192.168.1.86/22
    }
    track_script {
       chk_mysql_port
       chk_php_port
       chk_nginx_port
    }
   
}

配置相关说明? :

state BACKUP? ?三台服务器都被BACKUP 角色

interface? ?etho? ?这个为该服务器的网卡名称

virtual_router_id? ?虚拟路由? 这个三台服务器为同一个? 必须同一个

priority? ?100? ?优先级? 三台服务器需一次填写100 99 98?

authentication? 认证密码? 三台服务器密码必须设置相同? 否则故障转移不成功。

unicast_src_ip? ? 广播地址? ?即本机IP地址??

unicast_peer? 广播接收地址? 即另外两台服务器的IP地址

virtual_ipaddress? ?虚拟IP(VIP)地址? ?后面的/22 代表子网掩码? 一般与三台服务器的真实IP在同一网段中。

track_script? ?里面为各监控的端口脚本名称? ?一行写一个检测

步骤四? ?启动keepalived 进程? ?启动故障转移? ? 本keepalived 为离线部署? 离线包目录结构如下:

启动命令? ?/keepalived/sbin/keepalived -f /keepalived/etc/keepalived/keepalived.conf??

/keepalived/sbin/keepalived -f /keepalived/etc/keepalived/keepalived.conf??

步骤五? ?验证启动? ??

查看keepalived 进程是否有启动? ?输入 ps aux|grep keepalived

ps aux|grep keepalived

会输出如下:

ps aux|grep keepalived
root     182037  0.0  0.0  44096   888 ?        Ss   17:13   0:00 /keepalived/sbin/keepalived  -f /keepalive/etc/keepalived/keepalived.conf
root     182038  0.1  0.0  44096  1308 ?        S    17:13   0:00 /keepalived/sbin/keepalived  -f /keepalive/etc/keepalived/keepalived.conf
root     182343  0.0  0.0 112812   968 pts/0    S+   17:13   0:00 grep --color=auto keepalive

? ? 输入ip a?查看当前漂移VIP 绑定情况

步骤六? ?模拟故障? ?比如说nginx 挂掉了? ?

输入命令? ?pkill nginx

然后输入lsof -i:80? ?此时可以得出? nginx 服务被停掉了??

pkill nginx
lsof -i:80

此时? 刚才绑定的VIP的所在服务器上? 此VIP不在其服务器了,而是跑到另一台服务器上绑定了VIP虚拟IP?

至此? ?keepalived 故障转移部署成功!!

坑:

1.同一组故障转移集群? ?virtual_router_id? 虚拟路由IP 必须一样? 要不然部署不成功。

2.interface? ?etho? 网卡名称一定要填写当前服务器IP的所在网卡名称

3.若同一个局域网内,有多个keepalived 实例,keepalived两台机器同时出现vip问题!keepalived默认为广播,应改为单播

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-04 13:11:34  更:2021-10-04 13:13:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:47:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码