Openstack 与 Ceph集群搭建(上): 规划与准备

文章目录

  • 一、写在前面
    • 1. 网络架构
    • 2. 节点规划
    • 3. 软件版本
    • 4. 避坑指南
  • 二、基础配置
    • 1. host配置
    • 2. 修改hostname名称
    • 3. 确保root账号能登录系统
    • 4. 配置NTP
    • 5. 配置免密登录

一、写在前面

近期将进行三节点的Openstack、Ceph集群混合部署,本人将详细记录该过程。在此之前,本文为Openstack与ceph集群搭建的上篇,主要展现集群的整体规划与注意事项。中、下篇将详细介绍ceph与Openstack的安装细节。

在生产环境建议将Openstack节点与Ceph节点分开部署

1. 网络架构

所有节点网络结构都相同,图中只画了两个节点。在后续部署过程中需要确保所有节点能连接互联网。
在这里插入图片描述

以上架构图中在服务器的物理层面是2个(实际可支持多端口捆绑)10G端口通过链路聚合连接到物理交换机, 底层接口类型配置为Trunk模式。在操作系统层面将统一呈现为bond0逻辑接口。
在混合部署模式中,为了区分openstack和ceph流量,在方案设计时我们基于bond0口划分了VLAN。 VLAN1250 用作Openstack;VLAN1249用作Ceph。
所以在安装系统时一定要选择创建bond接口, 如下:
在这里插入图片描述

2. 节点规划

节点名称IP物理(逻辑)接口Idrac其他说明
node-01vlan1250 172.16.250.250
vlan1249 172.16.249.250
vlan1250(Op、Ceph、物理环境管理网)
vlan1249(ceph集群内部通信)
bond0(OpenStack 虚拟机使用的物理网络)
OpenStack 控制、计算节点、部署节点、OSD节点
node-02vlan1250 172.16.250.249
vlan1249 172.16.249.249
vlan1250(Op、Ceph、物理环境管理网)
vlan1249(ceph集群内部通信)
bond0(OpenStack 虚拟机使用的物理网络)
OpenStack 计算节点、OSD节点
node-03vlan1250 172.16.250.248
vlan1249 172.16.249.248
vlan1250(Op、Ceph、物理环境管理网)
vlan1249(ceph集群内部通信)
bond0(OpenStack 虚拟机使用的物理网络)
OpenStack 计算节点、Ceph 控制节点、OSD节点、Ceph部署节点

3. 软件版本

软件名称软件版本其他
Ubuntu22.04 (Jammy Jellyfish)截止目前24.04还不支持Openstack
CEPHReef 18.2.2Ceph也不支持24.04 ,有小bug
OpenStack2024.1

4. 避坑指南

一、 原则强烈不建议CEPH 与OpenStack管理节点部署在同一台服务器上,因为由很多端口会冲突。比如grafana 3000端口。
二、若强行将ceph管理节点与Openstack管理节点部署在同一台物理机,则安装以下顺序进行部署:

  1. Ceph
  2. OpenStack(不要配置ceph对接配置),且关闭grafana3000端口。
  3. 重新配置OpenStack对接Ceph
    以上顺序可避免Openstack部署过程中docker不能重启的问题;

二、基础配置

以下基础配置需要在每台节点上执行。

1. host配置

在所有节点上编辑 /etc/hosts文件添加以下信息

172.16.250.250 node-01
172.16.250.249 node-02
172.16.250.248 node-03
172.16.249.250 node-01
172.16.249.249 node-02
172.16.249.248 node-03

2. 修改hostname名称

按照规划表修改节点名称

sudo hostnamectl hostname node-01 --static
sudo hostnamectl hostname node-02 --static
sudo hostnamectl hostname node-03 --static

3. 确保root账号能登录系统

配置root密码

sudo psswd root 

编辑各节点etc/ssh/sshd_config 文件,允许root 登录

PermitRootLogin yes

然后重启sshd服务生效

systemctl restart sshd

4. 配置NTP

集群中每节点时间必须同步,否则可能出现因时间不一致导致的各种奇奇怪怪问题。我们采用chrony软件来同步时间。在所有节点上执行以下代码

sudo apt install chrony
chronyc tracking
chronyc sources

5. 配置免密登录

