VMware Workstation Pro + Ubuntu18.04(LTS) + OpenStack Queens
本文采用devstack进行自动化安装。
下载VMware workstation
编辑-虚拟网络编辑器-更改设置
下载Ubuntu镜像
清华大学镜像站ubuntu18.04-server-amd64.iso
下载xshell
用于ssh连接虚拟机,目的是为了copy文件配置代码
sudo passwd root
su root
vim /etc/ssh/sshd_config
PermitRootLogin
更改为yes
,保存退出service ssh restart
ifconfig
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
sudo apt-get update
sudo apt-get upgrade
apt-get install python3-pip
sudo pip install --upgrade pip
mkdir ~/.pip
vim ~/.pip/pip.conf
[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com
dpkg-reconfigure tzdata
sudo apt-get install ntpdate
安装时间同步工具sudo ntpdate cn.pool.ntp.org
与网络服务器同步时间date
apt-get install git
gtihub.global.ssl.fastly.net
和github.com
的ip地址,将其添加进hostsvim /etc/hosts
sudo /etc/init.d/networking restart
sudo /etc/init.d/nscd restart
sudo apt-get install nscd
sudo useradd -s /bin/bash -d /opt/stack -m stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo su stack
cd /opt/stack
git clone https://github.com/openstack-dev/devstack -b stable/queens
cd devstack
sudo vi local.conf
[[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*n
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
/opt/stack/devstack/stack.sh
FORCE=yes /opt/stack/devstack/stack.sh
This is your ip 等内容
,即代表安装成功。stack.sh
(用stack权限运行,请勿使用root权限)# !!!!主机名称不能加下划线 `hostname` 查看主机名 `sudo vim /etc/hostname`更改主机名 可能需要`sudo vim /etc/hosts`更改主机名 `sudo reboot`重启
# 错误信息如下: ./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版本
# 注意 # ./stack.sh脚本执行过程中会从`git.openstack.org`处clone包,有时等待时间会较长,可能是由于网速问题。
# 错误信息如下 error: 'Can't connect to MySQL server on '127.0.0.1' (111)' # 解决方案 `sudo vim /etc/mysql/my.cnf` # 将bind_address注释
# VMware安装Centos过程中,先创建空白磁盘,选择稍后安装操作系统,否则会自动安装VMtools,卡死。
# Centos6.5的yum依赖于2.6,与python2.7不兼容,每次yum update都需要更改/usr/bin/yum头部注释?改完也不好使系列? # yum不会用啊(;′⌒`) # 请勿轻易卸载python2.6及yum,卸载之前先安装`yum install wget`,不然就要重装系统了