2015-03-25

LXC Container 搬移和複製 Container 到其它電腦

LXC Container 本身並沒有可以把 Container 做匯出和匯入的功能,所以,如果想要把 Container 從這台電腦複製或搬移到另外一部電腦上的話,那就得自動手才行,不過,目前還在開發中的 LXD 倒是好像有匯出和匯入 Container 的功能,改天阿舍有空再來試看看,今天就先介紹手動搬移 LXC Container 的方法囉 ! ...



搬移或複製 Container 到別台電腦的方式不算難,操作的順序就是先在目的的電腦上先建一個新的同名的 Container,接著,再把原來的 Container 的資料夾整個抄過去蓋掉新建的 Container,這樣新建的 Container 就會變成被複製過來的那一台了哩 !

原來的設定和服務都會在 ...

以阿舍要把 u1404a 這個 Container 從 192.168.1.66 這台複製到 192.168.1.88 這台電腦上為例,首先,阿舍先在 192.168.1.88 這台電腦上用 lxc-cretae 指令以 ubuntu 範本建立一個名為 u1404a 的 Container。

$ sudo lxc-create -t ubuntu -n u1404a

建好之後,阿舍就回到 192.168.1.66 這台來,先用 lxc-stop 停止 Container,接著,再使用 rsync 指令來透過 ssh 傳送 u1404a 這個 Container 的檔案到 192.168.1.88 的 arthurtoday 使用者的家目錄下,要注意的是,因為需要保留檔案的使用者 ID,所以,一定要使用 rsync 的 --numberic-ids 選項來複製檔案才行,不然,搬過去的 Container 可能會發生一些些問題哩 !

$ sudo lxc-stop -n u1404a

$ sudo rsync -av --numberic-ids /var/lib/lxc/u1404a -e ssh  arthurtoday@192.168.1.88:/home/arthurtoday/

等 rsync 複製檔案完成後,阿舍就把複製過來的 u1404a 資料夾給整個複製到 /var/lib/lxc/u1404a 資料夾下來覆蓋掉 lxc-create 建立的 u1404a 資料夾,複製完成後,用 lxc-start 就可以啟動這個 Container 了,裡面跑的東西應該會和原來的一模一樣哩 !

$ sudo cp -rf ~/u1404a/. /var/lib/lxc/u1404a

$ sudo lxc-start -d -n u1404a




推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