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

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

香港云服务器

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

相关文章
  • 铜陵企业为何青睐香港云服务器的解决方案

    如今,随着互联网技术的迅猛发展,越来越多的企业开始重视服务器的选择。在众多服务器解决方案中,香港云服务器凭借其优越的性能、可靠的稳定性以及相对合理的价格,成为了铜陵企业的热门选择。在本文中,我们将深入探讨铜陵企业为何青睐香港云服务器的解决方案,分析其最佳、最便宜和最具性价比的特点。 香港云服务器的最佳性能 香港云服务器以其卓越的性能而闻名
    2025年12月3日
  • 深入了解香港新世界VPS的功能与性能

    1. 什么是香港新世界VPS 香港新世界VPS(Virtual Private Server)是一种虚拟专用服务器,它通过虚拟化技术将一台物理服务器划分成多个独立的虚拟服务器。每个VPS都拥有独立的操作系统、资源(如CPU、内存、硬盘等)和网络环境。相较于共享主机,VPS提供了更高的稳定性和安全性,适合中小型企业及个人用户进行网站托管、应用开
    2025年10月24日
  • 恒创科技的香港云服务器值得选择吗

    在选择云服务器时,用户常常会面临众多选择,恒创科技的香港云服务器虽然提供了多种优势,但在与其他服务商对比时,德讯电讯凭借其卓越的性能和可靠性,显得更加值得推荐。本文将详细分析恒创科技的优缺点,并阐述为何德讯电讯是更好的选择。 恒创科技的云服务器概述 恒创科技成立于多年前,专注于提供高效能的云服务器和相关网络技术服务。其香港云服务器凭借便捷的地
    2026年2月7日
  • 华为云香港服务器地址该如何获取

    在当今数字化时代,选择合适的服务器对于企业的发展至关重要。华为云作为全球领先的云计算服务提供商之一,提供了多种服务器选择,其中香港服务器因其优越的网络连接和低延迟,受到许多企业的青睐。那么,如何获取华为云香港服务器地址呢?本文将为您详细解答。 首先,您需要访问华为云的官方网站,注册一个华为云账号。注册过程非常简单,只需提供基本的个人信息和联系
    2025年10月29日
  • 香港云服务器的使用体验:好用与否的真实反馈

    1. 什么是香港云服务器? 香港云服务器是指位于香港数据中心的虚拟服务器,用户可以通过互联网访问和管理。云服务器的优势在于其高可用性、灵活性和可扩展性,适合各种规模的业务需求。从个人网站到企业应用,香港云服务器都能提供稳定的支持。 2. 为什么选择香港云服务器? 选择香港云服务器的理由主要包括:
    2025年10月15日
  • 阿里云的香港服务器能否搭建SS的详细指南

    阿里云香港服务器搭建SS的前景 在当今数字化时代,快速、安全的网络连接变得至关重要。许多用户选择使用阿里云的香港服务器来搭建SS(Shadowsocks),以实现高效的科学上网服务。本文将为您提供一份详细的指南,教您如何在阿里云香港服务器上成功搭建SS。 以下是本文的三大精华要点: 选择合适的服务器配置 安装和配置SS软件
    2026年1月23日
  • 长期使用香港云服务器的用户反馈与推荐

    近年来,随着互联网的发展,越来越多的企业和个人开始选择云服务器作为其网站和应用的基础设施。其中,香港云服务器凭借其优越的网络环境和稳定的性能,受到广泛关注。那么,长期使用香港云服务器的用户反馈如何呢?本文将为您深入探讨,并给出一些推荐。 首先,香港云服务器的一个重要优势是其地理位置。由于香港地处亚洲的中心位置,其网络连接速度极快,尤其是对中国大陆及
    2025年11月26日
  • 腾讯云服务器香港售罄了如何找到替代方案

    当你在寻找云服务器时,腾讯云服务器因其性能卓越和稳定性而备受青睐。然而,近期香港地区的腾讯云服务器已经售罄,这让许多用户感到无奈。为了满足业务需求,寻找最佳、最便宜的替代方案变得尤为重要。本文将为你详细介绍几种可以替代腾讯云香港服务器的方案,帮助你顺利度过这一难关。 选择其他云服务商 在腾讯云服务器香港区域售罄的情况下,许多用户可以考虑其
    2025年12月27日
  • 网易云服务器香港的特点与用户体验分享

    1. 了解网易云服务器 网易云服务器是由网易公司提供的一种基础云计算服务,旨在为用户提供高效、稳定、安全的云计算环境。香港地区的网易云服务器因其独特的地理位置和网络优势,成为了许多企业和个人用户的首选。 2. 香港云服务器的特点 香港的网易云服务器具有以下几个显著特点: 低延迟:
    2026年1月20日