![恢復 OpenVZ 快照時 pid 檔案出現問題](https://rvso.com/image/632756/%E6%81%A2%E5%BE%A9%20OpenVZ%20%E5%BF%AB%E7%85%A7%E6%99%82%20pid%20%E6%AA%94%E6%A1%88%E5%87%BA%E7%8F%BE%E5%95%8F%E9%A1%8C.png)
我正在嘗試不同的方法來拍攝正在運行的 openvz 容器的快照。
遵循本指南:http://openvz.org/Checkpointing_and_live_migration,我在恢復快照時總是遇到pid檔案遺失的問題。我遵循的步驟是:
vzctl chkpnt 111 --suspend
vzctl chkpnt 111 --dump --dumpfile /vz/dump/testdump.111
vzctl chkpnt 111 --resume
然後我停止 VE 並嘗試從轉儲文件中恢復它:
vzctl stop 111
vzctl restore 111 --undump --dumpfile /vz/dump/testdump.111
此時我總是收到有關 pid 檔案遺失的錯誤:
vzctl restore 111 --undump --dumpfile /vz/dump/Dump.111
Restoring container ...
Container is mounted
undump...
Adding IP address(es): 10.111.1.111
Setting CPU units: 1000
Restore error, undump failed: No such file or directory
Error: rst_open_file: failed to lookup path '/var/run/saslauthd/saslauthd.pid': -2
Error: can't open file /var/run/saslauthd/saslauthd.pid
Error: rst_file: -2 30505968
Error: rst_files: -2
Error: make_baby: -2
Error: rst_clone_children
Error: make_baby: -2
Error: rst_clone_children
Container restore failed
Container is unmounted
如果我在拍攝快照之前停止 saslauthd,那麼它會抱怨 sendmail 的 pid 檔案。如果我停止 sendmail,它會抱怨 crond。 ETC。
恢復已備份的容器的正確方法是什麼?
答案1
此訊息看起來像是一個錯誤,請升級到最新的當前 OpenVZ 核心和使用者空間,然後重新檢查此操作。如果再次失敗,請將 dmesg 內容傳送至http://bugzilla.openvz.org
答案2
這種做事方式其實是不受支援的。從 vzctl 4.7 開始一切都是透過 ploop 完成的