[[PageOutline]] {{{ #!html

Haizea

}}} ---- = 【1.Haizea介紹】 = * '''簡介:'''是一個開放原始碼的'''''以VM為基之租約管理架構'''''(virtual machine-based lease management architecture) * 資源管理者(排程管理者) * 使用租約機制 * VM-based * 開放原始碼 [[Image(what_haizea_does.png,width=500px)]] * '''用途:'''(有兩種使用方式) 1. 獨立使用,通常用做 simulation 2. 作為 OpenNEbula 的後端排程 * '''特色:''' * 租約特色: * lease必須能平行處理 * Best-effort 租約 - 將會使用queue等待,直到有資源可使用 * Advance reservation (AR) 租約 - 可以預定於未來某一段時間執行 * Immediate 租約 * 演算法特色: * 明確地排程VM部署時所需的相關程序,而不需使用者來做分配 * 利用 suspend/resume (當有更高權限的租約時,會將較低權限的VM suspend,再 migration 到其他台機器,再resume,也可使用 live-migration) * best-effort requests 使用先到先處理 queue with backfilling (aggressive, conservative, or with any number of reservations). ---- = 【2.架構】 = [[Image(architecture.png,width=300px)]] * 架構分為三層: 1. '''Request Frontend''' - 接受需求的地方,可接受(1)OpenNEbula的要求 (2)直接從命令列來的要求 (3)檔案tracefile的要求(有 SWF 格式或是 Haizea專用的 LWF 格式) 2. '''Scheduling Core''' - requests 被處理和排程的地方 3. '''Enactment Modules''' - 真正執行排程後後動作的地方,Haizea可以管理 Xen 和 KVM 的叢集(藉著 OpenNEbula)(VMware 再將來也會支持),或是模擬的叢集 ---- = 【3.安裝】 = || 測試平台的 OS 為 Debian 5.03 (AMD64) || * 相依性套件 {{{ # sudo aptitude install python2.5 python-egenix-mxdatetime python-mako }}} * python-psyco 只支援 i386 的處理器 * 安裝 {{{ # wget http://haizea.cs.uchicago.edu/downloads/haizea-1.0.tar.gz # tar zxvf haizea-1.0.tar.gz # cd haizea-1.0 # sudo python setup.py install }}} * 若是您沒有 root 權限,也可以指定安裝再自己的家目錄 {{{ # python setup.py install --home=$HOME }}} * 若看到以下訊息則表示安裝成功 {{{ #!sh creating /usr/share/haizea/traces/multi copying traces/multi/inj1.lwf -> /usr/share/haizea/traces/multi copying traces/multi/inj2.lwf -> /usr/share/haizea/traces/multi copying traces/multi/withprematureend.lwf -> /usr/share/haizea/traces/multi copying traces/multi/withoutprematureend.lwf -> /usr/share/haizea/traces/multi running install_egg_info Writing /usr/lib/python2.5/site-packages/haizea-XXX.egg-info }}} * 測試 (使用提供的範本來測試執行,此範本會 simulate 沒有需求的排程 {{{ # sudo haizea -c /usr/share/haizea/etc/sample_trace.conf [2006-11-25 13:00:00.00] RM Starting resource manager [2006-11-25 13:00:00.00] TFILE Loading tracefile /usr/share/haizea/traces/sample.lwf [2006-11-25 13:00:00.00] TFILE Loaded workload with 0 requests () [2006-11-25 13:00:00.00] CLOCK Starting simulated clock [2006-11-25 13:00:00.00] CLOCK Simulated clock has stopped [2006-11-25 13:00:00.00] RM Stopping resource manager gracefully... [2006-11-25 13:00:00.00] RM --- Haizea status summary --- [2006-11-25 13:00:00.00] RM Number of leases (not including completed): 0 [2006-11-25 13:00:00.00] RM Completed leases: 0 [2006-11-25 13:00:00.00] RM ---- End summary ---- }}} * 檔案路徑 (預設會放於 /usr/share/haizea) [[Image(Haizea_files.png,width=400px)]] ---- = 【4.使用】 = || Haizea 的使用可以細分為三種模式:|| 1. [wiki:Haizea_sim Unattended simulated mode] 2. [wiki:Haizea_int Interactive simulated mode] 3. [wiki:Haizea_ONE OpenNebula mode] ---- = 【參考】 = * [http://haizea.cs.uchicago.edu/ Haizea] [[BR]]