OpenStack-Ironic裸金屬簡介


一,Ironic簡述


    簡而言之,OpenStack Ironic就是一個進行裸機部署安裝的項目
    所謂裸機,就是指沒有配置操作系統的計算機。從裸機到應用還需要進行以下操作:
  (1)硬盤RAID、分區和格式化;
  (2)安裝操作系統、驅動程序;
  (3)安裝應用程序。
    Ironic實現的功能,就是可以很方便的對指定的一臺或多臺裸機,執行以上一系列的操作。例如部署大數據羣集需要同時部署多臺物理機,就可以使用Ironic來實現。
    Ironic可以實現硬件基礎設施資源的快速交付

二,Why Provision Bare Metal


    Here are a few use-cases for bare metal (physical server) provisioning in cloud; there are doubtless many more interesting ones:

(1)High-performance computing clusters
(2)Computing tasks that require access to hardware devices which can’t be virtualized
(3)Database hosting (some databases run poorly in a hypervisor)
(4)Single tenant, dedicated hardware for performance, security, dependability and other regulatory requirements
(5)Or, rapidly deploying a cloud infrastructure

    這個是官網的,快速翻譯下:

1,高性能計算;

2,無法使用虛擬化的計算任務;

3,數據庫主機;

4,單租戶、專用硬件、安全性、可靠性以及其它需求;

5,快速部署雲基礎設施(比如部署一個虛擬化節點)


三,Ironic在OpenStack項目中的使用


    OpenStack是一個用於構建公有云或私有云的開源項目,多數時候被用作IaaS(基礎設施即服務)。OpenStack的設計初衷是爲用戶提供基於虛擬化技術的雲應用資源高效共享方案,通過池化基礎設施資源,爲用戶動態的提供計算、存儲、網絡等服務。
    但是一些應用場景下,僅有虛擬化的服務是不夠的,這些場景下用戶需要直接使用物理服務器資源,以滿足特定需求的可行性及高效性,因此,OpenStack需要支持裸機的直接部署功能。此時,裸機也是IaaS 基礎設施的池化資源的一部分。

    目前,在OpenStack體系結構中,Ironic還是通過Nova來調用的,模擬Nova的一個虛擬化驅動(其它的虛擬化驅動還有KVM、VMware、Xen等),實現基於Ironic的虛擬化驅動。
    預先配置好PXE、IPMI等服務,完成Ironic的相關配置之後,用戶就可以使用Nova API來實現一個物理機實例的創建。Nova用於管理虛擬機的生命週期;Ironic則是用於管理物理機的生命週期,它給Nova提供管理物理機的API接口。

    對Nova而言,通過Ironic部署物理機,和部署虛擬機的調用流程是一樣的,都是通過Nova的接口來執行創建實例,只是底層的nova-scheduler和nova-compute驅動不一樣。虛擬機底層驅動採用的是虛擬化技術,而物理機採用的是PXE和IPMI技術。

    作爲openstack中的一個獨立模塊,Ironic需要與keystone、nova、neutron、cinder以及swift進行交互,像Nova創建虛擬機一樣,需要對應的認證服務、網絡服務、塊存儲服務、對象存儲服務等。



四,Ironic和Hypervisor


    在OpenStack中直接部署裸機,Ironic需要直接控制物理機進行硬件部署操作,而虛擬機則是通過Hypervisor部署服務。


    Hypervisor是一種運行在物理服務器和操作系統之間的中間軟件層,可允許多個操作系統和應用共享一套基礎物理硬件,因此也可以看作是虛擬環境中的"元"操作系統,它可以協調訪問服務器上的所有物理設備和虛擬機,也叫虛擬機監視器VMM(Virtual Machine Monitor)。

    Hypervisor是所有虛擬化技術的核心。非中斷地支持多工作負載遷移的能力是Hypervisor的基本功能。
    當服務器啓動並執行Hypervisor時,它會給每一臺虛擬機分配適量的內存、CPU、網絡和磁盤,並加載所有虛擬機的客戶操作系統。

    主流的Hypervisor有:VMware的ESXi、微軟的Hyper-V或者思傑的XenServer。


    Ironic可以直接對物理機執行節點管理,進行物理機節點的添加、刪除,進行電源管理,部署系統等操作。由於各個廠商物理機的異構性,針對不同的服務器,Ironic提供了插件機制,不同廠商可以對自己的服務器開發Ironic插件,提供對應的driver。用戶可根據使用需求,選擇合適的driver。

五,Ironic邏輯結構


下圖展示了Ironic服務的基本組件,Ironic服務和其他OpenStack服務之間的調用關係,以及創建一個物理機實例的邏輯調用流程。

Ironic服務由以下組件組成:
(1)基於RESTful的API服務。操作者和其它服務通過API與裸金屬管理服務器交互。
(2)Conductor服務Ironic的核心組件,通過API提供功能調用。Conductor服務和API服務通過RPC通信。
(3)各種驅動程序,支持不同的硬件
(4)消息隊列RabbitMQ

(5)數據庫。用於存儲信息資源,除此之外,還包括存儲Conductor、節點(物理服務器)和drivers等信息。


    用戶通過Nova API和Nova Scheduler來啓動一個裸金屬實例,之後請求會通過Ironic API,連接到Ironic Conductor服務,再到對應的Driver,最後完成實例部署,爲用戶提供成功部署的物理機服務。


參考:

https://docs.openstack.org/developer/ironic/mitaka/deploy/user-guide.html

http://baike.so.com/doc/6838298-7055555.html


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