在Linux系統 CentOS 6 下安裝KVM虛擬機

一、KVM簡介

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

二、KVM安裝

1. 準備工作

  • 關閉iptables防火牆

  • BIOS開啓CPU支持虛擬化(一般默認是開啓的)

  • 查看CPU是否支持KVM完全虛擬化

查看方法:

# cat /proc/cpuinfo | egrep --color=always 'vmx|svm'   #如有信息輸出則可判斷支持

2. 安裝虛擬化相關軟件包

系統yum升級

#yum update #或是用yum upgrade

安裝虛擬化和圖形桌面軟件包組

#yum -y groupinstall "Virtualization" "Desktop" "X Window System" "Desktop Platform"

安裝KVM相關

#yum -y install kvm libvirt libvirt-python python-virtinst virt-manager qemu-kvm-tools virt-viewer virt-v2v

安裝完成後重啓系統

#reboot

3. 查看加載的KVM模塊

# lsmod|grep kvm
kvm_intel              55656  6 
kvm                   345659  1 kvm_intel
# stat /dev/kvm
  File: "/dev/kvm"
  Size: 0               Blocks: 0          IO Block: 4096   character special file
Device: 5h/5d   Inode: 10640       Links: 1     Device type: a,e8
Access: (0666/crw-rw-rw-)  Uid: (    0/    root)   Gid: (   36/     kvm)
Access: 2016-04-21 17:20:39.789558372 +0800
Modify: 2016-04-21 17:20:39.789558372 +0800
Change: 2016-04-21 17:20:39.789558372 +0800


4. 查看libvirtd運行狀態

#/etc/init.d/libvirtd status
libvirtd (pid  2491) is running...


5. 配置網絡橋接

備份ifcfg-eth0

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

創建br0

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

查看配置的內容,這裏選擇了自動獲取IP地址,

[root@node4 network-scripts]# cat ifcfg-eth0 
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0
[root@node4 network-scripts]# cat ifcfg-br0  
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp


6.禁用網絡過濾器

編輯/etc/sysctl.conf添加如下內容

#sysctl -p 
...
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0


7.重啓網絡服務

#/etc/init.d/network restart


三、安裝虛擬機


在/data/vm目錄下創建2個用於安裝虛擬機的磁盤鏡像:

#qemu-img create -f raw /data/vm/vm01.img 10G   #用於圖形化安裝虛擬機
#qemu-img create -f qcow2 /data/vm/vm02.img 10G #用於命令行安裝虛擬機
#qemu-img info /data/vm/vm01.img #查看鏡像信息


1. 用virt-manager圖形化安裝虛擬機

打開應用程序->系統工具->虛擬系統管理器

wKioL1cYpyjRebpvAABt4QTIjaM535.png

點擊創建虛擬機按鈕,輸入虛擬機名稱,點前進,

wKiom1cYp3jQrVBMAADnvf9jsYM745.png

選擇掛載的CD光盤和操作系統選項,點前進,

wKiom1cYqCPipHTDAACpVEJHPbU461.png

確定虛擬機的內存和CPU,點前進,

wKiom1cYqHGzalhKAACE2i6t_Nk068.png

爲虛擬機啓用已經建好的存儲硬盤,點前進,

wKioL1cYqazw4nSUAACGdxg4iK0880.png

下一步確認虛擬機的信息,點擊完成後就進入到安裝系統的界面,安裝系統步驟這裏就不介紹了。


2. 命令行安裝虛擬機的命令如下:

#virt-install --virt-type kvm -n vm02 -r 1024 --disk path=/data/vm/vm02.img,size=10,format=qcow2 -w bridge:br0 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6 --location=http://192.168.1.166/centos6

參數說明:

--virt-type kvm  #The hypervisor to install on. Example choices are kvm, qemu, xen, or kqemu.

-n --name= #虛擬機實例名稱,即虛擬機的name

-r --ram= #給虛擬機分配的內存大小,單位爲M

--disk #Specifies media to use as storage for the guest

-w --network= #設置使用的網絡

--graphics 確定圖形展示的類型,默認就是VNC,監聽在0.0.0.0

--os-type= #系統類型

--os-variant= #確定系統系列類型,以優化虛擬機的配置,--os-variant list可查看支持哪些類型值

-l --location= #確定安裝介質或是說安裝源,這裏用了http服務做了系統的安裝源,就是把光盤掛載目錄鏈接到了網站根目錄下。


命令執行後可以用VNC客戶端軟件訪問VNC界面,就是正常安裝系統的界面。

查看 vnc 啓動在哪個端口

#virsh vncdisplay vm02


不用VNC,直接在命令行啓動一個console用文本狀態的界面安裝,命令:

#virt-install --virt-type kvm -n vm03 -r 1024 --vcpus 1 --os-variant=rhel6 --accelerate -v -w bridge:br0 --disk path=/data/vm/vm03.img,size=10,format=qcow2 --location=http://192.168.1.166/centos6 --nographics -x "console=ttyS0"


virt-install 相關參數可以查看幫助,

#man virt-install
#virt-install -h

3. virsh 管理虛擬機的命令

virsh list 列出當前虛擬機列表,不包括沒有啓動的

virsh list --all  列出所有虛擬機列表,包含沒有啓動的

virsh start vm01  啓動虛擬機vm01

virsh shutdown vm01 正常關閉虛擬機vm01

virsh destroy vm01  強制關閉虛擬機vm01,相當於斷電式關機

virsh undefine vm01 刪除虛擬機vm01,即刪除對vm01的定義,vm01鏡像文件並沒刪除

virsh reboot vm01 重啓vm01

virsh autostart vm01 虛擬機隨宿主機啓動

virsh# 查看dominfo的子命令

  • domid  查看虛擬機的標識符

  • domname  查看虛擬機的名稱

  • domuuid  查看虛擬機的 UUI

  • domstate  查看虛擬機目前的狀

  • dominfo  查看虛擬機的信息

virsh dumpxml vm01  > file.xml 導出虛擬機vm01的配置到一個xml文件
virsh define file.xml 從xml文件從新定義一個虛擬機實例,file.xml需要修改相關配置以避免與vm01衝突

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