探索GreatADM:图形化部署MGR的全新体验

摘要:

在DBA的日常工作中,快速部署数据库高可用架构,且标准化地入网部署数据库是一项重要的基础任务。本文将介绍常见的部署MGR的方式,并重点介绍万里数据库的GreatADM数据库管理平台进行图形化、可视化、标准化的部署过程,以提高交付效率和质量,给DBA提供一种全新的体验。(本文阅读大约需要4-6分钟)

引言

常见的数据库入网交付的方式和各自优缺点

方式一:手动部署

这是最基本的部署方式,需要手动在每个节点上安装、配置cnf和管理各节点,命令交互太多。虽然借助社区版的 MySQL Shell 操作相对简单,但对于大规模部署,手动操作可能耗费大量时间和人力,并且容易出现配置错误和一致性问题。

方式二:批量管理工具

使用配置管理工具(如Ansible、Puppet、Chef等)可以实现自动化的数据库安装部署,来解决批量交付时重复的劳动。通过编写配置文件和定义任务,配置管理工具可以自动执行安装、配置和启动MGR的步骤。这种方式可以提高部署效率并确保一致性,但对于初学者来说,配置管理工具的学习和配置可能需要一定的时间和学习成本。

方式三:GreatADM数据库管理平台

也是今天要介绍的主角。GreatADM提供了图形化、可视化、标准化、流程化的部署MGR的能力,极大地简化了部署过程。说到这里大家可能脑子有诸多疑问:

  • GreatADM是什么?
  • 都有哪些功能?
  • 能解决什么问题?
  • 支不支持国产操作系统?
  • 怎么部署数据库流程是什么?
  • 安装平台麻烦吗?哪里可以下载到?

我暂且先只回复第一个问题,其他的大家可在文章中或者GreatSQL社区历史文章中发现。
技术干货 | 从DBA视角看数据库运维管理平台

GreatADM是什么?GreatADM(GreatDB Administrator Platform )是一款万里数据库管理平台。支持基于GreatDB 、GreatSQL、MySQL多种集中式方案全生命周期的管理的软件。接下来我们就来动手边实践边看。

Let's go

文章整体内容,围绕如何图形化交付MGR,以及交付之后GreatADM都有哪些功能,快速了解如何上手,以及个人觉得使用的几个功能点。

一、GreatADM自身的安装

二、图形化部署MGR的流程

三、作为DBA个人觉得不错的3个点

四、总结回顾

一、GreatADM数据库管理平台的快速安装

1.安装和配置GreatADM

首先解压软件包

拿到GreatADM软件包为一个zip的压缩包,解压之后得到一个adm_install.sh的shell安装脚本和一个GreatADM的主程序包

GreatADM支持在多个国产操作系统安装部署,如麒麟、欧拉、龙蜥、统信、BClinux等。

2.配置安装脚本

这里需要配置安装的主机IP,以及WEB访问GreatADM的端口和主机的操作系统用户名和密码,本次用是root,也可以使用sudo user密码等信息。

命令:vim  adm_install.sh      

a)、ADM_IP_ARRAY=(172.17.139.50 )

如果是高可用安装,此处可以配置多个IP地址,GreatADM支持平台服务高可用配置和故障自切换。支持直接安装部署在远程主机上。

b)、ADM_WEB_PORT=80

默认浏览器访问管理页面端口,可按需自定义

**c)、SSH_USER=root
SSH_PASSWORD=abc123**

本地安装是将GreatADM平台单机部署。如果配置双机高可用,则需要先行配置双机之间的ssh互信认证,然后调整认证方式,填写公钥文件路径即可

**SSH_AUTH=pubkey
SSH_KEY_FILE=/root/.ssh/id_ras**

平台元数据库配置,默认无需配置,内置sqlite3作为基础元数据的数据库,轻量且易用,一般建议支持20台主机以下私有规模。

如果超过20台主机,可考虑接入ADM自身部署的数据库中,目前简单测试了一下在16C 16G 500G/SSD配置下,使用GreatSQL作为元数据库,创建和纳管了40多套万里GreatRouter高可用集群、主从、MGR等多类架构大约130+台主机,无压力

3.执行安装

命令: sh  adm_install.sh  install 

探索GreatADM:图形化部署MGR的全新体验_第1张图片

安装完成之后,可通过登录http://172.17.139.50:80来访问GreatADM的管理页面

安装完成

4.登录图形界面

首次登录GreatADM,需要修改默认的初始密码,用户账号可以是邮箱地址、可以是用户名。

file

默认平台超管为:用户名adm[email protected]两种可以登录,如下

探索GreatADM:图形化部署MGR的全新体验_第2张图片

