目錄
1、前言
這次 OpenStack 的安裝過程中,在網路的部分選擇使用 Neutron 來管理,不使用 nova-network,因此需要額外一個 Network Node 來處理網路的工作,如下圖所示:
2、安裝環境說明
OS:Ubuntu 14.04 LTS
Controller
- IP:10.0.0.11 / 24
- Gateway:10.0.0.1
Network
- Management IP:10.0.0.21 / 24 (eth0)
- Gateway:10.0.0.1
- Instance Tunnel IP:10.0.1.21 / 24 (eth1)
- External Interface (eth2)
- IP:不指定 IP
- 設定方式如下:(修改 /etc/network/interfaces)
auto eth2
iface eth2 inet manual
up ip link set dev $IFACE up
down ip link set dev $IFACE down
Compute 1
- Management IP:10.0.0.31 / 24
- Gateway:10.0.0.1
- Instance Tunnel IP:10.0.1.31
修改每個 node 的 /etc/hosts 檔案,並加入以下內容:
10.0.0.11 controller
10.0.0.21 network
10.0.0.31 compute1
- 使用者身分:root
3、套件安裝
3.1 時間同步
架設 IaaS 平台,機器間的時間同步是非常重要的,因此這邊要安裝 ntp client 的處理這個部分的需求。
apt-get -y install ntp
3.2 資料庫安裝 & 設定
OpenStack 在很多部分的控制都仰賴資料庫來處理,因此資料庫的安裝 & 設定也是相當重要的一環,這邊使用 MySQL 作為資料庫,而僅有 controller 需要安裝 mysql server,其他 node 則是安裝 python mysql client 即可。
3.2.1 Controller
安裝 MySQL Server:
apt-get -y install python-mysqldb mysql-server
編輯 /etc/mysql/my.cnf,並將以下內容加到 [mysqld] 區段中:
bind-address = 10.0.0.11 #原本的 bind-address 要移除
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
重新啟動 MySQL Server:
service mysql restart
3.2.2 其他 node
安裝 python mysql client:
apt-get -y install python-mysqldb
3.3 OpenStack 套件
加入 apt 套件庫資訊並更新套件:
apt-get -y install python-software-properties
add-apt-repository cloud-archive:icehouse
apt-get update
apt-get -y dist-upgrade
若是 Ubuntu 的其他版本,apt repository 的資訊可以參考此處。
3.4 Messaging Server
OpenStack 使用 message broker 來整合不同服務之間的運作 & 狀態資訊,一般都是在 contoller node 上執行。
不同的 Linux 套件有其所支援的 message broker,而 Ubuntu 使用的是 RabbitMQ。
在 contoller node 上使用以下指令安裝 RabbitMQ:
apt-get -y install rabbitmq-server
安裝好 RabbitMQ 之後,會自動產生一個名為 guest 的使用者帳號,以下的範例所使用的就是這個帳號(正式環境建議另外建立帳號),因此來改一下密碼:
rabbitmqctl change_password guest YOURMESSAGEBROKERPASSWORD
之後有使用到 message broker 的 OpensStack 服務,就可以在設定檔中設定 RabbitMQ 的密碼,就可以使用到 message broker 的服務了!
你好,請問一下安裝OpenStack三個node的IP是要固定設成文章所提那樣嗎
回覆刪除還是文章只是舉例?