ubuntu kvm migrate nfs

主機 ubuntu10.04 64bits 和 ubuntu10.04 32bits 各一台
且都有CPU支援虛擬化並且都已開啟
安裝virt-manager 圖形介面,操作虛擬主機的新增、移除、遷移等等的操作
sudo apt-get install virt-manager 

在virt-manager操作上新增連線: 檔案->新增連線
hypervisor : qemu/kvm
connection: ssh (確認主機都有提供ssh的連線服務) #安裝sshd  sudo apt-get install ssh
選擇有提供kvm服務的主機
Hostname 會自已帶出或是要自已設定皆可,autoconnect 設定打勾
按下確定會跑出密碼輸入框,輸入密碼及可管理遠端kvm主機
我們照往常一樣有本機上安裝一台虛擬機器像是windowsXP
本機端的連線是qemu:///system #新增img檔案時,檔案的所有人是root帳號而且mod 600(rw——-)
#覺得圖形上的操作好像都是利用root這個帳號在操作系統
遠端kvm的connection是長的這樣 qemu+ssh://root@Hostname/system

當本機vm windowsXP 安裝完成並開始運作時要如何作遷移呢?
利用nfs服務將虛擬機器的硬碟image檔, 提供給多台主機使用這樣才可以將vm作不同主機遷移
#虛擬主機image檔是放在類似nas server的機器上,vm 的遷移可能只有將當時的vm運行的狀態打包,並傳送新的kvm Host上
我們在kvm64 bits的主機上又提供nfs服務
安裝nfs server:  sudo apt-get install nfs-kernel-server
安裝nfs client: sudo apt-get install nfs-common

由於操作都用root的權限完成的,所以要在設定nfs允許root帳號的登入
nfs並沒有帳號驗證的功能,就是說當我們如果是用root的帳號來mount一個nfs目錄時就會把我們本機root的uid拿來和遠端的uid作mapping的動作且預設,是不允root的帳號登入的
所以在設定/etc/exports時,就是像下面這樣
/media/SoftRaid/kvmDisks *(rw,sync,no_root_squash) #這樣我們才可以用root來登入,不然帳號會被換成nobody
設定檔設定完成我們重新啟動nfs: /etc/init.d/nfs-kernel-server restart
檢查是否有設定成功: showmount -e localhost
成功會出現分享目錄和使用權限設
接著我們就要設定Storage Pool 使用nfs的方式新增,選擇要設定的kvmHost按右鍵->detail->storage ->加號(add pool) ->設定Pool的名稱 type選netfs ->target path:預設帶出來的路徑, format:nfs, HostName:nfs server的IP, Source path:nfsserver 所分享目錄路徑->完成
每台kvm Host都要設定storagePool這樣就都使用相同的DiskImages

如果有用bridge的話kvm host的兩邊也都要有相同的設定不然會出現錯誤
啟動vm進行vm的migrate 選擇填入目的host的IP位置,按下確認後 等待數秒不等vm就會移到另一台host上執行

 

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s