首批通过分布式安全可靠测评,为关键业务系统打造
主机管理常见问题
更新时间:2023-11-21 09:58:00
本节描述主机管理相关的常见问题。
基本须知问题
Q1: Region、Zone、机房分别是什么关系?
A: Region 代表地域,机房在地域之下,只能从属于一个 Region。添加主机时,比如要为主机指定机房。 Zone 是 OceanBase 集群中的逻辑概念,与物理概念机房相对应。在为集群添加 Zone 时,需要指定该 Zone 对应的机房。
Q2: OCP 服务器和 OceanBase 服务器跨机房,申请网络权限是否只需要申请 OCP 服务器到 OceanBase 服务器的 ssh 端口 22 和 2881 端口的权限?
A: 还需要申请 OCP-Agent 的端口"62881 - 63881",如果用了逻辑备份恢复,则还需要申请 2911 和 2912 端口,详见 组件监听端口列表 。
添加主机问题
Q1: 添加 OBServer 节点任务失败,为什么?
A:建议从以下几个方面排查:
确认该机器是否在 OCP 管理范围内。
查看该机器与 OCP 服务器之间时差是否过大。
查看该机器磁盘权限是否正确,空间是否足够。
Q2: 有空闲机器的情况下,添加 OBServer 节点时,主机下拉列表中无可选机器。
A:添加 OBServer 节点时,可选择的主机必须是当前 Zone 所在机房下的主机。
Q3: 添加主机报错,提示 通过 ssh 访问主机失败。
A:容器内部 sshd 没有启动成功,重装 tmp_ocp 可解决。
Q4: 添加主机失败,报错信息提示缺少 python 依赖,如何解决?
A: 在 /root/.bashrc 最后加一行 export PYTHONPATH=/home/admin/ocp_agent/site-packages:$PYTHONPAT,并更新 OAT 命令行工具的版本。
Q5: 使用 2022 端口添加主机失败,如何解决?
A: 修改 /etc/ssh/ssh_config 文件中的 GSSAPIAuthentication 和 UseDNS 的值为 yes 。
Q6: 添加主机失败,提示 通过 SSH 访问主机失败,请确认输入的 ip、凭据、端口是否正确失败的主机 ip=[xxx.xxx.xxx.xxx]。
A: 主机没有配置 DNS,建议先在待添加主机的 /etc/resolv.conf 文件中配置 DNS,格式为 nameserver xxx.xxx.xxx.xxx ,其中 xxx.xxx.xxx.xxx 为域名服务器 IP。
Q7:OCP 安装在 ARM 服务器上,在添加主机的时候添加的是 X86 主机,OCP 可以推 X86 版本的 Agent 到该主机上安装,并完成主机添加吗?
A: 可以,OCP 是以 Docker 形式运行的,所以对底层硬件架构是不依赖的。
说明
对于 OceanBase 的架构,V2.5.x 版本支持不同集群可以不同架构,同一个 OceanBase 集群必须是相同的架构。OCP 会根据主机架构自动选择安装包,不同架构的安装包可通过软件包功能上传。
Q9: 使用 root 添加主机,但始终报凭据无法连接。
A: OCP 使用 sudo -n true 验证凭证的,建议检查 sudoer 文件是否被修改。
Q10: 主机与 OCP 不在同一个网络,添加主机时报错,什么原因?
A: 外部访问 OCP 需设置系统参数 ocp.site.url ,建议设置后重新添加主机。
Q11: 使用 X86 的 OCP 添加 ARM 的主机时,报错 ocp-agent不存在 ,怎么解决?
A: X86 的 OCP 不自带 ARM 的 OCP-Agent 包,建议手动上传 ARM 的 OCP-Agent 包后重试。
Q12: 使用 OCP 添加 OBServer 节点失败,且回退也失败了,什么原因?
A: 创建集群失败因为主机不是用 antman 装机模板装的。回退失败可能因为 pos_proxy 进程异常而无法连接主机。建议先停止 pos_proxy 进程,等待 pos_proxy 自动拉起后,再回退失败的任务,用 OAT 命令行工具的装机模板预置主机后再添加 OBServer 节点。
Q13: 主备集群规划在不同的机房,使用 OCP 添加主机失败,报错 message=rpc call failed, non-blocking recv response is null, may read timeout ,什么原因?
A: 可能是端口问题,建议检查是否防火墙导致的端口不通。
Q14: 添加主机失败,报空指针异常,什么原因?
A: 使用了旧接口。可能是浏览器用了旧版本如 V2.4.5 的缓存,但使用新版本如 V2.5.0 的 OCP 时,浏览器未移除过期的接口,所以在 V2.4.5 页面还能做运维操作。建议清浏览器缓存后重试。
说明
这类浏览器缓存原因造成的添加主机失败在每个版本的表现形式不一样,建议排查不到原因时可清理浏览器缓存看能否解决问题。
Q15: 重新部署 OCP 场景下,添加主机报错,除了 NTP 的问题还有可能是什么原因?
A: 可能未给主机添加凭证。如果未添加凭证,建议放弃任务,清空浏览器缓存,给主机添加凭证后再重试。升级或替换场景下如有添加主机失败均可尝试下该方式。
Q16: 安装 OCP-Agent 失败,报错 当前主机 xxx.xxx.xxx.xxx 状态不支持此操作,什么原因?
A: 因为该 OCP 正在执行升级任务,OCP 升级过程中主机离线是正常的,可等待升级结束后再执行安装 OCP-Agent 任务。
Q8: 在之前换过 IP 的机器上执行 Add OBServer 任务失败,重试多次都是瞬间失败。
A: 机器可能未在 OCP 管理范围内,建议参考 OceanBase 数据库初始化服务器章节,初始化机器后重试。
删除主机问题
Q1: 删除主机没有强制删除入口。
A: 强制删除入口的显示需要触发条件,一般在主机状态为 离线 或 不可用 时才显示强制删除入口。
Q2: 使用 OCP 重复添加主机,重复的主机能否直接删掉?
A: 可以。
主机管理问题
Q1: 使用 OCP 添加主机时设置的 Region 可以删除吗?
A: 可以。黑屏方式在 compute_region 表里执行删除语句,OCP 界面不提供删除操作。
Q2: 在 OCP 中查看 OBServer 节点内存与黑屏方式查看的内存不一致,为什么?
A: OCP 会根据 system_memory, system_memory_percentage 参数展示 OBServer 节点内存,其中包含了系统占用的部分,而黑屏查看时则不包含此部分内容。OCP 展示内存资源分配说明:
Server 列表的内存总量包含了系统预留部分。
集群租户管理页面展示的"系统"就是系统预留内存的大小,注意这里"系统" 和 "sys" 租户不是一个概念,sys 租户的内存资源是和业务租户一样通过 Unit 规格来配置的。
Q3: 如何查看所有添加的主机的 OCP-Agent 的版本?
A: 在 MetaDB 库中执行如下命令。
Select t1.inner_ip_address, t2.version from compute_host t1 inner join compute_host_agent t2 on t1.id = t2.host_id;