当前位置: 首页 > 编程日记 > 正文

修改ceph crush map,并指定到资源池

版本:ceph L 版本 12.2.1
环境:单节点 15 osd

-1              0				 root		 default -3       94.53119     host node1                                  0   hdd  5.37108         osd.0               up  1.00000 1.00000 1   hdd  5.37108         osd.1               up  1.00000 1.00000 2   hdd  5.37108         osd.2               up  1.00000 1.00000 3   hdd  5.37108         osd.3               up  1.00000 1.00000 4   hdd  1.75781         osd.4               up  1.00000 1.00000 5   hdd  7.12891         osd.5               up  1.00000 1.00000 6   hdd  7.12891         osd.6               up  1.00000 1.00000 7   hdd  7.12891         osd.7               up  1.00000 1.00000 8   hdd  7.12891         osd.8               up  1.00000 1.00000 9   hdd  7.12891         osd.9               up  1.00000 1.00000 10   hdd  7.12891         osd.10              up  1.00000 1.00000 11   hdd  7.12891         osd.11              up  1.00000 1.00000 12   hdd  7.12891         osd.12              up  1.00000 1.00000 13   hdd  7.12891         osd.13              up  1.00000 1.00000 14   hdd  7.12891         osd.14              up  1.00000 1.00000 
创建根和crush 规则
  • 取出两个osd 并重新指定osd的根,方便查看
    ceph osd crush add osd.0 5.37108 host=test_rep_pool_1 root=test_rep
    ceph osd crush add osd.1 5.37108 host=test_rep_pool_2 root=test_rep
    ID  CLASS WEIGHT   TYPE NAME                STATUS REWEIGHT PRI-AFF 
    -16       10.74216 root test_rep                                    
    -15        5.37108     host test_rep_pool_1                         0   hdd  5.37108         osd.0                up  1.00000 1.00000 
    -19        5.37108     host test_rep_pool_2                         1   hdd  5.37108         osd.1                up  1.00000 1.00000 
    
  • 创建crush规则并指定根
    ceph osd crush rule create-simple test_rep_rule test_rep host firstn
    该命令中test_rep_rule为要创建的crush rule的名称,test_rep为该rule指定的根名称,即上一步创建的root命称test_rep
