原來在桌面上一直使用virtualbox虛擬機管理程序(VMM)構建虛擬機安裝不同的操作系統,現在
研究linux下的KVM,能否將已經建立的virtualBox虛擬客戶機(guest)轉換為KVM虛擬機呢?經過查找
資料,還真可以。下面說明一下步驟:
1、將virtualbox虛擬機的虛擬磁盤文件(VDI)轉換成raw格式的文件
此步驟使用virtualbox的命令行工具vboxmanage,這個工具對於通過編制腳本生成虛擬機很有幫助,
其提供的功能比virtualbox圖形配置提供的功能要強大的多。具體命令如下:
vboxmanage clonehd --format raw centos.vdi centos.img
說明:將名為centos.vdi 的虛擬磁盤文件轉換為raw格式的虛擬磁盤文件,raw格式的文件可以說是
不同格式虛擬磁盤文件之間轉換的橋梁,其他格式的虛擬磁盤文件都可以先轉換成此格式,然后在轉換為
其他目標格式。轉換完成后,生成的raw格式文件大小是在配置虛擬機時指定的大小,實際vdi文件只占用
實際應用的大小,如配置時雖然指定為20G,但安裝完操作系統及相關軟件后,可能只需要8G,那么實際
的虛擬磁盤文件(vdi格式)只占用8G,但是在用上面的命令轉換后,則轉換后的文件大小就是在建立虛擬
機時指定磁盤空間的大小,在這里就是20G,因此在轉換前需要查看一下磁盤空間是否足夠。
命令參數: clonehd --克隆虛擬磁盤
--format raw --指定轉換格式
clone這個此在虛擬化技術中用的很多,諸如備份、遷移等很多都是通過這個技術實現。
2、將轉換后的raw格式文件轉換為kvm使用的qcow2格式文件
此步驟使用qemu-img工具實現,如果機器上沒有,可以通過rpm或yum進行安裝,包名為qemu-img。
qemu-img是專門虛擬磁盤映像文件的qemu命令行工具。
具體命令如下:
qemu-img convert -f raw centos.img -O qcow2 centos.qcow2
參數說明:convert 將磁盤文件轉換為指定格式的文件
-f 指定需要轉換文件的文件格式
-O 指定要轉換的目標格式
轉換完成后,將新生產一個目標映像文件,原文件仍保存。
3、利用qemu-kvm命令基於轉換后的虛擬磁盤鏡像啟動虛擬機
在生成kvm支持的文件格式后,即可以使用qemu-kvm基於已轉換的磁盤文件啟動虛擬機了,語法
如下:
qemu-kvm -m 1024 -M pc -smp 2 -hda /opt/images/centos.qcow2 -boot c -name centos \
-k en-us vnc :0 -usb -usbdevice tablet
啟動后,將生產一個單獨的qemu-kvm進程,利用vnc工具可以連接到這個虛擬機,在本例中vnc端口為
5900,連接后,可以在客戶機中進行各種操作。
參數說明: -m 1024 指定內存大小
-M pc 真的機器類型,這里為RHEL 5.4.0 PC
-smp 使用2個虛擬cpu仿真對稱多處理器系統
-hda 指定虛擬磁盤文件名稱
-boot 指定引導設備 c 為硬盤,d為光驅
-name 指定虛擬機名字
-k 指定鍵盤layout
vnc :0 指定vnc連接端口,最終端口為后面的數字+5900
-usb 使usb設備有效
-usbdevice tablet 加入把設備,tablet是指使用絕對坐標的指針設備,如鼠標
4、其他說明
使用第三步生成的虛擬機只是臨時的,在此進程被關閉后,此虛擬機也不存在。可以手工編制一個
配置文件,保護虛擬機的各類參數保存在/etc/libvirt/qemu目錄下,這樣就能夠被virsh進行管理,可以
方便的啟動和關閉。配置文件可以使用已有虛擬機的配置文件作為模板。
在用virtualbox生成的虛擬機中,如果安裝了virtualbox的VBoxGuestAdditions(主要用來控制鼠標
捕獲等功能),則需要先在虛擬機中卸載,因此kvm不支持。
http://blog.csdn.net/starshine/article/details/7032316
