可支持系统迁移的智慧枸杞园高可用集群探索

known 发布于 2025-08-25 阅读(383)

摘" 要:针对智慧枸杞园服务端在数据量积累、并发数骤增以及服务器系统停服的情况下,会出现的处理响应能力下降、系统故障、数据丢失等问题,文章进行了高可用集群构建、系统迁移、前后一致性可用性验证等方面的研究,以达到提升服务端高可用性及负载均衡能力、保障其稳定运行及可持续迭代更新的目的,同时也为后续分步骤、分阶段进行应用及数据的全面迁移奠定基础。

关键词:系统迁移;智慧枸杞园;高可用;负载均衡

中图分类号:TP393" " 文献标识码:A" 文章编号:2096-4706(2024)21-0119-05

Exploration of a High Availability Cluster of Smart Goji Berry Orchards Supporting System Migration

WU Dan1, CAO Mengchuan1, PEI Xinfeng2

(1.Ningxia Polytechnic, Yinchuan" 750021, China; 2.Ningxia Xintong Network Technology Co., Ltd., Yinchuan" 750002, China)

Abstract: Aiming at the problems of decreased processing response ability, system failure, and data loss that may occur in the case of data accumulation, sudden increase in concurrency, and server system shutdown in the smart goji berry orchard server, this paper conducts research on high availability cluster construction, system migration, and before and after consistency availability verification, so as to achieve the aims of improving the high availability and load balancing ability of the server, and ensuring its stable operation and sustainable iterative updates. At the same time, it lays the foundation for subsequent step-by-step and phased comprehensive migration of applications and data.

Keywords: system migration; smart goji berry orchard; high availability; load balancing

0" 引" 言

宁夏是我国枸杞原产地及主产区,拥有着世界最大枸杞属种质资源库,当前,全国范围内所有枸杞产区90%以上的枸杞种苗均为从宁夏引进,地区产业优势明显,为自治区六特产业之一;科技兴杞是产业发展核心要素,特别是近年来枸杞科技工作有较大进展,但从产业可持续发展的要求来看,仍有许多不相适应之处,枸杞产业发展不仅要着眼于突破创新,更要探索可持续的稳步上升之路。

在本地智慧枸杞园项目建设中,枸杞园服务平台主要包括服务端和前端[1]。服务端是服务的后台和数据仓库,服务端的一个重要的部分数据存储系统,主要是通过部署田间环境因子智能采集仪自动采集空气温度、湿度、降雨量、光照强度、风速、风向、土壤温度、湿度等数据,实时传送至数据存储系统,用于前端调用展示,以及后续研究中基于海量数据集进行数据分析预测,训练模型形成咨询库,从而达到为种植者提供科学、精准指导的目标。

1" 拟解决的问题

智能采集仪每间隔15分钟进行一次数据采集,由于数据量不断累积以及数据分析、模型训练需频繁进行读写操作,将会导致访问服务器频率及并发数不断增加。前期数据主要用于展示,单节点基本可以满足需求,但是当并发数骤增,单点数据处理能力、响应性能都会急剧下降,一旦该节点故障系统就陷入瘫痪。同时,由于服务器所用操作系统CentOS 7在2024年6月30日已停止服务支持,继续使用可能会面临系统故障、数据丢失等诸多问题。

为了解决以上问题,提升智慧枸杞园服务平台的高可用性及负载均衡能力,保障其稳定运行及可持续迭代更新的能力,研究主要针对高可用集群的构建、系统迁移、迁移前后一致性可用性的验证等多方面进行初步探索,确认可支持系统迁移的智慧枸杞园高可用集群的可行方案,并为后续分步骤、分阶段逐步进行应用及数据的全面迁移奠定基础。

2" 可支持系统迁移的高可用集群架构

2.1" 需求分析

可通过分布式架构来实现系统高可用性[2-3],即在不同位置部署多个节点构成集群来取代单节点模式,所有节点都可以进行读写操作,当其中某个节点失效时,集群仍然能够正常工作;采用负载均衡软件来管理集群,将操作分发到多个节点执行,来提高性能、承载更高访问量[4]。同时,针对目前服务器操作系统停服的现状,需将系统迁移到性能稳定、可持续迭代更新的操作系统上,并保证迁移前后各节点的可用性。

2.2" 整体架构

通过搭建高可用架构、使用负载均衡软件及系统迁移工具实现,图1为可支持系统迁移的高可用集群架构。

2.2.1" Galera Cluster架构

