IT技術互動交流平臺

KVM安裝部署

作者:樺仔  來源:IT165收集  發布日期:2016-08-09 19:53:37

KVM安裝部署

公司開始部署KVM,KVM的全稱是kernel base virtual machine,對KVM虛擬化技術研究了一段時間,

KVM是基于硬件的完全虛擬化,跟vmware、xen、hyper-v是同一個級別的,而且已經內置在Linux內核

而且KVM是開源產品,最新的虛擬化技術都會優先應用在KVM上,KVM的定制和配置項也很多,比封閉的hyper-v好玩多了

一直覺得微軟的產品太封閉,之前一直用hyper-v,可配置項相比于KVM實在太少,而且KVM性能比hyper-v要好

KVM各個組件的關系

libvirt(virt-install,API,服務,virsh)-》qemu(qemu-kvm進程,qemu-img)-》KVM虛擬機-》kvm.ko 內核模塊  

libvirt:紅帽提供的一個管理KVM虛擬機的API庫,提供了virsh命令和一些python API

qemu:KVM的用戶空間管理工具,用于管理內核空間kvm.ko

kvm.ko:KVM的核心,提供了虛擬CPU的工具,centos6系統安裝的時候默認已經自帶kvm.ko,只需要加載這個內核模塊

安裝流程

物理機部署流程

安裝KVM組件
1、首先檢查系統是否支持kvm,有兩個先決條件
a、系統是x86的,通過命令

uname -a

b、CPU 支持虛擬化技術

egrep 'vmx|svm' /proc/cpuinfo

其中intel cpu支持會有vmx,amd cpu支持會有svm
如果看到有輸出結果,即證明cpu 支持虛擬化。同時特別注意需要檢查 BIOS 中是否開啟VT,如果沒有啟用,虛擬機將會十分慢。


2、使用yum安裝kvm
安裝kvm內核

yum install -y qemu-kvm.x86_64 qemu-kvm-tools.x86_64 qemu-img

安裝virt管理工具

yum -y install libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64 python-virtinst bridge-utils

說明:
kvm:軟件包中含有KVM內核模塊,它在默認linux內核中提供kvm管理程序
libvirts:安裝虛擬機管理工具,使用virsh等命令來管理和控制虛擬機。
bridge-utils:設置網絡網卡橋接。
qemu-img:安裝qemu組件,使用qemu命令來創建磁盤等。

加載kvm 內核

modprobe kvm
modprobe kvm-intel

查看內核是否開啟

modprobe -ls | grep kvm


3、配置網絡橋接,
進入目錄 /etc/sysconfig/network-scripts,復制一份原有的ifcfg-eth0 為 ifcfg-br0
cp ifcfg-eth0 ifcfg-br0
修改ifcfg-br0,內容如下:

DEVICE='br0'
BOOTPROTO=static
ONBOOT='yes'
TYPE='Bridge'
IPADDR=10.11.30.52
NETMASK=255.255.255.0
GATEWAY=10.11.30.1
DEFROUTE=yes

IPADDR、GATEWAY、NETMASK根據自己的實際情況修改。
修改 ifcfg-em1 內容如下:

DEVICE='em1'
BOOTPROTO=none
NM_CONTROLLED='no'
ONBOOT=yes
TYPE=Ethernet
BRIDGE='br0'
HWADDR=34:17:EB:F0:01:1F
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME='System em1'

重啟網絡服務即可。

/etc/init.d/network restart

如果出現問題,關閉 NetworkManager 后重試。

chkconfig NetworkManager off
service NetworkManager stop


4、啟動或重啟libvirtd服務和messagebus 服務

/etc/init.d/libvirtd start
/etc/init.d/messagebus restart

此時可以查看網絡接口列表
brctl show 結果如下:
bridge name bridge id STP enabled interfaces
br0 8000.000c2955a70a no eth0
virbr0 8000.52540014efd5 yes virbr0-nic



生成虛擬機流程(在物理機上執行)
1 安裝screen 工具

 yum install -y screen

2 生成qcow2 格式的鏡像文件

qemu-img create -f qcow2 /data/kvmimg/gzwtest01.qcow2 60G

3 在screen里面新開一個session

screen -S instSys

4 安裝一臺Windows虛擬機

virt-install --name=gzwtest01 --ram 4096 --vcpus=16 --autostart --hvm 
--disk path=/data/kvmimg/gzwtest01.qcow2,size=60,format=qcow2 
--cdrom /data/download/cn_windows_server_2012_r2_with_update_x64_dvd_6052725.iso 
--graphics vnc,listen=0.0.0.0,port=5902 
--network bridge=br0,model=e1000 --force --connect qemu:///system

name:虛擬機名稱
ram:內存,單位MB
vcpus:邏輯CPU數
autostart:隨母雞開機啟動而啟動,母雞開機,虛擬機也一起開機
hvm:完全虛擬化
model:指定網卡為千兆
disk path:鏡像文件位置
size:虛擬機磁盤大小,單位GB
format:鏡像文件格式
accelerate:
force:跳過所有交互提示,相當于yum install -y里的-y選項
cdrom:操作系統安裝文件路徑
graphics: 指定安裝通過哪種類型,可以是vnc,也可以沒有圖形,這里是VNC,如果是文本graphics none
listen:0.0.0.0表示偵聽所有來源地址,可以修改/etc/libvirt/qemu.conf
port:vnc端口號
vncport:VNC端口
network:指定網絡類型
bridge:宿主機的橋接網卡是br0
connect:連接到一個非默認的hypervisor


5 使用VNC軟件連接虛擬機進行系統安裝
VNC軟件名稱 vnc-4_1_2-x86_win32_viewer
10.11.30.53:5902
10.11.30.53:物理機的IP
5902:虛擬機對應端口


 

至此,一臺Windows的KVM虛擬機部署完畢

延伸閱讀:

Tag標簽: KVM安裝部署  
  • 專題推薦

About IT165 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
香港最快开奖现场直播结果