二、使用GreatADM部署GreatSQL MGR

GreatADM管理平台默认对MySQL数据库架构的4大分类,并且支持用户已自建的MySQL5.7/8.0的统一纳管到平台和复制拓扑自动探测和拓扑绘制。支持GreatDB、GreatSQL、Percona Server、MySQL类型的数据库类型。

探索GreatADM:图形化部署MGR的全新体验_第3张图片

A、GreatDBRouter三节点:

对应万里GreatDB数据库企业版高可用解决方案

B、PAXOS高可用复制:

支持MGR、以及GreatSQL MGR+VIP方案

C、主备多副本:

传统的主从复制、双主、双主一从、多主多从等方案

D、单实例节点:

提供批量交付多个单点场景,以及实例的一键批量诊断、实例巡检报告生成等服务,同时支持单节点升级为其他高可用架构。

接来下我们开始安装MGR,本次我们选用GreatSQL版本来部署MGR,GreatSQL是适用于金融级应用的国内自主开源数据库,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。

1.添加主机信息

探索GreatADM:图形化部署MGR的全新体验_第4张图片

自动识别操作系统版本和CPU平台信息,可以按需增加机房、机架、机柜等信息。GreatADM同时支持资源池方式的数据库部署方式,可将多台物理主机的cpu、内存、磁盘标准化为一个计算资源池,通过从资源池中按需分配数据库实例的算力,以提高物理主机的资源利用效率,这点倒是挺不错。这个我们下期再做介绍。

探索GreatADM:图形化部署MGR的全新体验_第5张图片

2.调整参数模板、确认软件包

查看内置的参数模板

探索GreatADM:图形化部署MGR的全新体验_第6张图片

当然用户可以按需上传参数,可以绑定项目名称,作为私有项目独享,也可以作为公共模板多项目共用

探索GreatADM:图形化部署MGR的全新体验_第7张图片
本次我们调整内置的参数模板,同时可按需【添加参数】暂时调整如下2项innodb_buffer_pool_size、innodb_buffer_pool_instances这里的这个参数模板,以及参数搜索框不错,可以快速模糊匹配参数

探索GreatADM:图形化部署MGR的全新体验_第8张图片

上传数据库二进制包,自动识别软件包的属性信息。

探索GreatADM:图形化部署MGR的全新体验_第9张图片

这里我们上传了GreatSQL社区版本,还有XtraBackup备份工具。当然GreatADM在安装时,会自动搜索同目录路径是否存在数据库包,如果有的话会自动识别加载。这点确实省去不少通过web浏览器上传软件包的时间。到此,我们部署数据库的必要条件都已经具备,下一步准备执行MGR的图形化安装。

3.数据库安装部署

选择Paxos高可用部署方案,因MGR采用Paxos协议,所以外部我们选择Paxos架构,物理主机部署方式进行。选择对应的数据库版本、备份工具、参数模板、并填写默认的数据库名称、管理员账号密码等。

进行三阶段流程:

1、基础配置

2、系统预检查

3、执行交付部署

探索GreatADM:图形化部署MGR的全新体验_第10张图片

【安装前配置】如下:

探索GreatADM:图形化部署MGR的全新体验_第11张图片

【主机预检查】,检查项如主机时区时间、swap交换分区、安全策略selinux、分区挂载、系统资源限制、内核参数等共计近20项预检内容,均为历史经验积累的转化。

探索GreatADM:图形化部署MGR的全新体验_第12张图片

当不满足预检内置条件时,会弹框提醒,按级别分为必检项(必须满足前置条件项),次要,仅提醒三类。

探索GreatADM:图形化部署MGR的全新体验_第13张图片

【交付部署】,同样按标准流程进行交付,且记录各阶段的交付日志,以便问题溯源和历史记录翻阅。

探索GreatADM:图形化部署MGR的全新体验_第14张图片

【完成交付】之后,跳转到数据库管理拓扑主页

探索GreatADM:图形化部署MGR的全新体验_第15张图片

到此我们就完成了MGR的图形化交付,并可直观的看到拓扑状态,和对应的事务执行情况等信息。感觉怎么样?

三、DBA运维中个人觉得实用的3点

1、拓扑绘制和可操作性

【拓扑作用】DBA可以直接基于拓扑图查看当前数据库节点运行状态、复制延迟等待、实例角色信息,同时可以基于拓扑做MGR的节点切换,服务器启停等操作,直观的拓扑结构,和状态信息,以及启停操作按钮,用起来很惬意。

探索GreatADM:图形化部署MGR的全新体验_第16张图片

操作示例如在拓扑上执行【重启实例】,所有的操作均记录日志,保证操作时间、任务状态、操作暂停、终止和重试,做到操作有记录,可查询,防止误操作和随意变更操作。

