Lab 2: Virtual Technelogy: Libvirt

實驗描述

Libvirt is Open Source API,其目的就是在於提供user方便的去配置、新建、修改、監控、控制或者是遷移user' virtual machine,也就是一個管理虛擬機器的工具. Libvirt目前support的hypervisor有KVM/QEMU, Xen, LXC, OpenVZ, VirtualBOX, Microsoft Hyper-V, VMware等. 而目前利用Libvirt去開發應用軟體來管理虛擬機器的種類也很多,例如使用指令模式來管理的virsh, virt-image, virt-install等 或者使用圖形化介面管理的virt-manager, virt-viwer, 使用Web管理的AbiCloud, OVirt, 再底下我們會利用virsh指令模式和virt-manager圖形介面模式分別來對虛擬機器做管理.

實驗環境

理學大樓 1002 教室
Cloud-A01 ~ Cloud-D12
CPU AMD Phenom(tm) II X6 1065T Processor
Memory 8G
Disk spaces 500G、500G
O.S. Debian squeeze

理學大樓 821 機房
CSIE-Cloud01 ~ CSIE-Cloud06
CPU AMD Opteron(TM) Processor 6128 * 2
(total 16 cpu cores)
Memory 32G
Disk spaces 500G、500G、1T
O.S. Debian wheezy
CSIE-Cloud07、CSIE-Cloud08
CPU AMD Opteron(TM) Processor 6234 * 2
(total 24 cpu cores)
Memory 12G
Disk spaces 500G、500G、1T
O.S. Debian wheezy

安裝實作(Virsh)

  1. 安裝 Libvirt/Virsh 所需套件及準備工作.
  2. Virt-install with iso
  3. Virt-install with img
  4. Virtual Machine Network Configuration
  5. 讓虛擬機器能夠對外的溝通(Host端設定)
  6. 在虛擬機器上ping 8.8.8.8是否能對外連線
  7. 將剛剛的建立起來的virsh1關掉並刪除(Host端)
  8. sudo virsh destroy virsh1
    Domain virsh1 destroyed
    sudo virsh undefine virsh1
    Domain virsh1 has been undefined

安裝實作(Virt-Manager)

  1. 安裝virt-manager所需要的套件及準備工作
  2. 新增storage pool.
  3. 新增Network Interfaces
  4. 用 virt-manager 製作虛擬機器.
  5. 使用預先建置好的image來開啟虛擬機器
  6. Monitor and manage the remote host ( A:本機端 B:欲監控端 ).
  7. Live Migration.

Homework 2

  1. 利用Lab1實作的虛擬機器延續著實作Lab2
  2. 遠端登入網址
  3. 此次作業要同學們利用虛擬機器實作上課所教的virt-manager創建一個虛擬機器並 migration到server的電腦
    注意:記得將 創建虛擬機器的名稱和img的名稱改為[學號]-3 在做Migration
    提示:wget http://mirror.cs.nchu.edu.tw/virt-02.img -O /src3/virtIMG/[學號]-3.img
  4. clouda, cloudb的同學們 Migration到 140.120.16.81這台機器
  5. cloudc, cloudd的同學們 Migration到 140.120.16.82這台機器
    提示:scp /src3/virtIMG/[學號]-3.img cloud@140.120.16.8?:/src3/virtIMG/
    注意:Migration完成後 記得要將虛擬機器關機,助教會以 Migration過來的機器的名稱(學號)來評斷是否完成Homework2

References

  1. libvirt
  2. libvirt : Virtual Networking
  3. Virtual Machine Manager
  4. SSH 免密碼登入
  5. 使用 iptables 建置 Linux 防火牆