使用Openstack需要考慮的因素
如果準備採用Openstack作為基礎Iaas平台提供計算存儲資源,在預算、人員、硬體、技術等方面,如何入手,這裡簡單談談我自己的看法。我想到哪就寫到哪,不一定很有邏輯,大家看看熱鬧就行。
Openstack是開源軟體,體系很龐大,大到什麼程度?大到你可以使用它搭建公有雲,和亞馬遜的AWS一樣,和阿里雲一樣,提供公有雲服務,只要你有足夠的技術力量支持。雖然體系龐大,但是不影響小規模環境的使用,它有很多子項目,但是我們一般使用它的幾個核心和穩定的子項目,比如nova(計算)、cinder(塊存儲)、neutron(網路)、glance(鏡像)、Horizon(web管理)等,用這幾個子項目就可以滿足我們普通的虛擬化環境了(可以作為vmware虛擬化的替代),至於其他的sahara(大數據)、manila(共享存儲)、trove(資料庫)、swift(對象存儲)等等可以根據實際需要採用。你可以把它理解為搭積木,有很多積木,有些積木很成熟穩定,有些積木不成熟,我們使用成熟穩定的積木能夠搭出我們所需要的東西就行了。
如果準備使用Openstack,在你腦海裡面需要有的概念就是「你已經進入了一個開源軟體的世界」 ,什麼意思,就是說它所採用的所有的基礎組件都是開源產品,比如操作系統是linux(ubuntu或者centos、suse等等)、資料庫是mariadb、中間件是rabbitmq、web容器是apache、網路是openvswitch,也就是說,你不用考慮任何軟體的費用。這個東西有兩面性,一方面你省錢了,但是同時另一個方面當出現問題的時候需要你自己想辦法搞定,在這個方面我不想延展談太多,點到為止吧。
方向定下來之後,費用方面主要考慮兩方面,一方面是硬體的採購,一方面是技術團隊建設:
1、硬體採購,採購硬體之前需要首先確定設計方案,比如需要支持多少個虛擬機每個VM的CPU內存網路等等資源,然後確定需要多少台伺服器每台伺服器需要多少硬碟多少核CPU內存網卡光口,然後就是2台核心的交換機和若干的光纖模塊,所有這些都根據設計方案確定下來,方案確定下來之後,硬體的預算基本就出來了。
2、技術團隊建設。這一塊更重要,需要組建一支能夠支撐openstack建設和維護的技術團隊,這個團隊的成員需要熟悉以linux為代表的開源軟體體系,如果openstack規模比較大,功能不僅僅是虛擬化,還有其他什麼計量、大數據、負載均衡之類的,會涉及到一些不成熟的子項目的時候,還需要有python開發人員,因為使用這些不成熟穩定自項目的時候會遇到各類bug,需要開發人員修復。
上面是從預算費用方面考慮。
硬體方面,上面也說到了,主要看需求確定設計方案,硬體的選擇非常寬,隨便哪一家主流的X86伺服器都可以,比如HP、DELL、聯想、浪潮、華為等等廠家的伺服器都可以。交換機也是,市場上主流廠家的就行。這裡面主要需要注意的是視應用的重要程度,以及預算的額度,需要考慮冗餘,比如網路的冗餘、控制節點的冗餘,存儲的冗餘,如果可以容忍業務中斷,比如一般的企業,買伺服器運行業務,也不會說非要冗餘,平時做好冷備份,一直用個5年6年,一直用到硬體故障,這種情況也一大堆,關鍵是在上線運行後,需要制定好備份策略並定期備份。
Openstack人才方面,不一定找得到一開始就能立即用的人,有一個辦法就是讓現有的IT人員學習,只要有一定的伺服器網路存儲的基礎,再加上學習linux、docker容器、mariadb、haproxy、zabbix等開源軟體。投入一些實驗環境的成本,比如給一台測試伺服器,能夠做openstack的實驗,模擬各類情況進行實驗模擬,對後面真正生產環境的搭建和維護有很大幫助,多做實驗,少點坑。
技術學習方面,建議系統學習Shell、Mysql資料庫、iptables,Lamp及Lnmp管理、自動化運維工具,zabbix等等開源體系相關軟體。我推薦51CTO學院上面有相關的培訓可以參加,裡面有一個比較系統的培訓是「Linux高端雲計算與架構師」微職位可以考慮一下(又給做廣告了,馬哥教育該給我廣告費了,哈哈)。
TAG:Openstack私有雲 |