赞
踩
(1)掌握Linux虚拟机的安装方法;
(2)掌握OpenStack的单机安装方法;
(3)熟悉OpenStack的核心组件。
Windows10 20H2/VirtualBox 6.1.18 r142142/Ubuntu 18.04 LTS/OpenStack W
安装VirtualBox的增强功能,开启了双向文件拖放与剪贴板同步
首先对Ubuntu系统自带的apt软件源进行备份,执行
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
备份完成后,执行
sudo gedit /etc/apt/sources.list
以打开文本编辑器
粘贴镜像站地址(中科大源)
执行
sudo apt update
更新apt,执行
sudo apt upgrade
更新软件包,执行
sudo apt-get update
在当前用户的/home目录下创建/.pip文件夹,执行
mkdir ~/.pip
使用vim创建并编辑pip的配置文件,执行
安装文本编辑器vim,执行
sudo apt-get install vim
再次执行
vim ~/.pip/pip.conf
添加对应的pip源(中科大源)
执行
sudo pip install --upgrade pip
提示无权限,查找资料,原因为中科大源没有该链接,更换为豆瓣源
通过apt安装,执行
sudo apt-get install git
执行
sudo apt-get install ntpdate
安装NTP同步工具
执行
sudo ntpdate cn.pool.ntp.org
向NTP服务器请求同步系统时间
执行
date
查看当前系统时间
执行
对Github的存储库进行克隆
failed,经检查发现是与GitHub的连接遇到问题,修改github.com为反向代理的镜像站hub.fastgit.org
执行
执行
sudo devstack/tools/create-stack-user.sh
出错,依据提示修改stackrc文件中的HOST_IP变量为127.0.0.1
再次执行
sudo devstack/tools/create-stack-user.sh
使用文本编辑器gedit打开用户配置文件,执行
sudo gedit /etc/sudoers
在
root ALL=(ALL:ALL) ALL
后添加
stack ALL=(ALL)NOPASSWD:ALL
并保存
执行
sudo mv devstack /opt/stack
执行
sudo chown -R stack:stack /opt/stack/devstack
执行
sudo su - stack
执行
sudo ifconfig
经查询资料,需安装net-tools软件包才可以使用ifconfig命令
使用apt安装,执行
sudo apt install net-tools
重新执行
sudo ifconfig
查询本机的IP地址
选择使用本地环回(loopback)地址127.0.0.1
使用文本编辑器gedit打开本地配置文件,执行
sudo gedit local.conf
并粘贴配置内容,保存
执行
./stack.sh
需切换到devstack所在的目录
执行
cd /opt/stack/devstack
再次执行
./stack.sh
观察发现是clone时出现问题,局域网内Windows主机开启代理服务器,允许局域网连接
配置git的http代理
执行
git config http.proxy http://192.168.183.88:10809
配置Ubuntu系统的代理如下
再次执行
./stack.sh
经检查是使用的pip源内没有setuptools软件包
修改pip源为清华源,再次执行
./stack.sh
经检查为cannot uninstall 'simplejson’错误
执行命令
sudo pip install simplejson --ignore-installed simplejson
再次执行
./stack.sh
可以看到,安装已经完成,显示出了DashBoard的IP地址和用户名密码
为使宿主计算机能够访问DashBoard,设置VirtualBox软件的端口转发
将虚拟机内的80端口映射到宿主计算机的80端口
该设置保存后立即生效
在宿主计算机中打开DashBoard面板如下
使用用户名密码(admin/admin或demo/admin)登录如下
打开项目/计算/实例,新建一个实例
运行实例
查看安装的OpenStack版本
通过查看OpenStack的Nova组件的版本来间接查询安装的OpenStack版本
执行
nova-manage version
打开OpenStack发布网站
https://releases.openstack.org/teams/nova.html
如下所示
可知安装的版本是OpenStack-W(Wallaby)版本
查看devstack的项目页面https://github.com/openstack/devstack
可知,devstack总是同步OpenStack的主干版本,目前OpenStack的主干版本即为Wallaby版。
解决方案:不要选择自定义安装(其它选项),要选择清除整个磁盘并安装Ubuntu。
解决方案:等待即可,不要直接结束,可能会导致Fatal错误,此时只能重装虚拟机。
解决方案:手动查看镜像站,发现自动跳转到北京外国语大学镜像站,而该镜像站显示地址不存在,因此,需要进行换源,例如清华源、豆瓣源。
解决方案:使用其它pip源,最终测试使用清华源完成了安装。
解决方案:将git设置代理,如果是能够手动输入clone地址的步骤,可考虑使用GitHub加速站,如hug.fastgit.org等
解决方案:强制结束虚拟机,进入VirtualBox安装目录(默认为C:\Program Files\Oracle\VirtualBox)下,打开命令行窗口,执行.\VBoxManage.exe modifyhd "vdi文件路径" –resize命令以扩充虚拟机磁盘容量。
解决方案:在报错的对应脚本前强制指定使用的HOST_IP。观察发现,即使在local.conf文件中设置了“HOST_IP”变量,但执行时依旧报错,具体原因未知。
解决方案:执行命令sudo pip install simplejson --ignore-installed simplejson,应该是自带的simplejson与待安装的simplejson出现冲突,忽略自带版本即可。
该问题来自于WSL中没有ebtables模块,是WSL2的自身缺陷,故安装无法继续进行。
通过本次OpenStack的安装实验,我进一步熟悉了虚拟机的安装与Linux的重要发行版——Ubuntu的基本使用,在运行安装脚本的过程中尽管遇到了不少问题,但通过查询资料、查看错误日志、与同学交流等方式最终得以顺利解决,成功安装OpenStack。
安装的过程需要对Linux的操作比较熟悉,例如shell语言或设置代理等操作,我在安装的过程中也遇到了许多其他人遇到过或没遇到过的问题与错误,在解决错误的过程中也学习到了许多以前没有接触过的知识,在与其他人交流或帮助查找错误的过程中也发现了许多自己安装中没有出现的其它问题。
由于客观条件的限制,安装过程中遇到的最多问题依然是与网络相关的,对于这些问题,可以通过加载代理的方式解决,这也是能够顺利完成OpenStack安装的重要条件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。