zoukankan      html  css  js  c++  java
  • Ubuntu下安装KVM

    安裝(Installation)

    這裡以 Ubuntu Linux 10.04 為例,安裝 KVM。

    首先安裝 KVM 相關的基本套件:

     
    • libvirt-bin:提供 libvirtd,用來管理 qemu 與 kvm。
    • qemu-kvm:主要的虛擬引擎。
    • ubuntu-vm-builder:強大的虛擬機器製作工具。
    • bridge-utils:用來建立虛擬機器使用的 bridge。


    用 apt 安裝:
    sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

    另外亦可安裝 virt-viewer 用來觀看虛擬機器:
    sudo apt-get install virt-viewer

    在安裝完成後,系統會自動將您的 username 加入 libvirtd 群組,在這個群組中的使用者才能夠使用 KVM,想要讓設定生效的話,您必須先登出後,再重新登入。另外,系統也會多新增一個 kvm 群組,不過一般的使用者不需要加入這個群組,所以不用管它。

    重新登入後,首先檢查安裝是否正確,執行:
    virsh -c qemu:///system list
    若是看到

    Id Name State
    ----------------------------------

    就表示沒問題了,若是看到這樣:

    libvir: Remote error : Permission denied
    error: failed to connect to the hypervisor

    就表示安裝的過程有問題,請先檢查上面的安裝過程有沒有出錯,或是您忘記要登出後在重新登入。

    另外,檢查 sock 檔的權限:
    sudo ls -la /var/run/libvirt/libvirt-sock
    應該要像這樣

    srwxrwx--- 1 root libvirtd 0 2012-02-04 13:38 /var/run/libvirt/libvirt-sock

    這樣就沒問題了。

    另外,若是使用 Ubuntu Desktop 版本,也可以再安裝圖形界面的管理程式:
    sudo apt-get install virt-manager

    網路設定(Networking)

    接著設定 KVM 用的網路,一般來說網路的設定分為兩種:

    • Usermode Networking:虛擬機器透過 NAT 的方式連上網路,這是預設的設定。
    • Bridged Networking:透過 bridge 方式連上網路,這樣外面的機器也可以直接連進這個虛擬機器,這樣就可以提供網路服務,例如架網站。


    若使用 Usermode Networking,預設虛擬機器可以從 192.168.122.0/24 獲取 IP 位址,而真實機器的 IP 位址則是 192.168.122.1,若是要傳輸檔案則可以使用 scp 的方式互傳。若您想要使用 Usermode Networking 方式,就不需要任何額外的設定,直接跳過這裡。

    Bridged Networking 方式可以透過實體的網路卡連上網路,讓外界的使用者可以接連進虛擬機器,這裡因為筆者用不到,所以暫時就不研究了。

    在這裡筆者希望將虛擬機器鎖在內部,只允許對內的連線,因此要將預設的網路設定稍微修改一下,首先看一下目前的設定:
    virsh net-list
    輸出為

    Name State Autostart
    -----------------------------------------
    default active yes

    目前的網路設定預設是 default 這個設定,我們就直接修改它就?ㄌㄜ好了好 好了,首先把設定檔倒出來:
    virsh net-dumpxml default > default.xml
    這個內容應該像這樣:
    <network>
    <name>default</name>
    <uuid>45f1405b-791a-06e4-d8e8-8bcfffc4c90f</uuid>
    <forward mode='nat'/>
    <bridge name='virbr0' stp='on' delay='0' />
    <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
    <range start='192.168.122.2' end='192.168.122.254' />
    </dhcp>
    </ip>
    </network>

    其中預設的 <forward mode='nat'/> 是將網路設定為 NAT 模式,在這個模式下,虛擬機器上面的封包會自動透過 ip forward 連到外面,但這不是筆者需要的,所以就直接把這行拿掉,這樣這個虛擬機器就只能跟 host 連線而已。

    接著在將編輯好的設定餵回給 virsh:
    virsh define default.xml
    這樣就完成設定了。接著將這個 default 設定設為自動啓動,並啟動這個 default 設定:
    virsh net-autostart default
    virsh net-start default


    上面這樣把設定檔 dump 出來的修改方式其實可以用一個指令代替:
    virsh net-edit default
    不過這樣的編輯方式預設是使用 vi 編輯器,如果您不會 vi 又想要使用這樣的方式,也可以更改 EDITOR 環境變數來指定您慣用的編輯器。

    建立虛擬機器(Create Virtual Machine)

    要建立虛擬機器就使用 vmbuilder 這個工具就行了,他的選項很多,一開始可以先列出所有的選項看看有哪些東西可以用:
    vmbuilder kvm ubuntu --help

    很多選項都是會因為個人的情況不同而要做調整,首先進到放置 image 的目錄:
    cd /var/lib/libvirt/images

    然後建立虛擬機器:
    vmbuilder kvm ubuntu
    --domain=kvm
    --dest=vm01
    --arch=amd64
    --hostname=vm01
    --mem=8192
    --cpus=16
    --user=seal
    --pass=my_pass
    --ip=192.168.122.10
    --mask=255.255.255.0
    --net=192.168.122.0
    --bcast=192.168.122.255
    --gw=192.168.122.1
    --iso=/home/seal/LinuxISO/ubuntu-10.04.3-server-amd64.iso
    --suite=lucid
    --components='main,universe,restricted'
    --addpkg=acpid
    --addpkg=vim
    --addpkg=build-essential
    --addpkg=openssh-server
    --addpkg=avahi-daemon
    --libvirt=qemu:///system

  • 相关阅读:
    ubuntu安装Theano+cuda
    Deep Learning 学习笔记(9):主成分分析( PCA )与 白化( whitening )
    php 基础知识
    php 常用函数
    mysql 学习碎片
    Linux 学习碎片
    php 碎片笔记
    网络资源收集
    php 设计模式
    php 图片添加文字水印 以及 图片合成(微信快码传播)
  • 原文地址:https://www.cnblogs.com/wizzhangquan/p/4442232.html
Copyright © 2011-2022 走看看