文章目录

  • 环境介绍
  • 环境搭建
  • 虚拟机环境
  • Ubuntu环境配置
  • 砖治疑难杂症

实际环境已搭建成功

环境介绍

Ubuntu18.04(LTS) + OpenStack Queens

本文采用devstack进行自动化安装。

环境搭建

1.下载Ubuntu镜像
清华大学镜像站ubuntu18.04-server-amd64.iso
2. 下载xshell
用于ssh连接虚拟机,目的是为了copy文件配置代码

虚拟机环境

请参照别处,完成子网配置.

Ubuntu环境配置

  1. 安装完成后,进入系统,更改root密码
    sudo passwd root
    切换至root权限
    su root
  2. 开启SSH
    vim /etc/ssh/sshd_config
    PermitRootLogin更改为yes,保存退出

    重启ssh服务
    service ssh restart
  3. 查看虚拟机ip,通过xshell连接虚拟机
    ifconfig
  4. 更换为清华镜像源
    vim /etc/apt/source.list
    将文件替换为以下内容

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

  1. 更新
    sudo apt-get update
    sudo apt-get upgrade
  2. 安装pip
    apt-get install python-pip
    更新pip
    sudo pip install --upgrade pip
    更改pip源
    mkdir ~/.pip
    vim ~/.pip/pip.conf