需要确保 部署节点能 免密登录到其他节点,如: node01 能免密ssh到node02、node03

确保部署节点(CEPH、OpenStack)能无密码登录其他主机进行部署。

kolla-ansible, 是openstack官方基于ansible开发的openstack部署工具,底层基于ansible;ansible实现原理是提前在部署节点编辑好配置,然后通过ssh到各目标节点进行部署。故需要保证部署节点在部署过程中可实现无密码ssh到目标节点。

# 生成ssh-key密钥对,一路回车
root@node-01:~# ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (/root/.ssh/id_ed25519): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_ed25519
Your public key has been saved in /root/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:erhS2TrsCRVDdVFOwhdlmUJ/lTxwOR9xsNQO77Yc1z8 root@node-01
The key's randomart image is:
+--[ED25519 256]--+
|      ....++=+BB*|
|     .   ..+o+=O+|
|      o    ...o+*|
|       o       .+|
|      .oS      ..|
|     .oo.      .=|
|    .oo..     ..=|
|    ..++       E.|
|     o+.        .|
+----[SHA256]-----+

将公钥同步同步到每一个节点:

ssh-copy-id -i /root/.ssh/id_rsa.pub note-01
ssh-copy-id -i /root/.ssh/id_rsa.pub node-02
ssh-copy-id -i /root/.ssh/id_rsa.pub node-03
# 其他节点自行补充

输出如下:

root@deploypoint:~# ssh-copy-id -i /root/.ssh/id_rsa.pub compute01
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host 'compute01 (192.168.220.61)' can't be established.
ED25519 key fingerprint is SHA256:DVS6AOAOnzLBOU237qgWLs3LhECGhEYe3udS910X2ek.
This host key is known by the following other names/addresses:~/.ssh/known_hosts:1: [hashed name]~/.ssh/known_hosts:4: [hashed name]~/.ssh/known_hosts:5: [hashed name]
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@compute01's password: Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'compute01'"
and check to make sure that only the key(s) you wanted were added.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/406517.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统编程(14)UDP全双工通信和TCP半双工通信

一、UDP全双工通信 UDP通信基础: recvfrom函数 recvfrom 是一个用于接收数据的函数,,但 recvfrom 不仅接收数据,还可以获取发送数据的地址信息。 ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sock…

融资管理系统项目

系列文章目录 第一章 基础知识、数据类型学习 第二章 万年历项目 第三章 代码逻辑训练习题 第四章 方法、数组学习 第五章 图书管理系统项目 第六章 面向对象编程:封装、继承、多态学习 第七章 封装继承多态习题 第八章 常用类、包装类、异常处理机制学习 第九章 集…

指针的学习和理解

初级 1、指针的概念 在64位操作系统中,不管什么类型的指针都占8个字节 int a1; int* p&a;//p就是一个整型的指针,保存了a的地址2、指针和变量 int* p&a;* p100; // 等价于a100p //p&a*有两种定义: 定义的时候(前…

IP报文详解

IP的作用 上一篇文章提到TCP的可靠传输机制,那么TCP有把数据从主机A到主机B的能力吗?答案是没有。而IP有这个能力,IP能够将数据从主机A跨网络传输到主机B的能力。那么一定能传输成功吗?答案肯定是否定的,会因为各种原…

使用 Python构建 Windows 进程管理器应用程序

在这篇博客中,我们将探讨如何使用 wxPython 构建一个简单的 Windows 进程管理器应用程序。这个应用程序允许用户列出当前系统上的所有进程,选择和终止进程,并将特定进程保存到文件中以供将来加载。 C:\pythoncode\new\manageprocess.py 全部…

普元EOS-数据实体运行时动态增加property

1 前言 在Java开发读取数据的时候,一般都采用ORM方式将数据表的字段映射到实体对象中。 数据表中有一个字段,实体对象就有一个字段。 但很多时候,我们在读取的数据和显示的数据不同,比如,读取的是部门id&#xff0c…

探索数据结构:图(一)之邻接矩阵与邻接表

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 图的定义 **图(Graph)**是数学和计算机科学中…

这周末,除非外面下钞票,否则谁也拦不住我玩《黑神话悟空》(附:两款可以玩转悟空的显卡推荐)

