基于虚拟机Ubuntu 16.04 搭建DevStack

基于虚拟机Ubuntu 16.04 搭建OpenStack

准备工作

安装Ubuntu 16.04版本

1、楼主用的是windows的系统,安装VMware Workstation 14 Pro虚拟机版本,使用的是Ubuntu 16.04 镜像,按照常规方法进行镜像系统安装。
注:虚拟机网络选用“NAT”模式;虚拟机的虚拟化透传功能记得要开启,其他的设置可参照;

基于虚拟机Ubuntu 16.04 搭建DevStack
2、Ubuntu开启root账户

sudo passwd root

3、开启ssh

apt-get update
apt-get install openssh-server

输入"sudo vim /etc/ssh/sshd_config"–>回车–>把配置文件中的"PermitRootLogin without-password"加一个"#“号,把它注释掉–>再增加一句"PermitRootLogin yes”–>保存,修改成功

service ssh start

安装DevStack

可以参照官网的步骤进行安装https://docs.openstack.org/devstack/latest/,由于OpenStack的版本更新速度较快,较新的版本可能有未知的bug,so楼主采用的是ocata版本

添加stack用户

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 

下载DevStack脚本

https://github.com/openstack-dev/devstack/branches 显示分支的情况,可以选择自己熟悉的版本进行下载

以 stack 的身份执行以下命令

pwd

显示路径:/opt/stack
安装git(openStack的文件都是以git方式存在的)

sudo apt-get install git -y

clone DevStack文件,加入time命令进行计时

time git clone https://git.openstack.org/openstack-dev/devstack  -b stable/ocata

建议备份DevStack 的脚本

tar zcf devstack20190415.tar.gz devstack 

创建配置文件 local.conf 文件

DevStack 被设计用来部署和测试 OpenStack 组件,因此有多种可行的配置方式。 DevStack 是通过维护 local.conf 文件中的参数来进行控制的。
注:以 stack 的身份执行以下命令

id
结果显示为:uid=1001(stack) gid=1001(stack) groups=1001(stack)

进入devstack目录

cd devstack 
vi local.conf

添加以下内容:

[[local|localrc]] 
ADMIN_PASSWORD=secret 
DATABASE_PASSWORD=$ADMIN_PASSWORD 
RABBIT_PASSWORD=$ADMIN_PASSWORD 
SERVICE_PASSWORD=$ADMIN_PASSWORD 

secret是初始密码,您可以根据需要设置自已的密码。
Tip: 如果从此文档复制粘贴到配置文件中,要注意UNIX/Linux文本文件的行结尾。

开始安装

以 stack 的身份执行以下命令

time ./stack.sh 

经常漫长的等待,最终成功了:
基于虚拟机Ubuntu 16.04 搭建DevStack
当前楼主实际经历的时间不是这个,中间也由于网络的问题重新执行了N次stack.sh安装命令,直到成功为止。

查看安装结果

访问地址http://192.168.159.134/dashboard (192.168.159.134为虚拟机的ip地址)
登录窗口
基于虚拟机Ubuntu 16.04 搭建DevStack
系统信息页面
基于虚拟机Ubuntu 16.04 搭建DevStack

提高安装速度的方法

有多次安装不成功,均网速的问题。安装的过程,需要考虑从三类位置下载软件 1、OpenStack
一直没有找到合适稳定的镜像站点。
2、Ubuntu
Ubuntu 镜像众多,仅仅国内的就有网易、搜狐、阿里以及中科大等多个镜像。 但是有点无从下手,不知如何选择;或者就是使用 ping 来查看每个镜像的响应时间再做选 择。但是,这种方法有点麻烦。 现在,apt-get 已经支持 mirror 方法,这个方法可以自动根据当前的位置,选择使用一 个比较好的镜像。需要做的工作,仅仅是修改一下 /etc/apt/sources.list 。 例如:我的是 16.04,版本为 Xenial ,在这个配置文件的头部添加如下行:

sudo vi /etc/apt/sources.list

在文章头部添加

deb mirror://mirrors.ubuntu.com/mirrors.txt xenial main restricted universe multiverse 
deb mirror://mirrors.ubuntu.com/mirrors.txt xenial-updates main restricted universe multiverse 
deb mirror://mirrors.ubuntu.com/mirrors.txt xenial-backports main restricted universe multiverse 
deb mirror://mirrors.ubuntu.com/mirrors.txt xenial-security main restricted universe multiverse 

3、Python
测试了一下豆瓣 pip 镜像站点速度比较快,那么我们就通过它来进行 Python 组件的安装吧。

sudo mkdir /root/.pip/ $ sudo vi /root/.pip/pip.conf

添加一下内容:

[global] 
index-url = https://pypi.douban.com/simple

额外添加Ubuntu 16.04 LTS 更新源

sudo vi sources.list

添加以下内容

deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties   
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted   
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties   
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted   
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties   
deb http://mirrors.aliyun.com/ubuntu/ xenial universe   
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe  
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse   
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse   
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse   
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties   
deb http://archive.canonical.com/ubuntu xenial partner   
deb-src http://archive.canonical.com/ubuntu xenial partner  
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted   
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties   
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe   
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multivers

提高的下载速度 get-pip.py

https://bootstrap.pypa.io/get-pip.py stack.sh 脚本有一个下载 get-pip.py 1.52MB,很慢很慢。

在外部通过迅雷等下载工具下载后,复制到 devstak/file 目录中,可以大大提高速度。 后续的文件会从豆瓣下载。

总结:网速快的2个小时可以OK,慢一些的估计需要6个小时左右,具体得看网络情况。欢迎感兴趣的童鞋尝试一下,有问题随时留言。