Linux 中使用 KVM
聽(tīng)講XEN很快就要從LINUX內(nèi)核中去掉,redhat和Ubuntu也大力的在推廣KVM,所以在Ubuntu下整了一下KVM,相當(dāng)容易使用,基本比Vmware還要容易,但性能好上很多倍,因?yàn)樗前胩摂M的,很大程序上可以直接使用真實(shí)的硬件.
RedHat?紅帽CTO Brian Steven在一次記者招待會(huì)說(shuō):“我們致力于Xen,RHEL 5有10年的生命周期,因此會(huì)有一個(gè)較大的交叉過(guò)渡.我們將在Red Hat 6中全面使用KVM,但KVM目前已經(jīng)準(zhǔn)備就緒,完全可以正式投入到數(shù)據(jù)中心和云中,不用再等待了!”
KVM要使用2.6.20以上的內(nèi)核才行.Ubuntu到是不用擔(dān)心,它基本一直使用的是最新的內(nèi)核.
需要關(guān)心一點(diǎn)就是,你的硬件,CPU是不是支持半虛擬(VT/AMD-V),使用下面的命令可以查看是否支持
| 1 | grep -E '(vmx|svm)'?? /proc/cpuinfo |
? 在ubuntu中安裝KVM
我原來(lái)以為KVM很難裝,沒(méi)想到現(xiàn)在容易成這樣了.太方便了
| 1 | sudo apt-get install kvm libvirt-bin ubuntu-vm-builder? bridge-utils kvm-pxe uml-utilities |
安裝KVM在ubuntu中的GUI管理軟件,象我,拿ubuntu當(dāng)桌面,就不使用命令…呵呵
| 1 | sudo apt-get install virt-manager virt-viewer |
需要設(shè)置一下網(wǎng)橋
| 1 | sudo /etc/init.d/networking stop |
?我們來(lái)修改一下配置
| 1 | sudo vim /etc/network/interfaces |
?靜態(tài)IP和使用DHCP是不一樣的,DHCP修改成下面這樣
| 1 2 3 4 5 6 | auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_stp off bridge_fd 5 bridge_maxwait 5 |
或
static:
| 01 02 03 04 05 06 07 08 09 10 11 | auto br0 iface br0 inet static address 192.168.0.xxx network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 bridge_ports eth0 bridge_stp off bridge_fd 5 bridge_maxwait 5 |
完事后
進(jìn)入ubuntu的“應(yīng)用程序”-> “系統(tǒng)工具” -> “虛擬系統(tǒng)管理”就可以全GUI來(lái)玩kvm啦
?
RedHat Centos 安裝 KVM
在 Centos 中安裝 kvm 也一樣很容易,
1. 安裝 KVM 和?virtinst (一個(gè)創(chuàng)建?virtual machines 的工具?)
| 1 | yum install kvm kmod-kvm qemu libvirt python-virtinst |
?
?2. 裝完后記的重起,重起后檢查模塊是否有加載
| 1 2 3 | $ lsmod | grep kvm kvm_amd??????????????? 50452? 0 kvm?????????????????? 109264? 1 kvm_amd |
?也可以使用 virsh 來(lái)測(cè)試
| 1 | virsh -c qemu:///system list |
?
?3. 安裝橋接管理的工具
| 1 | yum install bridge-utils |
?
?4. 安裝 GUI 的管理軟件
| 1 | yum install virt-manager |
?
KVM 的高級(jí)管理
KVM 現(xiàn)在相當(dāng)成熟,在三個(gè)比較常用管理程序(我所知道的),大家平時(shí)玩玩的話,就用 GUI 來(lái)管理就好了,GUI 都會(huì)我就不詳細(xì)寫了:
virt-manager: 這個(gè)我最常用,是?GUI 的,需要 x windows 的支持.這個(gè)是 RedHat 開(kāi)發(fā),大家想了解可以到? http://virt- manager.et.redhat.com/ 上看看
virt-install:python 寫的文字介面的管理 kvm 的程序,這個(gè)也是Red Hat 開(kāi)發(fā)的哦.
ubuntu-vm-builder:這個(gè)是 Canonical (Ubuntu)開(kāi)發(fā)的文字的管理程序.
?
virt-install 的基本使用
(1. 安裝 virt-install 和 圖形化的連接軟件 virt-viewer
?
| 1 | sudo apt-get install python-virtinst virt-viewer |
詳細(xì)使用可以 man virt-install
?
(2. virt-install 安裝虛擬系統(tǒng)
例:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $ virt-install \ --connect qemu:///system \ --name= 虛擬機(jī)器的名字 \ --ram=設(shè)置內(nèi)存的大小 [MB] \ --os-type=操作系統(tǒng)的類型 [linux ] \ --os-variant=操作系統(tǒng)的版本 [centos 5.4] \ --hvm [全虛擬化( hvm )與半虛擬化( paravirt? )選擇其一] \ --paravirt? [全虛擬化( hvm )與半虛擬化( paravirt? )選擇其一] \ --accelerate? [KVM 加速器] \ --cdrom=系統(tǒng)安裝的CD路徑 [*.iso] \ --file=虛擬硬盤的路徑 [*.qcow2] \ --file-size=虛擬硬盤的大小 [GB] \ --bridge=br0 \ --vnc \ --noautoconsole? \ --debug |
?注意 Windows 只能用有全虛擬化( hvm )與半虛擬化( paravirt? )中選擇 hvm.hvm 的意思是指硬件輔助的虛擬化,就是需要所謂的 VT 支持的.
?建出來(lái)的虛擬機(jī)會(huì)在?/etc/libvirt/qemu/虛擬機(jī)器名稱.xml 有個(gè)配置文件
(3. 使用 virt-install? 啟動(dòng)虛擬的機(jī)器
進(jìn)入 virsh 中,所有 virsh 的操作都要先進(jìn)入這個(gè)
| 1 | virsh |
?管理啟動(dòng)
| 1 2 3 | virsh# start 虛擬機(jī)器名字 virsh# list? --all virsh# quit |
?
(4. 安裝管理查看 virt-install 安裝后的系統(tǒng)是否正常
| 1 | virt-viewer --connect qemu+ssh://帳號(hào)@虛擬機(jī)實(shí)體主機(jī)IP??? 要連接的虛擬機(jī)器名字 |
?
virt-install 的其它使用
在原來(lái)的基礎(chǔ)上復(fù)制一個(gè)新的虛擬機(jī)器
| 1 2 | virt-clone? --connect=qemu:///system \ -o 舊的虛擬機(jī)器名稱? -n 新的虛擬機(jī)器名稱? -f? 新的虛擬硬碟路徑 [*.qcow2] |
查看所有虛擬出的機(jī)器
| 1 | virsh# list --all |
dump 虛擬出的機(jī)器配置文件
| 1 | virsh# dumpxml 虛擬出的機(jī)器名稱? /tmp/虛擬出的機(jī)器配置文件 [*.xml] |
使用現(xiàn)有的虛擬出的機(jī)器配置文件建立虛擬新機(jī)器
| 1 | virsh# define? /etc/libvirt/qemu/虛擬出的機(jī)器配置文件 [*.xml] |
移除虛擬出的機(jī)器
| 1 | virsh# undefine 虛擬出的機(jī)器名稱 |
關(guān)閉虛擬出的機(jī)器
| 1 | virsh# shutdown 虛擬出的機(jī)器名稱 |
關(guān)掉虛擬出的機(jī)器的電源
| 1 | virsh# destory 虛擬出的機(jī)器名稱 |
KVM的小技巧
1.提升KVM的網(wǎng)絡(luò)和硬盤IO在linux中的性能
官方提供了一個(gè)叫kvm-guest-drivers-windows的網(wǎng)卡驅(qū)動(dòng)很不錯(cuò),虛擬機(jī)的啟動(dòng)參數(shù)那里加上model=virtio這個(gè)參數(shù),界面中也是可以設(shè)置的.硬盤也有virtio的驅(qū)動(dòng),記的使用.在Virt-manager 中可以選擇 virtio disk.獲得高性能的網(wǎng)絡(luò)和磁盤操作
virtio的網(wǎng)卡驅(qū)動(dòng)的地址: http://sourceforge.net/project/showfiles.php?group_id=180599&package_id=267943
virtio的硬盤驅(qū)動(dòng)的地址:http://www.linux-kvm.com/sites/default/files/viostor.iso
2.和真實(shí)機(jī)器中資料共享
這個(gè)是超級(jí)方便的,不需要象VBox搞個(gè)文件夾,只要在Host的設(shè)置中直接給真實(shí)的Dev的塊設(shè)備直接設(shè)定到Guest的配置中,然后在進(jìn)入kvm中的系統(tǒng),直接mount就行
3.轉(zhuǎn)換VMWare的image讓KVM能使用
我們先要安裝一個(gè)小軟件virt-goodies.
| 1 | sudo apt-get install virt-goodies |
然后使用vmware2libvirt來(lái)給VMWare VM的基本資料vmx轉(zhuǎn)成KVM可以讀入的XML. 如
| 1 | vmware2libvirt -f myvm.vmx > myvm.xml |
在轉(zhuǎn)VMWare VM的disk image, 使用qemu-img轉(zhuǎn)成KVM能讀的文件.
| 1 | qemu-img convert -f vmdk myvm.vmdk -O qcow2 myvm.qcow2 |
可能還需要修改一下vmx轉(zhuǎn)成的xml,
disk中的target dev,在VMWARE是ide(target dev=’hda’ bus=’ide’)可能要修改成scsi(target dev=’sda’ bus=’scsi’),我們看能不能找到ROOT就知道是不是用對(duì)了;
bridge mode, 給interface type=’network’修改成interface type=’bridge’, 而source network=’default’修改成source bridge=’br0′.
qcow選項(xiàng),則會(huì)創(chuàng)建QCOW(寫時(shí)復(fù)制)格式
修改后給VM的配置加入到libvirtd中.
| 1 2 | virsh -c qemu:///system define myvm.xml virsh -c qemu:///system list --all |
FAQ:
1.如果在安裝的時(shí)候見(jiàn)到"FATAL: Error inserting kvm_intel"
這是因?yàn)闆](méi)有在BIOS中打開(kāi)virtualization.需要進(jìn)入BIOS中打開(kāi),然后斷電重起.進(jìn)入系統(tǒng)后打modprobe kvm-intel來(lái)加載模塊
?
?? 先在虛擬機(jī)中打開(kāi)windows自己的遠(yuǎn)程桌面,然后給用戶設(shè)定密碼,然后運(yùn)行?rundll32 netplwiz.dll,UsersRunDll?啟 用windows的自動(dòng)登錄.(這三步必不可少,否則rdesktop是無(wú)法連上winxp的)
?? 重新啟動(dòng)虛擬機(jī),當(dāng)聽(tīng)到winxp后臺(tái)登錄的聲音后,即可用rdesktop遠(yuǎn)程登錄:
rdesktop localhost:3389 -u *** -p *** -g 1280×700 -r sound:local
?
?
-u winxp的用戶名, -p winxp的密碼, -r sound:local ?啟用聲音
現(xiàn)在可以看到桌面了吧.是不是灰常流暢呢?鼠標(biāo)、鍵盤 都非常完美啊,剪貼板也可以公用哦.堪比裝了tools的virtualbox,但是比后者占用的資源要少的多.
?
?
?
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的Linux 中使用 KVM的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 1g流量能看多久爱奇艺?
- 下一篇: java的choice什么意思_choi