1. 程式人生 > >Ubuntu搭建Openstack平臺(kilo)(一.整體環境)

Ubuntu搭建Openstack平臺(kilo)(一.整體環境)

一.環境
OS:Ubuntu 14.04
網絡卡要求:每臺主機最少兩塊網絡卡,網路節點最少三塊
eth0作為管理網絡卡,eth1作為資料網絡卡,eth2作為外部網絡卡
網路型別如圖:

管理網路(Management Network): 10.0.0.0/24
資料網路(Data Network):        10.0.1.0/24
外部網路(External Network)     203.0.113.0/24
API Network                    125.220.254.**   
我是以該型別搭建的

二.網路配置(設定後使用/etc/init.d/networking restart

重啟網路,不行重啟機器)
控制節點:vim /etc/network/interface

auto eht0
iface eth0 inet static
address 10.0.0.11
netmask 255.255.255.0
gateway 10.0.0.1
dan-nameserver 8.8.8.8

auto eth1
iface eth1 inet manual

網路節點:vim /etc/network/interface

auto eht0
iface eth0 inet static
address 10.0.0.21
netmask 255.255.255.0
gateway 10.0.0.1
dan-nameserver 8.8.8.8
auto eth1 iface eth1 inet static address 10.0.1.21 netmask 255.255.255.0 auto eth2 iface eth2 inet manual up ifconfig $IFACE 0.0.0.0 up up ip link set $IFACE promisc on down ip link set $IFACE promisc off down ifconfig $IFACE down

計算節點:vim /etc/network/interface

auto eht0
iface eth0 inet static
address 10.0.0.31
netmask 255.255.255.0 gateway 10.0.0.1 dan-nameserver 8.8.8.8 auto eth1 iface eth1 inet static address 10.0.1.31 netmask 255.255.255.0

編輯每個節點(新增如下內容):

vim /etc/hosts

controller   10.0.0.11
network      10.0.0.21
compute      10.0.0.31

三臺機器之間相互ping一下看是否ping的通

三.環境準備
1.安裝Openssh-server

apt-get install openssh-server

修改配置檔案(註釋掉其中PremitRootLogin without_password,以免有設定密碼的root使用者無法登陸)

vim /etc/ssh/sshd_config

#PremitRootLogin without_password
PremitRootLogin yes

重啟 ssh服務

service ssh restart

2.安裝openstack包(每個節點)

apt-get install ubuntu-cloud-keyring

echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" "trusty-updates/kilo main" > /etc/apt/sources.list.d/cloudarchive-kilo.list

apt-get update && apt-get dist-upgrade

(此處可以重啟一下reboot)

3.安裝ntp,同步時間
控制節點:

  • 安裝:
apt-get install ntp
  • 修改配置:
vim /etc/ntp.conf

server controller iburst
restrict -4 default kod notrap nomodify
restrict -6 default kod notrap nomodify
  • 重啟:
service ntp restart

其他節點:

  • 安裝:
apt-get install ntp
  • 修改配置:(註釋掉其他server)
vim /etc/ntp.conf

server controller iburst
  • 重啟:
service ntp restart

通過watch ntpq -p檢視是否同步成功

4.安裝資料庫(mariadb)

  • 安裝
apt-get install mariadb-server python-mysqldb
  • 修改配置檔案
    建立/etc/mysql/conf.d/mysqld_openstack.cnf檔案,編輯如下內容(設定utf8格式,以及設定為controller節點IP使能通過管理網路訪問其他節點):
[mysqld]
bind-address = 10.0.0.11
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
  • 重啟Mysql:
service mysql restart
  • 執行如下命令(全輸入Y)(此處應該是一些許可權的設定):
mysql_secure_installation

5.安裝訊息佇列

  • 安裝:
apt-get install rabbitmq-server
  • 配置
    新增openstack使用者及密碼(按自己習慣,密碼很重要,很重要),為openstack使用者設定許可權:
rabbitmqctl add_user openstack RABBIT_PASS(我的密碼是123)
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

6.安裝MongoDB

  • 安裝:
apt-get install mongodb-server mongodb-clients python-pymongo
  • 修改配置:
vim /etc/mongodb.conf

bind_ip = 10.0.0.11
  • 重啟一下:
service mongodb stop
rm /var/lib/mongodb/journal/prealloc.*
service mongodb start