Ubuntu部署OpenStack踩坑指南:还要看系统版本?

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: Ubuntu部署OpenStack踩坑指南:还要看系统版本?


到目前为止,我对OpenStack还不太了解,只知道OpenStack本身是一个云管理平台什么是OpenStack?。那作为云管理平台,我能想到最实际的用途就是管理虚拟机,但是,OpenStack本身并不提供虚拟化功能,而是依赖于底层的Hypervisor(如KVM、Qemu、Xen等)来提供虚拟化能力。

KVM是OpenStack中最常用的Hypervisor之一,是一种全虚拟化解决方案,可以提供高性能、高效率和安全的虚拟化环境KVM部署初体验。通过上次实验如何在Ubuntu 23.10部署KVM并创建虚拟机?,我们已经在Ubuntu 23.10上部署好了KVM虚拟化环境。

OpenStack官方介绍的组件及工作原理图如下所示。Nova是OpenStack的主要计算引擎,负责实例的调度、创建和终止。Nova支持各种管理程序,包括QEMU/KVM、Hyper-V、VMware ESXi和Xen。

那么,如果我们要创建或管理虚拟机,则需要将Nova与KVM结合使用,来获取高效、灵活和可靠的虚拟化服务。

首先,我们需要安装OpenStack。在OpenStack文档中心,我们可以看到安装文档分为了Mitaka和Liberty两个版本。

经过了解,Mitaka和Liberty是OpenStack的两个不同的版本。Mitaka版本是在2016年发布的第13个版本,而Liberty版本则是在2015年发布的第12个版本。所以,Mitaka版本可能包含更多新功能和改进,具有更精简和更稳定的架构。

大概搜了一下,主要差异包括Mitaka改善了网络配置、提高了整体稳定性和性能、支持Python 3、支持IPv6、支持网络连接服务插件等,并改进了弹性伸缩功能,因此它可能比Liberty版本更稳定,那我们就选择Mitaka版本吧。

按照官网手册,最小的生产结构需要2个节点来部署。

从名称来看,节点2主要用于提供对象存储服务,对象存储服务用来存储账号、容器和对象;节点1还可以提供块存储服务,块存储服务和共享文件系统用来向实例提供服务。对象存储和块存储是两种不同的存储方式。对象存储是一种基于文件的存储方式,将数据存储为文件,每个文件都有一个唯一的标识符和元数据。块存储将数据存储为一组块,每个块都被分配一个唯一的标识符,但不包含任何元数据。

块存储的优点在于,它的读写速度更快,适合于高性能应用和需要快速访问大量小文件的应用程序;但是它很难扩展并且管理起来比较困难。对象存储的优点在于,它更容易扩展和检索数据,因为它可以根据需要自动分布数据,并且可以根据元数据快速检索数据。

而从网络上来看,我们直接选择私有网络就行了,私有网络比公有网络多了一个L3 Agent的选项,增加了启用self-service overlay分段方法的三层路由服务,比如VXLAN。此外,它使用NAT路由虚拟网络到物理网络。所以,私有网络架构基本可以满足我们的使用需求求。

在私有网络架构中,实例可以连接到自服务网络,自服务网络可以完全在OpenStack环境中或者通过外部网络使用NAT提供某种级别的外部网络访问。

所以,从架构图来看,宿主机仅使用一个网卡好像也是可以的,直接作为管理网络接口使用。

按照推荐配置,建议将节点主机名设置为controller。并向/etc/hosts文件添加以下内容:

# controller
192.168.1.155       controller
# compute1
192.168.1.155       compute1
# block1
192.168.1.155       block1
# object1
192.168.1.155       object1

一些发行版本在/etc/hosts文件中添加了附加条目,将实际主机名解析到另一个IP地址如127.0.1.1。为了防止域名解析问题,我们需要注释或者删除这些条目,但不要删除127.0.0.1条目。

验证到 Internet 和各个节点的连通性。

按照官方提示,建议禁用或移除所有自动更新的服务,因为它们会影响到我们的OpenStack环境。

接下来,我们先启用OpenStack库。

apt-get install software-properties-common
add-apt-repository cloud-archive:mitaka

哦吼,搞错了。Mitaka版本的cloud-archive只支持Trusty版本的Ubuntu,也就是Ubuntu 14.04 LTS。

查了半天,最后发现原因竟然是,语言的问题!

当使用英文时,Ubuntu对应的版本显示为16.04以上的版本。

对应的,还介绍到了Pike、Queens、Rocky、Stein和Victoria等版本的发版时间以及配套的Ubuntu系统版本号,看得我头皮发麻。

既然都学到这了,我就到官网看了看,目前的最新版本是2023年2月发布的第28版Bobcat。但是阿里却说最新的OpenStack版本是Wallaby,作为第26版发布于2023年4月。

实际上,OpenStack的版本历史可以在OpenStack Releases页面中找到。

https://releases.openstack.org/

OpenStack的版本命名采用了动物名称,而不是传统的数字版本号。每个版本都有一个开发周期,通常为6个月。在每个版本的初始发布之后,还会发布额外的稳定点版本。

回到本次遇到的问题,应该是我忽略了一行小字。

或者说翻译的版本没有跟着发布的版本进行更新。

好吧,正如我开头说的那样,到目前为止,我对OpenStack还不太了解,只知道OpenStack本身是一个云管理平台,只是熟悉了一下版本的区别还有和Ubuntu系统之间的对应关系。


相关文章
|
5月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
1222 1
|
6月前
|
Ubuntu Linux
Ubuntu 23.04 用上 Linux 6.2 内核,预计下放到 22.04 LTS 版本
Linux 6.2 带来了多项内容更新,修复了 AMD 锐龙处理器设备在启用 fTPM 后的运行卡顿问题,还增强了文件系统。
|
4月前
|
Ubuntu 编译器 开发工具
在Ubuntu系统上搭建RISC-V交叉编译环境
以上步骤涵盖了在Ubuntu系统上搭建RISC-V交叉编译环境的主要过程。这一过程涉及了安装依赖、克隆源码、编译安装工具链以及设置环境变量等关键步骤。遵循这些步骤,可以在Ubuntu系统上搭建一个用于RISC-V开发的强大工具集。
500 22
|
4月前
|
Ubuntu 网络协议 网络安全
解决Ubuntu系统的网络连接问题
以上步骤通常可以帮助解决大多数Ubuntu系统的网络连接问题。如果问题仍然存在,可能需要更深入的诊断,或考虑联系网络管理员或专业技术人员。
1050 18
|
5月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
380 18
|
5月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
405 15
|
5月前
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
393 14
|
5月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
680 2
|
6月前
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
303 13