wiki:GTD_Cloud_One_arch

Version 3 (modified by rock, 15 years ago) (diff)

--

OpenNEbula 的運作架構

1. ONE 的 Daemon

  • 當 $ONE_LOCATION/bin/one start 時,會啟動 (1)OpenNebula daemon、(2)相關的 Drivers (Information driver, Virtualization driver & Transfer driver) 和 (3)Scheduler。


2. OpenNebula daemon

  • 功能:OpenNebula daemon (oned) 管理 host, vnet & vm
    • 設定檔為 $ONE_LOCATION/etc/oned.conf
      • 相關參數:
        1. HOST_MONITORING_INTERVAL: Time in seconds between host monitorization
        2. VM_POLLING_INTERVAL: Time in seconds between virtual machine monitorization
        3. VM_DIR: Remote path to store the VM images, it should be shared between all the cluster nodes to perform live migrations. This path will be used for all the cluster nodes.
        4. MAC_PREFIX: Default MAC prefix to generate virtual network MAC addresses
        5. NETWORK_SIZE: Default size for virtual networks
        6. PORT: Port where oned will listen for xml-rpc calls
        7. DEBUG_LEVEL: Sets the level of verbosity of $ONE_LOCATION/var/oned.log log file.
          (0 -> ERROR, 1 -> WARNING, 2 ->INFO, 3 -> DEBUG)
    • 範例:
      HOST_MONITORING_INTERVAL = 10
      VM_POLLING_INTERVAL      = 10
      
      VM_DIR       = /local/images
      
      MAC_PREFIX   = "00:01"
      NETWORK_SIZE = 254
      
      PORT         =  2633
      DEBUG_LEVEL  = 3
      


3. Information Driver

  • 功能:從 Clustre node 去收集資訊,相依選擇的 Virtualizer
  • Information Driver 配置
  • IM 的 File:
    1. $ONE_LOCATION/lib/mads/one_im_ssh : shell script wrapper to the driver itself. Sets the environment and other bootstrap tasks.
    2. $ONE_LOCATION/lib/mads/one_im_ssh.rb : The actual Information driver.
    3. $ONE_LOCATION/lib/im_probes/* : sensors home. Little scripts or binaries that extract information from the remote hosts. Let's see a simple one to understand how they work:
  • 適用於 Xen 的 IM File:
    1. $ONE_LOCATION/etc/im_xen/im_xenrc : environment setup and bootstrap instructions
    2. $ONE_LOCATION/etc/im_xen/im_xen.conf : This file defines the REMOTE_DIR and which sensors will be used
    3. $ONE_LOCATION/lib/im_probes/xen.rb : xen specific sensor.
  • 範例 (適用於 Xen)
    IM_MAD = [
        name       = "im_xen",
        executable = "bin/one_im_ssh",
        arguments  = "im_xen/im_xen.conf",
        default    = "im_xen/im_xen.conf" ]
    

4. Transfer Driver

  • 功能:傳輸、複製、回復和開啟 VM 印象檔
  • 範例檔:
    TM_MAD = [
        name       = "tm_ssh",
        executable = "one_tm",
        arguments  = "tm_ssh/tm_ssh.conf",
        default    = "tm_ssh/tm_ssh.conf" ]
    


4. Virtualization Driver

  • 功能:開啟、控制和監控 VMs 在 Cluster nodes
  • Xen Driver 的配置
  • 範例檔:
    VM_MAD = [
        name       = "vmm_xen",
        executable = "one_vmm_xen",
        default    = "vmm_xen/vmm_xen.conf",
        type       = "xen" ]   
    

Attachments (2)

Download all attachments as: .zip