Version 4 (modified by rock, 16 years ago) (diff) |
---|
OpenNEbula 的運作架構
0. OpenNEbula 的 Daemon
- 當 $ONE_LOCATION/bin/one start 時,會啟動 (1)OpenNebula daemon、(2)相關的 Drivers (Information driver, Virtualization driver & Transfer driver) 和 (3)Scheduler。
- Drivers 彼此都是獨立的 process,透過 internal ASCII protocol 與 OpenNEbla core 溝通,在 load driver 前會啟動兩個 Run Command (RC) 來獲得境變數,這兩個 RC file為:
- $ONE_LOCATION/etc/mad/defaultrc
- Driver 各自的特定的檔案
1. OpenNebula daemon
- 功能:OpenNebula daemon (oned) 管理 host, vnet & vm
- 設定檔為 $ONE_LOCATION/etc/oned.conf
- 相關參數:
- HOST_MONITORING_INTERVAL: Time in seconds between host monitorization
- VM_POLLING_INTERVAL: Time in seconds between virtual machine monitorization
- 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.
- MAC_PREFIX: Default MAC prefix to generate virtual network MAC addresses
- NETWORK_SIZE: Default size for virtual networks
- PORT: Port where oned will listen for xml-rpc calls
- 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
- 設定檔為 $ONE_LOCATION/etc/oned.conf
2. Information Driver
- 功能:從 Clustre node 去收集資訊,相依選擇的 Virtualizer
- Information Driver 配置
- IM 的 File:
- $ONE_LOCATION/lib/mads/one_im_ssh : shell script wrapper to the driver itself. Sets the environment and other bootstrap tasks.
- $ONE_LOCATION/lib/mads/one_im_ssh.rb : The actual Information driver.
- $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:
- $ONE_LOCATION/etc/im_xen/im_xenrc : environment setup and bootstrap instructions
- $ONE_LOCATION/etc/im_xen/im_xen.conf : This file defines the REMOTE_DIR and which sensors will be used
- $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" ]
3. 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" ]
4. Scheduler
- 功能:分配 pending VM 到 Host,他是獨立的 process
- match making scheduler (mm_sched) 實作 Rank Scheduling Policy.
Attachments (2)
- oper.png (68.7 KB) - added by rock 16 years ago.
- arch.png (34.0 KB) - added by rock 16 years ago.
Download all attachments as: .zip