將 VPS 複製到本地 VM?
我為大家準備了一個有趣的挑戰。我正在與之合作的一家公司正在建立其開發/發布工作流程和環境。最終的生產環境是一個 VPS,託管在 Virtuozzo 虛擬化環境中執行 CentOS 的流行主機上。
我們想為每個開發人員的本地系統安裝一個生產環境的虛擬化實例(或接近它的東西)。這將允許每個開發人員在他/她自己的系統上本地測試更改,而不會在出現問題時污染其他任何人的系統。
顯然,有很多方法可以做到這一點,但我想有一種更好的特定方法。這是我需要你幫助的地方。
到目前為止,最好的選擇似乎如下。
導出/備份 Virtuozzo VM。將其下載到本地系統並將其安裝到 Virtuozzo Container 中。
這是最乾淨/最純粹的解決方案,但它可能不起作用。例如,複製的 VM 仍將具有來自 VPS 網路的所有網路配置。是否很難編寫腳本來更新這些(以及任何其他舊配置值)以使它們更適合本地 VM?
將程式碼庫部署到在任意虛擬化產品中創建的類似配置的 VM。
這種方法不是很乾淨,但我知道它可以工作(我以前做過)。例如,我們可以將相同版本的 CentOS、Apache、MySQL 等安裝到本地 VMWare 虛擬機上。該環境與生產環境不同,但可能足夠接近以使該工作流程可行。
另外一個選項?
您認為還有哪些其他選擇?或者,這些選項之一是最好的嗎?我很想听聽你的想法!:)
編輯:
生產伺服器上的多個 cPanel/使用者帳戶
我聯繫了我們 VPS 的客戶支持,看看我是否可以訪問 Virtuozzo 備份;他拒絕了我們的請求,但建議我們可以嘗試為每個開發人員創建一個單獨的 cPanel/使用者帳戶。這將允許環境與伺服器的環境相同,但會更不方便,因為環境仍將遠端執行而不是本地執行。不過,一個不錯的選擇。
這將非常適合您…
在源 VM 實例上…
sudo su cd / tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /
在目標機器上(專用或 VPS)
tar xvpfz backup.tgz -C /
並確保重新創建任何排除的目錄
mkdir proc mkdir lost+found mkdir mnt mkdir sys
您可以創建一個漂亮的 Microsoft VirtualPC Linux 映像並將其分發給所有人