KVM安裝部署


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

 

查看kvm內核模塊是否加載成功

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虛擬機部署完畢

 

本文版權歸作者所有,未經作者同意不得轉載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM