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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 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系统之间的对应关系。


相关实践学习
块存储快速入门
块存储是阿里云为云服务器ECS提供的块设备产品。通过体验挂载数据盘、分区格式化数据盘(Linux)、创建云盘快照、重新初始化数据盘、使用快照回滚云盘和卸载数据盘等功能,带您快速入门块存储。
相关文章
|
2月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(五):18.04安装多版本CUDA
这篇博客文章介绍了在Ubuntu 18.04系统上如何安装和切换不同版本的CUDA,以及如何安装不同版本的cuDNN。
235 2
|
24天前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
17 3
|
2月前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
182 4
Linux系统之Ubuntu安装cockpit管理工具
|
2月前
|
Ubuntu 测试技术 网络安全
Ubuntu系统下部署flatpress轻量级博客系统
【10月更文挑战第3天】Ubuntu系统下部署flatpress轻量级博客系统
54 3
Ubuntu系统下部署flatpress轻量级博客系统
|
2月前
|
Ubuntu 编译器 计算机视觉
Ubuntu系统编译OpenCV4.8源码
【10月更文挑战第17天】只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。
|
2月前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
107 1
|
1月前
|
消息中间件 Ubuntu Java
Ubuntu系统上安装Apache Kafka
Ubuntu系统上安装Apache Kafka
|
2月前
|
Ubuntu API Python
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
73 1
|
2月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
2月前
|
Kubernetes 网络安全 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
311 2