探索GreatADM:图形化部署MGR的全新体验_第17张图片

历史操作记录

探索GreatADM:图形化部署MGR的全新体验_第18张图片

2、多视角监控清晰直观

GreatADM提供了实时的集群状态监控和管理功能。可以通过GreatADM查看集群状态、执行数据同步、进行主从切换等操作。【实例所在主机负载实时动态更新】

探索GreatADM:图形化部署MGR的全新体验_第19张图片

【实例复制概览】全览实例状态,以及延迟情况,并支持在线扩缩,以及节点操作

探索GreatADM:图形化部署MGR的全新体验_第20张图片

【实例负载】针对实例的实时会话信息,当前业务或者某一阶段的繁忙程度,实例负载尽收眼底。

探索GreatADM:图形化部署MGR的全新体验_第21张图片

【负载趋势】另外对DBA来说的主机层面的资源用量和趋势,现在独立一个面板,直接全局统计数据增长趋势图,并给出资源用量评估,直观且高效。解决了做评估无依据或需要人工命令行统计,或者表格比对人工绘图的耗时耗力的问题。

探索GreatADM:图形化部署MGR的全新体验_第22张图片

【多维度监控】在监控告警中,提供3个维度的视角,数据库架构全局维度、单实例节点维度、主机维度来进行全方位监控。做不同维度按需监控,按需开关,按需分屏展示的可操作性和灵活性。

探索GreatADM:图形化部署MGR的全新体验_第23张图片

【自定义监控】基于统一模板化的面板之外,同时兼顾用户想自定义监控面板的诉求,GreatADM做了展示面板的可配置性改进。将部分通用能力通用标准,以友好的web页面组织起来,让监控的dashboard可按用户需求自助定制,尊重不同业务库级差异性,而差异化监控的诉求。

探索GreatADM:图形化部署MGR的全新体验_第24张图片

3、基线参数和一键修复

GreatADM提供基线参数模板的校验,以及变更参数历史的记录,和一键修复功能,这大大降低了DBA在维护数据库过程中,因手动变更参数之后未将参数固定写入到配置导致的丢失,遗忘等问题。个人觉得对DBA比较实用的功能。参数变更可按需应用不同节点,且支持差异化配置。

探索GreatADM:图形化部署MGR的全新体验_第25张图片

针对不同节点的参数,基于参数基线做变更比对

探索GreatADM:图形化部署MGR的全新体验_第26张图片

及时发现参数差异,并支持一键修正,这结局了DBA在一对多的数据库运维管理中,不同业务数据库的参数变更历史,全靠记忆或者现场搜索、现场查看cnf要便捷高效的多,且不易出错,相当实用。

探索GreatADM:图形化部署MGR的全新体验_第27张图片

这是目前个人使用过程中觉得比较不错的几个点。

四、内容总结

通过GreatADM创建MGR的过程,可以看到GreatADM从一键脚本安装、再到创建MGR架构时主机、软件包管理、参数模板、环境预检、到完成,完全是流程化、模板化、规范化的交付。 特别是在国产化的背景下,版本差异交付适配难、运维管理频踩坑、告警消息策略固化,各类告警无聚合压制、巡检诊断内容价值低廉、只有备份能力,恢复全靠人工,跨机房灾备无法统筹管理等问题。GreatADM针对上述问题逐个击破,使用户在面临多样化环境中,管理更加规范、直观、高效便捷。GreatADM就是结合部分金融和运营商私有国产化交付场景下,打造的一款全方位、多场景的覆盖的数据库管理平台产品。

对于用户而言,GreatADM提供了常见业务场景中,数据库标准化交付、规范化扩缩变更操作、日常监控管理、以及运维历史可溯源的能力,为业务的平稳运行保驾护航。

对于DBA而言,在一对多的数据库架构管理中,选择合适的工具,合适的平台才能使工作更高效,处理问题更方便,才能保障数据库平稳运行,减少DBA人工管理成本,降低定位问题的门槛,而GreatADM为DBA提供了一种全新的体验。

如果大家有什么问题或文中有描述错误,欢迎指出,大家可以随时留言,感谢大家阅读。


Enjoy GreatSQL :)

## 关于 GreatSQL

GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。

相关链接: GreatSQL社区 Gitee GitHub Bilibili

GreatSQL社区:

社区博客有奖征稿详情:https://greatsql.cn/thread-100-1-1.html

image-20230105161905827

技术交流群:

微信:扫码添加GreatSQL社区助手微信好友,发送验证信息加群

image-20221030163217640

你可能感兴趣的:(数据库mysql)