openstack詳細筆記-nova-glance-swift-cinder-keystone等


一、openstack各大模塊

  1.openstack總架構圖

  http://3ms.huawei.com/km/blogs/details/2655265

     

 

  2.nova

    2.0架構圖

      

    2.1 nova-conductor

           nova-compute 經常需要更新數據庫,比如更新虛機的狀態。 出於安全性和伸縮性的考慮,nova-compute 並不會直接訪問數據庫,而是將這個任務委托給 nova-conductor

      

    2.2 nova-scheduler

       虛機調度服務,負責決定在哪個計算節點上運行虛機

        具體調度配置  https://www.cnblogs.com/CloudMan6/p/5441782.html

        

          

 

     2.3 nova-compute

      

        

    2.4 novncproxy

       

       

    2.5 Hypervisor
      計算節點上跑的虛擬化管理程序,虛機管理最底層的程序。 不同虛擬化技術提供自己的 Hypervisor。 常用的 Hypervisor 有 KVM,Xen, VMWare 等

   2.6 nova-console

      用戶可以通過多種方式訪問虛機的控制台:
        nova-novncproxy,基於 Web 瀏覽器的 VNC 訪問 nova-spicehtml5proxy,
        基於 HTML5 瀏覽器的 SPICE 訪問 nova-xvpnvncproxy,
        基於 Java 客戶端的 VNC 訪問

 

    2.7 nova-consoleauth

      負責對訪問虛機控制台請求提供 Token 認證

    2.8 nova-cert
      提供 x509 證書支持

 

  4、glance

    4.1含義

      管理 VM 的啟動鏡像,Nova 創建 VM 時將使用 Glance 提供的鏡像。

    4..2glance架構圖

      

      

      Image 的 metadata 會保持到 database 中,默認是 MySQL;image 是存放在 backend

    4.3操作glance

      4.3.1添加鏡像

         ui方式  https://www.cnblogs.com/CloudMan6/p/5393376.html

              cli方式  glance image-create --name cirros --file /tmp/cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --progress

      4.3.2刪除鏡像

        ui方式  https://www.cnblogs.com/CloudMan6/p/5402490.html

        cli方式  glance image-delete  image-id名

        4.3.3查詢

        glance image-list        

 

   5、cinder

    5.1含義

      為雲平台提供統一接口,按需分配的,持久化的塊存儲服務(類似於Amazon EBS服務)
        通過驅動的方式接入不同種類的后端存儲(本地存儲,網絡存儲,FCSAN,IPSAN)

    5.2 cinder架構圖  

           

      參考:https://www.cnblogs.com/CloudMan6/p/5573159.html

      cinder-api
        接收 API 請求,調用 cinder-volume 執行操作。

      cinder-volume
        管理 volume 的服務,與 volume provider 協調工作,管理 volume 的生命周期。運行 cinder-volume 服務的節點被稱作為存儲節點。

        cinder-volume 會定期向 Cinder 報告。cinder-volume 就會報告當前存儲節點的資源使用情況

      cinder-scheduler
        scheduler 通過調度算法選擇最合適的存儲節點創建 volume。

        參考:https://www.cnblogs.com/CloudMan6/p/5589707.html

      volume provider(LVS,NFS等)
        數據的存儲設備,為 volume 提供物理存儲空間。 cinder-volume 支持多種 volume provider,每種 volume provider 通過自己的 driver 與cinder-volume 協調工作。

      Message Queue
        Cinder 各個子服務通過消息隊列實現進程間通信和相互協作。因為有了消息隊列,子服務之間實現了解耦,這種松散的結構也是分布式系統的重要特征。

      Database

         Cinder 有一些數據需要存放到數據庫中,一般使用 MySQL。數據庫是安裝在控制節點上的,比如在我們的實驗環境中,可以訪問名稱為“cinder”的數據庫。

    Driver 框架

        存儲節點支持多種 volume provider,包括 LVM, NFS, Ceph, GlusterFS,以及 EMC, IBM 等商業存儲系統。

        

         cinder-volume 為這些 volume provider 定義了統一的 driver 接口,volume provider 只需要實現這些接口

        參考:https://www.cnblogs.com/CloudMan6/p/5578673.html

      5.3 存儲節點上本地的 LV 如何掛載到計算節點的 instance 上呢?通常情況存儲節點和計算節點是不同的物理節點

        

        Cinder 的存儲節點 cinder-volume 默認使用 tgt 軟件來管理和監控 iSCSI target,在計算節點 nova-compute 使用 iscsiadm 執行 initiator 相關操作。

        參考:https://www.cnblogs.com/CloudMan6/p/5624930.html 

      5.4 extend volume增加容量

        參考:https://www.cnblogs.com/CloudMan6/p/5645305.html

        5.5 snapshot 

        參考:https://www.cnblogs.com/CloudMan6/p/5657744.html

       5.6 backup volume 

        參考:https://www.cnblogs.com/CloudMan6/p/5662236.html

      5.7 restore volume

        參考:https://www.cnblogs.com/CloudMan6/p/5668872.html

      5.8 boot from volume

        參考: https://www.cnblogs.com/CloudMan6/p/5679384.html

     5.9 NFS volume 

        參考: https://www.cnblogs.com/CloudMan6/p/5683352.html

            https://www.cnblogs.com/CloudMan6/p/5693771.html

  6、swift對象存儲

    6.1含義   

      提供對象存儲服務。VM 可以通過 RESTful API 存放對象數據。作為可選的方案,Glance 可以將鏡像存放在 Swift 中;Cinder 也可以將 Volume 備份到 Swift 中。

     6.2優點

      數據在整個系統中均勻分布
      沒有中央數據庫
      Account/Container/Object三級存儲結構均無需文件系統,且均有N(>=3)份拷貝

    6.3swift架構

      

 

   7、keystone鑒權管理

    7.1keystone架構圖

         

    user:一個使用openstack雲服務的人、系統或者服務。
    project:項目,一組資源集合,包括虛擬資源如網絡、虛擬機、卷等資源關聯。
    role:用戶角色,和policy配合使用。
    token:一個通過keystone驗證的用戶標識,它的范圍與user+project或者user+domain關聯,根據獲取的token的方式來區分。
    service:compute,image,identity,volume,network。
    endpoint:service的網絡接入地址,具有region屬性。
    group:用戶的集合,便於給用戶整體授予和取消權限
    domain:類似命名空間,含有用戶、角色、Group、Project等。
    policy:對於服務的操作規則,和角色相關,可以定義哪個角色可以進行哪些操作(v3版本只增加了crud操作,沒有邏輯實現替代policy.json的功能)
    trust:一個用戶可以通過trust將自己的role和個人信息轉交給另一個用戶使用

 

   8Ceilometer

    8.1含義

      OpenStack中Ceilometer能把I層內部發生的事情和系統的運行情況收集起來,產生計量數據。FS OpenStack中Ceilometer主要為上層運維組件提供監控與告警數據,公有雲下可用於計費

     8.2ceilometer框架

        

 

  9、heat雲編排

    9.1heat架構圖

      

    模板是openstack資源的集合(虛擬機、網絡、存儲、告警、浮動IP、安全組、伸縮組、嵌套stack等),通過定義模板,可以將需要創建的資源在模板中描述,用此模板可以多次創建需要的資源。
    由heat-api服務將這些模板由MQ實現的RPC方法發送至heat-engine服務處理,該服務將負責按照heat的規則解析這些模板,並最終將按照模板中定義的資源轉換為對不同組件API的調用,實現應用的部署與安裝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM