何謂 KVM,這裡指的 KVM 不是一般在機房內切換螢幕、鍵盤的 KVM ~ 而是虛擬機 Kernel-based Virtual Machine

就之前所了解的資訊,早期在 Linux 上跑的虛擬平台大多都是用 XEN,而現在許多 Linux 版本預設都改投入 KVM 的懷抱

最近主任交代研究一下 KVM 這個東西能不能運用在我們的機房,因此寫一篇 KVM 安裝的教學記一下

1. 前置系統檢查

首先我們先要看 CPU 是否有支援虛擬化

# egrep -c '(vmx|svm)' /proc/cpuinfo
2

如果算出來的數字大於 0 的話,就表示有支援了,不過還是記得要去 BIOS 裡確認是否有 Enable CPU Virtualization 的功能喔

接下來我們檢查一下是否支援 KVM,若沒有先安裝 cpu-checker 的話就會出現這些,就裝下去吧

# kvm-ok
程式 'kvm-ok' 目前尚未安裝。  您可以由輸入以下內容安裝:
apt-get install cpu-checker
# apt-get install cpu-checker
# ( 安裝略 ... )

再執行一次看看

# kvm-ok
INFO: /dev/kvm does not exist
HINT:   sudo modprobe kvm_intel
INFO: Your CPU supports KVM extensions
KVM acceleration can be used

有看到上述標紅色的那一行就表示 OK 啦 ! 可是如果看到下面這個,還是可以跑 VM,但就是會很慢

INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used

2. 正式安裝相關套件

首先不多說,就是安裝 KVM 下去

# apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder

好了之後可以檢查 KVM 是否有啟動了,還有它所載入的 Module 為何

# lsmod | grep kvm

kvm_intel              56851  0
kvm                   367707  1 kvm_intel

檢查 KVM 有載入哪些 Module

# modprobe -l | grep kvm
kernel/arch/x86/kvm/kvm.ko
kernel/arch/x86/kvm/kvm-intel.ko
kernel/arch/x86/kvm/kvm-amd.ko

檢查我們的硬體規格

# virsh nodeinfo
處理器類型:   x86_64
處理器數目:   2
處理器的頻率: 800 MHz
處理器的插槽: 1
每個插槽的核心: 2
每個核心的執行續: 1
NUMA cell:         1
記憶體大小:   4058760 kB

因為我裝的版本是 ubuntu desktop 64 位元版,所以用圖形化的介面來操作

因此來安裝一個比較視覺化的管理軟體,方便未來管理

# apt-get install virt-manager

裝好之後應該會在「應用程式」->「系統工具」看到一個「虛擬機器管理員」

3. 網路設定

接下來要來搞定網路這一塊,首先我們要弄出一張虛擬網卡讓它可以橋接原本的 eth0 出去,到時裡面的 VM 網路才會通

首先網路卡給停掉 ( 這裡的 vim 是我另外裝的,預設是沒有的 )

# invoke-rc.d networking stop
# vim /etc/network/interfaces

如果你的網路環境是手動設定 IP 的話,請參考這個設定

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.0.105
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

如果你的網路環境是 DHCP 的話,請參考這個設定

auto lo
iface lo inet loopback

auth eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

上面這些動作作完就重開機吧!等會兒就可以享受 KVM 囉 : )

最後補一張我在 Ubuntu KVM 裡正在裝 FreeBSD 的圖

【參考資料】

The Kernel Virtual Machine - Community Ubuntu Documentation

arrow
arrow
    全站熱搜

    Bojack 發表在 痞客邦 留言(2) 人氣()