百度
360搜索
搜狗搜索

linux双master怎么详细介绍

在 Linux 环境下实现 “双主” 架构(双主服务器)通常指两台服务器同时作为主节点提供服务,相互备份或协同工作,常见于数据库、文件系统或高可用性(HA)场景。以下以 MySQL 双主复制Keepalived 双主高可用 两种典型场景为例,说明配置思路和步骤:

一、MySQL 双主复制(双向主从复制)

适用场景

两台 MySQL 服务器互为主从,同时支持读写,数据双向同步,适用于需要高可用性和双向数据同步的场景(需注意避免写入冲突)。

配置步骤

  1. 准备两台服务器(节点 A 和节点 B)

    • 服务器 A:IP 192.168.1.100,端口 3306
    • 服务器 B:IP 192.168.1.101,端口 3306

  2. 修改 MySQL 配置文件(my.cnf

    • 节点 A 配置:ini

    • 节点 B 配置:ini

    • 重启 MySQL 服务:systemctl restart mysql

  3. 在两台节点上创建复制账户

    • 登录 MySQL,执行:sql
         IDENTIFIED  

      SLAVE

      FLUSH

  4. 配置双向复制关系

    • 在节点 A 上配置指向节点 B 的主从关系:sql
      CHANGE MASTER  

      MASTER_HOST

      MASTER_USER

      MASTER_PASSWORD

      MASTER_LOG_FILE

      MASTER_LOG_POS

      SLAVE

    • 在节点 B 上配置指向节点 A 的主从关系:sql
      CHANGE MASTER  

      MASTER_HOST

      MASTER_USER

      MASTER_PASSWORD

      MASTER_LOG_FILE

      MASTER_LOG_POS

      SLAVE

  5. 验证复制状态

    • 登录节点 A 和 B,执行:sql
       SLAVE \G

      确保 Slave_IO_RunningSlave_SQL_Running 均为 Yes

注意事项

  • 主键冲突:通过 auto_increment_offsetauto_increment_increment 避免自增 ID 冲突。
  • 写入冲突:双向写入可能导致数据冲突,需在应用层避免同一数据同时修改,或使用冲突检测机制(如时间戳、版本号)。
  • 延迟问题:异步复制可能导致数据延迟,需监控复制状态。

二、Keepalived 双主高可用(Active-Active)

适用场景

两台服务器同时运行服务(如 Nginx、Web 服务),各自承载部分流量,故障时互相接管,实现负载均衡和高可用。

配置步骤

  1. 安装 Keepalived
    bash
    yum  keepalived   

    keepalived

  2. 配置 Keepalived(节点 A 和节点 B)

    • 节点 A 配置(/etc/keepalived/keepalived.conf:ini
      global_defs {

      router_id MASTER_1 # 节点标识(节点B设为MASTER_2)

      }

      vrrp_instance VI_1 {

      state MASTER # 节点B设为BACKUP,但双主模式需配合不同虚拟IP

      interface eth0 # 网卡名称

      virtual_router_id 51 # 虚拟路由ID(同一VRRP组需一致)

      priority 100 # 节点B设为90(优先级高的为主)

      advert_int 1 # 心跳间隔(秒)

      authentication {

      auth_type PASS

      auth_pass 123456

      }

      virtual_ipaddress {

      192.168.1.200 # 虚拟IP 1(节点A主用,节点B备用)

      }

      }

      vrrp_instance VI_2 {

      state BACKUP # 节点B设为MASTER,对应另一虚拟IP

      interface eth0

      virtual_router_id 52 # 另一虚拟路由ID

      priority 90 # 节点B设为100

      advert_int 1

      authentication {

      auth_type PASS

      auth_pass 123456

      }

      virtual_ipaddress {

      192.168.1.201 # 虚拟IP 2(节点B主用,节点A备用)

      }

      }

    • 节点 B 配置:交换 prioritystate(如节点 A 的 VI_1 是 MASTER 优先级 100,节点 B 的 VI_1 则是 BACKUP 优先级 90;VI_2 反之)。

  3. 启动 Keepalived
    bash
    systemctl start keepalived

    systemctl keepalived

  4. 验证虚拟 IP

    • 节点 A 应绑定 192.168.1.200,节点 B 应绑定 192.168.1.201
    • 故障测试:停止节点 A 的 Keepalived,虚拟 IP 200 应漂移到节点 B;恢复后自动切回。

三、双主架构优缺点

优点 缺点
高可用性,无单点故障 配置复杂,需处理数据同步 / 冲突
支持双向读写(如 MySQL) 可能存在复制延迟或资源竞争
负载分担(Active-Active) 需额外监控和冲突解决机制

四、总结

  • 数据库双主:核心是双向复制,需解决自增 ID 和写入冲突,适合对写入可用性要求高的场景。
  • 高可用双主:通过 Keepalived 等工具实现虚拟 IP 漂移,适合负载均衡和服务冗余。
  • 关键注意点:数据一致性、网络稳定性、故障切换测试。

根据具体场景(数据库、Web 服务、文件系统等),选择合适的双主方案,并严格测试故障转移和数据同步逻辑。

阅读更多 >>>  填写服务器域名,服务器地址域名

网站数据信息

"linux双master怎么"浏览人数已经达到22次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux双master怎么的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!