前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Devstack搭建OpenStack

Devstack搭建OpenStack

作者头像
JNJYan
发布2019-01-18 09:54:53
2.9K1
发布2019-01-18 09:54:53
举报

环境介绍

VMware Workstation Pro + Ubuntu18.04(LTS) + OpenStack Queens

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

环境搭建

  1. 下载VMware workstation 编辑-虚拟网络编辑器-更改设置

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

虚拟机安装

  • 官方推荐最低配置为单处理器,控制节点为4G内存,计算节点为2G内存。
  • 系统必须为64位机。
  • hostname不能加下划线。 控制节点虚拟机分配40G磁盘空间、4G内存、处理器更改为双核、开启虚拟化、增添一个网络适配器,设置为仅主机模式(only-host)。 计算节点虚拟机分配30G磁盘空间、2G内存、处理器更改为双核、开启虚拟化、增添一个网络适配器,设置为仅主机模式(only-host)。

Ubuntu环境配置

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

重启ssh服务 service ssh restart

  1. 查看虚拟机ip,通过xshell连接虚拟机 ifconfig
  2. 更换为清华镜像源 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. 安装pip3 apt-get install python3-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. 设定时间 dpkg-reconfigure tzdata 选择Asia->Shanghai sudo apt-get install ntpdate 安装时间同步工具 sudo ntpdate cn.pool.ntp.org与网络服务器同步时间 date
  2. 安装git apt-get install git 如果git clone太慢,尝试更改hosts(毫无效果) ipaddress 分别查找gtihub.global.ssl.fastly.netgithub.com的ip地址,将其添加进hosts vim /etc/hosts 刷新dns缓存 sudo /etc/init.d/networking restartsudo /etc/init.d/nscd restart 若未找到命令则先安装nscd sudo apt-get install nscd
  3. 创建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
  4. 下载devstack cd /opt/stack git clone https://github.com/openstack-dev/devstack -b stable/queens cd devstack
  5. 编辑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-V** 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 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权限)
代码语言:javascript
复制
# !!!!主机名称不能加下划线
`hostname` 查看主机名
`sudo vim /etc/hostname`更改主机名
可能需要`sudo vim /etc/hosts`更改主机名
`sudo reboot`重启

代码语言:javascript
复制
# 错误信息如下:
./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`

代码语言:javascript
复制
# 错误信息如下
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通常不会缺

代码语言:javascript
复制
# 错误信息如下
# pip从9手动升级至18.1之后,执行安装脚本`./stack.sh`后会被降级
# 每次失败出现`requirements`相关信息,均是因为pip版本过低,重新升级pip之后,再次执行安装脚本
`sudo pip install --upgrade pip` 升级pip
`pip --version` 查看pip版本

代码语言:javascript
复制
# 注意
# ./stack.sh脚本执行过程中会从`git.openstack.org`处clone包,有时等待时间会较长,可能是由于网速问题。

代码语言:javascript
复制
# 错误信息如下
error: 'Can't connect to MySQL server on '127.0.0.1' (111)'
# 解决方案
`sudo vim /etc/mysql/my.cnf`
# 将bind_address注释

代码语言:javascript
复制
# VMware安装Centos过程中,先创建空白磁盘,选择稍后安装操作系统,否则会自动安装VMtools,卡死。

代码语言:javascript
复制
# Centos6.5的yum依赖于2.6,与python2.7不兼容,每次yum update都需要更改/usr/bin/yum头部注释?改完也不好使系列?
# yum不会用啊(;′⌒`)
# 请勿轻易卸载python2.6及yum,卸载之前先安装`yum install wget`,不然就要重装系统了

参考:https://blog.csdn.net/pfztab/article/details/78632393

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年11月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境介绍
  • 环境搭建
    • 虚拟机安装
      • Ubuntu环境配置
      • 砖治疑难杂症
      相关产品与服务
      云数据库 MySQL
      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档