2.1ceph集群部署准备-硬件及拓扑

2024-09-06 21:12

本文主要是介绍2.1ceph集群部署准备-硬件及拓扑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

硬件配置及建议

时至今日,ceph可以运行在各种各样的硬件平台上,不管是传统的x86架构平台(intel 至强系列、基于amd的海光系列等),还是基于arm的架构平台(比如华为鲲鹏),都可以完美运行ceph集群,展现了其强大的适应能力。

ceph的不同组件对硬件的需求有些许不同,下面是官方推荐的硬件要求:

组件资源最低配置要求
OSD处理器最少1 core
每200-500 MB/s最少1 core
每1000-3000 IOPS最少1 core
上面的要求对应副本模式
对于使用不同的场景,要求会有所不同,比如使用纠删码、数据压缩等
如果是ARM处理器,出于性能考虑,将需要更多的core
由于影响性能的因素较多,推荐使用性能压测来得到实际的结果
内存每个实例4GB以上,其中2-4GB是比较常见的配置,不低于2GB
存储卷每个实例1个存储卷
DB/WAL每个实例1个SSD的分区(可选)
网络1GbE+ NICs (推荐使用10GbE+)
MON处理器最少2 core
内存每个实例2-4GB以上
磁盘空间每个实例60 GB
网络1GbE+ NICs
MDS处理器最少2 core
内存每个实例2GB以上
磁盘空间每个实例1 MB
网络1GbE+ NICs

官方给出的推荐硬件要求,是基于一般化的使用场景,在生产环境上,我们需要根据实际的性能要求来进行一系列的调整,对于性能瓶颈的地方,要适当增加硬件投入提高总体系统性能表现。

组件资源生产推荐配置
OSD处理器副本池最少1 core,EC池最少2 core,ARM架构的处理器需求至少翻倍
除了日常运行的需求,要考虑故障情况下的需求,cpu资源可能有所增加,推荐测试得到结果
内存不低于2GB,日常运行基本在3GiB~4GiB,故障时部分osd可能更多,所以内存可以预留更多
存储卷每个实例1个存储卷,不需要做raid,建议使用直通卡,不用raid卡
DB/WAL针对HDD+SSD搭配使用的场景,推荐单独的SSD做DB和WAL,纯HDD和纯SSD不需要单独分出
网络10Gib的卡,最好多根做Bond
MON处理器最少2 core
内存每个实例2-4GB以上
磁盘空间每个实例60 GB
网络1GbE+ NICs
MON和MGR因为资源要求不高,通常部署在同一台节点,可以使用虚拟机来部署
MDS处理器最少2 core
内存每个实例4GB以上
磁盘空间每个实例1 MB
网络1GbE+ NICs

集群节点网络配置

对于线上环境来说,节点都需要有确定的ip地址,因此我们需要在节点的网络配置中将网卡配置为静态ip,Debian系统的网络配置如下所示:

# The loopback network interface
#auto表示无论是否插入网线,都尝试启动这个接口
auto lo
iface lo inet loopback# The primary network interface
# allow-hotplug表示当检测到接口插入网线后,才启动这个接口
allow-hotplug ens33
iface ens33 inet dhcp# The primary network interface
# 静态ip的配置方法
allow-hotplug ens38
iface ens38 inet static
address 192.168.183.100
netmask 255.255.255.0
gateway 192.168.183.1
完成配置后,使用ifdown ens38 && ifup ens38使其生效

本系列的拓扑结构

在这里插入图片描述

3个mon和3个mgr与osd合布到node1~node3上

2台rgw节点与mds服务器合布

使用单独的跳板机作为deploy部署节点,同时配置apt内部源,chrony时钟服务器,能够连接到外网

这篇关于2.1ceph集群部署准备-硬件及拓扑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143128

相关文章

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务