【运维面试100问】(七)ceph基础题面试

  本站以分享各种运维经验和运维所需要的技能为主

《python零基础入门》:python零基础入门学习

《python运维脚本》: python运维脚本实践

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》暂未更新

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》运维日常

《linux》运维面试100问

问题:

ceph的概念,各个角色,怎么使用,举例12台机器怎么分配mon/mgr/osd这些,最大宕机数多少,以及纠错码的含义

Ceph 是一个分布式存储系统,具有高可靠性、可扩展性和性能的特点。它包含多个角色,包括 Monitor(监视器)、Manager(管理器)和 OSD(对象存储守护程序)。下面是对这些角色的简要说明:

  1. Monitor(监视器):监视器维护了集群的状态信息,包括存储映射、健康状况和集群配置等。通常建议至少部署 3 个 Monitor 实例以确保高可用性。

  2. Manager(管理器):管理器负责集群的管理和监控,提供诸如性能统计、日志分析、调度等功能。通常建议至少部署 1 个 Manager 实例。

  3. OSD(对象存储守护程序):OSD 是实际存储数据的组件,负责将数据分布在集群中的多个节点上,并处理数据的读写请求。通常每个节点都会部署一个或多个 OSD。

对于您提到的 12 台机器,以下是一种可能的分配方式:

  • Monitor:至少部署 3 个 Monitor 实例,可以将它们分配在不同的节点上,例如节点 1、节点 2 和节点 3。

  • Manager:部署 1 个 Manager 实例,可以选择其中一个节点,例如节点 1。

  • OSD:剩余的 9 台机器可以用于部署 OSD。您可以根据具体的硬件配置和性能需求来决定每个节点上部署的 OSD 数量。例如,您可以在每个节点上部署 2 个 OSD,其中节点 4-6 部署 2 个 OSD,节点 7-9 部署 2 个 OSD。

关于最大宕机数,Ceph 的设计目标是在集群中容忍多个节点的故障。通常情况下,Ceph 可以容忍多个 OSD 和 Monitor 的故障。具体的最大宕机数取决于集群的配置和副本数设置。例如,如果您将数据配置为具有 3 个副本,那么即使有 2 个 OSD 或 Monitor 失效,集群仍然可以继续正常运行。

如果您在 Ceph 中使用纠错码(Erasure Coding),则会有额外的角色和配置要考虑。

纠错码是一种在数据分布中引入冗余以实现数据容错的技术。在 Ceph 中,Jerasure 和 ISA-L 是两种常用的纠错码实现方式。

在纠错码配置中,除了 Monitor、Manager 和 OSD 角色外,还涉及到以下两个角色:

  1. CRUSH Map Builder(CRUSH 映射构建器):CRUSH 是 Ceph 中用于数据分布和故障域管理的算法。CRUSH Map Builder 用于构建和维护 CRUSH 映射规则,以确保数据块的正确分布和冗余。

  2. Erasure Code Profile(纠错码配置文件):纠错码配置文件定义了纠错码的参数,如数据块数量、纠错码片段数量、冗余度等。您可以根据需求创建并配置不同的纠错码配置文件。

对于 12 台机器的例子,纠错码的分配方式可能如下:

  • Monitor:至少部署 3 个 Monitor 实例,例如节点 1、节点 2 和节点 3。

  • Manager:部署 1 个 Manager 实例,例如节点 1。

  • OSD:剩余的 9 台机器可以用于部署 OSD。您可以根据性能需求和纠错码配置来决定每个节点上部署的 OSD 数量。

  • CRUSH Map Builder:CRUSH Map Builder 角色通常不需要单独的节点,而是在 Monitor 或 Manager 节点上执行。

  • Erasure Code Profile:您需要根据纠错码的要求创建并配置相应的纠错码配置文件,并将其应用到 Ceph 集群中。

关于最大宕机数,纠错码的具体容错能力取决于纠错码的配置和参数设置。通常情况下,纠错码可以容忍多个 OSD 或节点的故障,具体的容错能力取决于纠错码的设置和冗余度。

例子:

对于 EC(Erasure Coding) 4+4 的配置,其中有 4 个节点,每个节点有 42 个 OSD。在这种情况下,我们可以分析最大的 OSD(对象存储守护程序)宕机数。

EC 4+4 表示数据被分为 4 个数据块和 4 个纠错码块。在 Ceph 中,纠错码块用于恢复数据,当某个 OSD 宕机时,可以使用纠错码块来重建数据。

在这种配置下,最大 OSD 宕机数取决于两个因素:

  1. 数据块的数量:在 EC 4+4 的配置中,有 4 个数据块。这意味着最多可以同时宕机 4 个 OSD,而不会导致数据丢失。

  2. 纠错码块的数量:同样,EC 4+4 的配置中有 4 个纠错码块。这意味着即使有 4 个 OSD 宕机,仍然可以通过纠错码块来恢复数据。

综上所述,对于 EC 4+4 的配置,最大 OSD 宕机数为 4。这意味着在最坏的情况下,最多可以同时宕机 4 个 OSD,而不会导致数据丢失。

需要注意的是,这是一种理论上的计算。实际上,Ceph 的容错能力还受到其他因素的影响,如网络故障、硬件故障等。

 

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

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

相关文章

linux下Kafka安装及基本操作

1.下载Kafka http://archive.apache.org/dist/kafka/1.1.0/ 2.解压并重命名 mkdir /usr/local/kafka cd /usr/local tar zxvf kafka_2.12-1.1.0.tgz mv kafka_2.12-1.1.0 ./kafka //把kafka_2.12-1.1.0下的文件拷贝到/usr/local/kafka下面3.配置kafka mkdir /usr/local/kaf…

加密系统,您的数据安全守护者,助您远离泄露风险!

随着云计算、大数据等技术的快速发展,企业在技术升级,业务上云的同时,也面临着来自互联网的各类安全威胁,并且导致数据信息的泄露。企业数据安全问题几乎为新时代人的焦虑又添上了一把火,面对形形色色的网络攻击手段&a…

Python版本与opencv版本的对应关系

python版本要和opencv版本相对应,否则安装的时候会报错。 可以到Links for opencv-python上面查看python版本和opencv版本的对应关系,如图,红框内是python版本,绿框内是opencv版本。 查看自己的python版本后,使用下面…

Linux AMH服务器管理面板本地安装与远程访问

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 1. Linux 安装AMH 面板2. 本地访问AMH 面板3. Linux安装…

利用simlink转化HDL-verilog

首先在simlink中找到HDL CODER 打开红色Blank DUT,进入里面绿色的子系统开始设计系统 例如设计一个正弦信号发生器,里面用到了add、memory、relation operator、switch、constant、cos模块,cos模块选择了cordic算法,使用cordic那…

8.2 C++11通用属性

一、编译器的通用属性 随着C语言的演变和编译器的发展,人们常常发现C的标准提供的语言能力不能完全满足要求,因此各大编译器厂商为了满足客户需求,设计出一系列语言扩展来扩展语法,比较常见的就是“属性”。 “属性”是作用于实…

[rk3308]源码编译

