搭建 OpenStack 實驗環境 - 天天5分鐘玩轉 OpenStack(16)

在學習 OpenStack 各服務以前,讓咱們先搭建起一個實驗環境。
數據庫

毋庸置疑,一個看獲得摸得着並且容許咱們隨便折騰的 OpenStack 可以提升咱們的學習效率。 服務器

由於是咱們本身學習用的實驗環境,CloudMan 推薦使用 DevStackhttp://docs.openstack.org/developer/devstack/
DevStack 豐富的選項讓咱們可以靈活地選取和部署想要的 OpenStack 服務,很是適合學習和研究。
網絡

部署拓撲

首先咱們來設計 OpenStack 的部署拓撲。
分佈式

OpenStack 是一個分佈式系統,由若干不一樣功能的節點(Node)組成: 性能

  1. 控制節點(Controller Node) 管理 OpenStack,其上運行的服務有 Keystone、Glance、Horizon 以及 Nova 和 Neutron 中管理相關的組件。 控制節點也運行支持 OpenStack 的服務,例如 SQL 數據庫(一般是 MySQL)、消息隊列(一般是 RabbitMQ)和網絡時間服務 NTP。 學習

  2. 網絡節點(Network Node) 其上運行的服務爲 Neutron。 爲 OpenStack 提供 L2 和 L3 網絡。 包括虛擬機網絡、DHCP、路由、NAT 等。 spa

  3. 存儲節點(Storage Node) 提供塊存儲(Cinder)或對象存儲(Swift)服務。 設計

  4. 計算節點(Compute Node) 其上運行 Hypervisor(默認使用 KVM)。 同時運行 Neutron 服務的 agent,爲虛擬機提供網絡支持。 orm

這幾類節點是從功能上進行的邏輯劃分,在實際部署時能夠根據需求靈活配置,好比: 對象

  1. 在大規模OpenStack生產環境中,每類節點都分別部署在若干臺物理服務器上,各司其職並互相協做。
    這樣的環境具有很好的性能、伸縮性和高可用性。

  2. 在最小的實驗環境中,能夠將 4 類節點部署到一個物理的甚至是虛擬服務器上。
    麻雀雖小五臟俱全,一般也稱爲 All-in-One 部署。

在咱們的實驗環境中,爲了使得拓撲簡潔同時功能完備,咱們用兩個虛擬機:

  1. devstack-controller:控制節點 + 網絡節點 + 塊存儲節點 + 計算節點

  2. devstack-compute:計算節點

物理資源需求


CPU 和內存供參考。

若是是在本身的 PC 機上建立虛機部署,資源可能達不到,能夠適當調整。

網絡規劃


網絡上規劃了三個網絡:

  1. Management Network:用於 OpenStack 內部管理用,好比各服務之間通訊。 這裏使用 eth0

  2. VM(Tenant)Network:OpenStack 部署的虛擬機所使用的網絡。 OpenStack 支持多租戶(Tenant),虛機是放在 Tenant 下的,因此叫 Tenant Network。 這裏使用 eth1

  3. External Network:通常來講,Tenant Network 是內部私有網絡,只用於 VM 之間通訊,與其餘非 VM 網絡是隔離的。 這裏咱們規劃了一個外部網絡(External Network),經過 devstak-controller 的 eth2 鏈接。 Neutron 經過 L3 服務讓 VM 可以訪問到 External Network。 對於公有云,External Network 通常指的是 Internet。 對於企業私有云,External Network 則能夠是 Intranet 中的某個網絡。

下一節開始部署控制節點和計算節點。

相關文章
相關標籤/搜索