主播说联播 | 从“十分之三”到“悟空”,国潮有何出圈密码? 《黑神话:悟空》里的中国古建取景地,在这里! 这周末,除非外面下钞票,否则谁也拦不住我玩《黑神话悟空》(附:两款可以玩转悟空的显卡推荐) 原创 IPBrain平台君 集成电路大数据平台 2024年08月22日 17:28 …

gif图片怎么压缩大小?深度测评7款动图压缩工具(内含教程)

gif图片在社交媒体和网络上非常流行,深受大家喜爱,因为它可以呈现生动的动画效果。gif动图之所以受到欢迎,主要因为其出色的压缩算法,能有效存储多个帧,从而实现流畅的动画。 然而,大多数社交媒体平台对gi…

[数据集][目标检测]集装箱缺陷检测数据集VOC+YOLO格式4127张3类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4127 标注数量(xml文件个数):4127 标注数量(txt文件个数):4127 标注…

全新分支版本!微软推出Windows 11 Canary Build 27686版

已经很久没有看到 Windows 11 全新的分支版本了,今天微软发布 Windows 11 Canary 新版本,此次版本号已经转移到 Build 27xxx,首发版本为 Build 27686 版。 此次更新带来了多项改进,包括 Windows Sandbox 沙盒功能切换到 Microsof…

关于智能编码助手【通义灵码】,开发者们这么说...

自通义灵码发布以来,不停地有开发者朋友为我们送上通义灵码的测评反馈。 关于通义灵码,开发者这样说 墨问西东 CEO 池建强&墨问研发团队 “通义灵码有一个强大的功能就是企业知识库检索增强,我们只需要上传团队的代码规范,…

[数据集][目标检测]快递包裹检测数据集VOC+YOLO格式5382张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):5382 标注数量(xml文件个数):5382 标注数量(txt文件个数):5382 标注…

【C语言小项目】五子棋游戏

目录 前言 一、游戏规则 1.功能分析 2.玩法分析 3.胜负判定条件 二、游戏实现思路 三、代码实现与函数封装 1.项目文件创建 2.头文件说明 3.函数封装 1)菜单实现 2)进度条实现 3)main函数实现 4)Game函数 5&#xff0…

TIM输出比较之PWM驱动LED呼吸灯应用案例

文章目录 前言一、应用案例演示二、电路接线图三、应用案例代码四、应用案例分析4.1 基本思路4.2 相关库函数介绍4.3 初始化PWM模块4.3.1 RCC开启时钟4.3.2 配置时基单元4.3.3 配置输出比较单元4.3.4 配置GPIO4.3.5 运行控制 4.4 PWM输出模块4.5 主程序 前言 提示:…

[数据集][目标检测]竹子甘蔗发芽缺陷检测数据集VOC+YOLO格式2953张3类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2953 标注数量(xml文件个数):2953 标注数量(txt文件个数):2953 标注…

电脑录屏高清视频制作:如何选择适合的分辨率和参数

在当今数字化时代,无论是教学、演示还是游戏直播,电脑录屏已经成为了一个不可或缺的工具。然而画质往往是录屏质量的关键因素,许多用户在追求高清录屏体验时,常常面临选择1080p还是4K分辨率的困惑。本文将深入探讨如何优化电脑录屏…

SpringBoot自动配置

一、Condition条件判断功能 Condition 是在Spring 4.0 增加的条件判断功能,其主要作用是判断条件是否满足,从而决定是否初始化并向容器注入Bean对象。通过Conditional注解及其一系列的其他相关注解实现。 在Spring Boot中,条件匹配&#xf…

性能优化理论篇 | swap area是个什么东西

我们知道每台计算机的内存(RAM)都是有限的,而我们的应用程序需要加载到内存才能被运行,如果一台机器运行多个应用程序时,内存可能会耗尽。Linux 系统中的“交换空间(也称为交换分区)”可以帮助缓…

使用AWS Lambda轻松开启Amazon Rekognition之旅

这是本系列文章的第一篇,旨在通过动手实践,帮助大家学习亚马逊云科技的生成式AI相关技能。通过这些文章,大家将掌握如何利用亚马逊云科技的各类服务来应用AI技术。 那么让我们开始今天的内容吧! 介绍 什么是Amazon Rekognition&…