2014年9月10日 星期三

安裝 OpenStack @ Ubuntu 14.04 (1) - 基本環境設定

安裝 OpenStack @ Ubuntu 14.04 (1) - 基本環境設定

目錄

1、前言

這次 OpenStack 的安裝過程中,在網路的部分選擇使用 Neutron 來管理,不使用 nova-network,因此需要額外一個 Network Node 來處理網路的工作,如下圖所示:

Three-node architecture with OpenStack Networking (Neutron)

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 的服務了!

    4、參考資料

    1 則留言:

    1. 你好,請問一下安裝OpenStack三個node的IP是要固定設成文章所提那樣嗎
      還是文章只是舉例?

      回覆刪除