Galera Cluster架构[5]为多主特性的multi-master高冗余集群架构,性能较为稳健,在保证数据一致性、完整性和高性能方面有一定优势,实验中使用的是MariaDB Cluster,集群包含三个节点且均为对等关系的主节点,节点均可读写且不需要主从复制,客户端读写数据时连接任何节点无差异且新数据会自动快速同步到其他节点;当任一节点出现故障时会被自动从集群中去除。对多个节点的管理,通常需要搭建中间层来建立连接、管理连接池、负责负载均衡。

2.2.2" HAProxy负载均衡软件

HAProxy负载均衡软件[6]是作为中间层管理Galera Cluster集群的,HAProxy可以处理大量并发连接并检测服务器的健康状态,如果某个服务器出现故障,它可以自动将流量转移到其他健康的服务器,从而保证服务的高可用性,并且支持多种负载均衡算法如轮询、最少连接数等,会自动根据设置进行节点选择。

2.2.3" x2openEuler迁移工具

x2openEuler是一款将源操作系统迁移到目标操作系统的工具套件,具有批量化原地升级能力[7]。实验中,根据服务平台系统的实际需求、高可用架构已部署运行的实际情况、需替换新操作系统的目标,确定对应迁移场景为存量替换,制定迁移方案为原地升级方案,即将原有的操作系统直接升级到目标操作系统,系统配置及业务数据等不再重新部署可直接复用。实验中具体的是通过x2openEuler工具将源CentOS升级至国产开源系统openEuler[8-9]。

客户端是通过HAProxy节点来访问整个集群的,HAProxy通过心跳检测判断各节点是否故障,并且根据策略将客户端发出的读写请求转发至Galera Cluster集群内某个节点。

3" 具体实施

实验中,首先进行高可用集群的构建,再对集群内各节点进行系统迁移,最后对系统迁移完成情况及迁移后集群应用的一致性及可用性进行验证。

3.1" 节点规划

整体共包含5个节点,分别是Galera Cluster三个节点(node1、node2、node3),HAProxy节点,x2openEuler节点,各节点IP及主机名规划如表1所示。

3.2" 安装配置

各节点均以centos-7-x86_ 64-DVD-2009.iso镜像文件部署系统,配置网络地址,设置主机名,并在/etc/hosts文件内添加各节点主机名与IP地址的映射,同时使用centos-7-x86_ 64-DVD-2009.iso镜像文件制作本地yum仓库。

3.2.1" 基础配置

对node1、node2及node3节点分别使用命令yum install mariadb" mariadb-server -y安装数据库并进行初始化及密码设置;使用ssh-keygen命令对三个节点设置相互之间的免密访问;三节点均使用命令systemctl stop firewalld、systemctl disable firewalld来关闭防火墙并设置开机不自启,使用命令setenforce 0以及命令sed -i s/enforcing/disabled/g/etc/selinux/config命令来关闭SELinux。

3.2.2" Galera Cluster配置

修改/etc/my.cnf.d/server.cnf文件,在[galera]内配置:通过设置wsrep_on值为ON,启动 Galera 集群及同步复制功能;定义Galera复制库文件路径为/lib64/galera/libgalera_smm.so,其中,核心库libgalera_smm.so主要用于处理同步复制和集群通信;定义节点地址列表为gcomm://node1,node2,node3,gcomm://是Galera的组通信协议,同时定义集群参与复制节点为node1、node2、node3;设置二进制日志为行格式即binlog_format为row;设置InnoDB自动增量锁模式innodb_autoinc_lock_mode为2(即交错模式),以减少集群中自动增量列冲突并提高并发性能。

设置完成后在node1节点使用命令/bin/galera_new_cluster启动集群;通过scp命令将node1文件etc/my.cnf.d/server.cnf跨节点分发到node2、node3节点,重启各节点数据库服务后登录,输入show status like wsrep_ready显示wsrep_ready为ON且输入show status like wsrep_cluster_size显示wsrep_cluster_size为3,表示MariaDB" Galera Cluster集群配置完成。

3.2.3" 负载均衡软件安装配置

使用命令yum install haproxy -y在HAPproxy节点安装haproxy软件,修改/etc/haproxy/haproxy.cfg文件,端口9000绑定监听;定义后端服务器并设置三节点权重分别为1、2、4:

server node1 192.168.1.116:3306 weight 1

server node2 192.168.1.117:3306 weight 2

server node3 192.168.1.118:3306 weight 4

当客户端连接192.168.1.119:3307时,HAProxy节点将连接分发到node1、node2或node3,权重越高节点分配到的连接数越多。访问http://192.168.1.119: 9000/stats可看到HAProxy控制台实时统计信息,包括当前连接数、流量等,如图2所示。

3.3" 系统迁移

3.3.1" CentOS 7.9到openEuler22.03-LTS-SP3迁移

