系统及版本
- Ubuntu16.0 LTS
- OpenStack版本Rocky
Ubuntu配置
- 4G RAM
- 4核处理器(开启处理器虚拟化)
- 40G可用空间
- 网络设置(NAT模式与宿主机连接)IP配置xxx:xxx:xxx:xxx
apt配置
在DevStack安装过程中要使用apt安装依赖软件,Ubuntu默认使用美国源,在国内使用下载速度会非常慢,甚至导致安装失败,所以要更换国内源。这里使用中科大的镜像源.。
# 首先备份原/etc/apt/sources.list文件
$ sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
# 编辑新的sources.list
$ sudo vim /etc/apt/sources.list
sources.list
内容如下
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
## Not recommended
# deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
这里选用的是http传输+xenial版本,更多发行版可以自行在中科大网站自行配置
# 更新软件
$ sudo apt-get update
$ sudo apt-get upgrade
# 安装git
sudo apt-get install git
创建stack用户
$ sudo useradd -s /bin/bash -d /opt/stack -m stack
# 因为stack用户在安装过程中要使用sudo命令且安装过程中不会询问密码,所以要给stack用户无明码的sudo权力
$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
# 切换用户
$ sudo su - stack
更换pip源
openstack基于Python语言,在安装过程中要使用pip相应的包,更换为国内源会加快安装速度。
编辑~/.pip/pip.conf(没有就创建)
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
设置git代理
devstack安装过程中要从GitHub下载openstack代码,所以最好为git设置代理,否则容易因为下载超时而中断安装.这里使用shadowsocks来作为代理.
安装并设置shadowsocks客户端
# 安装shadowsocks客户端
$ sudo apt install shadowsocks
# 配置shadowsocks
$ sudo vim /etc/shadowsocks.json
# shadowsocks.json
{
"server":"server-ip",
"server_port":8000,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"your-password",
"timeout":600,
"method":"aes-256-cfb"
}
# 启动shadowsocks客户端
$ sudo sslocal -c /etc/shadowsocks.json -d start
更多关于shadowsocks命令行的使用可以参考这篇blog
为git http/https协议设置代理
在配置shadowsocks时我们设置了shadowsocks客户端监听本地1080端口,发送到这个端口的请求可以通过shadowsocks转发至代理服务器
$ git config --global http.proxy 'sock5://127.0.0.1:1080'
$ git config --global https.porxy 'sock5://127.0.0.1:1080'
下载devstack
$ git clone https://git.openstack.org/openstack-dev/devstack
cd devstack
创建local.conf文件
localconf
用于控制安装的一些配置,如各服务的密码和服务端口等,更多配置可以参考官方文档
最简配置如下
[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
开始安装
$ ./stack.sh
安装失败的补救措施
如果安装失败,一般出错信息会显示在最近的log信息里,按log修复即可.如果不能修复,可以执行下面的命令重新开始安装
$ ./unstack.sh
$ ./clean.sh
sudo rm -rf /opt/stack
sudo reboot