创建资源池
  • 创建资源池并指定根
    ceph osd pool create test_rep_pool 128 128 test_rep_rule
    创建名称为test_rep_pool的资源池,pg数目为128,pgp数目为128,指定的crush规则为test_rep_rule
  • 查看创建后的资源池详细信息
    ceph osd pool ls detail
    pool 2 'test_rep_pool' replicated size 3 min_size 2 crush_rule 2 object_hash rjenkins pg_num 128 pgp_num 128 last_change 98 flags hashpspool stripe_width 0
    
  • 查看该存储池使用的crush 规则信息
    [root@node1 ~]# ceph osd crush rule dump test_rep_rule
    `{
    "rule_id": 2, #当前规则的编号
    "rule_name": "test_rep_rule", #当前规则名称
    "ruleset": 2, #当前规则所属的规则集,
    "type": 1, #一个字符串值,指定存储池类型是副本还是纠删吗,1 则为副本,3则为纠删码
    "min_size": 1,#如果存储池副本数小于该值,则crush不会为该存储池使用该规则
    "max_size": 10,#如果存储池副本数大于该值,则crush不会为该存储池使用该规则,即副本池目前支持的最大副本数为10副本,再大就会报异常
    "steps": [{"op": "take","item": -16,"item_name": "test_rep"},{"op": "chooseleaf_firstn","num": 0,"type": "host"},{"op": "emit"}
    ]
    }
    
修改crush规则
  • 从当前节点的mon获取CURSH map(如果在集群中,可以在任何一个节点获取)
    ceph osd getcrushmap -o crush_map_file
    该命令会在当前目录下生成一个名叫crush_map_file的文件,名称可以自己去更改
    [root@node1 ~]# ceph osd getcrushmap -o crush_map_test
    41
    [root@node1 ~]# ll crush_map_test 
    -rw-r--r-- 1 root root 2337 May  4 15:45 crush_map_test
    
  • 使用crushtool工具反编译以上文件,使其成为我们能够阅读的格式
    crushtool -d crush_map_test -o crush_map_test_decompiel
    [root@node1 ~]# crushtool -d crush_map_test -o crush_map_test_decompiel
    [root@node1 ~]# ll crush_map_*
    -rw-r--r-- 1 root root 2337 May  4 15:45 crush_map_test
    -rw-r--r-- 1 root root 3658 May  4 15:48 crush_map_test_decompiel
    
  • crush_map_test_decompiel文件进行编辑修改
    #可以看到在begin crush map和end crush map之间有很对crush map相关的信息,我们只修改部分我们自己的信息
    #begin  crush map
    ...
    rule test_rep_rule {id 2type replicatedmin_size 1 max_size 5 #修改该max_size 为5step take test_repstep chooseleaf firstn 0 type hoststep emit
    }
    
  • 修改完成后需要重新编译修改后的crush map文件为新的文件
    crushtool -c crush_map_test_decompiel -o crush_new_map
  • 将修改后的crush_new_map注入到原ceph集群中
    ceph osd setcrushmap -i crush_new_map
  • 重新查看修改后的crush规则
    [root@node1 ~]# ceph osd crush rule dump test_rep_rule
    {
    "rule_id": 2,
    "rule_name": "test_rep_rule",
    "ruleset": 2,
    "type": 1,
    "min_size": 1,
    "max_size": 5, #最大的副本数已经变为5
    "steps": [{"op": "take","item": -16,"item_name": "test_rep"},{"op": "chooseleaf_firstn","num": 0,"type": "host"},{"op": "emit"}
    ]
    }
    

相关文章:

常见的七种加密算法及实现

**数字签名**、**信息加密** 是前后端开发都经常需要使用到的技术,应用场景包括了用户登入、交易、信息通讯、`oauth` 等等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的 **签名加密算法** 来达到业务目标。这里简单的给大家介绍几种常见的签名加密算法和一些典型场景下的应用。## 正文### 1. 数字签名**数字签名**,简单来说就是通过提供 **可鉴别** 的 **数字信息** 验证 **自身身份** 的一种方式。一套 **数字签名** 通常定义两种 **互补

MySQL慢查询日志slowlog

慢速查询日志记录的是执行时间超过秒和检查的行数超过的SQL语句,这些语句通常是需要进行优化的。官方参考文档:https://dev.mysql.com/doc/refman/8.0/en/slow-query-log.html。

Ubantu下hadoop运行第一个例子wordcount过程

Ubantu12.04下hadoop-1.2.1运行第一个例子wordcount过程,分享一下 将WordCount.java文件放在Hadoop安装目录下,并在安装目录下创建输入目录input,目录下有输入文件file1,file2,其中: file1内容:…

jsp - EL

E L(Expression Language) 作用:能够用于在 JSP 文件中嵌入 Java 代码的表达式语言,替代小脚本 1、语法结构 ${expression} 2、 EL 提供“.“和“[ ]“两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如…

node 常用指令 node 扩展链接

node -v node 版本 npm -v npm版本号,npm是在安装nodejs时一同安装的nodejs包管理器 (注册、安装模块,和小乌龟有点像) npm list 当前目录已安装插件 npm list -g 查看所有全局安装的模块: npm…

增加内核的ceph模块的日志打印

本文主要是在梳理cephfs内核方式挂载的内核代码逻辑所做的准备 环境:Centos 7.5 内核源码版本:3.10.0-862.el7.x86_64 打开ceph模块的debug信息 单独编译ceph模块的.ko文件 ceph在内核的通用模块主要有三个: ceph.ko 模块路径:/usr/src/k…

计算机系统安装和维护实验,2计算机系统安装维护实验报告.doc

2计算机系统安装维护实验报告计算机系统安装维护实验报告院系: 班级: 姓名: 学号:【实验目的】学习了解u盘硬盘启动维护系统【实验内容】通过GHOST11软件进行系统的相关操作用户可以通过GHOST11软件进行硬盘对拷,分区对拷&#xf…

Javascript年月日联动

代码 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">2 <html>3 <head>4 <title> New Document </title>5 <meta name"Generator" content&…

emmmmmm(官宣?)

实验室永远不会是学习的唯一地点&#xff0c;不是吗&#xff1f; 总后悔当初退竞赛&#xff0c;现在却还是选择退出&#xff0c;大概是自己真的不适合吧。。。转载于:https://www.cnblogs.com/LOW-ctfer/p/9896781.html

ceph unfound object问题的解决

查看丢失对象的pg id ceph health detail 查找该pg下丢失的object ceph pg 8.32 list_missing 尝试修复该pg: ceph pg repair 8.32 ceph pg scrub 8.32 修复不成功的话&#xff0c;可以直接告诉ceph使用已有的版本或者直接删除 尝试切换到旧版本的object:ceph pg 8.32 mark_…

Apache ‘mod_pagespeed’模块跨站脚本漏洞

漏洞名称&#xff1a;Apache ‘mod_pagespeed’模块跨站脚本漏洞CNNVD编号&#xff1a;CNNVD-201310-677发布时间&#xff1a;2013-11-05更新时间&#xff1a;2013-11-05危害等级&#xff1a; 漏洞类型&#xff1a;跨站脚本威胁类型&#xff1a;远程CVE编号&#xff1a;CVE-20…

设备漏电对计算机影响,电脑机箱漏电对电脑有影响吗

电脑机箱漏电一般原因是长期使用在潮湿或高温环境下&#xff0c;电源线或主板的裸露部件因绝缘下降或积灰受潮等原因&#xff0c;接地电转载自电脑百事网容轻微损坏&#xff1b;这时&#xff0c;机箱的带电感觉较明显&#xff0c;有时用试电笔也能点亮。这种情况就要引起注意了…

eoiioe IE 和 firefox js 兼容问题

1、判断浏览器类型 1var ver"IE6";2if (window.XMLHttpRequest)3 ver (!window.ActiveXObject) ? "Mozilla or Safari" : "IE7"; 4return ver;2、获取位置&#xff0c;在firefox中&#xff0c;无法使用object.style.pixelLeft&#xff0c;只…

团队博客(第四周)-“名字好难想”

一&#xff0c;已完成工作 1.美术资源设计完毕 2.界面设计完毕 3.客户端登录程序实现 二&#xff0c;待完成工作 1.服务器的实现 2.等待界面和战斗场景的脚本实现 三&#xff0c;遇到的困难 1.程序事情有点多&#xff0c;没有配合好美术完成功能 四&#xff0c;燃尽图 五&#…

ceph rados命令使用

文章目录Pool相关Object相关导出资源池数据最近了解了rados命令的使用&#xff0c;感觉在对象操作这块还是非常实用。因为rados是属于底层存储核心&#xff0c;所以关于rados的命令针对对象的操作较多。环境中执行 rados -h可以看到命令集分为几个大的模块&#xff1a;资源池、…

前置体验,才是打动用户的神器

在上一篇文章《记住&#xff0c;用户只愿为“体验”付钱》中&#xff0c;我谈到了体验经济和根据体验定价的逻辑&#xff0c;以及一些商业案例&#xff0c;它们共同展现了一种趋势&#xff0c;即用户愿意为体验付钱。同理&#xff0c;在这样的大背景下&#xff0c;互联网产品该…

服务器ip 计算机名,服务器计算机名称或者ip地址

弹性云服务器 ECS弹性云服务器(Elastic Cloud Server)是一种可随时自助获取、可弹性伸缩的云服务器&#xff0c;帮助用户打造可靠、安全、灵活、高效的应用环境&#xff0c;确保服务持久稳定运行&#xff0c;提升运维效率三年低至5折&#xff0c;多种配置可选了解详情区域和可用…

mysql的常用函数

一、数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制&#xff08;OCT返回八进制&#xff0c;HEX返回十六进制&#xff09; CEILING(x) 返回大于x的最小整数值 EXP(x) 返回值e&#xff08;自然…

NOIP模拟题 斐波那契数列

题目大意 给定长度为$n$序列$A$&#xff0c;将它划分成尽可能少的若干部分&#xff0c;使得任意部分内两两之和均不为斐波那契数列中的某一项。 题解 不难发现$2\times 10^9$之内的斐波那契数不超过$50$个 先求出第$i$个数之前最后一个能和第$i$个数相加为斐波那契数的位置$las…

使用rpmbuild对ceph的源码包进行重新打包

进入ceph源码包下载ceph相关的rpm包和tar包 我们下载的是ceph-12.1.1-0.el7.src.rpmceph L版本的rpm包 执行命令rpmbuild --rebuild ceph-12.1.1-0.el7.src.rpm 等待它执行到configuring done之后就强行终止 -- Found cython -- Performing Test HAS_VTA -- Performing Test …

java与.net比较学习系列(7) 属性

说起属性&#xff0c;实际上java中没有属性这个概念&#xff0c;只有字段和方法&#xff0c;但是可以通过私有字段和声明get,set方法来实现类似于C#中属性的效果。 在C#中&#xff0c;声明属性有两种方式&#xff0c;一种是声明访问器&#xff0c;另外一种是利用C# 3.0新增的自…

国家标准油类计算机,食用油新国标正式实施 产品配方将不再是“机密”

为了更好维护消费者权益&#xff0c;引导食用油市场秩序合理化转变&#xff0c;解决油难选的问题&#xff0c;今年6月21日&#xff0c;国家卫生健康委员会、国家市场监督管理总局联合发布的《食品安全国家标准 植物油》(GB2716-2018)&#xff0c;并于2018年12月21日起正式实施。…

如何终止正在在发送的ajax请求

核心&#xff1a;调用XMLHttpRequest对象上的abort方法 jquery的ajax方法有自己的超时时间设置参数&#xff1a; $.ajax({type:POST,url:b.php,data:,timeout:5000,success:function(){} }) 同时1.$.get返回的数据类型是XMLHttpRequest&#xff0c;请参考手册。&#xff08;$.p…

Luogu P2619 [国家集训队2]Tree I(WQS二分+最小生成树)

P2619 [国家集训队2]Tree I 题意 题目描述 给你一个无向带权连通图&#xff0c;每条边是黑色或白色。让你求一棵最小权的恰好有\(need\)条白色边的生成树。 题目保证有解。 输入输出格式 输入格式&#xff1a; 第一行\(V,E,need\)分别表示点数&#xff0c;边数和需要的白色边数…

关于OSD::mkfs: ObjectStore::mkfs failed with error (5) Input/output error问题的解决

环境&#xff1a; ceph L版本12.2.1升级到12.2.12 这个问题是由于升级后进行12.2.12环境中的使用ceph-disk 进行osd部署时出现如下问题&#xff0c;执行命令 ceph-disk -v prepare /dev/sdb;ceph-disk -v activate /dev/sdb1 出现如下问题&#xff0c;出现这个问题之前我的磁盘…

福大计算机国二,福大学子喜获中国大学生计算机设计大赛二三等奖

新闻中心讯/8月9日&#xff0c;第十一届中国大学生计算机设计大赛暨第五届中国大学生动漫游戏创意设计大赛(爱果冻杯)决赛在福建农林大学闭幕。福州大学获得了全国决赛的二等奖3项&#xff0c;三等奖1项。据了解&#xff0c;本次大赛共有来自中央美术学院、中央民族大学、东北大…

Ubuntu下如何解压缩zip,tar,tar.gz,tar.bz2文件

转自&#xff1a;http://wangli-5665.diandian.com/post/2011-08-18/4039228 这么多年来&#xff0c;数据压缩对我们来说是非常有用的。无论是在邮件中发送的图片用的zip文件还是在服务器压缩数据文件&#xff0c;我们都可以让下载更容易或者有效 的节约磁盘空间。某些压缩格式…

DataGridView和ListT绑定不显示问题

在学习DataGridView 和List<T>绑定时发现DataGridView不会显示数据。后来发现要用类的属性才能正常显示&#xff0c;如果直接用类的字段等来显示&#xff0c;则无法显示数据。 代码如下&#xff1a; using System; using System.Collections.Generic; using System.Compo…

【pytorch】pytorch-backward()的理解

pytorch-backword函数的理解 函数&#xff1a;\(tensor.backward(params)\) 这个params的维度一定要和tensor的一致&#xff0c;因为tensor如果是一个向量y [y1,y2,y3]&#xff0c;那么传入的params[a1,a2,a3]&#xff0c;这三个值是系数&#xff0c;那么是什么的系数呢&#…

CEPH集群更换ip(更换ip前的防范和更换ip后的恢复)

文章目录修改/etc/hosts中的ip设置修改ceph.conf中的ip地址获取monmap将monmap注入到集群最近测试部在测试一些功能&#xff0c;在我们不知情得情况下更换了集群内外网ip&#xff0c;之后直接甩锅到我这里&#xff08;大哭&#xff09;接手到的集群是ceph各个组件之间无法成功通…