产品解读 | GreatADM如何高效实现数据库资源池化部署?

news2024/11/13 10:04:16

前段时间,介绍了万里数据库的GreatADM数据库管理平台如何图形化部署MGR(详见文章:探索GreatADM:如何快速定义监控),有朋友想了解GreatADM是否支持资源池化管理、租户隔离、监控等功能。

今天,我们就来介绍一下GreatADM资源池的使用和部署操作,以及如何按项目隔离划分给不同的业务用户(租户),使用时的一些注意事项等。

也许有人会问,为什么在私有化部署的管理平台中要增加一个资源池方案呢?

理论上,云化部署或容器管理环境下更合适,接下来笔者将结合实际项目解释它的适用场景以及这么做的原因。

项目背景

某金融行业项目中,用户实际部署投产了97套万里数据库GreatDB+GreatDBRouter三副本方案,其中每套使用3台物理主机。用户规划每20套部署一套图形化管理界面,主机用量共97套*3台+5套*2(管理平台采用双机高可用部署)=301台。

目前仍有一部分业务需要同等量的主机做交付部署,承接各单元业务,实际硬件和机房调度存在一定滞后性,但又需完成额定的数据库交付量。

在此背景下,用户希望2个月内拿出一个切实可行、可落地的方案。

需求分析与实现

项目需求设计期间分别讨论了如下3种可实现的方案:

• 方案1:调整实例部署方式,通过容器化方案实习,通过k8s做编排,定制GreatDB Operator交付数据库架构;

• 方案2:仍然选择物理主机部署,额外增加对数据库实例资源单元化管理,混合部署多实例,充分提升硬件利用效率;

• 方案3:调研第三方平台,是否可快速适配支持GreatDBRouter+GreatDB的高可用方案,以及可做已交付的数据库、主机统一管控的平台。

经过调研后初步分析:

针对实际用户集中式业务数据统计和分析,发现新增业务新建环境较多,多采用arm+kylin+GreatDB国产基础软硬件,数据量大多在160GB-800GB之间,超过500G的有数十套。新增新建业务近半年数据量稳定在300GB以内,并发值TPS/QPS相对平稳,峰值并未超过实际性能测试的一半。

初步规划原3台部署在一套高可用架构上,最少可部署3套,以充分利用服务器资源(服务器配置:cpu:36/72C、mem:256/512G、disk:2/4TB、network:10G),可保障数据库的高可用性和故障自动切换能力,且可根据业务负载对节点做横向、纵向的扩缩容管理、不同业务分给不同区域的管理人员维护。即使物理主机发生重启、掉电及其他非预期不可用的问题,也能保证数据库正常对外提供服务。

    

图片

如何实现资源的管理和分配

由此,GreatADM基于物理主机的资源池化方案经多方讨论,在时间、成本、落地上均接近私有化交付的方案形式——即在第二种基础上增加实例的资源管理。

基于Linux系统的服务特性做物理主机的资源池化方案,将多台物理主机划为不同资源池,前端管理平台将资源池绑定不同"项目"做业务访问隔离,分配给不同的项目用户。通过平台的项目管理员和平台管理员来配置访问角色、权限,实现不同业务数据库的租户隔离访问。

接下来,我们完整看一下GreatADM从项目管理、角色配置、用户权限范围、资源池管理和数据库创建等方面的实际效果,如何最大化利用主机资源,做好数据库交付。

Demo环境配置cpu、mem、disk分别为:16c、16g、200g 。计划部署3套paxos高可用,且均可保证单台物理主机故障时数据库自动切换,保障业务系统正常运行。

01规划项目

以现有2个区域业务为例,项目名称定义为:北京海淀和天津河东,共用北京机房的3台物理主机。计划所有实例全部创建至北京项目中,通过天津管理员登录adm,验证是否可访问业务库,是否能起到隔离分隔的需求。

新创建2个项目名称如下,如果用户不创建项目,所有的主机都在default默认项目中。

图片

02配置项目角色和权限

图片

编辑权限:可细粒度地控制GreatADM的不同页面、功能模块及只读权限,还可编辑调整权限,限定不同级别角色的可见范围。如下:

