【轉】《從入門到精通雲端服務器》第六講—OpenStack基礎

來源:互聯網
上載者:User

標籤:它的   租戶   ber   system   metal   swift   支援   讀寫   server   

  前五期的《從入門到精通雲端服務器》受到了廣泛好評,收到留言,有很多讀者對雲端運算相關的技術非常感興趣。應觀眾要求,我們這期要安利一條純技術內容。準備好瓜子、花生,隨小編一起進入OpenStack 基礎知識大講堂吧。

  瞭解OpenStack

  OpenStack 是最火的開源軟體之一,活躍度呈指數層級上升;它是一組開源項目,誕生之初是由兩個項目組成,目前十幾個項目;它是一個雲作業系統,OpenStack is a cloud operating system that …

  OpenStack 管理的資源不是單機的而是一個分布的系統,把分布的計算、儲存、網路、裝置、資源群組織起來,形成一個完整的雲端運算系統;OpenStack 也提供一個 UI,這裡包括一個圖形化的 UI:Horizon,也提供命令列的介面,還提供了一套 API 支援使用者開發自己的軟體……

  OpenStack 是用 Python 實現的軟體。

  分布式系統的邏輯非常複雜,所以用更進階的語言去做,可以把精力更多的放在邏輯上,而不是說糾結與底層的細節,因為進階語言的底層機制已經最佳化的非常好了,C/C++ 寫出來的東西效能不一定就真高;事實上在分布式系統這個領域,有很多很好的例證,比方說 OpenStack 用 Python 寫的,Hadoop 使用 Java 寫的,UC Berkeley 的 Spark 使用 Scala 語言寫的,Twitter Storm 是用 Clojure 語言開發的,這些都是很著名的分布式系統,都是用的更高層的語言而不是 C

  OpenStack的特點

  OpenStack 是一套架構 —— API,它有兩個特點:

  它是一個中介層,可以建立、管理和銷毀虛擬機器,但是要完成這些操作需要依賴於第三方的 Hypervisor,通過這個 Hypervisor 去完成虛擬化的工作,OpenStack 並不能自己去提供一個虛擬化的運行環境,OpenStack 有個組件叫 Cinder(用來提供Block Storage服務的),但是 OpenStack 自己並不能進行資料的儲存和讀寫,它需要依賴一個實際的Block Storage裝置的支援,這個裝置可以是一個分布式的儲存系統,比如說 Ceph,也可以是一個存放裝置,比如說 EMC 的 SAN,也可以是儲存伺服器的本地硬碟,但是它必須依賴一個存放裝置的支援,OpenStack 本身並不具備這個功能。OpenStack 是一個中介層。

  架構有一個很重要的特點,那就是它能提供一批 API 去支援應用的開發,這也是我們業內對架構的一個定義,OpenStack 當然也有這個特點,雲端運算的願景就是讓使用者能夠像用電一樣去使用計算,OpenStack 的設計也是朝著這個願景去做設計的,但是實際上我們平時是不能直接用電的,我們需要用的是電冰箱、電腦、電視等等這些電器。同理,對於雲端運算來說,提供 API 去支援開發應用這個事情就合情合理的非常的重要了,具有完備的 API 是 OpenStack 的突出優點。

  OpenStack ≠虛擬化軟體

  第一,它不是虛擬化軟體(必須知道這點),OpenStack 雖然管理虛擬機器,但不具備虛擬化的功能,它給上層提供一個虛擬化的運行環境,必須得依賴一個第三方的虛擬化軟體來實現,比如預設支援的 Linux 核心虛擬機器,裝完 Linux 之後就自動帶了,整合到 Linux 核心裡面了(KVM),另外它還支援 Xen,還支援微軟的 Hyper-V,支援 VMware 的 Vshpere,還支援像 Linux Container 和 Docker 這樣輕量級的虛擬化技術。總之,OpenStack 本身不提供虛擬化,依賴第三方軟體。

  需要瞭解的第二層含義:這個雲化和虛擬化實際上是不一樣的,雲 != 虛擬化,雲化的目的是為了實現效用計算,彈性計算,動態資源調度,多租戶等這樣的一些特性;而虛擬化只是實現雲端運算的這些特性中的一個技術手段而已,而且它不是必需的。比方說 IBM 的 Softlayer 是 IBM 主推的雲端服務之一,它中間有一個非常大的特點就是,它支援 Bare Metal Server,直譯過來就是 “金屬裸機”,也就是 Softlayer 在上面不做虛擬化,而是直接用物理伺服器來實現雲,直接給使用者、租戶提供的就是物理伺服器,Softlayer 也可以在上面來實現多租戶 、彈性計算等等特性。總之,Softlayer 沒有虛擬化,但是 Softlayer 也做了雲。第二個例子是 OpenStack 也有一個項目叫作 Ironic,是為了通過管理 “金屬裸機”來實現雲從而提出的項目。

  OpenStack資源管理

  OpenStack 作為一個作業系統,管理資源是它的首要任務;

  OpenStack 管理資源主要有三個方面:計算、儲存和網路。

  OpenStack 對資源進行管理,並且以服務的形式提供給上層應用或者使用者去使用。這些資源的管理是通過 OpenStack 中的各個項目來實現的。

  其中計算資源管理相關的項目是 Nova(又稱為 OpenStack Compute);

  儲存相關的主要有Block Storage服務 Cinder、Object Storage Service服務 Swift、鏡像儲存服務 Glance 這三種;

  與網路相關的主要是一個和軟體定義程式網路相關的項目叫作 Neutron;另外,Nova 中間有一個管理網路的模組叫作 Nova Network,作為一個比較穩定的遺留組件仍在 OpenStack 裡面和 Neutron 並存,我們在小規模部署裡面經常為了追求這種穩定,並且減少工作量會去使用 Nova Network 這樣的一個組件來對網路資源進行管理。

【轉】《從入門到精通雲端服務器》第六講—OpenStack基礎

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.