我想要遷移我的 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 我已手動將最新的 one-api.db 上傳至 PVC,現在可以在獨立伺服器上正常運作了,非常感謝。pending 的還原任務我已取消,目前沒有其他問題。
太好了 🎉 您手動上傳 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 鏡像呢?
更新:在連續拉取錯誤之後,突然可以成功拉取了。
你好,感謝更新。
我們這邊有注意到 swr.cn-east-3.myhuaweicloud.com 的 image pull 間歇性失敗。這次自動重試成功說明不是永久性問題,但體驗確實不好。
關於你提到的讓 Rancher registry 預設走自己的映像檔來源——目前沒有這個配置項。localdir-restore 是我們內部的 Job image,pull 位址是後端寫死的,不會走使用者端的 registry 配置。
我們會排查華為 SWR 這邊 pull 不穩定的根本原因,看是改用其他境內 registry 還是增加重試機制。後續有進展會再更新。
This post has been inactive for a while. We will be closing it in 2 days if there is no new activity.
resolved 的問題已停用新回覆。