開源 IaaS 軟件,ZStack v0.9 發布
ZStack 0.9 版本今天發布,歡迎大家測試試用。在這個版本里,ZStack 新加了兩大重量級的功能:
支持分布式存儲 Ceph
從0.9版本開始,ZStack正式支持Ceph作為主存儲和備份存儲的設備。為了最大化的利用Ceph存儲的高級能力,在一個Zone內,用戶需要使用一個Ceph Cluster同時作為主存儲和備份存儲。這樣做的好處是,避免了用戶在創建新的云主機、備份Volume等操作時,主存儲和備份存儲之間不必要的數據拷貝,所有的數據操作都是通過COW(copy on write)來實現的。
ZStack和Ceph之間的交互是通過部署在Ceph Mon服務器上的Agent來完成的。用戶可以動態的添加或刪除Ceph的Mon服務器。
Ceph 備份存儲
Ceph 備份存儲只能和Ceph主存儲配合使用
使用Ceph的一個主要的好處是因為Ceph支持COW,所以在ZStack中,如果使用了Ceph的備份存儲,那么主存儲也必須是同一個Ceph。 由于Ceph備份存儲和主存儲都使用相同的Ceph cluster,所以用戶不能把一個Ceph的備份存儲掛載到多個ZStack的Zones上。 最好的使用方法是每一個Zone使用獨立的Ceph cluster作為同一套主存儲和備份存儲。 換句話說,當ZStack的Zone僅僅掛載了Ceph作為備份存儲的時候,你不能再使用NFS、本地存儲以及ISCSI作為該Zone的主存儲。 當一個Zone同時掛載Ceph備份存儲和SFTP備份存儲的時候,可以混用多種主存儲類型。但是需要特別注意的是, 如果云主機的鏡像文件只存在于Ceph備份存儲的時候,該云主機只能在Ceph主存儲上創建成功。 假設創建云主機時選擇的L3網絡所在的Cluster上沒有掛載Ceph主存儲,但是該云主機的鏡像文件只存在在Ceph備份存儲 上,那么創建云主機將會發生找不到合適主存儲的失敗。
從UI添加Ceph備份存儲
-
選擇類型 'Ceph'
-
輸入Ceph mon server的 IP/hostname
-
輸入Ceph mon server的 SSH 用戶名
-
輸入Ceph mon server的 SSH 密碼
-
點擊 'Add'
-
重復步驟 3 ~ 5 來添加其他的Ceph Mon服務器
-
點擊 'Next'
通過CLI添加Ceph備份存儲
你可以使用 AddCephBackupStorage 來添加 Ceph 備份存儲. 例如:
>>>AddCephBackupStorage name=ceph monUrls=root:密碼@192.168.0.123,root:password@192.168.0.124,root:password@192.168.0.125
monUrls 是一個字符串列表,每一個Mon服務器的信息通過逗號來分割,每一個Mon服務器的信息遵從如下的格式:
ssh_用戶名:ssh_密碼@mon_server_ip:[ssh_port][/?monPort=ceph_mon_port]
ssh_用戶名, ssh_密碼, mon_server_ip 是必須的內容,而ssh_port 和 ceph_mon_port是選填的。ceph_mon_port 是Ceph Mon服務器的端口,默認值為6789. 一個完整的monUrl的例子是:root:password@192.168.0.123:22/?monPort=6789.
指定 pool
AddCephBackupStorage 有一個特別的參數poolName。通過它,用戶可以指定一個存在的Ceph Pool。 當用戶指定一個pool的名字的時候,ZStack會使用這個pool。當這個pool不存在的時候,ZStack將會報告一個添加失敗的錯誤。 當用戶不指定特別的pool名字的時候,ZStack會自動創建一個新的pool。 你可以利用這個功能預先創建一個合適的pool。
動態添加Mon服務器
在添加了Ceph備份存儲后,用戶還可以給該備份存儲添加新的Ceph Mon服務器:
>>>AddMonToCephBackupStorage uuid=d914841733fa499c9dc6d63ea339469d monUrls=root:password@192.168.0.123,root:password@192.168.0.124,root:password@192.168.0.125
動態刪除Mon服務器
你還可以使用 RemoveMonFromCephBackupStorage 來刪除一個Ceph Mon服務器。
>>>RemoveMonFromCephBackupStorage uuid=d914841733fa499c9dc6d63ea339469d monHostnames=192.168.0.123,192.168.0.124
monHostnames 是一個通過逗號分割的字符串列表,里面是Mon的IP地址。
查詢Ceph備份存儲
使用QueryCephBackupStorage可以查詢所有Ceph備份存儲的詳情:
Ceph主存儲
Ceph主存儲既可以和Ceph備份存儲協同工作,也可以使用SFTP備份存儲。
通過UI添加
-
選擇類型 'Ceph'
-
輸入Ceph mon server的IP/hostname
-
輸入Ceph mon server的SSH 用戶名
-
輸入Ceph mon server的SSH 密碼
-
點擊 'Add'
-
重復步驟 3 ~ 5 來添加其他的Ceph Mon服務器
-
點擊 'Next'
Add through CLI
你可以使用 AddCephPrimaryStorage 來添加一個 Ceph 主存儲。 例如::
>>>AddCephPrimaryStorage name=ceph zoneUuid=d914841733fa499c9dc6d63ea339469d monUrls=root:password@192.168.0.123,root:password@192.168.0.124,root:password@192.168.0.125
monUrls 是一個字符串列表,每一個Mon服務器的信息通過逗號來分割,每一個Mon服務器的信息遵從如下的格式:
ssh_用戶名:ssh_密碼@mon_server_ip:[ssh_port][/?monPort=ceph_mon_port]
ssh_用戶名, ssh_密碼, mon_server_ip 是必須的內容,而ssh_port 和 ceph_mon_port是選填的。ceph_mon_port 是Ceph Mon服務器的端口,默認值為6789. 一個完整的monUrl的例子是:root:password@192.168.0.123:22/?monPort=6789.
指定 pool
AddCephPrimaryStorage 有三個個特別的參數imageCachePoolName, rootVolumePoolName, dataVolumePoolName。 通過它們,用戶可以指定存在的Ceph Pool作為主存儲的Pool。 當用戶指定pool的名字的時候,ZStack會使用這個pool。當pool不存在的時候,ZStack將會報告一個添加失敗的錯誤。 當用戶不指定特別的pool名字的時候,ZStack會自動創建三個新的pool。 你可以利用這個功能預先創建合適的pool。在指定Pool的時候,你可以只指定其中的一個或者兩個,然后由ZStack來創建其余的Pool。
動態添加Mon服務器
在添加了Ceph主存儲后,用戶還可以給該主存儲添加新的Ceph Mon服務器:
>>>AddMonToCephBackupStorage uuid=d914841733fa499c9dc6d63ea339469d monUrls=root:password@192.168.0.123,root:password@192.168.0.124,root:password@192.168.0.125
動態刪除Mon服務器
你還可以使用 RemoveMonFromCephPrimaryStorage 來刪除一個Ceph Mon服務器。
>>>RemoveMonFromCephPrimaryStorage uuid=d914841733fa499c9dc6d63ea339469d monHostnames=192.168.0.123,192.168.0.124
The monHostnames is a list of IPs of mon servers that you want to remove.
查詢Ceph主存儲
你可以使用QueryCephPrimaryStorage來查詢所有的Ceph主存儲的詳細信息:
動態負載均衡
從0.9開始,ZStack支持全新的動態負載均衡網絡服務。詳細的負載均衡介紹請訪問負載均衡用戶手冊。
更多改進內容請看發行說明。
ZStack 是全新的開源 IaaS 軟件,它的誕生是為了解決困繞 IaaS 軟件的幾大難題:復雜度、穩定性、可伸縮性和靈活性。作為這個領域的新項目,ZStack 從前輩身上學習到了很多經驗,并且針對各種云的問題重頭設計了整套架構。
ZStack 已經提供了大部分IaaS的基本功能,包括:虛擬機管理,存儲卷管理,存儲卷快照,各種網絡服務(DHCP、DNS、SNAT、EIP、PortForward以及Security Group)。請訪問官網網站以獲取完整的功能列表:http://zstack.org/documentation/features-matrix.html
ZStack非常容易安裝。在快速安裝說明(http://zstack.org/installation/)里,記錄了如何通過兩條命令,5分鐘時間,完成在一臺Linux機器上部署單機演示環境。或者閱讀多控制節點安裝手冊(http://zstack.org/installation/multi-node.html),在30分鐘內搭建一個可以負責管理成百上千臺服務器的服務集群。
來自:http://www.oschina.net/news/66172/zstack-0-9