图片

完成项目角色和权限的分配:其中hedong角色权限受控,为运维人员日常使用。bjhd则为全局把控整个项目的超管角色,可全局查看天津河东和北京海淀,以及default默认项目的所有数据库实例和全平台的功能模块信息。

图片

完成角色及权限分配后,再按照不同的业务部门申请账号,其中bjadmin为超管用户,关联所有项目。

图片

tjadmin则为运维人员所用,只管理天津河东业务库。

图片

用户账号信息如下:

图片

03资源池的创建

1)、添加主机

添加物理机,选中导航菜单的【资源管理】选项,点击【添服务器】,如下图:

图片

选项介绍:

1)【sudo免密用户】这里推荐使用root,因为需要一部分systemd服务扩展和操作系统目录权限分配;

2)【数据目录】表示默认数据库安装部署的二进制文件及实例数据的存储路径,建议挂载性能较好的磁盘;

3)【是否共享资源】按钮则表示此物理主机初始化时专门为创建资源池预分配,【开启】则在数据库物理主机交付时,自动屏蔽这部分服务器;

4)【管理用户】是指数据库部署之后,以普通操作系统用户来做管理。

添加完成之后备用,下一步准备配置资源池和要绑定的项目。
 

图片

2)、创建资源池

选择主菜单【资源管理】--【资源池管理】--【创建资源池】--绑定为【私有】--【北京海淀】--【添加主机】
 

图片


 

注意:要添加上报的主机,要求磁盘划分为独立的vg卷组或独立的pv物理盘,以便做磁盘的资源限额。如果临时测试时,主机忘记预留分配vg,可以用losetup方式,临时初始化一个块设备,创建为vg卷组,仅用于个人测试。

方法如下:

3台主机均在/根空间下创建名为disk的文件,将其初始化为块设备:

a、使用dd if=/dev/zero of=/disk1 bs=1024M count=100  创建100G文件空间  注意:需要确认磁盘空间是否充足

b、使用losetup  /dev/loop0  /disk1   模拟将disk1文件识别为块设备

c、使用 pvcreate /dev/loop0  将disk1文件创建为物理盘pv

d、使用vgcreate vg001   /dev/loop0 创建为“vg001”的卷组

[root@master ~]# losetup   #可看到对应临时模拟创建的VG

NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC

/dev/loop0         0      0         0  0 /disk1      0     512

[root@master ~]# vgdisplay    #查看vg信息,表示可用

图片

查看资源池总量信息

图片


 

查看到对应的3台主机已经全部加入资源池,资源池共计48核,46.38,磁盘300g,各台主机信息列表右侧展示。

接下来我们就可以按业务实际数据库运行需求分配资源了,分配的最小单元即为【规格模板】,表示可用多少cpu,内存和磁盘大小。

3)、自定义资源规格

在【资源管理】--【规格管理】路径下创建公共资源模板,默认情况GreatADM已经给出2个模板,可自行调整或默认使用。

同时支持对数据库特定的参数,按照实际模板大小,调整分配量,避免因资源分配不当引起实例无法初始化,或运行之后频繁OOM等情况。

图片

模板信息

图片

04 部署数据库

4)、上传软件包

部署数据库之前,我们需要先将数据库的二进制安装包上传到GreatADM,选择【软件包】--【上传】可从本地传到GreatADM中,或直接scp到安装GreatADM平台指定路径下,点击【同步软件包】更新后端adm的元数据库。

GreatADM支持万里安全数据库GreatDB的多个企业级方案,以及开源MySQL常见的复制架构。

这次我们计划分别用3个版本创建3套库,目的是为了明确展示后台进程,便于大家查看图文描述。软件版本为:GreatDB-6.0.1企业版、MySQL-8.0.32社区版、GreatSQL-8.0.32-24社区版本。

图片

在导航栏中点击【数据库】--【创建数据库】--【资源隔离数据库】,4种架构可按需任选一种部署。本次我们暂时选择paxos,使用三节点部署组复制。

图片

5)、数据库配置

选择paxos高可用,资源隔离数据库,配置项中,我们选择项目【北京海淀】,数据库软件包使用GreatDB-6.0.1,备份工具使用通用的xtrabackup,然后配置数据库初始账号等信息后,选择部署paxos的【资源规格】和节点数据量,paxos的最大节点数据库为9个,最小默认部署3个节点。

图片

【高级调度】:其适用场景主要是按需求,人工指定主机部署,增加部分拥有可配置、可操作的灵活性,默认不做配置。默认情况下,GreatADM会根据资源池中的主机资源状态,综合数据库高可用架构,自动将节点分布在不同物理机上,增加数据库的容错。

图片

执行标准的环境检查

图片

忽略swap的次要提醒,直接确认即可。

图片

6)、并行交付

接下来使用另外2个版本,交付同项目下的3套数据库。混合部署架构为paxos的组复制结构。并行交付任务中心状态如下:

图片

完成部署的3套paxos组复制架构,命名如下:

图片

3套paxos高可用结构都正常运行,这里贴出来一套拓扑,其他不再重复贴了。

图片

7)、资源池用量

对应资源池的用量和实时状态负载,可以看到,3套数据库资源均匀分布在3台主机上。

图片

详细查看具体主机的状态和属性信息,如下:可针对单台物理主机查看所包含的实例信息,资源用量信息等。

图片

实际具体每台主机的实例信息,挂载的实例目录限额信息及实例后台进程信息:3套数据库,在当前节点的数据挂载目录下,以端口号区分,并且均在上报资源池时指定的VG中分配。
 

图片

系统中注册的实例服务可用:systemctl  list-units |grep db-  获取到实例状态和注册信息。

图片

纵向扩容方法

关于用户的纵向扩容诉求,特别是根据业务增长,需满足用户纵向扩展算力的诉求,增加cpu/mem或disk空间,且需满足灵活的单实例或多实例调整。

调整的方式有2种,第一种是图形化的GreatADM中调整,第二种是手动编辑调整注册服务中的配置参数,这里不推荐。

如下演示通过GreatADM调整:

图片

纵向扩容节点计算资源,则选择更高规格的模板即可。如业务并发写时,数据库主节点的cpu和mem使用较高,则需分配较多计算资源,复制节点则可相对少分配或等量分配,磁盘的用量可根据实际用量随时动态调整。

图片

第二种,通过直接修改systemd中配置的实例资源cpu、内存的配额信息,如CPUQuota、MemroyLimit,磁盘的大小限制则可通过lv的系统命令调整。

但这里直接使用操作系统命令修改方法,可能会造成adm无法准确获取到实例的资源信息,造成资源池的状态更新不及时,及新后续创建的数据库实例分布不平衡的情况,或因资源不足造成数据库无法正常初始化的情况。

用户隔离测试

用初始"配置项目角色和权限"创建的两个管理员用户,tjadmin和bjadmin来了解一下平台的业务隔离性,或者"租户"可见,可操作范围,尝试使用tjadmin访问"北京海淀"项目的数据库列表。

图片

查看到项目绑定信息只有"天津河东"项目

图片


对应的北京项目业务数据库信息,完全屏蔽

图片

主机资源池等信息完全屏蔽

图片

登录bjadmin超管账号查看下辖管理的3个项目是否可查看到数据库列表

图片

三个项目的作用域可直观看到,切换不同的项目,可看到不同项目创建的业务数据库。

图片

选择切换到【北京海淀】项目,则可看到对应的数据库列表

图片

业务层从平台的访问也实现了隔离,从GreatADM控制台层面实现业务实例的前端访问隔离。

总结

本文从客户项目实际诉求出发,在硬件资源再受限情况下,依据用户诉求,给出如何充分发挥物理机性能实现数据库无差异化交付的方案。

根据用户对平台的期望,对于统一集中管理而言,既未引入新的产品增加运维复杂度和学习成本,也未改变用户对GreatADM平台的使用习惯。而是通过调整实例的注册服务配置,控制资源用量并快速落地。同时兼顾支持,具备将资源隔离方案平滑过渡到物理主机的能力。

