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

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

香港云服务器

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

相关文章
  • 香港最稳定的云服务器使用体验与评价

    问题一:香港的云服务器稳定性如何? 在选择云服务器时,稳定性是一个至关重要的因素。香港的云服务器通常具有较高的稳定性,主要得益于其优越的网络基础设施和数据中心的集中布局。许多知名的云服务提供商,如阿里云、腾讯云和亚马逊AWS,都在香港设有数据中心,这些数据中心采用了先进的冗余技术和负载均衡措施,确保服务的高可用性。用户
    2026年1月10日
  • 企业使用香港云服务器的几个主要原因

    在如今数字化时代,企业的运营与发展离不开信息技术的支持,尤其是云计算的普及,使得企业可以以更加灵活、高效和经济的方式管理其IT资源。其中,香港云服务器因其独特的地理位置和技术优势,成为了许多企业的首选。本文将探讨企业使用香港云服务器的几个主要原因。 首先,香港云服务器具备极高的网络速度和稳定性。香港作为国际金融中心,拥有众多的数据中心和优质的
    2026年1月15日
  • 香港G口云服务器的特点与选择指南

    在当今数字化时代,选择一款合适的云服务器至关重要。香港G口云服务器因其独特的优势而备受青睐。本文将为您详细介绍其特点,并提供选择指南,帮助您做出最优决策。 以下是香港G口云服务器的三大精华: 接下来,让我们深入探讨香港G口云服务器的特点。 1. 高性能 香港G口云服务器的核心优势之一就是其出色的性能。这些服务器通常配备最新的硬件和技术,包括高频率的
    2026年2月26日
  • 如何选择便宜的云服务器香港方案

    1. 香港云服务器市场现状 近年来,随着云计算技术的快速发展,香港云服务器市场逐渐成熟。 许多企业和开发者开始关注香港的云服务器方案,因为香港具有优越的网络环境和法律政策优势。 根据市场调查,香港云服务器的平均价格约为每月300-800元人民币。 不同的服务供应商提供不同的配置和价格,选择合适的
    2026年2月22日
  • 阿里云香港服务器建站的流程与注意事项

    问题一:如何选择适合的阿里云香港服务器配置? 选择阿里云香港服务器的配置时,需要考虑几个关键因素。首先,要确定网站的访问量和使用需求。如果是个人博客或小型企业网站,选择低配的服务器即可,通常1核2G内存的配置就足够了。但如果是电商网站或流量较大的门户网站,则建议选择多核高内存的配置,以保证网站的稳定性和响应速度。 其次,根据网站的技术需求选择操作系
    2025年11月8日
  • 免费CDN加速对香港云服务器性能的影响

    1. 引言 在互联网时代,网站的速度对用户体验至关重要。特别是对于香港云服务器的用户,使用CDN(内容分发网络)能够显著提升网站的访问速度和稳定性。本文将介绍如何使用免费CDN加速香港云服务器的性能,提供详细的步骤指南。 2. 什么是CDN CDN(内容分发网络)是由多个分布在不同地理位置的服务器组成的网
    2026年1月29日
  • 探讨香港的云服务器在业务中的实际应用与优势

    随着数字化转型的深入,越来越多的企业开始利用云计算技术来提升其运营效率和业务灵活性。香港的云服务器因其独特的地理位置、稳定的网络环境以及高效的服务支持,成为了众多企业的首选。在这篇文章中,我们将探讨香港云服务器在业务中的实际应用,以及它所带来的多重优势。 香港的云服务器是什么? 香港的云服务器是指在香港地区提供的基于云计算技术的服务器服务。这
    2025年12月9日
  • 如何在香港开通vps实现高效网络服务

    开启高效网络服务的第一步 在当今数字化时代,选择合适的服务器对于企业和个人用户来说至关重要。特别是在香港这样一个国际金融中心,开通VPS(虚拟专用服务器)能够为您提供快速且稳定的网络服务。本文将详细介绍如何在香港开通VPS以实现高效网络服务。 在开始之前,我们先来看三个精华要点: 选择合适的VPS服务提供商是成功的关键。 了
    2026年1月5日
  • 从页面体验角度解决香港vps 收录问题提升搜索引擎友好度

    1. 问题概述:为什么香港VPS会出现收录问题 网络延迟:香港节点对中国大陆与国际流量路径不同,TTFB 较高会影响爬虫抓取频率和页面体验。 带宽与峰值:VPS 带宽被占满或带宽抖动会导致爬虫超时、抓取失败。 安全策略误拦截:防火墙、WAF 或 DDoS 防御误判搜索引擎 IP,导致抓取受阻。 robots/sitemap 问题:robots.t
    2026年3月20日