[问题澄清]
问题描述:使用 tiup 将 tidb 从 3.1 升级到 4.0 报错
cp: 无法创建目录 ‘/data1/deploy/bin.old.v3.1.0-rc’: 文件已存在
[原因分析]
因为单机多实例部署且 deploy_dir 混用的情况下(从 ansible 导入的集群比较常见这种情况),第一个实例备份了目录,第二个实例尝试备份时候可能因为文件已存在而出错
[解决方案]
-
报错本身我们是忽略的,但从日志看部署机使用了中文 LOCALE, 所以没有匹配到对应的错误消息,我们在后面的版本会对这里再额外处理来避免中断流程
-
当前可以在对应部署机上设置 LANG=en_US.UTF-8 或其他英语 Locale 来绕过(或者可以尝试手动把那个目录重命名看是否能绕过)
[参考案例]