KVM虛擬機簡介 ios
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。 vim
安裝kvm 配置:api
第1、看看cpu是否支持kvm 服務器
[root@localhost ~]# egrep '(vmx|svm)' ‐‐color=always /proc/cpuinfo ide
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nxrdtscp lm constant_tsc nonstop_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm 工具
[root@localhost ~]# grep ‐E ‐o 'vmx|svm' /proc/cpuinfo #-E指支持正則表達式查詢,-o只顯示oop
匹配到的選項。ui
vmx spa
第二步:安裝kvm 所須要的軟件包
1.yum install kvm kmod‐kvm qemu kvm‐qemu‐img virt‐viewer virt‐manager
或者 yum groupinstall KVM
2.安裝完確認一下是否安裝成功檢查模塊是否有加載
[root@localhost ~]# lsmod | grep kvm
kvm_intel 85256 0
kvm 224928 2 ksm,kvm_intel
也可使用命令檢查KVM是否成功安裝
virsh ‐c qemu:///system list
將會顯示以下結果:
[root@localhost ~]# virsh ‐c qemu:///system list
Id Name State
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
若是在這裏顯示的是一個錯誤的信息,說明有些東西出現了問題。
3.安裝橋接管理工具
yum install bridge‐utils tunctl
4 安裝gui管理工具yum install virt‐manager virt‐viewer.
5.修改網卡文件
[root@localhost ~]#cd /etc/sysconfig/network‐scripts/
[root@localhost network-scripts]#cp ifcfg‐eth0 ifcfg‐br0
[root@localhost network-scripts]#vim ifcfg‐eth0
以下:
# Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet
DEVICE=eth0
#BOOTPROTO=none
HWADDR=84:2b:2b:6e:20:d5
ONBOOT=yes
#NETMASK=255.255.255.0
#IPADDR=192.168.1.187
#GATEWAY=192.168.1.1
TYPE=Ethernet
BRIDGE=br0
[root@localhost network-scripts]#vim ifcfg‐br0
以下:
# Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet
DEVICE=br0
BOOTPROTO=static
HWADDR=84:2b:2b:6e:20:d5
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.1.187
TYPE=Bridge
保存網卡配置 從新啓動網卡
[root@localhost network-scripts]#service network restart
檢查br0 是否成功
[root@localhost network-scripts]# ifconfig
br0 Link encap:Ethernet HWaddr 84:2B:2B:6E:20:D5
inet addr:192.168.1.187 Bcast:192.168.1.255
Mask:255.255.255.0
eth0 Link encap:Ethernet HWaddr 84:2B:2B:6E:20:D4
inet addr:117.79.238.187 Bcast:117.79.238.191 Mask:255.255.255.224
eth1 Link encap:Ethernet HWaddr 84:2B:2B:6E:20:D5
inet6 addr: fe80::862b:2bff:fe6e:20d5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
vnet0 Link encap:Ethernet HWaddr FE:52:00:3E:41:04
inet6 addr: fe80::fc52:ff:fe3e:4104/64 Scope:Link
中間碰到的問題:
一、[root@benjr ~]# virt‐manager
在一開始會看到錯誤信息,跳過。系統預設值爲xen的hypervisor,須要手動開啓kvm的Hypervisor
Unable to open a connection to the Xen hypervisor/daemon
Verify that:
‐ A Xen host kernel was booted
‐ The Xen service has been started.
這個不用管 直接跳過 其中的緣由不明
二、內核不能加載kvm模塊
FATAL: Error inserting kvm_amd (/lib/modules/2.6.18‐194.el5/weak‐updates/kmod‐kvm/kvm‐amd.ko): Unknown symbol in module, or unknown parameter (see dmesg)
解決辦法:
查看是不是由於bios中關閉了cpu的虛擬化支持 (若是開啓 果斷下一步)
yum update kernel 果斷升級內核,重啓服務器 解決
lsmod | grep kvm (重啓完我偷着樂 !!!)
[root@localhost ~]# lsmod | grep kvm
kvm_intel 85256 1
kvm 224928 2 ksm,kvm_intel
modprobe kvm (加載kvm模塊)
kvm 安裝虛擬機
圖像化安裝
1.應用程序‐‐à系統工具‐‐à虛擬化管理(或者命令調出 virt‐manger)
直接圖形化操做跟vm workstation 差很少
a.新建虛擬機,選擇 new
b.虛擬機命名(最好命名一個跟相關應用有關的)
c.選擇cpu 支持的位數和 hypervisor 模式
d.選擇安裝系統的方式和系統
e.選擇iso文件所在位置
f.p_w_picpath存儲的位置和p_w_picpath 的大小(如有單獨的虛擬化分區,能夠選擇第一項,我默認)
g.選擇網卡模式 (橋接模式)
h.設置內存大小 和cpu的個數
i.配置完成,虛擬全部信息
系統就不用再寫了,太墨跡了
2.字符命令建立kvm 虛擬機(懶人沒看。直接用的圖像化配置)
3.Kvm虛擬機上網
一、開啓宿主機的路由轉發功能:
echo 1 > /proc/sys/net/ipv4/ip_forward 或者直接在 /etc/sysctl.conf 中添加 修改 net.ipv4.ip_forward = 1
二、配置宿主機iptables NAT
/sbin/iptables ‐t nat ‐A POSTROUTING ‐s 192.168.1.0/24 ‐j MASQUERADE
/sbin/iptables –t nat –A POSTROUTING –s 192.168.1.0/24 ‐o eth0 ‐j SNAT ‐‐to 117.79.238.187
/sbin/iptables save
三、配置虛擬機,設置網卡
到此配置完畢!~~~