执行自动化 ./build.sh (1)报 awk: line 2: function strtonum never defined Build uboot failed!解决 sudo apt install gawk(2)报 /bin/sh: 1: lz4c: not found sudo apt-get install liblz4-tool(3&#xff09…

数组常用方法

1、filter 筛选 筛选数组中带有某个id的对象 let list[{id:1,name:111},{id:2,name:222},{id:3,name:333},]; let alist.filter((item)>{return item.id1 }); console.log(a)2、findIndex var idx list.findIndex((item) > {return item 2;});返回的idx是该元素在数组…

速达软件任意文件上传漏洞复现

简介 速达软件专注中小企业管理软件,产品涵盖进销存软件,财务软件,ERP软件,CRM系统,项目管理软件,OA系统,仓库管理软件等,是中小企业管理市场的佼佼者,提供产品、技术、服务等信息,百万企业共同选择。速达软件全系产品存在任意文件上传漏洞,未经身份认证得攻击者可以通过此漏…

线上超市小程序可以做什么活动_提升用户参与度与购物体验

标题:线上超市小程序:精心策划活动,提升用户参与度与购物体验 一、引言 随着移动互联网的普及,线上购物已经成为人们日常生活的一部分。线上超市作为线上购物的重要组成部分,以其便捷、快速、丰富的商品种类和个性化…

ROS小练习——服务调用

目录 一、服务名称与消息的获取 二、代码案例 1、C 2、python 三、编译运行 1、配置cmakelist 2、运行 一、服务名称与消息的获取 rosservice list rosservice type /spawn rossrv info turtlesim/Spawn 二、代码案例 1、C //包含头文件 #include "ros/ros.h&qu…

Java线程池创建过程

使用线程池提供的构造方法或工厂方法 在 Java 中,创建线程池可以使用 java.util.concurrent.Executors 类中提供的静态方法。以下是线程池的创建过程: 导入必要的类: import java.util.concurrent.ExecutorService; import java.util.concur…

为什么要选择教师这个行业

老师,一个看似平凡却肩负着重大使命的职业,究竟隐藏着怎样的秘密?为什么越来越多的人选择这个行业,又是什么让他们坚持不懈? 实现人生价值 ,我能够通过自己的努力,帮助学生们实现他们的梦想。每…

自动化测试:PO模式详解!

PO(Page Object)模式是一种在自动化测试中常用的设计模式,将页面的每个元素封装成一个对象,通过操作对象来进行页面的交互。 概括来说就是,每个页面都有对应的PO类,PO类中包含了页面的元素定位和操作方法。…

Day43| Leetcode 1049. 最后一块石头的重量 II Leetcode 494. 目标和 Leetcode 474. 一和零

Leetcode 1049. 最后一块石头的重量 II 题目链接 1049 最后一块石头的重量 II 本题思路用一句话概括本题:其实就是尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小。这样一看和前面的题目一个思路了,下面上代码: class S…

uni-app 微信小程序之好看的ui登录页面(三)

文章目录 1. 页面效果2. 页面样式代码 1. 页面效果 2. 页面样式代码 <!-- 简洁登录页面 --> <template><view class"login-bg"><image class"img-a" src"https://zhoukaiwen.com/img/loginImg/bg1.png"></image>…

K8s 多租户方案的挑战与价值

在当今企业环境中&#xff0c;随着业务的快速增长和多样化&#xff0c;服务器和云资源的管理会越来越让人头疼。K8s 虽然很强大&#xff0c;但在处理多个部门或团队的业务部署需求时&#xff0c;如果缺乏有效的多租户支持&#xff0c;在效率和资源管理方面都会不尽如人意。 本…

为什么 AWS 数据库不讲 HTAP

在 AWS re:Invent 2023 掌门人 Adam Selipsky 的 Keynote 上&#xff0c;数据库方面最重磅的主题是 Zero-ETL&#xff0c;从 TP 数据库 (RDS, Aurora, DynamoDB) 同步数据到 AP 数据库 (Redshift)。 Zero-ETL 是 AWS 在去年 re:invent 2022 上推出的概念&#xff0c;今年则继…

Java爬虫攻略:应对JavaScript登录表单

问题背景 在进行网络抓取数据时&#xff0c;经常会遇到需要登录的网站&#xff0c;特别是使用JavaScript动态生成登录表单的情况。传统的爬虫工具可能无法直接处理这种情况&#xff0c;因此需要一种能够模拟用户行为登录的情况解决方案。 在实际项目中&#xff0c;我们可能需要…

鸿蒙操作系统架构

下面是Android和鸿蒙的主要区别的简要总结&#xff1a; Android鸿蒙开发语言Java、Kotlin鸿蒙开发语言&#xff08;HML、JS、Java等&#xff09;架构单一系统架构分布式系统架构设备适配性需要针对不同设备进行适配支持全场景设备&#xff0c;适配性更高用户界面使用XML布局文…