码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Ubuntu部署OpenStack踩坑指南:还要看系统版本?


    77d0859afe542f54abac743e952c5b4b.gif

    正文共:1515 字 12 图,预估阅读时间:2 分钟

    到目前为止,我对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。

    40192aaedd5a7fa794a38824057cea31.png

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

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

    e04b4cd7d1fcccb6a41f2d04ece9fdf6.png

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

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

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

    f67812a57c8c5f5161fe82846476aff3.png

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

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

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

    59a5c6c68eb7469d78cdf9e96341b0a8.png

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

    3c8644fa73d9e82698170a9bf57e2520.png

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

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

    1. # controller
    2. 192.168.1.155 controller
    3. # compute1
    4. 192.168.1.155 compute1
    5. # block1
    6. 192.168.1.155 block1
    7. # object1
    8. 192.168.1.155 object1

    fedc0f3f7abe76b7f5fa1f4528d00caa.png

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

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

    6613f762449fbcc663a806740576f767.png

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

    ac3468ed7bec7e803d7ecc38a1c77828.png

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

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

    cb1031b767de365aa31b7b2474fb7987.png

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

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

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

    16d8ffb10f8b16b352d4569dbafc9bd2.png

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

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

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

    https://releases.openstack.org/

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

    44f93b672f0a9d292cd1905897a90e9b.png

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

    a195d1017786bf4a29e9c09ed1d35f25.png

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

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

    2063e33dc9a6f18a6becaa9b9d87bafc.gif

    长按二维码
    关注我们吧

    b24e16a5afc119d317b80c43e753f647.jpeg

    b091932052922a810a5806f82d02c236.png

    准备搞OpenStack了,先装一台最新的Ubuntu 23.10

    如何在Ubuntu 23.10部署KVM并创建虚拟机?

    PVE8.0-2安装使用快速指导

    借PVE8.0的Debian 12系统配置一下NFS服务器

    CentOS 7搭建NFS服务器

    不想用了PVE了怎么办?那就迁移到VMware呗!

    使用IKE数字签名RSA认证建立IPsec隧道的配置案例

    飞塔FortiGate的IPsec VPN应该怎么配?

    FortiGate配置$$し νρη

    手把手教你在天翼云部署一台FortiGate云主机

    网络之路25:VLAN进阶实验-Super VLAN

    软考里面竟然开始考H3C CAS了,突击补一下课

    H3C CAS云计算管理平台CVM节点部署

    VMware存储管理命令vmkfstools使用指南

    VMware使用vmkfstools命令将厚置备虚拟机磁盘转为精简置备

    豁出去了,真机带业务演示一把ESXi 6.7升级7.0 U3

    华为交换机S3700/S5700/CE6800配置SSH远程登录

    HPE服务器通过显卡直通安装Tesla M4,这算亮机成功了吗?

    切换到WDDM模式,Tesla M4可以用于本地显示输出了!

  • 相关阅读:
    解决uniapp微信小程序canvas不能引入字体的问题
    【一等奖方案】大规模金融图数据中异常风险行为模式挖掘赛题「NUFE」解题思路
    开源软件安全与应对策略探讨 - Java 机密计算技术应用实践
    【SSM框架】Mybatis详解10(源码自取)之入参、返回值map
    02-WPF_基础(二)
    MaixII-Dock(v831)学习笔记——初识v831
    Linux文件I/O
    Kubernetes部署+kubesphere管理平台安装
    vue+js登陆页面, 前端实现滑块验证
    springboot常见网络相关错误及原因解析
  • 原文地址:https://blog.csdn.net/gtj0617/article/details/134432638
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号