实际案例香港云服务器部署项目中数据库高可用方案解析

2026年5月4日

1. 方案概览与前提条件

- 概览:采用三节点MariaDB Galera集群(节点A/B/C)+ HAProxy负载均衡 + Keepalived虚拟IP,保证读写可用性与自动切换。
- 前提:每台云服务器建议Ubuntu 20.04,内存>=4GB;可用私有网络互通;开放端口TCP 3306, TCP/UDP 4567, TCP 4444, TCP 4568;时间同步(ntp或chrony)。

2. 环境准备与主机设置

- 步骤1:设置主机名并修改/etc/hosts,例如:10.0.0.11 db1 hk, 10.0.0.12 db2 hk, 10.0.0.13 db3 hk。
- 步骤2:关闭swap(sudo swapoff -a)并禁用开机swap,安装chrony并让时间同步(sudo apt install chrony)。

3. 安装MariaDB与依赖

- 在三台机器上执行:sudo apt update && sudo apt install mariadb-server galera-3 rsync socat -y。
- 确认MariaDB版本支持Galera(建议10.3/10.5),并确保mysqld服务已停止以备配置(sudo systemctl stop mariadb)。

4. 配置Galera核心参数(/etc/mysql/mariadb.conf.d/50-server.cnf)

- 在每台机器的[mysqld]段添加:server-id=1(分别改1/2/3);binlog_format=row;default_storage_engine=InnoDB;innodb_autoinc_lock_mode=2。
- 添加wsrep参数:wsrep_on=ON;wsrep_cluster_name="hk_galera_cluster";wsrep_cluster_address="gcomm://10.0.0.11,10.0.0.12,10.0.0.13";wsrep_node_address="本机IP";wsrep_node_name="db1/db2/db3";wsrep_sst_method=xtrabackup-v2(需安装mariadb-backup或xtrabackup)。

5. 初始化第一个节点并加入其余节点

- 第一个节点启动为主集群:sudo galera_new_cluster 或者 sudo systemctl start mariadb 后检查wsrep_cluster_size=1。
- 在第二、第三节点直接启动服务:sudo systemctl start mariadb,然后查看状态:mysql -e "SHOW STATUS LIKE 'wsrep%';" 确认wsrep_cluster_size=3。

6. 创建应用用户与权限同步

- 在任一节点创建用户并确保GTID一致性:mysql -e "CREATE USER 'app'@'%' IDENTIFIED BY 'password'; GRANT ALL ON mydb.* TO 'app'@'%'; FLUSH PRIVILEGES;"。
- 因为Galera同步DDL/DML,用户权限会自动同步到其他节点。

7. 配置HAProxy负载均衡

- 安装:sudo apt install haproxy -y。
- 示例haproxy.cfg:frontend mysql_fe bind *:3306 mode tcp default_backend mysql_be;backend mysql_be mode tcp balance roundrobin option tcp-check server db1 10.0.0.11:3306 check port 3306 inter 2s rise 2 fall 3(为每个节点添加)。重启haproxy。

8. Keepalived配置虚拟IP实现VIP漂移

- 安装:sudo apt install keepalived。
- keepalived.conf示例:配置vrrp_instance VI_1 { state MASTER/ BACKUP; interface eth0; virtual_router_id 51; priority 100/90/80; authentication { auth_type PASS; auth_pass secret } virtual_ipaddress { 10.0.0.100 } }。
- 在主Haproxy节点设置优先级最高,测试停止主节点时VIP漂移到备节点。

9. 防火墙与安全组规则

- 在云控制台或服务器上开放:TCP 3306,TCP/UDP 4567,TCP 4444,TCP 4568,Keepalived使用的VRRP(通常协议47或在内部网允许)。
- 推荐仅允许负载均衡器和应用服务器访问3306,并禁用公网直接访问。

10. 备份与恢复流程(mariabackup)

- 全量备份:sudo mariabackup --backup --target-dir=/data/backup/$(date +%F) --user=root --password='密码'。
- 准备备份:mariabackup --prepare --target-dir=/data/backup/日期。恢复时停止mysql,清空datadir,复制备份并chown mysql,然后启动并加入集群。

11. 验证故障转移与故障演练

- 模拟步骤:1) 在主节点上 sudo systemctl stop mariadb,2) 在应用侧验证连接通过VIP和HAProxy仍能访问到其他节点并写入,3) 检查wsrep_cluster_size变化与数据完整性。
- 建议做定期演练并验证事务一致性与延迟。

12. 常见问题与优化建议

- 建议:调整innodb_buffer_pool_size、禁用不必要的复杂查询、在高延迟网络中避免同步写入热点。
- 监控:使用Prometheus + Grafana或Zabbix采集wsrep指标和延迟告警。

13. 问:为什么选择MariaDB Galera而不是单主主从?答:

问:为什么选择MariaDB Galera而不是单主主从? 答:Galera提供同步复制、任意节点可写、自动节点加入和冲突检测,适合要求高可用低恢复时间的场景;而主从在主节点故障时存在切换复杂性和数据丢失风险。

14. 问:如果发生split-brain怎么办?答:

问:如果发生split-brain怎么办? 答:Galera通过gcomm和quorum机制避免分裂;若出现小概率分裂,先不要随意重启节点,检查wsrep_cluster_size和gtid,使用安全的方式重建集群(将多数节点作为基础,使用备份恢复少数分支)。

