devstack部署openstack環境


背景:公司需要搭建openstack私有雲。配置兩台物理服務器。

各大搜索引擎了解了下OpenStack。決定先在虛擬機上部署實現openstack。

前提准備

設備:一台宿主機Windows10 1607,一台ubuntu server 16.04

軟件:virtualBox 5.2.0

鏡像:ubuntu server 16.04

虛擬機配置

內存 4G

硬盤空間 80G

虛擬光盤 ubuntu-16.04.3-server-amd64.iso

網卡1 橋接網卡  #鏈接互聯網

網卡2 內部網絡

網卡3 host-only網絡

其他默認

 

虛擬機安裝過程

Primary network interface: 選enp0s3

Choose software :空格選中 standard system utilit,Virtual Machine hose(虛擬機開啟虛擬化功能) OpenSSH server(SSH服務)

其他默認。。。

 

虛擬機啟動配置

我的宿主機ip是192.168.0.102

登錄用戶

#ip r

查看ip地址

虛擬機ip:192.168.0.100

確認是否可以ssh登錄虛擬機

 

上面的圖片僅供參考,由於我在多台機上實驗,整理有誤,配置過程的文件主要看一下信息

 

設置root密碼

#sudo passwd

切換root登錄

#su root

 

修改interfaces文件允許root ssh

#vim /etc/ssh/sshd_config

找到PermitRootLogin prohibit-password

修改成PermiRootLogin yes

 

修改interfaces文件,固定ip

#vim /etc/network/interfaces

在#The primary network interface下面編輯

auto enp0s3
iface enp0s3 inet static
address 192.168.2.85
netmask 255.255.255.0
gateway 192.168.2.0
dns-nameservers 114.114.114.114

auto enp0s8
iface enp0s8 inet manual

autp enp0s9
iface enp0s9 inet manual

 

#ip設置需看實際配置,不是固定

重啟虛擬機嘗試root SSH固定的ip登錄

 

更換apt源為阿里源

vim /etc/apt/sources.list

替換文本中內容

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse 

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse 

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse 

deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse 

deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse 

deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse 

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse 

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse 

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse 

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

 

保存退出執行

#apt-get update

#apt-get upgrade

 

設定時間同步

設定時區:dpkg-reconfigure tzdata

           選擇Asia -> 再選擇Shanghai -> OK

同步時間命令:

           1、sudo apt-get install ntpdate // 安裝時間同步工具


           2、sudo ntpdate cn.pool.ntp.org // 與網絡服務器同步時間

 

          3、date // 查看時間是否已同步

 

安裝pip

apt-get install python-pip

 

pip更換為豆瓣源

#mkdir .pip

#vim .pip/pip.conf

編輯內容:

[global]

index-url = http://pypi.douban.com/simple/

trusted-host = pypi.douban.com

 

下載devstack

#git clone https://github.com/openstack-dev/devstack -b stable/pike

 

 

創建 stack 用戶

#devstack/tools/create-stack-user.sh

 

將devstack目錄放到/opt/stack下,並設置權限

#mv devstack /opt/stack

#chown -R stack:stack /opt/stack/devstack

 

 

切換到stack用戶  切換用戶后 所有操作均在stack用戶下,直到部署成功都不需要切換用戶。

#su - stack

 

給stack用戶配置一樣的pip的豆瓣源

#mkdir .pip

#vim .pip/pip.conf

編輯內容:

[global]

index-url = http://pypi.douban.com/simple/

trusted-host = pypi.douban.com

 

cd到devstack目錄下

#cd devstack

 

創建local.conf

#vim local.conf

編輯內容:

Controller

[[local|localrc]]
# Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"

# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/sice-html5.git


# Credentials
DATABASE_PASSWORD=admin
ADMIN_PASSWORD=admin
SERVICE_PASSWORD=admin
RABBIT_PASSWORD=admin


# Enabling Neutron (network) Service

disable_service n-net

enable_service q-svc

enable_service q-agt

enable_service q-dhcp

enable_service q-l3

enable_service q-meta

enable_service q-metering

enable_service neutron



## Neutron options

HOST_IP=192.168.2.85  #自己controller的ip

FLAT_INTERFACE=enp10s0f0 #使用controller上的那一塊網卡

FIXED_RANGE=10.4.128.0/20

FIXED_NETWORK_SIZE=4096

FLOATING_RANGE=192.168.2.128/25

MULTI_HOST=1

LOGFILE=/opt/stack/logs/stack.sh.log

 保存退出

 

Compute

[[local|localrc]]

HOST_IP=192.168.2.86 # change this per compute node

FLAT_INTERFACE=eth0

FIXED_RANGE=10.4.128.0/20

FIXED_NETWORK_SIZE=4096

FLOATING_RANGE=192.168.2.128/25

MULTI_HOST=1

LOGFILE=/opt/stack/logs/stack.sh.log

ADMIN_PASSWORD=admin

DATABASE_PASSWORD=admin

RABBIT_PASSWORD=admin

SERVICE_PASSWORD=admin

DATABASE_TYPE=mysql

SERVICE_HOST=192.168.2.85  //controller節點ip

MYSQL_HOST=$SERVICE_HOST

RABBIT_HOST=$SERVICE_HOST

GLANCE_HOSTPORT=$SERVICE_HOST:9292

ENABLED_SERVICES=n-cpu,q-agt,n-api-meta,c-vol,placement-client

NOVA_VNC_ENABLED=True

NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"

VNCSERVER_LISTEN=$HOST_IP

VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN

 

controller節點和compute節點除local.conf不同,interfaces設置不同外其余皆一樣

如果你只是搭建一個節點可以不用管compute節點的配置

**HOST_IP=后面的值為虛擬機ip

 

cd 到files目錄下手動下載兩個壓縮包防止超時報錯

#cd files/

#wget -c https://github.com/coreos/etcd/releases/download/v3.1.10/etcd-v3.1.10-linux-amd64.tar.gz
#wget -c  https://github.com/coreos/etcd/releases/download/v3.1.7/etcd-v3.1.7-linux-amd64.tar.gz

**一次下載不成功請多執行上面命令幾次直到finish

 

cd回devstack目錄下

#cd ..

 

運行./stack.sh

#./stack.sh

 

 

遇到其他報錯主要檢查local.conf然后清理上次錯誤配置./unstack.sh和./clean.sh,然后再運行./stack.sh配置

等待完成如遇超時(timeout)報錯請再次運行./stack.sh

完成后使用虛擬機ip登錄圖形化界面。

devstack更新迭代,可能過幾個月我這篇配置失效,這次是雙節點配置openstack僅供試玩~

 

主要參考網站https://docs.openstack.org/devstack/latest/guides/multinode-lab.html

 

配置完成后如果不小心關機需要重啟openstack的某些服務,請自行百度查看指令。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM