我想要迁移我的 New API 服务,我从其他 Service 下载了备份文件,然后在新的服务上还原备份。压缩包上传成功了,但是还原任务一直卡在等待中。我使用的是 Zeabur 购买的境内独立服务器 2C 4GB,目前看上去负载没有问题,压缩包大小只有 20MB 左右应该也没有问题。
我想要迁移我的 New API 服务,我从其他 Service 下载了备份文件,然后在新的服务上还原备份。压缩包上传成功了,但是还原任务一直卡在等待中。我使用的是 Zeabur 购买的境内独立服务器 2C 4GB,目前看上去负载没有问题,压缩包大小只有 20MB 左右应该也没有问题。
你好,感谢回报这个问题。
经过排查,还原任务卡住的原因是服务器端缺少必要的组件导致还原流程无法启动。我们已经手动修复了,重新触发一次还原操作,现在应该可以正常执行了。
我们会再请工程团队处理这个问题,避免后续再发生。如果还有问题请回覆让我们知道。
我刚刚重试了一下,现在会出现以下错误:
错误:phase: validate: adapter LocalDir does not support raw source uploads; re-upload a zip archive or choose a supported database type
镜像问题已修复,还原流程可以正常启动了。
关于新的报错,我们会再确认这个问题。另外请问你有尝试过使用项目复制功能来迁移服务吗?这样可以直接将原服务完整复制到新的独立服务器上,不需要手动下载再上传备份文件。
@Can 你好,我一开始使用的是项目复制功能来迁移的,但是遇到了 从集群迁移到专用服务器时,项目部署一直卡在 76% | Zeabur Forum 提到的问题。
我刚刚重新尝试了一下上传 .zip 文件还原,现在又出现了一直 pending 的情况。
你好,重新查了一下,有几个点要补一下:
5/3 那三次的 adapter LocalDir does not support raw source uploads 错误已经修了(5/4 上线),所以那个不是现在的瓶颈。
5/5 这次卡 pending 的根因不在你这边:还原任务依赖一个内部镜像,但在境内独立服务器上的镜像仓库返回 401 Unauthorized,导致 K8s Job 一直 ImagePullBackOff,6 小时后被超时清理掉,但 dashboard 上的还原状态没有任何反馈就一直停在 pending。我们这边在跟进修复,但短期内还原通道走不通。
在我们修好之前,建议按 Backup & Restore 文档里的方式手动迁移:https://zeabur.com/docs/zh-CN/operations/backup-restore — 不同服务类型有不同建议:
psql、pg_dump、mysqldump、mongorestore、redis-cli)直接 dump 来源、灌进目标。完全在本机操作,绕过 Zeabur 的 backup pipeline。你的 New API 用的是嵌入式 SQLite — 全部数据就是 /data/one-api.db 这一个档案。我看了下来源服务现在的 one-api.db 是 ~82MB(你 5/2 那份备份解压后会比这个小,因为这 4 天源服务一直在写入),所以先看你要哪份数据:
.tar.gz 改成 .zip 解压(里面其实是 zip — 这是已知的命名 bug,我们这边也会一起处理)。拿到 one-api.db。saurlax-cn-palast → New API → 取消暂停,等服务起来。/data/ → 把本地 one-api.db 拖进去,覆盖原有的档案。saurlax-cn)的 New API 上手动触发一次新的备份,等它完成。one-api.db。82MB 的拖放上传走 File Management 没问题,等待时间看你的网速。
在还原历史那栏找 5/5 22:33(北京时间)那条,点 Cancel — 后端会把它标成 FAILED,不影响新的操作。
等我们把镜像问题修好之后,原本那条 backup/restore 路径也会恢复正常。
@Bohan 我已手动向 PVC 上传最新的 one-api.db,现在可以在独立服务器正常运行了,非常感谢。pending 的还原任务我已 cancel,目前没有其他问题了。
太好了 🎉 您手动上传 one-api.db 到 PVC 这个绕行方案绕得很漂亮——直接走文件层面跳过我们 backup/restore Job 的 docker.io 依赖,干净利落。
那这条 ticket 就先关闭了。等我们工程同事把 pvmover / localdir-restore 的 image 改用国内 mirror 之后,未来您再用「项目复制 / 备份还原」这些功能就不会卡了。
之后还有其他问题随时再开新贴,谢谢您的耐心 🙏
@Bohan 你好!我又尝试了一下迁移数据到这台 Aliyun Beijing,还原备份依旧会一直卡住。这一次对于服务镜像我使用了自己的 docker.1ms.run 镜像,从日志里看确实没问题了,服务一直会卡在:
[Zeabur] Pod/localdir-restore-6a072d8b4039e1e8746c26cb-hjgb5 - BackOff: Back-off pulling image "swr.cn-east-3.myhuaweicloud.com/zeabur/localdir-restore:0.5.1"
[Zeabur] Pod/localdir-restore-6a072d8b4039e1e8746c26cb-hjgb5 - Failed: Error: ImagePullBackOff
这看上去依旧是因为 localdir-restore 的镜像导致的。请问有解决方案吗?是否有可能有个配置项让我直接配置服务器上的 rancher registry 以便让所有镜像拉取操作都默认走我的 Docker 镜像呢?
Update:连续拉取错误之后突然可以成功拉取了
你好,感谢更新。
swr.cn-east-3.myhuaweicloud.com 的 image pull 间歇性失败我们这边有注意到,这次自动重试成功说明不是永久性问题,但体验确实不好。
关于你提到的让 rancher registry 默认走自己的镜像源——目前没有这个配置项。localdir-restore 是我们内部的 Job image,pull 地址是后端写死的,不走用户侧的 registry 配置。
我们会排查华为 SWR 这边 pull 不稳定的根因,看是改用其他境内 registry 还是加 retry 机制。后续有进展会更新。
This post has been inactive for a while. We will be closing it in 2 days if there is no new activity.
resolved 的问题已停用新回复。