15. 问:如何做日常维护与扩容?答:

问:如何做日常维护与扩容? 答:扩容时逐一在新机配置同样my.cnf并启动加入集群;维护时先把节点设为只读、drain haproxy流量再停止服务,做好备份并在低峰期操作。

香港云服务器

来源:实际案例香港云服务器部署项目中数据库高可用方案解析

相关文章
  • 腾讯云香港服务器快吗 实测延迟带宽与用户体验全面评估

    开篇结论:最好、最快、最便宜的选择 如果你关心区域接入速度与稳定性,腾讯云香港服务器通常是最佳折中:靠近中国大陆且国际出入口较好。按用途划分,最快的选择是启用本地高频实例并开启直连或专线优化;最好(综合性能与售后)是选择带有抗DDoS和公网带宽包的标准型;最便宜的方式是购买基础型按量或包年实例并结合CDN缓存来降低带宽成本。 测试环境与方法
    2026年8月9日
  • 案例分析多种场景下阿里云香港服务器卡顿的修复与预防措施

    案例解析:阿里云香港服务器卡顿——诊断、修复与预防全攻略 1. 精华:先查网络,再看资源,最后审应用——三步定位卡顿根因,快速恢复用户体验。 2. 精华:结合云厂商监控与本地采样(tcpdump、top、iostat、mtr)能大幅缩短修复时间窗口。 3. 精华:长期稳定靠架构与流程(弹性伸缩、负载均衡、CDN、熔断限流)而不是临时加机。
    2026年8月20日
  • 香港阿里云轻量级服务器的使用心得分享

    在如今高速发展的互联网环境中,云计算已经成为企业和个人用户不可或缺的工具。使用香港阿里云轻量级服务器让我体验到了高效、稳定和便捷的服务。通过这篇文章,我将分享我在使用过程中的一些心得体会和建议,希望对大家在选择和使用服务器时有所帮助。 为什么选择香港阿里云轻量级服务器? 首先,选择香港阿里云轻量级服务器的原因主要在于其优越的地理位置和网络环境
    2025年12月22日
  • 阿里云5m带宽香港服务器 实测访问速率与并发连接承载能力

    阿里云5m带宽香港服务器 实测访问速率与并发连接承载能力 1. 精华:实测结果显示,阿里云5m带宽香港服务器在小文件高并发场景下能提供惊人QPS,但总体吞吐被带宽瓶颈限制; 2. 精华:延迟与丢包对体验影响远大于理论带宽,延迟稳定、丢包低时,少量并发用户体验仍然不错; 3. 精华:最强劲的优化路线是结合CDN、压缩、缓存与TCP参数调优,而不
    2026年5月18日
  • 香港匿名云服务器地址 隐私保护与合规风险全面评估

    随着跨境业务与内容分发需求增长,香港匿名云服务器(包括VPS与专用主机)因网络中立与连通性优势而受关注。本文从隐私保护与合规风险两大维度,评估选择此类服务时应注意的要点,并提供技术与采购建议。 隐私保护方面,匿名云服务器常被理解为减少用户身份直接暴露的服务。实际层面涉及服务器日志策略、WHOIS代理、域名隐私、以及支付信息处理。优质供应商应明确
    2026年5月12日
  • HKT VPS香港的性能与稳定性分析

    1. 引言 HKT是香港一家知名的电信运营商,近年来其VPS服务逐渐受到用户的青睐。本文将对HKT VPS的性能与稳定性进行深入分析,为用户在选择VPS服务时提供参考。 2. HKT VPS的基本概述 HKT VPS是一种基于虚拟化技术的服务器解决方案,允许用户在共享的物理服务器上独立运行其应用程序。以下是HK
    2026年1月7日
  • 香港云服务器永久与按需付费在流量高峰时的差异评估

    性能稳定性对比 通常,购买永久付费(或包年包月)资源时,供应商为您预留或保证一定的硬件与带宽配额,因此在持续高负载下表现出更好的稳定性。而按需付费更依赖实时调度,遇到整体区域资源紧张时,可能出现冷启动延迟或短时降级。 影响因素 实例类型规格、宿主机过载、同区域租户密度以及云厂商对SLA的保障都会显著影响高峰期性能。 提示 若业务对稳定响应有硬性要求
    2026年7月16日
  • 企业如何评估香港华纳云服务器的性能与可靠性

    评估指南:企业如何快速判定香港华纳云服务器的性能与可靠性 1. 精华:用可复现的测试指标判定香港节点真实延迟与吞吐能力,别听光鲜宣传。 2. 精华:把SLA
    2026年3月26日
  • 阿里云新加坡与香港服务器速度比较详解

    在选择云服务器时,用户往往需要考虑多个因素,其中速度是一个至关重要的指标。本文将深入分析阿里云的新加坡服务器与香港服务器之间的速度差异,通过对比两者的性能特点,帮助用户做出更为明智的选择。 阿里云新加坡服务器的速度优势是什么? 阿里云的新加坡服务器因其优越的网络基础设施而享有良好的速度表现。新加坡作为东南亚的网络枢纽,拥有多个国际海底光缆连接
    2025年11月8日