【SOP 系列 21】OCP Monitor 租户迁移

在部署 OCP 时,metadb 和 monitordb 的要求只有数据库连接串,有可能之前为了节省资源,使用了相同的租户用 database 来进行区分,但是在生产环境上,为了做到资源的隔离,我们仍然推荐使用两个租户来分别存放 meta 和 monitor 数据,可以有效的避免 monitor 使用过多的资源,造成 meta 不可用,从而影响 OCP 的主要功能,下面将介绍迁移 monitor 租户的操作步骤。

  1. 在 OCP meta 集群中新建一个 monitor 租户,租户名可以任意起,例如 monitor_tenant,可以使用 obd 或者 OCP 来进行操作,具体操作步骤可以参考 使用 OBD 新建租户 使用 OCP 新建租户
  2. 在 monitor 租户中创建用户以及database

使用 root@monitor_tenant 连接,执行以下 sql 创建用户并赋予权限

create user monitor_user identified by 'monitor_password';
grant all on *.* to monitor_user;

使用 monitor_user 连接 monitor 租户, 执行以下 sql 创建数据库

create database monitor_database
  1. 修改 OCP 中的 monitor 连接串配置

连接到 OCP 的 meta 数据库,修改如下配置项的值为新的 monitordb 的连接串

update config_properties set value = 'monitor_user@monitor_tenant' where `key` = 'ocp.monitordb.username';
update config_properties set value = 'monitor_password' where `key` = 'ocp.monitordb.password';
update config_properties set value = 'monitor_database' where `key` = 'ocp.monitordb.database';
  1. 导出 monitor 的表结构定义
mysqldump -h<host> -P<port> -u<previous_monitor_user> -p<previous_monitor_password> <previous_monitor_database>  -d > /tmp/monitor.sql
  1. 将表结构定义导入到新的 monitor 数据库
mysqldump -h<host> -P<port> -umonitor_user@monitor_tenant -pmonitor_password monitor_database < /tmp/monitor.sql
  1. 重启 OCP
obd cluster restart <ocp-deploy-name>
  1. (可选) 删除原 monitordb 中的记录, 连接到原 monitordb 中执行以下 sql 将记录删除
drop database <previous_monitor_database>
2 个赞