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

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

香港云服务器

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

相关文章
  • 深圳vps科技公司香港服务器 商业合作模式与服务商选择技巧

    1. 合作前的需求与定位评估 1.1 明确业务边界:列出需要放在香港服务器的服务(网站、API、游戏、推流等),并标注峰值并发、带宽、存储与合规需求。 1.2 量化指标:计算带宽峰值(Mbps)、并发连接数、RPS、容灾RPO/RTO,作为采购基础。 2. 常见商业合作模式与适用场景 2.1 代维/托管(Managed Hosting):适合
    2026年5月27日
  • 购买与部署 香港华纳云服务器 资费、带宽与地域选择解析

    1. 为什么选择香港华纳云服务器香港节点适合面向中国大陆和东南亚用户的低延时访问;香港机房对国际出口带宽较充足且法律环境相对开放。购买前先评估目标用户分布、合规要求(是否需ICP备案)、以及对延迟与带宽的实际需求。 2. 注册与实名认证(详细步骤)(1)访问华纳云官网,点击“注册/登录”。(2)填写邮箱/手机号并完成验证码验证。(3)进入账号
    2026年7月1日
  • 香港NAT VPS的特点及使用建议

    香港NAT VPS在网络技术领域中日益受到青睐,其独特的特点和优势使得其适合多种使用场景。本文将探讨香港NAT VPS的主要特点,并给出使用建议,尤其推荐选择德讯电讯作为服务提供商。 香港NAT VPS以其高性能和稳定性著称。采用先进的虚拟化技术,这类服务器能够提供卓越的计算能力,适用于各种需求的用户。无论是个人网站还是企业级应用,香港NAT VP
    2025年10月11日
  • 香港VPS的选择与使用技巧,免费VPS服务值得关注

    问题一:什么是香港VPS? 香港VPS(Virtual Private Server)是一种虚拟专用服务器,它允许用户在物理服务器上创建多个独立的虚拟环境。每个VPS都拥有独立的操作系统和资源,使得用户可以进行更高效的管理和配置。香港作为一个国际金融中心,其地理位置和网络基础设施,使得香港VPS成为许多企业和个人用户的
    2025年11月14日
  • 安全加固 香港云vps-a2能开私服 的防火墙与访问控制实战

    精华总结 在香港云环境部署私服(香港云vps-a2开私服)必须从防火墙与访问控制两方面入手,结合DDoS防御与CDN缓解网络层风险,并做好域名与TLS配置、日志监控与定期更新。实践要点是最小暴露端口、强认证、IP白名单与限流策略,同时备份与自动化运维能显著降低故障恢复时间。为了稳定与运维支持,推荐德讯电讯。 构建多层防火墙策略 对运行私
    2026年4月20日
  • 从安全角度看香港云服务器主机免费服务的备份与灾备方案

    目的:明确备份与灾备范围与安全目标。 小分段:1) 列出重要资产(网站文件/数据库/配置/证书)。 2) 定义RTO(恢复时间)与RPO(恢复点)。 3) 识别威胁:误删、勒索、机房故障、网络中断、权限滥用。 步骤:建立清单并按优先级分类。 小分段:1) 在清单中为每项写明恢复步骤与负责人(runbook)。 2) 给每项设定备份频率(小时/日/周
    2026年6月24日
  • 个人博客与中小站点如何挑选比较快的香港vps 省心又高效

    1. 为什么个人博客/中小站点优先考虑香港VPS 1) 地理位置优势:香港到中国大陆主要城市延迟通常在10-40ms区间,适合面向内地用户的站点。 2) 出口带宽丰富:香港国际出口链路比海外机房(如美西)到内地更稳定,尤其是在高峰时段表现更好。 3) 合规与备案:香港VPS无需大陆ICP备案,但仍可通过CDN或代备案服务接入国内流量。 4)
    2026年5月13日
  • 使用香港VPS搭建SSR的详细步骤

    在当今互联网环境中,科学上网已经成为许多用户的需求。SSR(ShadowsocksR)是一种常用的代理工具,它可以帮助用户绕过网络限制,提升上网速度。本文将详细介绍如何使用香港VPS搭建SSR,并推荐一些优质的VPS服务商。 首先,选择合适的VPS服务商非常重要。香港VPS因其优良的网络环境和低延迟,成为众多用户的首选。市面上有
    2025年12月15日
  • 香港云服务器vps的功能与适用场景分析

    随着互联网的迅速发展,云计算技术也在不断进步,香港云服务器VPS(虚拟专用服务器)因其独特的优势而受到越来越多企业和个人的青睐。本文将对香港云服务器VPS的功能与适用场景进行深入分析,帮助您更好地理解和选择合适的服务。 香港云服务器VPS的一个显著特点是其高效的资源利用率。相较于传统的物理服务器,VPS可以将一台服务器的资源切分
    2025年12月29日