[FAQ] tiup 升级 cp: 无法创建目录 ‘/data1/deploy/bin.old.v3.1.0-rc’: 文件已存在

[问题澄清]

问题描述:使用 tiup 将 tidb 从 3.1 升级到 4.0 报错

cp: 无法创建目录 ‘/data1/deploy/bin.old.v3.1.0-rc’: 文件已存在

[原因分析]

因为单机多实例部署且 deploy_dir 混用的情况下(从 ansible 导入的集群比较常见这种情况),第一个实例备份了目录,第二个实例尝试备份时候可能因为文件已存在而出错

[解决方案]

  1. 报错本身我们是忽略的,但从日志看部署机使用了中文 LOCALE, 所以没有匹配到对应的错误消息,我们在后面的版本会对这里再额外处理来避免中断流程

  2. 当前可以在对应部署机上设置 LANG=en_US.UTF-8 或其他英语 Locale 来绕过(或者可以尝试手动把那个目录重命名看是否能绕过)

[参考案例]