KVM安裝部署

KVM安裝部署

 

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

KVM是基於硬件的徹底虛擬化,跟vmware、xen、hyper-v是同一個級別的,並且已經內置在Linux內核python

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

一直以爲微軟的產品太封閉,以前一直用hyper-v,可配置項相比於KVM實在太少,並且KVM性能比hyper-v要好windows

 

KVM各個組件的關係centos

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

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

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

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

 

 

安裝流程ui

物理機部署流程

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

uname -a

b、CPU 支持虛擬化技術

egrep 'vmx|svm' /proc/cpuinfo

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


二、使用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

 


三、配置網絡橋接,
進入目錄 /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

 


四、啓動或重啓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虛擬機部署完畢

 

本文版權歸做者全部,未經做者贊成不得轉載。

相關文章
相關標籤/搜索