KVM安裝

一、前言

KVM,即Kernel-based Virtual Machine的簡稱,是一個開源的系統虛擬化模塊,自Linux 2.6.20之後集成在Linux的各個主要發行版本中。它使用Linux自身的調度器進行管理,所以相對於Xen,其核心源碼很少。KVM目前已成爲學 術界的主流VMM之一。KVM的虛擬化需要硬件支持(如Intel VT技術或者AMD V技術)。是基於硬件的完全虛擬化。而Xen早期則是基於軟件模擬的Para-Virtualization,

新版本則是基於硬件支持的完全虛擬化。但Xen本身有自己的進程調度器,存儲管理模塊等,所以代碼較爲龐大。廣爲流傳的商業系統虛擬化軟件VMware ESX系列也是基於軟件模擬的Para-Virtualization。


二、環境

系統:rhel6.6 64位

軟件包組:

virtualization           提供虛擬機的環境,主要包含qemu-kvm

virtualization-client      管理和安裝虛擬機實例的客戶端,主要有python-virtinst,virt-manager,virt-viewer

virtualization-platform    提供訪問和控制虛擬客戶端的接口,主要有libvirt,libvirt-client

virtualization-tools      管理離線虛擬機鏡像的工具,主要有libguestfs

根據需求選擇軟件包,一般都安裝前三個,也可以只安裝個別主要的包。

爲了減少不必要的麻煩,請關閉防火牆和SELinux

# cat /proc/cpuinfo |grep flags    需要全虛擬化支持爲vmx(Inter)或svm(AMD)

如果確定物理機支持cpu虛擬化技術,而使用上述命令查找不到相應指令。


三、安裝與配置

# yum groupinstall "Virtualization""Virtualization Client""Virtualization Platform"

# yum install qemu-kvm virt-managerlibvirt        //也可只安裝個別主要的包

# lsmod |grep kvm                                   //kvm模塊一定要加載

kvm_intel             53484  0

kvm                 316506  1 kvm_intel

# service libvirtd start                           //啓動libvirt服務

Starting libvirtd daemon:           [  OK  ]

 

四、配置橋接網絡

1、複製文件

# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0

2、修改ifcfg-eth0文件

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
NM_CONTROLLED="no"
BOOTPROTO=static
HWADDR="00:22:19:B8:D9:FE"
IPV6INIT="yes"
MTU="1500"
ONBOOT=yes
TYPE="Ethernet"
BRIDGE="br0"
UUID="f2f96e91-9957-43bf-97b7-0cd67d8bb1e2"

去掉IP,netmask,把NM_controlled修改成no表示網絡不用networkmanager管理,用network管理


3、修改ifcfg-br0文件

# vi /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE="br0"
BOOTPROTO=static
IPV6INIT="no"
MTU="1500"
NM_CONTROLLED="no"
ONBOOT=yes
TYPE="Bridge"
IPADDR=xx.xx.xx.xx
GATEWAY=xx.xx.xx.xx
NETMASK=xx.xx.xx.xx
DNS1=xx.xx.xx.xx


4、重啓服務

因爲剛纔我們把網絡的管理改成network(默認使用networkmanager管理),現在重啓network服務,service network restart.

5、確認配置

ifconfig && brctl show

[root@cdsh2950b ~]# brctl show
bridge name bridge idSTP enabledinterfaces
br0 8000.002219b8d9fenoeth2
vnet0
virbr0 8000.525400c835f0yesvirbr0-nic


四、創建kvm虛擬機(圖形界面)

1.可以利用vnc遠程連接kvm宿主機,進行管理。Application→System Tools→VirtualMachine Manager

2.進入Virtual Machine Manager管理界面,新建一個虛擬機。

3.輸入虛擬機名稱,選擇“Local Install media”

4.選擇“Use CDROM or DVD”,及使用vmware的虛擬光驅

5.選擇內存及cpu,依機器性能本身而定

6.選擇虛擬機磁盤大小,及存儲位置

7.新建虛擬機信息預覽

 

五、命令行方式

#virt-install \
    --name=vm01 
    --ram=512 
    --vcpus=1 
    --cdrom=/media/CentOS_6.2_final.iso
    --os-type=rhel6  
    --disk /var/lib/libvirt/imgages/vm01.img,size=8,bus=virtio,cache=writeback  
    --network bridge=br0,model=virtio

下面對上面的命令進行解讀:

--name    給虛擬機起個名字
--ram     分配給虛擬機的內存,單位MB
--vcpus   分配給虛擬機的cpu個數
--cdrom   指定安裝文件的全路徑
--disk    指定虛擬機img文件路徑,如果虛擬機使用lvm分區,這裏就指向到lvm的分區就行
    size      虛擬機文件大小,單位GB
    bus       虛擬機磁盤使用的總線類型,爲了使虛擬機達到好的性能,這裏使用virtio
    cache     虛擬機磁盤的cache類型
--network bridge    指定橋接網卡
    model  網卡模式,這裏也是使用性能更好的virtio
--graphics         圖形參數 

可以用man virt-install 指令查看幫助,最後有很多示例。


五、管理kvm虛擬機

常用命令:

virsh list      顯示虛擬機運行狀態

virsh console system_name    使用文本方式連接虛擬系統

virsh start system_name      開啓虛擬系統

virsh shutdown system_name       關閉虛擬系統

注:虛擬機和宿主機之間切換使用ctrl+】(右方括號)

# virsh console vm01

Connected to domain vm01

Escape character is ^]


六、克隆kvm虛擬機

# virt-clone -o vm01 -n vm02 -f/var/lib/libvirt/imgages/vm02      //vm01需要關機

# ll -h /var/lib/libvirt/imgages

-rwxr-xr-x 1 root root 8.0G Oct 13 17:40 vm01.img

-rwxr-xr-x 1 root root 8.0G Oct 13 17:42 vm02.img


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章