滚动升级TiDB 3.0报错ansible_mounts' is undefined,求解决方法

执行下面的命令在正常的节点会显示该机器磁盘挂载信息

ansible 10.18.101.103 -m setup -a “gather_subset=‘hardware’ filter=‘ansible_mounts’”

执行结果显示输出为空,说明该节点无法通过 ansible 命令获取到到上述信息

建议检查该节点的磁盘分区与其他节点相比是否有差异,比如分区比较多可能在超时时间内无法获取结果,或者分区挂载的格式不太常见,ansible 可能不支持这种格式,无法解析为正确的结果。

ansible-playbook excessive_rolling_update.yml 不要加 -l 以及 --tags 进行限报错

ansible 10.18.101.103 -m setup -a “gather_subset=‘hardware’ filter=‘ansible_mounts’”
检查该节点的磁盘分区与其他节点相比没有差异,分区挂载格式一致都是ext4

看当前报错情况是,PD 没有启动成功,可以去 PD 节点上看下日志信息。

辛苦提供详细日志吧,只提供 info 信息,无法看出是什么问题导致。

pd日志.txt (20.7 KB)

试下手动启动是否成功,执行 start.sh 启动 pd 节点?

PD进程启动呢,


看报错是滚动升级PD端口不能停止。

检查下是否是因为有多个 systemd 守护进程在守护同一个端口导致不能停止。/etc/systemd/system

您这边自己检查下 pd.service 以及 pd-2379.service 内容是否一致,可能是因为有多个 systemd 守护进程在守护同一个端口导致不能停止。如果是该原因造成,先停掉 pd.service 的 systemd 进程。再进行上述操作。

检查内容是一样,看进程只有一个pd.service

两个内容是一致的吗 ? 那说明两个 systmed 守护同一个进程,比如把 pd-server 关掉,其中一个 systemd 会把 pd-server 进程启动起来。使用 systemctl status pd.serivce/pd-2379.service 看下,有一个 状态是 running 即可。

pd.service 以及 pd-2379.service 内容是一致的,有一个 状态是 running

早上看102tidb日志刷新很快,里面有错,麻烦一起看下 102tidb日志.txt (11.6 KB)

您好:

  1. 请问最近有什么配置或者改动吗?
  2. 请在监控查看各个实例当前状态是否正常,tikv是否有offline节点?
  3. 查看之前反馈的信息,tidb使用data1目录了吗?这个已经满了,请先释放空间,再尝试升级

按官方教程做滚动升级,新配置没有。tikv有一个节点是offline ,尝试启动后,有进程,一段时间就offine.,tidb使用data1目录日志已清,尝试升级,报错一样。

  1. 请先检查监控所有节点都正常
  2. 请检查所有日志都正常
  3. 这个pd如果无法在升级过程中down,当前是生产环境吗?如果没有业务影响, 是否可以尝试手工能否关闭这个节点的pd进程?不要kill进程,使用ansbile命令或者 bin目录下的stop命令停止.

102tidb有问题,停止,重新启动,报

tidb日志.txt (19.7 KB)

103tikv启动不起来,报错,

tikv.txt (34.9 KB)