KVM虛擬化技術基本應用

來源:互聯網
上載者:User

標籤:kvm   qemu   qemu-kvm   libvirt   virt-install   hypervisor   

KVM簡介:

KVM是Kernel-based Virtual Machine的簡稱,是一個開源的系統虛擬化模組,自Linux 2.6.20之後整合在Linux的各個主要發行版本中。KVM的虛擬化需要硬體支援(如Intel VT技術或者AMD V技術),是基於硬體的完全虛擬化。

KVM的模式:

核心模式:原Linux系統核心使用的模式空間;

使用者模式:使用者的應用程式進程使用的模式空間;

來賓模式:虛擬機器執行個體使用的模式空間;

檢測硬體平台是否支援KVM的使用:

1、KVM需要CPU支援硬體虛擬化,這是前提,如果在虛擬機器中使用KVM需要在虛擬機器的CPU屬性中將支援CPU虛擬化的選項選中:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/4C/C5/wKiom1RFRhyQAW2cAAKhpTRJKLk557.jpg" title="映像 4.png" alt="wKiom1RFRhyQAW2cAAKhpTRJKLk557.jpg" />

2、裝載KVM模組:

# modprobe kvm

# modprobe kvm_intel

查看模組的裝載情況:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/4C/C6/wKioL1RFR42B1lKNAABy4q78M6g745.jpg" title="映像 5.png" alt="wKioL1RFR42B1lKNAABy4q78M6g745.jpg" />

3、在前兩步操作基礎上,可以查看到/proc/cpuinfo檔案中CPU標誌位中有vmx(intel)和svm(amd)的相關資訊,具體的資訊只顯示其中的一種,與物理機的CPU廠商保持一致。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/4C/C5/wKiom1RFSAvS9Q09AAENJkvQ-4I551.jpg" title="映像 6.png" alt="wKiom1RFSAvS9Q09AAENJkvQ-4I551.jpg" />

只有能夠查看到vmx或者svm資訊時,才能使用KVM。如果當前主機的硬體上支援使用KVM的話,裝載模組的操作可以不做,在使用qemu命令建立虛擬機器的時候就會自動載入模組。

KVM的基本應用:

KVM虛擬機器的建立於管理有兩套管理工具,qemu和libvirt兩種。

1、qemu-kvm命令建立管理虛擬機器的使用:

安裝工具:

# yum -y install qemu-kvm qemu-kvm-tools

安裝後產生的qemu-kvm工具在/usr/libexec/目錄下,為了便於使用,可以建立連結的以方便使用。

# ln -sv /usr/libexec/qemu-kvm /usr/sbin/

建立一個虛擬機器:通常常見一個虛擬機器需要指定的參數選項有:CPU、記憶體、磁碟映像檔案、網卡、顯示裝置有時候還有可能用到光碟機,通常使用率最多的是前4項。

建立一個虛擬機器,先要準備虛擬機器使用的磁碟裝置檔案:

# mkdir -pv /images/vm1# qemu-img create -f qcow2 -o size=100G /images/vm1/ubuntu.qcow2

準備系統安裝的iso檔案,實驗中這個iso檔案放在了管理員家目錄下,安裝虛擬機器的方式如下:

# qemu-kvm -name "ubuntu" -m 512 -smp 2 -hda /images/vm1/ubuntu.qcow2 -cdrom ubuntu-12.04.1-desktop-i386.iso -boot order=dc

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/4C/C5/wKiom1RFUBSTxHg7AACKpfNjBE4972.jpg" title="映像 12.png" alt="wKiom1RFUBSTxHg7AACKpfNjBE4972.jpg" />此時虛擬機器已經啟動並監聽在5900連接埠上,可以使用vncviewer軟體串連5900連接埠查看系統啟動安裝的效果:

# yum -y install tigervnc# vncviewer :5900

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/4C/C6/wKioL1RFUPzRTRoSAALvWVsvFWo934.jpg" title="映像 11.png" alt="wKioL1RFUPzRTRoSAALvWVsvFWo934.jpg" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/4C/C6/wKioL1RFUcyhr6kcAAQO0NQvJhM139.jpg" title="映像 13.png" alt="wKioL1RFUcyhr6kcAAQO0NQvJhM139.jpg" />

現在就可以按照系統安裝的提示一步步完成系統的安裝工作了。

上面的安裝方式是使用iso檔案的方式來安裝虛擬機器系統的,我們還可以使用網路的方式來引導安裝,這個時候需要將虛擬機器的網卡關聯到橋接器上,然後再將虛擬出來的橋接器與物理機的橋接器關聯起來才能實現虛擬機器與外界通訊的效果。這個時候就需要先設定hypervisor上的橋。

# cd /etc/sysconfig/network-script/# cp ifcfg-eth0 ifcfg-br0
# vim ifcfg-br0DEVICE=br0BOOTPROTO=noneHWADDR=00:0c:29:e1:37:51NM_CONTROLLED=noONBOOT=yesTYPE=BridgeIPADDR=172.16.103.2NETMASK=255.255.0.0IPV6INIT=noUSERCTL=no
# vim ifcfg-eth0DEVICE=eth0BOOTPROTO=noneHWADDR=00:0c:29:e1:37:51NM_CONTROLLED=noONBOOT=yesTYPE=EthernetIPV6INIT=noUSERCTL=noBRIDGE=br0


虛擬機器要建立其內部使用的虛擬橋,這個橋的建立需要藉助於外部的指令碼來完成,在建立時指定這個指令碼就可以完成橋的建立工作,指令碼的定義如下:

#/bin/bash# switch=br0if [ -n "$1" ];then    ifconfig $1 up    sleep 0.5s    brctl addif $switch $1    exit 0 elseecho "Error:no specified interface."exit 1fi

將這個指令檔放在/etc/qemu-ifup路徑下,預設位置,方便使用。給指令碼執行許可權:

# chmod +x /etc/qemu-ifup

這個時候在建立虛擬機器之前還要在區域網路內準備pxe或者cobbler安裝環境,虛擬機器執行個體可以訪問到就能實現系統的安裝工作了,具體的操作可以使用如下方式:

# qemu-kvm -name "rhel5" -m 768 -smp 4 -drive file=/images/vm1/ubuntu.qcow2,if=ide,index=0,media=disk,format=qcow2 -boot order=n -net nic -net tap,ifname="vnet0",downscript=no

2、使用libvirt系列工具實現虛擬機器的管理

安裝工具軟體:

# yum -y install libvirt virt-manager virt-viewer python-virtinst

啟動服務:

# service libvirtd start

使用virt-install工具安裝虛擬機器的樣本:

# mkdir -pv /images/vm3
# virt-install -n "centos6" --vcpus 2 -r 512 -l http://172.16.0.1/cobbler/ks_mirror/centos-6.5-x86_64 --disk path=/images/vm3/centos6.qcow2,bus=virtio,size=120G,sparse --network bridge=br0,model=virtio --force

這種方式就建立了一個基於網路安裝的centos6的虛擬機器執行個體。要注意這種安裝環境由於需要於外部區域網路內的主機通訊,所以都要先在hypervisor上建立橋裝置的,然後將虛擬機器的網卡關聯到這個橋裝置上才能正常與外部通訊。

KVM虛擬化技術基本應用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.