Linux命令:KVM虛擬機器簡介
KVM虛擬機器簡介
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。
安裝kvm 配置:
第一、看看cpu是否支援kvm
[[email protected] ~]# egrep '(vmx|svm)' ‐‐color=always /proc/cpuinfo
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
[[email protected] ~]# grep ‐E ‐o 'vmx|svm' /proc/cpuinfo #-E指支援正則表示式查詢,-o只顯示
匹配到的選項。
vmx
第二步:安裝kvm 所需要的軟體包
1.yum install kvm kmod‐kvm qemu kvm‐qemu‐img virt‐viewer virt‐manager
或者 yum groupinstall KVM
2.安裝完確認一下是否安裝成功檢查模組是否有載入
[[email protected] ~]# lsmod | grep kvm
kvm_intel 85256 0
kvm 224928 2 ksm,kvm_intel
也可以使用命令檢查KVM是否成功安裝
virsh ‐c qemu:///system list
將會顯示如下結果:
[[email protected] ~]# virsh ‐c qemu:///system list
Id Name State
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
如果在這裡顯示的是一個錯誤的資訊,說明有些東西出現了問題。
3.安裝橋接管理工具
yum install bridge‐utils tunctl
4 安裝gui管理工具yum install virt‐manager virt‐viewer.
5.修改網絡卡檔案
[[email protected] ~]#cd /etc/sysconfig/network‐scripts/
[[email protected] network-scripts]#cp ifcfg‐eth0 ifcfg‐br0
[[email protected]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
[[email protected]network-scripts]#vimifcfg‐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
儲存網絡卡配置 重新啟動網絡卡
[[email protected]network-scripts]#service network restart
檢查br0 是否成功
[[email protected]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
中間碰到的問題:
1、[[email protected] ~]# 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.
這個不用管 直接跳過 其中的原因不明
2、核心不能載入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 (重啟完我偷著樂 !!!)
[[email protected] ~]# 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虛擬機器上網
1、開啟宿主機的路由轉發功能:
echo 1 > /proc/sys/net/ipv4/ip_forward 或者直接在 /etc/sysctl.conf 中新增 修改 net.ipv4.ip_forward = 1
2、配置宿主機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
3、配置虛擬機器,設定網絡卡
到此配置完畢!~~~
轉載於:https://blog.51cto.com/woyaoxuelinux/1968351