金仓 KEMCC 非云环境初始化与纳管指南
大家好,这里是 DBA学习之路,专注于提升数据库运维效率。
目录
- 前言
- 非云环境初始化
- 创建非云平台账号
- 纳管服务器
- 注册数据库实例
- 上传镜像文件
- 创建数据库实例
- 问题记录
前言
前文 从零搭建金仓运维利器:KEMCC 安装与初探 介绍了如何快速安装一套 KEMCC 管理平台,本文将演示如何初始化 KEMCC 平台以及纳管非云平台的金仓数据库实例。
KEMCC 被设计用来满足如下使用场景:
- 基于三方云平台构建数据库云
- 将 KES 数据库的生命周期管理能力融入三方门户
- 数据库一体机
- 非云环境数据库集中管控
- 自建私有数据库云
大类可以分为云环境和非云环境两种,作者由于环境限制,仅演示非云平台环境的初始化设置以及纳管,有条件的朋友可以尝试一下云环境。
非云环境初始化
非云环境是指在非云物理机上部署 KES 实例,初始化配置包含如下步骤:
- 创建非云平台账号
- 纳管服务器
创建非云平台账号
选择【平台配置】->【IaaS 管理】界面,点击【新增】按钮进入云平台账号新增页面:
在平台类型中选择 <非云服务器> 选项,按照要求填写所有必填信息后,点击【保存并引导配置】按钮以继续完成资源配置的引导流程:
其中关键字段含义如下:
- 平台:系统支持的云平台和非云平台的驱动,通过配置平台驱动实现与各个平台进行 API 通讯
- 版本:云平台和非云平台的驱动的版本号
进入实例规格配置界面后,可以通过【是否开启资源限制】按钮选择启用或禁用资源限制功能。若无需进行资源隔离设置,可直接点击【下一步】继续操作:
若需启用资源隔离功能,点击【是否开启资源限制】按钮进行设置,还可以通过点击【+】按钮添加规格填写框,并通过【×】按钮移除不需要的规格项,完成所有配置后,点击【下一步】继续操作:
Tips:在同一台服务器上部署多个数据库实例,各数据库实例可使用的最大服务器资源(CPU 和内存)根据创建实例时选择的规格进行限制,此机制确保每个数据库实例都能在预设的资源配额范围内运行。
上传授权文件(KEMCC 安装目录下有两个 license_xxx.dat):
进入【授权配置】界面配置数据库实例授权方式,填写完授权方式点击【完成】按钮保存配置:
其中关键字段含义如下:
- 授权方式:非云平台目前支持数量授权;
- 激活文件:授权服务的激活文件;
- 授权类型:数据库 license 的类型,需要与预安装的数据库的类型保持一致;
- 统一设置:勾选此复选框启用配置,用此账号创建实例的默认授权信息,不勾选则需要在实例创建界面自行配置授权信息;
非云纳管实例时,授权方式选择数量授权后,保存即可,不需要勾选【统一设置】,也不需要上传激活文件。保存成功后,非云平台添加完成,如未配置,非云平台列表中,状态显示未配置,在非云平台中不能纳管服务器。
纳管服务器
在【IaaS 管理】界面点击【非云平台】进入非云平台账号详情界面:
非云平台账号详情界面点击【服务器】切换到服务器添加界面添加服务器:
按照以下步骤新增服务器器:
- 点击【添加】按钮;
- 进入服务器新增页面后,请填写完整的服务器相关信息;
- 填写完成后,点击【检测】按钮验证账号、密码及端口信息无误;
- 验证通过后请点击【确认】按钮保存服务器配置;
其中关键字段含义如下:
- 端口:SSH 协议端口(一般默认 22),点击【检查】按钮可根据填写服务器连接信息检查系统部署服务器到纳管服务器 SSH 网络是否连通;
- CPU 超分系数:服务器可超额分配的 CPU 核数的系数,可分配 CPU 核数 = 服务器实际 CPU 核数 ×CPU 超分系数,不限制则设置为 1;
- 内存超分系数:服务器可超额分配的内存容量的系数,可分配内存容量 = 服务器实际内存容量 × 内存超分系数,不限制则设置为 1;
- 磁盘挂载点:服务器文件系统磁盘挂载路径;
点击左侧【服务器】菜单,进入服务器列表页面:
在该页面中,您可以查看所有已纳管的服务器列表及相关状态信息(对于新纳入管理的服务器,默认尚未安装 Agent)。
点击左侧【安装 agent】按钮,开始安装 agent:
Agent 安装完成后如图所示,此时需要确认 agent 是否可用,点击左侧【同步服务器】按钮,开始通过 agent 同步服务器信息:
服务器信息同步完成后,此时在列表页中能看到服务器磁盘、内存、CPU 等信息:
至此,服务器纳管完成。
注册数据库实例
KEMCC 支持注册已经部署非云的 KES 实例,注册非云 KES 实例的服务器后,即可注册 KES 实例。
填写被注册集群基础信息:
查看实例信息可以使用 sql 查询:kingbase=# select * from v$instance;
获取集群配置信息:
完成注册:
查看监控:
支持对数据库进行一些日常管理操作:
上传镜像文件
非云平台需要上传数据库镜像文件才能创建数据库实例,KEMCC 安装后默认没有内置下发实例需要的数据库镜像文件,需要上传至 KEMCC 安装路径 /kemcc/kemcc/db-package
目录下。
这里我们获取到的镜像名称为 r6-image-x86-20250409.zip
,需要手动创建与版本名称同名的目录 V008R006B11191612
,然后将镜像移动到目录下:
⚠️ 注意:这里的 iso 镜像名称必须要改为 r6-image.zip
名称,否则无法识别到:
最后记得授权一下:
[root@kemcc db-package]# chown -R kemcc:kemcc /kemcc/kemcc/db-package/
确保所需数据库镜像文件已经上传,就可以开始创建数据库实例了。
创建数据库实例
点击左侧菜单栏【实例管理】->【实例列表】,点击【创建实例】按钮,进入创建实例页面:
填写基本信息:
- 数据库账号:默认为 [system]。
- 实例名称:默认根填充为 [kes+ 日期](可自行修改)。
- 兼容模式:可选不同的数据库模式【Oracle 模式】/【Pg 模式】/【Mysql 模式】。
- 大小写敏感:可设置为【敏感】/【不敏感】。
- 数据库版本:V8_R6
点击【选择服务器】按钮,弹出【选择服务器】对话框。选择实例将要部署的物理服务器,点击【确定】按钮:
部署平台:可选【深信服平台】/【k8S 平台】/【非云平台】。
- 部署架构:可选【单机】/【主备】/【读写分离】。
- 【主备】架构可调整备机数量
- 【读写分离】架构可调整读机数量。
- 网络类型:选择【VPC 网络】。
- VPC 网络选择【rdj-vpc】,其子网为【192.168.0.0/24】/【192.168.1.0/24】选项。
- 配置弹性 IP:可选。勾选【配置弹性 IP】复选框,弹出下拉框,选择需要的弹性 IP。
- 只有 VPC 网络有弹性 IP,非云平台没有弹性 IP。
创建部署路径:
部署路径:输入部署路径,默认为‘/kingbaseES’。部署路径非必须,若填写部署路径,则实例将部署在填写的部署路径中,若不填写,则系统将自动选择合适的路径进行部署。这里输入的 /KingbaseES/V8 目录不需要手动创建,会自动创建。
配置实例:
- 实例规格:选择不同大小的 CPU 和内存。
- 可维护时间段:使用时间范围设置具体的可维护时间段,系统将在可维护时间段内进行备份等操作。
- 开启自动备份:勾选复选框,备份位置默认为外部 ,备份内容设置为每 7 天 02:00 执行一次全量备份。
- 内部:内部备份是指在数据库实例本地进行数据库物理备份
- 外部:外部是指非数据库节点服务器
- 云对象:支持 S3 协议云对象存储
点击修改按钮,弹出配置自动备份对话框,可选择备份位置、备份时间间隔、备份时间点。
这里我们可以选择内部备份:
配置磁盘空间,可拉动滑块设置数据盘存储空间,也可点击【+】/【-】按钮设置数据盘存储空间:
确认是否创建:
可以看到实例已经创建成功:
问题记录
这里有个不算坑的小问题,我记录一下。
在创建非云平台的时候,有一个 <是否开启资源限制> 的选项:
资源隔离使用的场景是在一台物理机上下发多个实例,而且实例直接通过 Cgroup 进行资源限制;安装镜像是区分资源隔离和非资源隔离的版本的。
如果我们勾选了开启资源限制,然后使用的是非资源隔离的 iso 镜像,在创建数据库实例的时候,就会报错:
可以看到在启动实例时报错:
启动日志中的具体报错内容如下:
对应的参数值:
这里由于我当前主机确实是有多个金仓数据库实例的,所以得要勾选资源隔离,但是我镜像又是非资源隔离的,所以就报这个错了。
官方的解决方案是需要重新生成一个资源隔离的 ISO 镜像,我这里临时的解决方案是把资源隔离的这几个参数给删掉:
然后在任务中心这里选择重试:
接着就顺利完成了!但是不建议这么玩,哈哈~
如果不用资源隔离的版本就别勾选开启资源限制就行了,然后把服务器添加到平台之后,选择这个服务器就可以进行 KES 部署了。