Mirantis

Mirantis 提供了一個 GUI-driven 的工具 Fuel,方便自動/快速的部署 OpenStack 環境

其功能涵蓋 PXE 自動安裝作業系統,DHCP 服務,Orchestration 服務,和 Puppet 配置管理相關服務

此外還有 OpenStack 關鍵服務的 Health Check 和 Log 即時查看等非常好用的服務
 


 

1. Install Mirantis Fuel Master

Step 1. 下載 MirantisOpenStack-7.0.iso,並燒成光碟
 
Step 2. 準備一台 Server / PC / VM,作為 Fuel master node,並且提供兩個interface

 
Note: eth0 供 PXE admin 使用,eth1 預計供外部網路使用
 

Step 3. 開始安裝 MirantisOpenStack-7.0
Step 4. Firstboot 會進入 console-based fuel setup 頁面,提供客製化修改網路相關資訊

 
Note: 因為 Master 會透過 eth0 扮演 DHCP server 的角色,所以請確認 eth0 連接之 Switch 無其他 DHCP server 存在
 

 
Note: 若 eth1 無法順利 enable interface,可進入 Shell Login 查看
 

flickr:24387436460

 
以上為整個 Fuel master node 的安裝流程,重新開機後,預設 root 密碼為:r00tme

並且可於 https://<IP>:8443 登入 Fuel web,進行後續 OpenStack 環境部署
 

2. Login Fuel web

Step 1. 【New OpenStack Environment】

flickr:24056237953

 
Step 2. 【Name and Release】 將這組 OpenStack 環境命名,並選擇 OpenStack Release 版本

flickr:24683089305

 
Step 3. 【Compute】 實體環境選 KVM,虛擬環境選 QEMU

flickr:24565317182

 
Step 4. 【Networking Setup】 建議選 Neutron with tunneling segmentation

flickr:24565318632

 
Step 5. 【Storage Backends】 建議選 Ceph

flickr:24589574501

 
Step 6. 【Additional Services】 視需求加裝額外服務套件

flickr:24565327492

 
Step 7. 【Finish】

flickr:24683100525

 
以上為 Fuel web 建立 OpenStack 的初始設定,接下來就可以準備其他機器準備做 OpenStack 部署
 

 
Note: 進入該環境,點選【Setting】tab,建議勾選 Public network assignment (Assign public network to all nodes)
 

 

3. Provision Mirantis Fuel Slave

Step 1. 依照環境要求,準備複數個機器,作為 Fuel slave node,提供至少兩張網卡 (本範例為三張)

 
Note: 將 onboard NIC 與 PXE admin 接上同一台 Switch,供 PXE admin 使用
 

 
Note: 將第二張 NIC 預計供 Private / Storage / Management Network 使用
 

 
Note: 將第三張 NIC 預計供 Public Network 使用
 

Step 2. 開機後進入 BIOS,設定為 Network Boot (using PXE),並且啟用 Virtualization Technology
 
Step 3. 重新開機後,進入 PXE boot menu,選擇【bootstrap】
 
Step 4. 稍等一會後,就可於 Fuel web 偵測到有新節點加入
 
以上為整個 Provision Fuel slave 的流程,預設 root 密碼為:r00tme
 

4. Deploy OpenStack Environment

在部署以前,有幾件事情要說明

根據官方手冊建議,OpenStack 生產環境建議為 12 台 Server

一台 Fuel Master node,三台 Controller nodes (提供HA),三台 Storage nodes,五台 Compute nodes

使用 High-availability configuration 配置

網路方面使用Neutron networking, using either the VLAN or GRE topology

使用Ceph as the backend for Cinder, Glance, and Nova (for ephemeral storage)

如果有需要使用Ceilometer/MongoDB來做monitoring,必須額外再給三台servers,原文如下:

No Ceilometer/MongoDB monitoring is configured; three additional servers to be used as MongoDB nodes would be required to add Ceilometer/MongoDB to the environment
 


 
Step 1. 登入 Fuel web
 
Step 2. 進入 init 好的環境
 
Step 3. 於【Nodes】tab,點選 Add nodes

flickr:24565448662

 
Step 4. Assign Roles > Select Node > Apply Changes

flickr:24387709500
flickr:24589702861

 
Note: 這邊以兩台 node 作為範例說明,所以角色分配為 (1) Controller + Storage + OS,(2) Compute + Storage + OS
 

 
Step 5. 於【Nodes】tab,點選齒輪進入 node 設定,於【Configure Interfaces】分配每張網卡用途

flickr:24387720810

 
Note: 分配 Private / Storage / Management Network 之網卡,必須於 Switch 上做 VLAN 設定,詳見 附錄A
 

 
Note: 分配 Public Network 之網卡,其 Switch 上不可有其他 DHCP Server 存在,詳見 附錄B
 

 
Step 6. 於【Networks】tab,拉到頁面最底端,進行 Verify Networks 驗證,是否遵守右側規則

flickr:24056401323

 
Step.7於【Settings】tab,左側【Public TLS】將Public TLS的勾勾都取消
 
Step.8於【Settings】tab,左側【Public network assignment】視情況勾選
 
Step 9. 於【Dashboard】tab,點選 Deploy Changes,正式部署 OpenStack 環境

flickr:24683477335

 
 

Trouble Shooting

flickr:24446716500

 
Note: 實體 Switch,VLAN 設定問題
 

 


 

flickr:24742258165

 
Note: Public / Private Network,不能有其他 DCHP Server 存在
 

 


 

flickr:24716044876

 
Note: Repo availability verification 失敗,Public Network 無法取得對外網路
 

 


 

 
 
 
 
 
 
 
 
 
 
 
 

附錄A.

詳見:Simple Way To Vlan Configuration Example For Linksys Layer2
 

附錄B.

詳見:How To Configure Linux As Internet Gateway For Small Office
 

Q & A

Q1

The horizon dashboard IP's HWaddress differs with the controller node and the compute node.
Is it a virtual Mac address?
Where is the IP address configured?

A1

Hello.

Yes, you are right:
Virtual IP addresses deployment details
Starting from the Fuel 5.0 release, HAProxy service and network interfaces running virtual IP addresses reside in
separate haproxy network namespace.

You can find horizon ip into haproxy network namespace.

1. Log in to controller node
2. Get namespaces list using "ip netns" command
3. log in haproxy namespace "ip netns exec haproxy bash"
4. Check "ifconfig" output - there you can find horizon IP.
vi /etc/haproxy/conf.d/020-keystone-1.cfg
vi /etc/haproxy/conf.d/030-keystone-2.cfg
除非特別註明,本頁內容採用以下授權方式: Creative Commons Attribution-ShareAlike 3.0 License