[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com

  1. 设定时间
    timedatectl set-timezone "Asia/Shanghai"
    timedatectl set-timezone UTC
    写入硬件
    sudo hwclock -w
  2. 创建stack用户
    sudo useradd -s /bin/bash -d /opt/stack -m stack
    echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
    切换至stack用户:
    sudo su stack
  3. 下载devstack
    cd /opt/stack
    git clone https://github.com/openstack-dev/devstack -b stable/queens
    cd devstack
  4. 编辑local.conf文件
    sudo vi local.conf
    控制节点:(HOST_IP改为你的控制节点ip,# Credentials 设置密码,# Branches设置要装的openstack版本)

[[local|localrc]]
MULTI_HOST=true
# management & api network
HOST_IP=10.10.10.10
LOGFILE=/opt/stack/logs/stack.sh.log
# Credentials
ADMIN_PASSWORD=ztabtabz
MYSQL_PASSWORD=ztabtabz
RABBIT_PASSWORD=ztabtabz
SERVICE_PASSWORD=ztabtabz
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
# enable neutron-ml2-vlan
disable_service n-net
enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas,q-vpn
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default
LOG_COLOR=True
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen
# Branches
KEYSTONE_BRANCH=stable/queens
NOVA_BRANCH=stable/queens
NEUTRON_BRANCH=stable/queens
SWIFT_BRANCH=stable/queens
GLANCE_BRANCH=stable/queens
CINDER_BRANCH=stable/queens
# 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/spice-html5.git

计算节点:(HOST_IP改为你的计算节点ip,SERVICE_HOST 改为你的控制节点ip,# Credentials 设置密码,# Branches设置要装的openstack版本)

[[local|localrc]]
MULTI_HOST=true
# management & api network
HOST_IP=10.10.10.11
# Credentials
ADMIN_PASSWORD=ztabtabz
MYSQL_PASSWORD=ztabtabz
RABBIT_PASSWORD=ztabtabz
SERVICE_PASSWORD=ztabtabz
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
# Service information
SERVICE_HOST=10.10.10.10
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
Q_HOST=$SERVICE_HOST
KEYSTONE_AUTH_HOST=$SERVICE_HOST
KEYSTONE_SERVICE_HOST=$SERVICE_HOST
CEILOMETER_BACKEND=mongodb
DATABASE_TYPE=mysql
ENABLED_SERVICES=n-cpu,q-agt,neutron,placement-api
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default
# vnc config
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL=“http://$SERVICE_HOST:6080/vnc_auto.html”
#检查引号是否为英文字符
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
LOG_COLOR=True
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen

  1. 在stack用户运行安装脚本(不要使用root)
    /opt/stack/devstack/stack.sh
    通常会报错,要求使用如下命令:
    FORCE=yes /opt/stack/devstack/stack.sh
  • 过程中需要为不同服务设置密码,建议设置成相同。
  • 约安装一个小时左右,过程中会从镜像站、pip源、git等多处下载文件和依赖,time out多半是网速问题。git clone慢换4G。
  • 会由于缺少各种依赖包而报错,只列举我遇到并解决的。
  1. 安装成功
    出现This is your ip 等内容,即代表安装成功。
  2. 访问openstack
    主机浏览器输入控制节点ip。

    用户名为admin,密码为自己设置的密码。

砖治疑难杂症

  • 运行脚本stack.sh(用stack权限运行,请勿使用root权限)
# !!!!主机名称不能加下划线
`hostname` 查看主机名
`sudo vim /etc/hostname`更改主机名
可能需要`sudo vim /etc/hosts`更改主机名
`sudo reboot`重启
# pip安装依赖过程中,有时会出现依赖冲突的问题,是由于某些库的版本大于配置要求的版本,
# 而这些库的依赖可能与配置要求中的依赖版本不一致,即使手动升级,安装脚本仍然会降级.
可以根据冲突提示,将`~/requirements/`下的依赖txt文件中的版本更改.
# 错误信息如下:
./stac.sh:191 if you wish to run this script anyway run with FORCE=yes /home/dexstack/functions-commom:232: /opt/stack/logs/error.log:No such file or directory
#解决方案:
`$FORCE=yes ./stack.sh`
# 错误信息如下
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 错误
#解决方案
`sudo apt-get build-dep python-lxml python3-dev`
#其他方法
`sudo apt-get install python-dev libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev`
#总之就是缺依赖,具体哪个也分辨不太清(脚本运行时间太长不方便逐个试),GCC通常不会缺
# 错误信息如下
# pip从9手动升级至18.1之后,执行安装脚本`./stack.sh`后会被降级
# 每次失败出现`requirements`相关信息,均是因为pip版本过低,重新升级pip之后,再次执行安装脚本
`sudo pip install --upgrade pip` 升级pip
`pip --version` 查看pip版本
`sudo vim /opt/stack/devstack/tools/install_pip.sh`将第140行附近的install_get_pip注释掉
# 注意
# ./stack.sh脚本执行过程中会从`git.openstack.org`处clone包,有时等待时间会较长,可能是由于网速问题。
可以采用github镜像或者trystack镜像,在local.conf配置文件中加入
`GIT_BASE=http://git.trystack.cn`
或`GIT_BASE=https://github.com`
# 错误信息如下
error: 'Can't connect to MySQL server on '127.0.0.1' (111)'
# 解决方案
`sudo vim /etc/mysql/my.cnf`
# 将bind_address注释
# VMware安装Centos过程中,先创建空白磁盘,选择稍后安装操作系统,否则会自动安装VMtools,卡死。
根据网速不同,pip和git的速度可能有较大的差异,pip若从官网下载太慢,
可在stack用户目录下创建`.pip`目录,然后配置pip.conf文件
# 错误提示
Didn't find service registered by hostname after 120 seconds
# 解决方案,缺少placement-api服务,在配置文件中添加即可

Devstack真实环境搭建OpenStack相关推荐

  1. 【OpenStack】OpenStack系列1之OpenStack本地开发环境搭建向社区贡献代码

    加入OpenStack社区 https://launchpad.net/,注册用户(597092663@qq.com/Admin@123) 修改个人信息,配置SSH keys.OpenPGP keys ...

  2. DevStack环境搭建

    闲话 如果你和我一样,是一个OpenStack的小白,而且之前没有搭建过任何OpenStack相关的的环境,那么你可以参考一下我搭建DevStack环境的步骤,也许能给你减少很多不必要的麻烦. 起初看 ...

  3. OpenStack环境搭建(六:常见问题及解决方案总结)

    实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...

  4. OpenStack环境搭建(五:附加项虚拟机文件备份使用)

    实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...

  5. OpenStack环境搭建(四:web控制端各节点的部署及配置)

    实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...

  6. OpenStack环境搭建(三:Computer与Controller节点的安装及配置)

    实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...

  7. OpenStack环境搭建(二:Fuel Master的安装及配置)

    实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...

  8. OpenStack环境搭建(一:Virtual Box 5.1 环境的安装及配置)

    实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...

  9. 搭建Openstack环境以及Openstack认证服务

    搭建Openstack环境以及Openstack认证服务 Openstack之glance镜像服务.nova计算服务 Openstack之neutron网络服务. 启动一个实例 Openstack之d ...

最新文章

  1. Consider static factory methods instead of constructor
  2. java dubbo 方案,Missing artifact com.alibaba:dubbo:jar:2.8.4 dubbo解决方案
  3. Swimming Balls
  4. 数据结构 - 栈(链表实现栈的入栈出栈)
  5. java调用hbase_Java调用Hbase
  6. 绝了!一个 rm -rf 把公司整个数据库删没了
  7. jQuery.Autocomplete 自动完成
  8. linux rpm 查找,Linux下 rpm 命令查询方法
  9. Gridview光棒效果
  10. python 的输入 输出
  11. 算法训练+乘法表c语言,[蓝桥杯][算法提高VIP]输出九九乘法表 (C语言代码)
  12. oir 用image j打开的插件_Windows 上使用 VSCode Remote 插件进行远程开发
  13. IIS7.5配制支持PHP脚本错误代码0x80070002
  14. Coredump-N, segfault at 0 ip 0000000000000000 sp; 被kernel 抓到
  15. [工具:iperf吞吐率测试工具 ]安装以及使用
  16. 【C语言】扫雷游戏(包含递归展开、手自动标记功能)
  17. html5快速制作,html5动画制作(教你如何快速绘制HTML5动画)
  18. border(边框)的两种写法
  19. ubuntu16.04下设置静态IP
  20. elementUI 页面布局

热门文章

  1. 遗传算法求二元函数极值怎么编码_遗传算法求解二元函数极值源码
  2. 用户即将一分钟后关闭计算机,Win10开机提示“你的电脑将在一分钟后自动重启”怎么解决...
  3. 如何用hugo 搭建博客
  4. Tengine推理框架之初见
  5. 腾讯2021年营收依然稳居互联网大厂前列,是真的到了“大而不能倒”的程度吗?
  6. DM8达梦数据库体系结构详解
  7. 干货!Android快速转战Kotlin教程,BAT大厂面试总结
  8. osgEarth示例分析——osgearth_drawables
  9. 一个新的多旅行商问题及其遗传算法求解(2013的ieee)
  10. html弹性布局两盒,CSS中的弹性盒子总结