此外,支持基于任一节点的物理备份恢复到新的物理机环境,并支持恢复时多种架构的变更,如将单机恢复为主从、双主、双主双从、GreatDBRouter方案,不涉及MGR字段数据类型限制的情况下,直接恢复为MGR等架构,为项目后期的灵活变更调整预留更多空间。

GreatADM数据库管理平台可在有限的硬件资源中,充分整合硬件统管调度,实现了成本可控、投入开发可控、时效可控的三赢方案,再次拓展了产品的场景覆盖度和综合能力。

此外,监控、细粒度告警等功能正在进一步改进提升中。除监控物理机、资源池的利用率外,精细粒度到每一规格模板层,可按需监控和配置告警的聚合、收敛及监控指标采集的数据准确性,规避误报和消息风暴工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1153683.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MaxQuant的安装和使用(linux OR windows)

目录 1. 安装2. 用法2.1 命令行方式(linux)2.2 GUI方式(windows)1) completeAndromeda配置/Configuration(2)数据上传/Raw files (14)组特异参数/Group-specific parameters(17)全局…

如何选择安全又可靠的文件数据同步软件?

数据实时同步价值体现在它能够确保数据在多个设备或系统之间实时更新和保持一致。这种技术可以应用于许多领域,如电子商务、社交媒体、金融服务等。在这些领域中,数据实时同步可以带来很多好处,如提高工作效率、减少数据不一致、提高用户体验…

后台管理(一)

1、管理员登录 1.1、创建Md5加密工具类: public static String md5(String source) {//判断source是否生效if (source null || source.length() 0) {//不是有效的数据throw new RuntimeException(CrowdConstant.MESSAGE_STRING_INVALIDATE);}String algorithm &…

带你学习毫秒级的故障检测技术BFD

【微|信|公|众|号:厦门微思网络】 【微思网络http://www.xmws.cn,成立于2002年,专业培训21年,思科、华为、红帽、ORACLE、VMware等厂商认证及考试,以及其他认证PMP、CISP、ITIL等】 什么是BFD? BFD&#x…

【uniapp+vue3】scroll-view实现纵向自动滚动及swiper实现纵向自动滚动

scroll-view本身不支持自动滚动&#xff0c;通过scroll-top属性控制滚动&#xff0c;但是不可以循环滚动 <scroll-view class"notice-bar" scroll-y"true" ref"scrollViewRef" :scroll-top"data.scrollViewTop"scroll-with-animati…

Power BI 傻瓜入门 18. 让您的数据熠熠生辉

本章内容包括&#xff1a; 配置Power BI以使数据增量刷新发现使用Power BI Desktop and Services保护数据集的方法在不影响性能和完整性的情况下管理海量数据集 如果有更新的、更相关的数据可用&#xff0c;旧数据对组织没有好处。而且&#xff0c;老实说&#xff0c;如果数据…

一文搞懂“支付·清结算·账务”全局

《上帝视角看支付&#xff0c;总架构解析》 对支付的宏观层面做了分析&#xff0c;详解了整个支付体系每一层的架构和业务模型&#xff0c;而每一层的企业内部支付体系建设是什么样的&#xff1f;会涉及到哪些环节和系统&#xff1f;每个系统会涉及到哪些单据和逻辑&#xff0c…

工业级环网交换机的功效和用途

十年前&#xff0c;工业级环网交换机是一个被忽视的领域&#xff0c;在自动化中只占据了很小的一部分&#xff0c;并没有引起太多厂商的重视。随着自动化技术的不断成熟&#xff0c;工业以太网的广泛采用以及大型工业控制网络的建设&#xff0c;自动化厂商也不能忽视丰富产品线…

中文版goole浏览器支持小于12px的文字

1、说明&#xff1a; 中文版goole浏览器默认不支持小于12px的文字&#xff0c;英文版支持。 2、可浏览器设置&#xff1a; goole浏览器前往 chrome://settings/fonts&#xff0c;更改浏览器设置。 3、可代码设置 -webkit-transform:scale() 说明&#xff1a;transform:sca…

数字组合-第10届蓝桥杯省赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第1讲。 数字组合&#xff…

01-学成在线项目基础环境模块搭建

基础工程搭建 项目根目录 创建一个空工程xuecheng-plus即项目的根目录,进入Project Structure检查jdk是否配置正确 新增.gitignore文件用来设置工程中不需要向仓库提交的内容 HELP.md target/ !.mvn/wrapper/maven-wrapper.jar !**/src/main/** !**/src/test/** #### STS …

天津重点大数据培训 大数据培训的三个重要内容

随着互联网的发展和技术的进步&#xff0c;大数据的应用范围越来越广泛&#xff0c;对于企业和个人来说&#xff0c;学习和掌握大数据技术已经成为了必不可少的一项能力。大数据技术是当前和未来的发展方向&#xff0c;对于想进入互联网行业或从事相关技术工作的人来说&#xf…

毕业论文常用分析方法

毕业论文选题结束后&#xff0c;需要根据不同的研究主题以及研究目的确定相应的分析方法。同类型的研究方法有很多种&#xff0c;今天梳理了毕业论文写作的常用分析方法&#xff0c;分模块进行汇总整理&#xff0c;方便大家对照查找。 一、基本描述分析 基本描述统计分析包括频…

大坝水库安全监测终端MCU,智能化管理的新篇章!

我国目前拥有超过9.8万座水库大坝&#xff0c;其中超过95%为土石坝&#xff0c;这些大坝主要是在上世纪80年代以前建造的。这些水库大坝在保障防洪、发电、供水、灌溉等方面发挥了巨大的作用&#xff0c;但是同时也存在一定的安全风险&#xff0c;比如坝体结构破损、坝基渗漏、…

Linux环境基础开发工具使用(一)万字讲解

文章目录 一、Linux 软件包管理器 yum1、什么是软件包2、关于 rzsz3、查看软件包4、如何安装软件5、如何卸载软件 二、Linux编辑器——vim1、IDE例子2、Linux编辑器-vim使用3、 vim的基本概念4、 vim的基本操作5、 vim正常模式命令集1、插入模式2、从插入模式切换为命令模式3、…

建模和图表工具:Software Ideas Modeler Crack

用于图表、软件设计和分析的 CASE 工具 Software Ideas Modeler 是一款智能CASE 工具和 图表软件&#xff0c;支持 UML、SysML、ERD、BPMN、ArchiMate、流程图、用户故事、线框图。 提升用户体验和人工智能集成 - Software Ideas Modeler 14.05 最近发布的 14.05 版本带来了一…

uni-app微信小程序打开第三方地图

需求 小程序中有个按钮点击以后会调用手机中第三方地图进行导航。参数 位置信息 经度 与纬度。 实现方法 uni.openLocation({latitude: Number(地址纬度),longitude: Number(地址经度),name: 地址名称,address: 地址详情,success: function (res) {console.log(打开系统位置地…

每日汇评:通胀数据公布前,欧元复苏失去动力

欧元/美元周一上涨后回落至1.0600&#xff1b; 市场参与者将密切关注欧元区通胀数据&#xff1b; 如果价格跌破1.0580-1.0580区间&#xff0c;卖方可能会采取行动&#xff1b; EUR/USD积聚了多头动能&#xff0c;周一实现了一周以来最高的日内收盘价&#xff0c;超过1.0600。然…

想知道自己转本复习的效果,就试试这些方法吧

在你埋头苦学的时候&#xff0c;你觉得自己复习得怎么样&#xff1f;用下面的方法检测一下吧~ 01做题时间证明掌握程度 做题的快慢可以验证知识掌握和熟练程度。做题速度慢往往是因为对知识不熟悉。 像数学等理科&#xff0c;会对计算和解题速度要求比较高&#xff0c;需要先…

轻量级gif制作工具 GIFfun中文 for mac

GIFfun是一款GIF制作工具&#xff0c;可以帮助用户从照片和视频中创建GIF动画。该软件具有多种功能&#xff0c;例如GIF转视频、视频转GIF、照片转GIF、照片转视频、GIF转JPG、调整GIF大小、PDF转GIF、PDF转JPG、裁剪视频、GIF编辑等。 GIFfun还提供了专业版功能&#xff0c;如…