重启 OCP 前只看 metadb 在线不够,怎么快速检查分区副本没问题?

【使用环境】测试环境
【OB or 其他组件】OCP、metadb
【使用版本】V4.4.2 社区版
【问题描述】文档说重启 OCP 要保证 metadb 正常,我光看服务在线感觉不保险,有没有简单命令查一下所有分区副本状态完好?
【复现路径】每次重启 OCP 前都想完整校验元数据库健康度
【附件及日志】无
【备注】[@论坛小助手]

7 个赞

这个没必要吧

3 个赞

metadb可以查看clog是否同步,leader分区
–查看clog同步情况
select svr_ip, count(*) from oceanbase.__all_virtual_clog_stat where is_offline = 0 and is_in_sync =0 group by 1;

–查看表leader分布情况
select tenant_id,zone,svr_ip,role,count(*) from oceanbase.__all_virtual_meta_table where tenant_id=1001 group by svr_ip,role;

4 个赞

支持支持

2 个赞

是个谨慎的人。

2 个赞

@论坛小助手

2 个赞

检查 MetaDB 分区副本状态

根据您的问题,您希望在重启 OCP 之前快速检查 MetaDB 的分区副本状态,确保所有分区副本都处于正常状态。以下是一些可以使用的命令和方法来完成这项任务。

使用 obclient 连接到 MetaDB

首先,您可以使用 obclient 工具连接到 MetaDB,并查询分区副本的状态。具体步骤如下:

  1. 连接到 MetaDB

    obclient -h <MetaDB_IP> -P 30093 -u<用户名称>@<租户名词#集群名称> -p<密码>
    

    请将 <MetaDB_IP><用户名称><租户名词#集群名称><密码> 替换为实际的值。密码可以通过 /tools/getpass.sh 脚本获取。

  2. 查询分区副本状态
    在连接到 MetaDB 后,您可以执行以下 SQL 查询来检查分区副本的状态:

    SELECT * FROM __all_zone;
    SELECT * FROM __all_server;
    SELECT * FROM __all_unit_config;
    SELECT * FROM __all_unit;
    SELECT * FROM __all_partition;
    SELECT * FROM __all_partition_copy;
    

    这些查询可以帮助您了解各个分区及其副本的状态。如果所有分区副本的状态都是正常的(例如,状态为 ACTIVE),则表明 MetaDB 的分区副本没有问题。

使用 obproxy 检查分区副本状态

如果您已经配置了 OBProxy,也可以通过 OBProxy 来检查分区副本的状态。具体步骤如下:

  1. 连接到 OBProxy

    obclient -h <OBProxy_IP> -P 2883 -u<用户名称>@<租户名词#集群名称> -p<密码>
    

    请将 <OBProxy_IP><用户名称><租户名词#集群名称><密码> 替换为实际的值。

  2. 查询分区副本状态
    在连接到 OBProxy 后,同样可以执行上述 SQL 查询来检查分区副本的状态。

使用 OCP 检查主机状态

如果您使用的是 OCP 来管理 OceanBase 集群,您也可以通过 OCP 来检查主机状态。具体步骤如下:

  1. 登录 OCP 控制台。
  2. 导航到“主机”页面,查看主机状态。
  3. 确认所有主机的状态都是正常的。

总结

通过上述方法,您可以快速检查 MetaDB 的分区副本状态,确保在重启 OCP 之前 MetaDB 是健康的。如果发现任何异常,建议先修复这些问题再进行 OCP 的重启操作。

希望这些信息对您有所帮助!如果有其他问题,请随时联系我。

具体信息可参考以下文档:

  1. 使用图形化界面部署 OCP
  2. 重启 OCP
  3. 卸载 OCP
  4. 使用图形化界面升级 OCP
  5. OCP 系统常见问题
  6. 检查主机信息
  7. 使用容器升级 OCP
  8. OCP V4.0.2
1 个赞

关于重启 OCP 前的见解很独特,受益匪浅。

1 个赞

文中对OCP的分析很到位,补充一点:结合MetaDB和SELECT可以获得更好的效果。

1 个赞

文中提到的OCP问题很常见,通过优化MetaDB和调整SELECT配置,通常可以解决。

这篇文章写得真不错,很有启发性。

1 个赞

受教了。

1 个赞

学校