概述
功能描述
逻辑集群是基于NodeGroup机制来划分物理节点的一种集群模式。
GaussDB 200通过逻辑集群管理,实现了在一个大的MPPDB物理集群中,将集群划分成多个小的逻辑集群,以达到逻辑集群间的计算和存储资源的隔离,并且用户数据互相隔离,同时也能保证在授权情况下的业务用户可以跨集群进行数据表访问。
企业将不同的业务部署在不同的逻辑集群上,既可以实现业务统一管理,也能保证业务之间数据隔离和资源隔离。
弹性集群是指在逻辑集群模式下,非逻辑集群节点组成的集群,可以包含多个DN节点,也可以不包含任何DN节点。在逻辑集群模式下,总有一个弹性集群存在。
弹性集群不能用户手动创建,在物理集群下第一次创建逻辑集群时自动创建弹性集群,物理集群中所有不属于第一个逻辑集群的物理节点都会加入弹性集群。后续逻辑集群创建所需的DN节点都是来自弹性集群中。因此,为了能够创建新的逻辑集群,需要保证弹性集群中有DN节点存在(在物理集群模式下第一次创建逻辑集群时不需要)。
实现原理
在每个逻辑集群内,客户可以独立管理业务资源,通过用户权限设置,实现逻辑集群内的资源隔离和逻辑集群间的数据互访。
对于每个逻辑集群系统,都相当于自主管理的独立集群,由多个物理节点组成,每个物理节点上有多个逻辑DN。这些逻辑集群共同使用相同的CN、GTM和CM等组件。
- 业务场景一:
对于全新安装的物理集群,暂无客户业务,也没建立过表或数据库对象,支持将物理集群划分为1个或多个逻辑集群。划分原理如图1所示,划分为逻辑集群后,不支持回退。
图1 划分为多个逻辑集群- 划分:新创建的集群,如果没有创建表对象,可以将其划分为多个逻辑集群。
- 扩容:逻辑集群模式下,如果已经有1或多个逻辑集群,可按以下方式进行逻辑集群扩容。
- 通过物理扩容方式将节点扩容到逻辑集群。
- 通过虚拟扩容方式,从弹性集群中将节点扩容到已有的逻辑集群,也可以通过新建逻辑集群,节点来源于弹性集群。
- 扩容后,进行数据重分布。
- 业务场景二:
客户MPPDB集群,已有业务在运行,物理集群中有数据库各种对象,且有存储数据,客户需要将物理集群模式转换为逻辑集群模式,仅支持将整个MPPDB物理集群转换为1个逻辑集群,转换原理如图2所示,转换为逻辑集群工作模式后,支持回退回物理集群模式。
图2 转换为1个逻辑集群
约束限制
- 暂不支持逻辑集群在线重分布功能。
- 新安装的物理集群,如果创建了多租户 ,再创建逻辑集群,此租户在逻辑集群模式下不可用。可先删除此租户,再重新创建租户同时关联已有逻辑集群进行使用。
- 由于逻辑集群功能是GaussDB 200大集群下的一个工作模式,功能上只是资源的隔离,因此逻辑集群不支持独立运维。在逻辑集群管理与日常运维过程中,都要依赖大集群的运行状态。
- GaussDB 200集群主CMS节点运行状态“良好”。
说明:
查询主CMS节点运行状态的操作步骤如下:
- 登录FusionInsight Manager页面。
- 选择“集群 > 待操作的集群名称 > 服务 > MPPDB > 配置”,查看“mppdb.cms.active.ip”参数值即为主CMS节点IP。
- 单击“主机”,查看2获取到的IP所对应的主机的“运行状态”。
逻辑集群与多租户、多用户融合场景
通过GaussDB 200逻辑集群能力的引入,一个用户可以按业务需求绑定一个租户角色,而该租户与逻辑集群关联,从而实现一个用户访问相对独立的逻辑集群的资源。
多租户场景下,一个用户仅能绑定一个租户,而一个租户可以被多个用户绑定。既实现同一租户下,多用户协同处理同一业务(下图用户2和用户3),又实现不同用户访问相互隔离的逻辑集群资源(下图用户1和用户2)。另一场景下,通过角色管理,在授权的情况下还可以实现跨逻辑群的数据互访(如下图,逻辑集群2对用户1授权后,用户1可以访问逻辑集群2中的数据),最终实现资源的独立和按需共享,满足业务性能的最大化。其逻辑关系如图3所示。

逻辑集群模式下,用户如需跨逻辑集群执行SQL操作,为不影响被访问逻辑集群下的用户操作,此时需要占用该逻辑集群的系统预留资源来执行SQL语句。通过配置该逻辑集群的系统预留资源,达到资源控制的目的。具体配置请参见配置系统预留资源。
逻辑集群管理
- 管理员可以通过FusionInsight Manager进行逻辑集群管理,包括添加逻辑集群、切换逻辑集群、扩容逻辑集群、缩容逻辑集群、重分布逻辑集群、重启逻辑集群、删除逻辑集群等操作。通过租户界面,在创建租户时关联逻辑集群。通过用户界面,将用户与对应的租户角色绑定,实现用户、租户、逻辑集群的关联关系。
- 逻辑集群管理必须通过FusionInsight Manager进行管理,如果通过SQL命令行进行的逻辑集群管理,在FusionInsight Manager上不感知。
查看更多:华为GaussDB 200 逻辑集群