本教程是在virtualbox中安装两台ubuntu16.04.4 server虚拟机,通过devstack安装openstack
以下红色为终端输入的命令,蓝色是配置文件需要输入的
我是学习了cloudman老师的教程才会安装的,下面是转载网址:
http://cloudman.cc/
https://mp.weixin.qq.com/s/g-bKZqRFUGXDghIfGJ16_g 视频教程
https://www.cnblogs.com/CloudMan6/p/5357273.html 里面是老师的博客,下面有评论,会讨论一些错误,大家认真看。
安装环境:win10
ubuntu16.04.4 server
笔记本16g内存 i7cpu
网络为中国电信
VirtualBox-5.2.8-121009-Win.exe
Xshell 5
首先去官网下载virtualbox,我是5.28版本,同时官网上下载拓展程序Oracle_VM_VirtualBox_Extension_Pack-5.2.8-121009 openstack.vbox-extpack
1.安装Xshell,可以连接终端复制粘贴代码。下面会用到
2.打开vbox,管理---全局设定--扩展那里添加下载的extpack包。
3.安装openstack需要设置好网卡,vbox设置成功了,最后我又去vmware安装,因为网卡不会设置,所以没有安装成功。
原理和操作大家去看cloudman老师的视频,下面我简单介绍。
3.1 首先新建虚拟机,需要安装两个虚拟机,控制节点和计算节点,命名为controller和compute
点击vbox 新建,写个名字其他参数跟我一样。(控制节点内存最好8g,4g也可以,反正越大越好)
点击创建,进入下一图 (文件写80g),点击创建
创建好的虚拟机上右键,--设置,选择网卡
controller需要设置3个网卡,compute设置2个网卡,compute内存2g,
compute 网卡
然后ok--启动--选择下载的ubuntu镜像,安装。安装过程中会出错,查了下,是因为一开始选择中文,中文界面安装时会报错失败,大家可以先中文安装,看看前面的选项,(因为英文看不大懂),到出错按esc键回去选择英文继续安装即可,英文好的可以一路英文界面安装,其中主机名分别是 devstack-controller和devstack-compute,建立的用户名和密码随意。安装完成后启动ubuntu。
4.进入后输入
ip r
可以查看ip
第一行是网关 192.168.0.1
第二行是192.168.0.0 -----192.168.0.125
第三行 192.168.122.0-----192.168.122.1 linkdown
大家显示出的顺序二三行也许不一样,认准linkdown即可。
首先进入root模式,开启ssh登陆,输入
ssh [email protected] ren是我自定的用户名,大家换成自己的
输入自己的密码,继续
sudo su 输入密码
passwd 设置root密码,连续输入两次
打开ssh配置文件
vi /etc/ssh/sshd_config
Permitrootlogin 改成yes
保存
输入 重启ssh服务
systemctl restart sshd.service
输入
exit
exit
两次exit退到初始用户,然后再进入root用户
查询网关
ip l
可以看到5或者6个网关,之前设置的三个网卡,名字是enp0s3 enp0s8 enp0s9 大家网关名字可能与我不相同,但是出现相近的三个即是。下面设置网络
vi /etc/network/interfaces
设置enp0s3 为静态,address大家自己随意设置,之前我是192.168.0.125 现在设为192.168.0.10 gateway与之前 ip r查询的一样 enp0s8 enp0s9 为自动获取 ; compute设置为192.168.0.11 其他设置一样
保存 重启
reboot
重启后,ssh [email protected] 注意这里为你设置的address ip
修改主机名
vim /etc/hostname
devstack-controller
vim /etc/hosts
192.168.0.10 devstack-controller
下面是compute的
vim /etc/hostname
devstack-compute
vim /etc/hosts
192.168.0.11 devstack-compute
把官方的apt源换成国内的
vi /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ xenialmain restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/xenial-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/xenial-backports main restricted universe multiverse
保存 终端输入下面,升级各种
apt-get update安装完后再安装compute节点 其中vbox网卡两个,配置时ip不一样 其他都与controller一样
安装完后 controller--ip 192.168.0.10 compute--ip 192.168.0.11 互相可以ping通,而且ping baidu.com 也可以。
5. 打开Xshell 新建
输入ip 确定 连接 输入ubuntu用户名 密码 连接上
6.部署openstack 先安装pip
apt install python-pip
apt install -y python-pip
pip install --upgrade pip
下载 devstack 代码,并切换到 stable/ocata 分支
apt-get install git -y
git clone https://git.openstack.org/openstack-dev/devstack -b stable/ocata 视频中是newton,现在不行了,换成ocata版本
安装完 ls 查看一下出现 devstack目录
创建 stack 用户
devstack/tools/create-stack-user.sh
为方便起见,将devstack目录放到/opt/stack下,并设置权限
mv devstack /opt/stack
chown -R stack:stack /opt/stack/devstack
创建国内镜像源
mkdir ~/.pip
vi ~/.pip/pip.conf
[global]
index-url= https://pypi.douban.com/simple
trusted-host = pypi.douban.com
download_cache= ~/.cache/pip
[install]
use-mirrors= true
mirrors= http://pypi.douban.com/
保存
切换到 stack 用户
su – stack
创建国内镜像源
mkdir ~/.pip
vi ~/.pip/pip.conf
跟上面一样 写入配置文件 保存
pwd
显示当前路径
cd devstack编写运行配置文件
在 /opt/stack/devstack 目录下,创建 local.conf。
vi local.conf
devstack-controller的
[[local|localrc]]
MULTI_HOST=true
HOST_IP=192.168.0.10 # management & apinetwork
LOGFILE=/opt/stack/logs/stack.sh.log
# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
enable_service placement-api
enable_service placement-client
# enable neutron-ml2-vlan
disable_service n-net
enable_serviceq-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas,q-
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default
LOG_COLOR=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen
# 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开始部署
devstack-controller 的devstack目录中执行下面
./stack.sh
会输出各项操作的结果。日志会写到 stack.sh.log 文件。整个过程需要连接Internet,网速慢可能会花较长时间,成功后最后会打印出相关信息。下面即是成功了
安装完成后 controller不要重启 下面部署compute 步骤跟前面一样 只是在 /opt/stack/devstack 目录下, local.conf 不一样
devstack-compute
[[local|localrc]]
MULTI_HOST=true
HOST_IP=192.168.0.11 # management & apinetwork
# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
enable_service placement-api
enable_service placement-client
# Service information
SERVICE_HOST=192.168.0.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=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen
# 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
devstak-compute 上执行命令
./stack.sh
7.compute安装成功后会类似出现controller的ip地址。启动openstack只需要在window浏览器上输入 控制节点ip 192.168.0.10即可看到openstack登陆+密码。后续openstack的测试大家可以看cloudman老师的视频,这里就不展示了。
安装出现的问题:
1.假如安装失败,可以继续执行./stack.sh,如果出错,执行./unstack.sh 后再./stack.sh
2.如果报错如下
device br-ex already exists; can't create bridgewith the same name
则删除已有网桥sudo brctl delbrbr-ex,再次执行./stack.sh
3.如果报错No matching distribution found fordebtcollector===1.19.0
更换pip源为清华大学
[global]
trusted-host = pypi.tuna.tsinghua.edu.cn
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
4.部署完controller,不需要重启(重启后需要重新跑./stack.sh不然openstack不会启动),直接部署compute
5.所有都安装完成后,不要重启虚拟机了,重启后openstack不会启动,而且之前的rejoin。sh的重启文件在ocata新版中没有了,启动服务非常麻烦,建议大家弄好快照就一直让它休眠,不要关闭。