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

實習機器
CSIE-Student*、CSIE-Work*
CPU AMD Opteron(TM) Processor 6128
(total 4 cpu cores)
Memory 4G
Disk spaces 40G
O.S. Debian wheezy

安裝實作(Virsh)

  1. 安裝 Libvirt/Virsh 所需套件及準備工作.
  2. 安裝 Libvsudo aptitude install libvirt-bin virtinst xtightvncviewer virt-viewerirt 套件
    sudo aptitude update
    sudo aptitude install libvirt-bin virtinst xtightvncviewer virt-viewer

  3. 將帳號加入 libvirt 群組後重新登入
    sudo adduser cloud libvirt
    Adding user `cloud' to group `libvirt' ... Adding user cloud to group libvirt Done.
  4. 新增目錄 virsh 用來存放 image 檔.
    sudo mkdir /src3/virsh; cd /src3/virsh
    sudo chown cloud:cloud /src3/virsh
    qemu-img create -f qcow2 virsh-01.img 2G
    Formatting 'Virsh-01.img', fmt=qcow2 size=2147483648 encryption=off cluster_size=65536

  5. Virt-install with iso
  6. Virt-install with img
  7. Virtual Machine Network Configuration
  8. 讓虛擬機器能夠對外的溝通(Host端設定)

安裝實作(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.

References

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