1,379 瀏覽數

KVM – Virtual machine 設定檔

KVM  Virtual machine 設定檔使用的是 XML 檔案格式.建立好的 Virtual Machine 設定檔置放於 /etc/libvirt/qemu.先來看看設定檔的內容.

    <domain type='kvm'>
      <name>RHEL5</name>
      <uuid>d00cfc2e-12e1-6363-63fc-ba565b71d6d9</uuid>
      <memory>524288</memory>
      <currentMemory>524288</currentMemory>
      <vcpu>1</vcpu>
    
  • name
    這就是 virtual Machine 的名稱,虛擬化的環境下其 virtual Machine 名稱必須為唯一的.與設定檔相同的名稱.
  • uuid
    通用唯一識別碼(Universally Unique Identifier,UUID),系統會指定一個唯一的 uuid 來給每一台 virtual Machine.
  • maxmem
    通常我們在指定記憶體大小給 virtual Machine 時可以先指定多一點,但是多指定的時候並不會真的使用到這麼多,先指定的優點是系統可以線上直接增加 virtual Machine 記憶體大小.
  • currentMemory
    目前 virtual Machine 所真正使用的記體的多寡.
  • vcpus
    在 virtual Machine 所使用的邏輯 CPU 數目.
  •  <os>
        <type arch='x86_64' machine='pc'>hvm</type>
        <boot dev='hd'/>
      </os>
      <features>
        <acpi/>
        <apic/>
        <pae/>
      </features>
    
  • acpi
    Advanced Configuration and Power Interface (ACPI) 進階的電源管理系統
  • APIC
    Advanced Programmable Interrupt Controller (APIC) 進階的 IRQ 管理器
  • PAE
    hysical Address Extension (PAE) 讓 32bit 的 virtual machine 支援大於 4GB 以上的記憶體.
  •   <clock offset='utc'/>
      <on_poweroff>destroy</on_poweroff>
      <on_reboot>restart</on_reboot>
      <on_crash>restart</on_crash>
    
  • clock offset
    是否將 RTC(real-time clock) 設成 utc 時間.
  • on_poweroff / on_reboot / on_crash
    當系統在 poweroff / on_reboot / on_crash VM 所對應的動作為何,系統在 poweroff 是做 destory 其實也就是 poweroff 主要是將 VM 的記憶體肆放並將硬碟資料確切寫回,而 reboot/crash 則是將 VM 重新開機.
  •   <devices>
        <emulator>/usr/libexec/qemu-kvm</emulator>
        <disk type='block' device='disk'>
          <source dev='/dev/VolGroup01/rhel5'/>
          <target dev='hda' bus='ide'/>
        </disk>
        <disk type='file' device='cdrom'>
          <target dev='hdc' bus='ide'/>
          <readonly/>
        </disk>
    
  • emulator
    還記得主要構成 Linux 虛擬化的最重要的兩個元件(components) qemu + kvm ,其實也就是 kqemu,主要的周邊裝置都是透過他來模擬的.
  • disk type
    虛擬的 virtual Machine 所使用的硬碟或是光碟裝置可以為指向實體或是使用 image 的方式.
    1.硬碟 (device='disk') 可為實體 partition (/dev/VolGroup01/rhel5) 也可以為 image 的方式.
    block 為實體的 partition ,file 則指定為 image 的方式.
    2.光碟裝置 (device='cdrom') 可為實體裝置或是 image 還必須指定裝置為唯讀 <readonly/>.
    <target> 表示在 virtual machine 中這些硬碟光碟裝置所呈現出來的 方式.
  •   <interface type='network'>
          <mac address='54:52:00:75:98:d3'/>
          <source bridge='default'/>
        </interface>
        <interface type='bridge'>
          <mac address='54:52:00:75:98:d3'/>
          <source bridge='bri0'/>
        </interface>
    
  • interface type
    interface type 有兩種 . 1.Virtual network (type=network) 透過 NAT+ DHCP 來轉送封包 2.Shared physical device(type=bridge) 使用 bridge 的方式傳送封包,詳細請參考 http://benjr.tw/?q=node/537
  •     <serial type='pty'>
          <target port='0'/>
        </serial>
        <console type='pty'>
          <target port='0'/>
        </console>
        <input type='mouse' bus='ps2'/>
        <graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/>
      </devices>
    </domain>
    
  • keymap
  • 選擇我們用的鍵盤是哪種格式,通常我們使用的是 US keymap.

  • serial
  • 序列終端裝置 serial console 的選擇有兩種 pty(Pseduo Tty) 或是 vc(Virtual console)

發表迴響