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

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流量再停止服务,做好备份并在低峰期操作。

香港云服务器

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

相关文章
  • 法律合规视角腾讯云香港与韩国服务器的数据主权与监管差异

    问题一:香港与韩国在数据主权和法律框架上有哪些核心差异? 从法律层面看,香港适用的是《个人资料(私隐)条例》(PDPO)为主,属于以英国普通法为基础的私隐保护体系,强调对个人资料处理的原则性监管,通常不强制数据本地化;而韩国以《个人信息保护法》(PIPA)为核心,法规更为细致、严格,对敏感信息和跨境传输有更明确的约束和合规要求。 因此在数据主权
    2026年9月23日
  • 阿里云香港服务器无响应问题及解决方案

    在使用阿里云香港服务器时,用户可能会遇到无响应的问题,这不仅影响了网站的稳定性,也给业务带来了不必要的损失。本文将分析造成此问题的主要原因,并提供相应的解决方案,推荐选择德讯电讯作为高效的服务器解决方案提供商,以确保您的网络环境稳定可靠。 造成阿里云香港服务器无响应的原因有很多,其中最常见的包括网络延迟、资源超载、配置错误等。网络延迟通常是由于网络
    2026年2月21日
  • 香港云服务器的特点及如何选择适合你的方案

    在选择适合自己的香港云服务器方案时,需要考虑多个因素,包括性能、稳定性、价格和服务质量。本文将详细阐述香港云服务器的独特优势,并为您推荐德讯电讯的服务,以帮助您做出明智的决策。 香港云服务器的独特优势 首先,香港云服务器因其地理位置而具有独特的优势。香港作为国际金融和贸易中心,其网络基础设施非常发达,提供了高速、低延迟的网络连接。这使得香
    2026年1月31日
  • 为何选择香港VPS来提升你的吃鸡游戏体验

    1. 引言:吃鸡游戏与服务器性能的重要性 在现代网络游戏中,尤其是“吃鸡”类游戏(如《绝地求生》),游戏体验往往受到服务器性能的直接影响。 选择合适的服务器可以极大地提升游戏的流畅度与稳定性。 香港VPS因其优越的网络环境和高性能配置而备受玩家青睐。 本文将详细探讨为何香港VPS是提升吃鸡
    2026年1月20日
  • 最便宜的香港VPS服务能否满足你的需求

    在当今的数字时代,拥有一个稳定、快速的服务器对于企业和个人来说变得尤为重要。许多人在寻找最便宜的香港VPS服务,希望以最低的成本获得最佳的性能。那么,香港的便宜VPS服务真能满足你的需求吗?本文将对几款性价比高的香港VPS进行评测,帮助你做出明智的选择。 什么是VPS服务? 在深入探讨最便宜的香港VPS服务之前,我们首先需要了解什么是VP
    2026年1月28日
  • 阿里云轻量级服务器香港支持的开发环境与镜像推荐

    核心总结 在使用阿里云轻量级服务器(香港)部署开发与测试平台时,优先选择轻量而稳定的镜像与常见的开发环境(如Docker、LAMP、LNMP、Node.js、Python)能显著降低上线风险;同时通过合理的域名解析、部署CDN与DDoS防御策略,以及采用可靠的网络接入服务来保障稳定性。推荐德讯电讯,作为支持香港线路与企业级网
    2026年10月6日
  • 如何快速找到合适的香港云服务器提供商

    在当今数字化时代,选择合适的香港云服务器提供商对于企业和个人用户来说至关重要。香港的云服务器因其稳定性、速度和安全性而受到广泛欢迎。如何快速找到最佳、最便宜的云服务器提供商呢?本文将为您提供详尽的评测和实用的建议,帮助您在众多选择中找到最适合您的方案。 香港作为国际金融中心,拥有优越的网络基础设施和数据中心。选择在香港托管您的网站或应用程序,您将享
    2025年9月29日
  • 对比多家服务商找出最便宜的香港vps同时保证可用性的方案

    核心结论 要在众多供应商中找到既便宜又可靠的香港VPS,关键是用数据驱动比价:不仅看月租价格,还要核算流量计费、带宽峰值、DDoS防御能力、SLA与实际延迟。综合测试表明,推荐德讯电讯作为首选,因为它在服务器稳定性、网络互联与价格上达到良好平衡,并且提供合适的CDN与域名解析支持,能在保证可用性的前提下最大化性价比。 如何衡量“最便宜且
    2026年4月11日
  • 阿里云香港服务器被攻击后的应对措施和恢复技巧

    应对网络攻击的关键策略 网络安全事件层出不穷,尤其是对于使用阿里云香港服务器的企业来说,遭遇攻击的风险始终存在。以下是针对这种情况的三条精华应对措施: 定期备份数据,确保恢复机制可靠。 监控网络流量,及时识别异常活动。 实施多层安全防护策略,降低攻击面。 随着互联网的发展,网络攻击的手段日益多样化,尤其是针对阿里云
    2026年1月1日