使用Sheepdog體驗Openstack的彈性塊服務

Sheepdog[1]是開源的分佈式塊存儲項目,具有零配置、Thin-Provision、高可靠、智能節點管理、容量線性擴展、虛擬機感知(底層支持冷熱遷移和快照、克隆等)、支持計算與存儲混合架構的特點等,可擴展到上千級別的物理節點。

Openstack[2]是亞馬遜的S3(Simple Storage Service),彈性計算EC2(Elastic Computing),彈性塊服務EBS(Elastic Block Service)等服務平臺的開源實現。目前Openstack的彈性塊服務由iSCSI設備、Ceph中的Rados Block Device以及Sheepdog提供。

本文嘗試在單機上運行Sheepdog和Openstack,並且假設讀者沒有Sheepdog和Openstack的部署經驗。推薦的操作系統平臺爲Ubuntu 12.04和Fedora 16。本文的操作系統爲12.04,假設GIT、GCC、Autoconf以及Make等常見的編譯環境已經配置好了。

首先建立一個3節點的Sheepdog集羣[3]:

# 編譯一個最新的Sheepdog執行文件
 $ sudo apt-get install liburcu-dev
 $ git clone git://github.com/collie/sheepdog.git
 $ cd sheepdog
 $ ./autogen.sh; ./configure --disable-corosync
 $ make; sudo make install
 # 建立一個3節點的Sheepdog集羣
 $ for i in 0 1 2; do sheep -c local -d /tmp/store$i -z $i -p 700$i;sleep 1;done
 $ collie cluster format
 # 可以通過以下等命令查看Sheepdog集羣的信息
 $ collie node info # 查看各節點的信息
 $ collie cluster info # 查看集羣信息

通過Devstack[4]自動配置Openstack環境:

# 這個耗時比較久,大概好幾個小時
 $ git clone git://github.com/openstack-dev/devstack.git
 $ cd devstack; CINDER_DRIVER=sheepdog ./stack.sh
 # stack.sh啓動後,開始的時候需要點幾下回車,然後就會自動安裝配置了

當以上兩步完成後,通過在瀏覽器裏面輸入localhost頁面,登陸Openstack的管理頁面,開始我們的體驗之旅。你可以創建具有持久化性質的卷(塊設備),然後掛載到你創建的實例(instance)上去。你可以對改卷做快照等操作。你也可以通過ISO光盤,把操作系統安裝到捲上,然後選擇從卷啓動實例,而不是平常那樣從鏡像啓動。對於安裝在捲上的系統,你可以隨意快照(做模版)和克隆,達到快速部署的目的。值得一提的是,Sheepdog的快照和克隆操作非常的廉價和快速(只需要創建4M大小的索引對象方便以後的Copy-On-Write操作),支持並行操作。

1. http://www.osrg.net/sheepdog/
2. 更多資料 http://docs.openstack.org/trunk/openstack-compute/admin/content/
3. 如果要想得到更好的IO性能,需要開啓Object cache和External journal device. 具體見https://github.com/collie/sheepdog/wiki
4. http://devstack.org/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章