采用存量迁移对node1、node2及node3进行原地升级,将CentOS 7.9系统直接升级到openEuler22.03-LTS-SP3系统[10],完成后系统配置及业务数据可直接复用。具体过程如下:下载x2openEuler迁移工具,在x2openEuler节点(IP地址为192.168.1.115)上安装并配置;通过回显交互信息完成对服务的启动配置,包括对数据库、用户x2openEuler密码、SSH身份验证、Web Server IP地址、HTTPS默认18082端口以及GUNICORN默认18080端口;访问https://192.168.1.115:18082进行用户管理和系统配置,选择SSH服务及批量方式完成对node1、node2及node3的系统迁移。

3.3.2" 系统迁移可行性及集群性能验证

访问https://192.168.1.115:18082,以x2openEu-lerAdmin用户身份登录查询迁移结果,可看到三个节点node1、node2及node3均已完成系统迁移,图3为节点node1的详细信息(node2、node3显示结果均完全相同,此处以node1节点截图说明)。在升级完整性检查报告中查看详细信息可看到,源系统为CentOS linux release 7.9 2009(Core),目标操作系统为openEuler22.03-LTS,进度为升级成功。

通过访问http://192.168.1.119:9000/stats控制台页面,可看到HAProxy服务的状态,且在迁移前HAProxy的版本为1.5.18,随着系统迁移也已升级为了HAProxy version 2.2.16,如图4所示,HAProxy管理的三个节点均为可用状态。

由于在对node1、node2及node3三个节点进行数据库服务配置时已设置了三个节点的server_id分别为116、117、118。经过在客户端输入mysql -h 192.168.1.119 -P 3307 -uroot -p000000 -e “show variables like server_id”可以看到server_id存在变化,也反映出HAProxys是依据权重分配来访问负载节点的;同时,当我们在三个节点中任意一个节点的数据库内写入或者删除数据,其他两个节点都会自动同步地写入或者删除数据,而无须手动备份。

通过以上验证可得出结论:各节点系统迁移已完成,且迁移后不需要重新进行集群应用部署可直接使用,迁移前后集群的高可用性及负载均衡能力是保持一致的。

4" 结" 论

本文主要基于枸杞园服务平台的实际需求构建了高可用负载均衡集群,初步探索了集群系统从CentOS到openEuler的迁移过程,并对迁移前后应用的可用性一致性进行了验证,确认了方案的可行性。在后续研究中将持续监控集群的运行情况,并在本实验的基础上进行对枸杞园数据的全面迁移及性能调优方面的探索。

参考文献:

[1] 曹梦川,伍丹,杜朋轩.基于机器学习的枸杞生长预测服务端接口设计与实现 [J].现代信息科技,2022,6(24):62-65.

[2] 孙乐乐.分布式环境下空间矢量大数据存储模型及高性能分析关键技术研究 [D].昆明:云南师范大学,2023.

[3] 许彪,王湘渝,朱爱梅.基于Mariadb Galera的高可用数据库集群技术 [J].信息技术与信息化,2021(10):25-27.

[4] 廖卓,姚敏,余筱,等.基于Keepalived和Mycat的MySQL数据库高可用性设计与实现 [J].现代信息科技,2022,6(11):27-29+33.

[5] 刘洋,高鹏,徐娟,等.基于Mycat的分布式技术在收集与分发系统中的应用 [J].气象研究与应用,2021,42(1):90-95.

[6] 朱哲哲,赵振海,李鹏,等.分布式关系型数据库研究与金融行业应用 [J].计算机系统应用,2021,30(6):75-81.

[7] POLEPALLY V,CHATRAPATI K S. Dragonfly Optimization and Constraint Measure-based Load Balancing in Cloud Computing [J].Cluster Computing,2019,22(1):1099-1111.

[8] 吴蔚.国产操作系统创新突破筑基智能时代 [N].经济参考报,2023-12-21(5).

[9] openGauss开源社.迁移方案 [EB/OL].[2024-03-16].https://www.openeuler.org/zh/migration/guidance/.

[10] openEuler开源社区文档.安装指南 [EB/OL].[2024-03-19].https://docs.openeuler.org/zh/docs/20.03_LTS/docs/Installation/installation.html.

作者简介:伍丹(1983—),女,汉族,宁夏银川人,讲师,硕士,研究方向:云计算、大数据;曹梦川(1990—),男,汉族,宁夏银川人,助教,硕士,研究方向:人工智能、大数据;裴鑫峰(2003—),男,汉族,宁夏中卫人,运维工程师,研究方向:云计算、K8s运维。

基金项目:智慧枸杞园关键技术集成创新示范及采收机械配套研究课题4(2021BEF02001)

标签:  节点 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor