产品解读:GreatADM如何快速改造单实例为双主、MGR、读写分离架构?

本文主要是介绍产品解读:GreatADM如何快速改造单实例为双主、MGR、读写分离架构?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

单机GreatDB/GreatSQL/MySQL将架构调整为多副本复制的好处有哪些?为什么要调整?

图片

  1. 性能优化:如果单个GreatDB服务器的处理能力达到瓶颈,可能需要通过主从复制、双主复制或MGR及其他高可用方案来提高整体性能。通过将读请求分发到多个服务器,能大大提高并发处理能力;

  2. 实现高可用:如果您的应用程序不能接受服务中断,那么多副本可帮您实现高可用性的故障切换。当主服务器发生故障时,可快速切换到从服务器或另一主服务器,以保持服务的连续性;

  3. 实现读写分离、便于业务数据测试:单机GreatDB在做一致性备份时,往往对性能和负载产生压力,主从、多主或MGR可选择从节点来备份。数据恢复或测试,可优先在从服务器进行数据回放测试等。

适用场景

1.单机GreatDB/GreatSQL/MySQL改造为主从或双主复制

2.单机GreatDB/GreatSQL/MySQL改造为MGR组复制

3.GreatDB/GreatSQL/MySQL主从改造为MGR组复制

4.基于备份进行GreatDB/GreatSQL/MySQL数据库升级测试

操作步骤

通过GreatADM可视化的方法,屏蔽手动命令操作的复杂度,快速完成单实例的向多主、多副本的架构分钟级的调整升级。

场景支持:支持纳管的实例的架构改造,或者数据库软件版本的升级功能。

思路如下:通过sysbench压入单机数据,通过备份单机数据,恢复到新的架构中,使用sysbench直接连接新的架构做压测,查看是否可正常运行验证数据可用性。(本次演示采用GreatSQL单机企业版本操作)

步骤如下:

1、使用GreatADM针对单实例做全量备份

2、选择备份的数据和确定要改造或升级的版本

3、选择不同架构和软件包构建新架构(本次演示单机向双主、MGR的变更)

4、恢复数据完成新架构改造

5、sysbench压测查数据可用性

环境信息如下:

图片

添加2台主机172.17.134.60/61到GreatADM中,如下

图片

图片

准备工作:sysbench创建压测数据到单实例

图片

登录数据库,创建sysbench测试数据50张表,每表1w行数据。

 

$ sysbench --test=oltp_read_write.lua --mysql-user=greatdb --mysql-password='xxxxx' --mysql-host=172.17.134.68 --mysql-port=3307 --mysql-db=sysbench --threads=10  --report-interval=1 --tables=50  --table-size=10000 --time=60  prepare

通过SQL窗口查看对应的表信息

图片

完成测试数据的创建,接下来进行单节点的备份操作。

一、做数据库全量备份

使用GreatADM针对单实例做全量备份,选择【备份管理】执行单节点的全量备份,在备份之前首先需要配置备份方式。因为GreatADM支持HDFS、FTP、COS对象存储、LOCAL本地、远端备份服务器5种类的备份集存储方式。

图片

这里我们选择【LOCAL本地存储】即将数据直接备份放置在数据库所在的主机,指定本地路径下。【本地路径】是最终备份集存储的路径,我们命名为:/backup,需要在数据库的服务器上创建目录,并授权。

图片

创建备份集存储的目录,使用root创建,并调整目录权限,保证和添加服务时创建的【管理用户】,同一个属组,确保GreatADM以greatsql普通用户备份时,有权限写入/backup。

 

$ mkdir /backup ;  
$ chown greatsql.greatsql  /backup;

接下来,执行【手动备份】并配置备份项。

图片

GreatADM支持多种数据库架构的备份,且可以按照用户需求,选择备份不同项目的数据库,以及按需选择数据库主节点、或从节点备份。

图片

在配置项中,同时支持【压缩备份】,【加密备份】,【并行备份】,以及备份超时平台层的【超时提醒】消息等

图片

执行备份,日志输出如下 ,整个备份分为4个阶段即

【收集信息】--收集数据库的版本和数据文件路径等信息

【备份预检查】--检查备份工具和数据库版本是否匹配,备份配置项是否有效

【执行备份】--执行执行一致性的物理热备

【上传到存储】--如果配置远程网络存储,则进行备份集的网络传输。

图片

完成备份,如下生成的备份记录

图片

完成备份之后,可点击【备份详情】查看本次备份的配置信息等。

操作系统路径下对应的备份集,与数据库实例同在一台服务器的不同路径下。

图片

二、恢复为双主复制架构

基于备份做架构变更,基于全量物理备份做数据的恢复,和新架构的变更创建。基于全量备份恢复导172.17.134.60、61两台主机,来改造成新的主从,或者双主架构。步骤如下:

首先选中【序号1】刚刚完成的【单机601全量备份】,点击【备份恢复】选项

图片

弹出要恢复为哪种架构,这里目前可选的有4种,同时支持2种恢复架构的类型,即【恢复物理机数据库】和【资源池方式】也就是资源隔离方式。这里,我们选择物理机恢复出双主架构。点击【主备副本】选择【恢复物理机数据库】

图片

接下来配置恢复出的新架构,属于哪个【项目】,所选择的【数据库软件包版本】,以及备份工具包。这里我们就默认选择GreatADM已经上传的xtrabackup-8.0.32版本。主机选择172.17.134.60、172.17.134.61两台主机。鉴于之前部分传统的企业客户,有多个副本的需求场景下,GreatADM提供了双主下,再次扩展副本的能力。如果在双主复制的架构下,仍想扩展1个从副本,则可以在添加节点之后,选择【添加从节点】选项,扩展副本数

图片

默认允许用户混合主从副本安装在同一台物理主机上,用端口做区分如下示意图,则可以在双主下各创一个从副本。形成双主双从,这里仅作演示。

图片

实际我们仍按双主架构来进行架构恢复。进入新架构的部署预检查页面,如图,主要是涉及操作系统配置标准化、规范化、依赖包等检查。

图片

通过之后进行下一步,完成新架构的初始化,并在初始化之后,做数据的恢复。

图片

完成架构调整的双主结构拓扑如下

图片

实例属性信息如下

图片

同时保留了原始节点,此时可将原始的单机移除,到此完成架构的改造和变更。数据中的用户名、密码等和原始单机数据库完全相同一致。可直接点点击【登录】验证。

图片

完成单机改造为新的双主复制结构。

三、恢复为MGR架构

同样,选择单机601的备份集, 删除之前172.17.134.60、61的数据库,释放主机资源。之前鉴于项目中有用户主机资源不足,考虑主机采用多实例混合部署在1台上的情况,我们顺便测下GreatADM是否支持重复利用主机,混合部署多个实例。

图片

选择【备份恢复】,恢复架构中,选择【paxos高可用复制】,选择【物理数据库】

图片

进入paxos配置项中,我们仍选择【default】默认项目,对应的软件包版本可选择升级的新版本,在做架构改造时,同时进行数据库的版本升级工作。此处,我们重复使用172.17.134.61这台主机,分别使用3307、3308、3309三个端口来区分3个实例。如下:

图片

预检查之后的拓扑图预留和端口信息如下:

图片

安装部署过程和日志信息如下:

图片

安装之后拓扑如下:

图片

完成单机向paxos高可用(组复制)的改造和数据恢复。查看当前172.17.134.61主机的运行状态和负载,也验证了GreatADM支持混合部署多实例到1台主机。

图片

图片

四、验证数据的可用性

使用sysbench压测新恢复的架构,对应的sysbench库的表等可直接压测使用,无数据异常。

 

$ sysbench --test=oltp_read_write.lua --mysql-user=greatsql --mysql-password='xxxxx' --mysql-host=172.17.134.61 --mysql-port=3307 --mysql-db=sysbench --threads=10  --report-interval=1 --tables=50  --table-size=10000 --time=60  run

图片

五、总结

改造的意义:如果您需要存储和处理大量数据,且读写负载较高,单个GreatSQL/MySQL服务器可能无法满足需求,或为了满足跨地域访问的需求,可以将单机数据库改造成可跨多个数据中心采用异步复制、半同步、强同步等方式,既可以保证数据库的多副本容灾,又可提升业务的读写效率,规避了单点故障对业务的影响和负载。

GreatADM提供的能力和价值:在改造升级过程中,借助GreatADM管理平台进行图形化改造,大大降低了架构改造的难度和效率。避免DBA手动黑屏命令方式的繁冗复杂的操作命令,减少业务停机时长,同时降低人工操作的压力。

这篇关于产品解读:GreatADM如何快速改造单实例为双主、MGR、读写分离架构?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/431704

相关文章

Redis与缓存解读

《Redis与缓存解读》文章介绍了Redis作为缓存层的优势和缺点,并分析了六种缓存更新策略,包括超时剔除、先删缓存再更新数据库、旁路缓存、先更新数据库再删缓存、先更新数据库再更新缓存、读写穿透和异步... 目录缓存缓存优缺点缓存更新策略超时剔除先删缓存再更新数据库旁路缓存(先更新数据库,再删缓存)先更新数

C#实现文件读写到SQLite数据库

《C#实现文件读写到SQLite数据库》这篇文章主要为大家详细介绍了使用C#将文件读写到SQLite数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录1. 使用 BLOB 存储文件2. 存储文件路径3. 分块存储文件《文件读写到SQLite数据库China编程的方法》博客中,介绍了文

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

MySQL的索引失效的原因实例及解决方案

《MySQL的索引失效的原因实例及解决方案》这篇文章主要讨论了MySQL索引失效的常见原因及其解决方案,它涵盖了数据类型不匹配、隐式转换、函数或表达式、范围查询、LIKE查询、OR条件、全表扫描、索引... 目录1. 数据类型不匹配2. 隐式转换3. 函数或表达式4. 范围查询之后的列5. like 查询6

C#反射编程之GetConstructor()方法解读

《C#反射编程之GetConstructor()方法解读》C#中Type类的GetConstructor()方法用于获取指定类型的构造函数,该方法有多个重载版本,可以根据不同的参数获取不同特性的构造函... 目录C# GetConstructor()方法有4个重载以GetConstructor(Type[]

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

mybatis的整体架构

mybatis的整体架构分为三层: 1.基础支持层 该层包括:数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转换模块、日志模块、资源加载模块、解析器模块 2.核心处理层 该层包括:配置解析、参数映射、SQL解析、SQL执行、结果集映射、插件 3.接口层 该层包括:SqlSession 基础支持层 该层保护mybatis的基础模块,它们为核心处理层提供了良好的支撑。

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo