共计 2133 个字符,预计需要花费 6 分钟才能阅读完成。
摘要: 多租户为满足客户混合负载解决需要而生,通过提供两层用户机制,分层资源隔离,满足客户对计算和存储资源的自主管制需要。
本文分享自华为云社区《对于 GaussDB(DWS) 多租户治理,这些你肯定要晓得》,原文作者:玛卡巴卡的小点点。
一、多租户的背景及意义
多租户为满足客户混合负载解决需要而生,通过提供两层用户机制,分层资源隔离,满足客户对计算和存储资源的自主管制需要。两级用户别离关联不同的资源池和存储空间,实现多租户下资源分组治理。
二、GaussDB(DWS) 的多租户
目前 GaussDB(DWS) 的多租户可能进行隔离的资源包含:CPU 资源、内存资源、IO 资源、存储资源。
GaussDB 的多租户通过绑定资源池来实现,具体原理如下图所示:
借助上图阐明多租户的管控形式,见往下三、四、五章节。
三、控制组设置
通过设置控制组能够进行以下几方面的资源隔离:
(1)设置 CPU 核数和控制组 CPU 份额,进行 CPU 资源管理;
(2)设置异样规定来对异样作业进行终止或降级;
1、class 控制组
创立名称为“class_a”的子 Class 控制组,CPU 资源配额别离为 Class 的 40%。
gs_cgroup -c -S class_a -s 40
2、workload 控制组
创立子 Class 控制组“class_a”下名称为“workload_a1”的 Workload 控制组,CPU 资源配额别离为“class_a”控制组的 20%。
gs_cgroup -c -S class_a -G workload_a1 -g 20
3、异样规定
设置“class_a”上司“workload_a1”的作业阻塞到 1200 秒或执行 2400 秒时执行终止动作。
gs_cgroup -S class_a -G workload_a1 -E “blocktime=1200,elapsedtime=2400” -a
反对的控制组异样规定:
四、资源池设置
通过设置资源池属性能够进行以下几方面的资源隔离:
(1)通过设置 mem_percent、memory_limit 进行内存资源管理;
(2)通过设置 io_limits、io_priority 进行 IO 管控;
(3)通过设置 active_statements、max_dop 进行并发管控;
(4)能够设置指定的控制组,进行 CPU 和异样规定的治理;
(5)设置资源池异样规定;
1、组资源池
创立名称为“resource_pool_a”的组资源池关联到了“class_a”控制组。
CREATE RESOURCE POOL resource_pool_a WITH (control_group=’class_a’);
2、业务资源池
(1)创立名称为“resource_pool_a1”的业务资源池关联到了“workload_a1”控制组
CREATE RESOURCE POOL resource_pool_a1 WITH (control_group=’class_a:workload_a1′);
(2)更新一个资源池,其控制组指定为 ”DefaultClass” 组上司的 ”High” Timeshare Workload 控制组。
ALTER RESOURCE POOL pool1 WITH (CONTROL_GROUP=”High”);
(3)批改资源池“resource_pool_a1”的内存比例为可用内存大小的 20%,即设置 MEM_PERCEN 的取值为 20。
ALTER RESOURCE POOL resource_pool_a1 WITH (MEM_PERCENT=20);
3、可设置的资源池属性
4、可设置的资源池异样规定
五、用户设置
通过设置用户属性进行存储空间管控:
1、创立组用户关联组资源池
CREATE USER tenant_a RESOURCE POOL ‘resource_pool_a’ PASSWORD ‘Gauss_234’;
2、创立业务用户关联业务资源池
CREATE USER tenant_a1 RESOURCE POOL ‘resource_pool_a1’ USER GROUP ‘tenant_a’ PASSWORD ‘Gauss_234’;
3、通过设置用户属性(PERM SPACE、TEMP SPACE、SPILL SPACE)能够进行存储空间管控:
(1)批改用户“tenant_space_test”永恒表空间限额不受限制。
ALTER USER tenant_space_test PERM SPACE ‘unlimited’;
(2)批改用户“tenant_space_test”长期表空间限额为 100G。
ALTER USER tenant_space_test TEMP SPACE ‘100G’;
(3)批改用户“tenant_space_test”算子落盘空间限额为 200G。
ALTER USER tenant_space_test SPILL SPACE ‘200G’;
六、总结
上文次要介绍了多租户技术的架构和应用办法,通过租户关联控制组和资源池,多租户的设置无效隔离了 CPU 资源、内存资源、IO 资源和存储资源,提供了无力的混合负载治理能力。
想理解 GuassDB(DWS) 更多信息,欢送微信搜寻“GaussDB DWS”关注微信公众号,和您分享最新最全的 PB 级数仓黑科技~
点击关注,第一工夫理解华为云陈腐技术~