OpenStack的安装与使用
摘要
云计算与云服务第一次实验
仅供参考
一、 实验目的
(1)掌握 Linux 虚拟机的安装方法;
(2)掌握 OpenStack 的单机安装方法;
(3)熟悉 OpenStack 的核心组件。
二、 实验环境
(1)操作系统:Ubuntu-22.04 LTS
(2)虚拟机软件:Vmware
(3)devstack
(4)OpenStack: 7.4.0
三、 实验内容与完成情况
1、系统准备工作
(1) 使用Vmware创建Unbuntu-22.04 LTS系统
(2) Ubuntu创建新用户
由于本主机已经安装Ubuntu-Windows双系统,且版本符合要求,故直接使用Ubuntu系统完成实验。
主机名为zelazia,创建新用户并分配到sudoer用户组,能够起到一定的系统隔离作用。后续实验在ZLZ用户下完成。
2、安装必要工具
(1) 安装 vim 编辑器
1 | sudo apt-get install vim |
(2) 安装 git
1 | sudo apt-get install git |
(3) 安装 pip
1 | sudo apt-get install python3-pip |
安装完成后使用:pip --version查看版本。
(4) 安装 net-tools
1 | sudo apt-get install net-tools |
安装完成后使用sudo ifconfig命令获取本机地址10.82.221.54
2、更换 apt 源为阿里源
1 | sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak |
使用 vim (也可以使用gedit或nano编辑器)打开sources.list并添加以下内容:
1 | deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse |
对以上内容进行保存,对源进行更新,执行以下命令:
1 | sudo apt-get update //更新源 |
1 | sudo apt-get upgrade //更新已安装的包 |
3、设定时间同步
(1) 安装时间同步工具
1 | sudo apt-get install ntpdate |
(2) 设定时区,选择 Asia、shanghai
1 | sudo dpkg-reconfigure tzdata |
(3) 与网络服务器同步时间并查看
1 | sudo ntpdate cn.pool.ntp.org |
4、创建 stack 用户,并设置环境:
1 | sudo useradd -s /bin/bash -d /opt/stack -m stack |
5、修改 /opt/stack 目录的权限,确保 stack 用户可以执行文件
1 | sudo chmod +x /opt/stack |
6、将 stack 用户添加到 sudoers 文件,授予 stack 用户 sudo 权限
1 | echo “stack ALL=(ALL) NOPASSWD: ALL” | sudo tee /etc/sudoers.d/stack |
7、切换至 stack 用户
1 | sudo su – stack |
8、更换 pip 为清华源
1 | mkdir .pip |
使用 vim 添加以下内容:
1 | [global] |
9、下载 devstack 至 devstack 文件夹,并进入devstack文件夹
1 | git clone https://opendev.org/openstack/devstack |
10、创建 local.conf 配置文件
vim local.conf
添加以下内容:
1 | [[local|localrc]] |
此步骤设置所需密码,方便后续使用。HOST_IP=后的内容修改为步骤2-(4)中记录的IP地址10.82.221.54。
11、下载 etcd 并移动到 devstack 文件夹
1 | wget https://github.com/etcd-io/etcd/releases/download/v3.4.27/etcd-v3.4.27-linux-amd64.tar.gz |
1 | mv etcd-v3.4.27-linux-amd64.tar.gz /opt/stack/devstack/files/ |
12、下载 CirrOS 镜像文件并保存到 devstack 文件夹:
1 | wget https://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img -O /opt/stack/devstack/files/cirros-0.6.2-x86_64-disk.im |

13、在 devstack 目录下运行脚本
1 | ./stack.sh |

安装成功后,可用虚拟机自带的火狐浏览器打开openstack服务,网址如下:http:/ 10.82.221.54 /dashboard
根据配置文件local.conf可知用户名为admin,密码为0
四、 出现的问题与解决方案
1、新用户权限问题
在刚开始建立用户ZLZ时遇到了无法使用sudo命令的问题,这是由于我在刚开始创建用户时并没有分配权限。
1 | su - zelazia |
尝试为用户赋予sudo权限,但是并没有起到作用。
1 | sudo vim /etc/sudoers |
尝试为用户赋予root权限,修改文件如下:
1 | # User privilege specification |
保存退出,但是依然没有解决问题。
log out当前用户ZLZ,回到用户zelazia,重复上述过程,完成了权限设置。
2、下载缓慢
在完成最后一步./stack.sh时网络极其缓慢,我耐心等待了6.9个小时,终于成功完成了安装!
五、 实验总结
通过本次《云计算与云服务》课程中的实验一“OpenStack的安装与使用”,我对云计算平台的构建与管理有了更深刻的理解,同时也提升了在Linux环境下进行系统配置和问题解决的实践能力。实验以在Ubuntu-22.04系统上完成OpenStack的单机部署为核心目标,涵盖了从虚拟机环境搭建到复杂服务配置的全流程,让我逐步掌握了开源云计算平台的基础架构与核心组件的运行逻辑。
在安装 OpenStack 的过程中,我熟悉了其单机安装的步骤和要点。从安装必要的工具如 vim、git、pip 等,到更换 apt 源以提高下载速度,再到设定时间同步确保系统时间的准确性,每一步都让我对 Linux 系统的配置和管理有了更深入的理解。特别是创建 stack 用户并设置环境,以及将该用户添加到 sudoers 文件以授予必要的权限,这些操作让我明白了在多用户系统中如何进行合理的权限管理。
通过下载 devstack 并进行配置,我成功地在本地搭建了一个 OpenStack 环境。这一过程让我对 OpenStack 的架构和组件有了直观的认识,了解了各个服务之间的协作相互以及如何通过配置文件来定制化部署。
然而,在实验过程中也遇到了一些问题,新用户权限不足导致无法使用 sudo 命令。这让我意识到在系统管理中,用户权限的合理分配和管理是多么重要。通过不断地尝试和查阅资料,我最终解决了这个问题,这不仅提高了我的故障排查能力,也让我对 Linux 系统的用户管理机制有了更深刻的认识。
总的来说,这次实验让我在云计算与云服务的领域迈出了坚实的一步,为今后进一步学习和应用相关技术打下了坚实的基础。
参考文章:
参考链接
OpenStack的安装与使用

