[[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等待,直到有資源可使用
* 進階預定租約 - 可以再未來某一段時間執行
* 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]]