增加内核的ceph模块的日志打印
本文主要是在梳理cephfs内核方式挂载的内核代码逻辑所做的准备
环境:Centos 7.5
内核源码版本:3.10.0-862.el7.x86_64
打开ceph模块的debug信息
单独编译ceph模块的.ko文件
ceph在内核的通用模块主要有三个:
ceph.ko
模块路径:/usr/src/kernels/3.10.0-862.el7.x86_64/fs/ceph
rbd.ko
模块路径:/usr/src/kernels/3.10.0-862.el7.x86_64/drivers/block
libceph.ko
模块路径:/usr/src/kernels/3.10.0-862.el7.x86_64/net/ceph
编译libceph.ko
如下,编译其他的模块类似
make CONFIG_BLK_DEV_LIBCEPH=m -C /usr/src/kernels/3.10.0-862.el7.x86_64 M=/kernel/linux-3.10.0-862.11.6.el7
其中路径/usr/src/kernels/3.10.0-862.el7.x86_64
是指取出该目录下的makefile来编译/kernel/linux-3.10.0-862.11.6.el7
目录下的源码
编出来的ko文件即在对应目录/kernel/linux-3.10.0-862.11.6.el7/net/ceph
之下
此时需要将.ko文件放置在/usr/lib/modules/3.10.0-862.el7.x86_64/kernel/net/ceph/
目录下,并更新依赖depmod -a
,这个时候系统加载就可以从该目录下加载需要的驱动文件
打开内核的deubg
系统调试模块
- 确保系统可以使用dynamic 功能:
sudo cat /boot/config-'uname -r' | grep DYNAMIC_DEBUG
,显示如下则表明系统调试功能可用:[root@node1 ~]# sudo cat /boot/config-3.10.0-123.el7.x86_64 | grep DYNAMIC_DEBUG CONFIG_DYNAMIC_DEBUG=y
- 挂载debugfs,并打开想要输出的日志模块
echo "module libceph +p" >/sys/kernel/debug/dynamic_debug/control
开启libceph模块的调试
echo "module libceph -p" >/sys/kernel/debug/dynamic_debug/control
关闭libceph模块的调试
echo "module ceph +p" >/sys/kernel/debug/dynamic_debug/control
开启ceph模块的调试
echo "module ceph -p" >/sys/kernel/debug/dynamic_debug/control
关闭ceph模块的调试 - 通过
echo "7 7 7 7" > /proc/sys/kernel/printk
设置内核打印日志级别 0~7, 默认 4 4 1 7。其级别消息如下所示:#define KERN_EMERG 0 /*紧急事件消息,系统崩溃之前提示,表示系统不可用*/ #define KERN_ALERT 1 /*报告消息,表示必须立即采取措施*/ #define KERN_CRIT 2 /*临界条件,通常涉及严重的硬件或软件操作失败*/ #define KERN_ERR 3 /*错误条件,驱动程序常用KERN_ERR来报告硬件的错误*/ #define KERN_WARNING 4 /*警告条件,对可能出现问题的情况进行警告*/ #define KERN_NOTICE 5 /*正常但又重要的条件,用于提醒。常用于与安全相关的消息*/ #define KERN_INFO 6 /*提示信息,如驱动程序启动时,打印硬件信息*/ #define KERN_DEBUG" 7 /*调试级别的消息*/
以上四个数分别对应如下:
- 控制台日志级别:优先级高于该值的消息将被打印至控制台
- 默认的消息日志级别:将用该优先级来打印没有优先级的消息
- 最低的控制台日志级别:控制台日志级别可被设置的最小值(最高优先级)
- 默认的控制台日志级别:控制台日志级别的缺省值
- 通过命令
dmesg -wT
来实时查看内核挂载cephfs的日志打印,同样该方法可以适用于内核各个日志模块。关于内核方式挂载cephfs详细可以查看内核方式挂载cephfs
调整内核的日志打印之后,dmesg中的日志如下:
[Tue May 7 21:53:40 2019] ceph: do_getattr inode ffff8b8813848330 mask As mode 040777
[Tue May 7 21:53:40 2019] ceph: __ceph_caps_issued_mask ffff8b8813848330 cap ffff8b9ea6d8a078 issued pAsLsXs (mask As)
[Tue May 7 21:53:40 2019] ceph: __touch_cap ffff8b8813848330 cap ffff8b9ea6d8a078 mds0
[Tue May 7 21:53:40 2019] ceph: do_getattr inode ffff8b8813848330 mask pAsLsXsFs mode 040777
[Tue May 7 21:53:40 2019] ceph: do_request on ffff8ba49a7c6c00
[Tue May 7 21:53:40 2019] ceph: reserve caps ctx=ffff8ba49a7c6f50 need=1
[Tue May 7 21:53:40 2019] ceph: reserve caps ctx=ffff8ba49a7c6f50 1025 = 2 used + 1 resv + 1022 avail
[Tue May 7 21:53:40 2019] ceph: __register_request ffff8ba49a7c6c00 tid 48775
[Tue May 7 21:53:40 2019] ceph: __choose_mds ffff8b8813848330 is_hash=0 (0) mode 0
[Tue May 7 21:53:40 2019] ceph: choose_mds ffff8b8813848330 1.fffffffffffffffe mds0 (auth cap ffff8b9ea6d8a078)
[Tue May 7 21:53:40 2019] ceph: lookup_mds_session ffff8ba5857da800 8
[Tue May 7 21:53:40 2019] ceph: mdsc get_session ffff8ba5857da800 8 -> 9
[Tue May 7 21:53:40 2019] ceph: mdsc get_session ffff8ba5857da800 9 -> 10
[Tue May 7 21:53:40 2019] ceph: do_request mds0 session ffff8ba5857da800 state open
[Tue May 7 21:53:40 2019] ceph: prepare_send_request ffff8ba49a7c6c00 tid 48775 getattr (attempt 1)
[Tue May 7 21:53:40 2019] ceph: inode ffff8b8813848330 1.fffffffffffffffe
[Tue May 7 21:53:40 2019] ceph: r_parent = (null)
[Tue May 7 21:53:40 2019] ceph: mdsc get_session ffff8ba5857da800 10 -> 11
[Tue May 7 21:53:40 2019] ceph: mdsc con_get ffff8ba5857da800 ok (11)
[Tue May 7 21:53:40 2019] ceph: mdsc get_session ffff8ba5857da800 11 -> 12
[Tue May 7 21:53:40 2019] ceph: mdsc con_get ffff8ba5857da800 ok (12)
[Tue May 7 21:53:40 2019] ceph: mdsc put_session ffff8ba5857da800 12 -> 11
[Tue May 7 21:53:40 2019] ceph: do_request waiting
[Tue May 7 21:53:40 2019] ceph: mdsc con_put ffff8ba5857da800 (10)
[Tue May 7 21:53:40 2019] ceph: mdsc put_session ffff8ba5857da800 11 -> 10
[Tue May 7 21:53:40 2019] ceph: mdsc get_session ffff8ba5857da800 10 -> 11
[Tue May 7 21:53:40 2019] ceph: mdsc con_get ffff8ba5857da800 ok (11)
[Tue May 7 21:53:40 2019] ceph: mdsc con_put ffff8ba5857da800 (10)
[Tue May 7 21:53:40 2019] ceph: mdsc put_session ffff8ba5857da800 11 -> 10
[Tue May 7 21:53:40 2019] ceph: mdsc get_session ffff8ba5857da800 10 -> 11
[Tue May 7 21:53:40 2019] ceph: mdsc con_get ffff8ba5857da800 ok (11)
[Tue May 7 21:53:40 2019] ceph: mdsc get_session ffff8ba5857da800 11 -> 12
[Tue May 7 21:53:40 2019] ceph: mdsc con_get ffff8ba5857da800 ok (12)
[Tue May 7 21:53:40 2019] ceph: handle_caps from mds0
相关文章:

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

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(官宣?)
实验室永远不会是学习的唯一地点,不是吗? 总后悔当初退竞赛,现在却还是选择退出,大概是自己真的不适合吧。。。转载于: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 修复不成功的话,可以直接告诉ceph使用已有的版本或者直接删除 尝试切换到旧版本的object:ceph pg 8.32 mark_…

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

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

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

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

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

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

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

mysql的常用函数
一、数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP(x) 返回值e(自然…

NOIP模拟题 斐波那契数列
题目大意 给定长度为$n$序列$A$,将它划分成尽可能少的若干部分,使得任意部分内两两之和均不为斐波那契数列中的某一项。 题解 不难发现$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) 属性
说起属性,实际上java中没有属性这个概念,只有字段和方法,但是可以通过私有字段和声明get,set方法来实现类似于C#中属性的效果。 在C#中,声明属性有两种方式,一种是声明访问器,另外一种是利用C# 3.0新增的自…

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

如何终止正在在发送的ajax请求
核心:调用XMLHttpRequest对象上的abort方法 jquery的ajax方法有自己的超时时间设置参数: $.ajax({type:POST,url:b.php,data:,timeout:5000,success:function(){} }) 同时1.$.get返回的数据类型是XMLHttpRequest,请参考手册。($.p…

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

关于OSD::mkfs: ObjectStore::mkfs failed with error (5) Input/output error问题的解决
环境: ceph L版本12.2.1升级到12.2.12 这个问题是由于升级后进行12.2.12环境中的使用ceph-disk 进行osd部署时出现如下问题,执行命令 ceph-disk -v prepare /dev/sdb;ceph-disk -v activate /dev/sdb1 出现如下问题,出现这个问题之前我的磁盘…

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

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

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

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

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

vim使用大全
鸟哥介绍的几个高级功能1.区块选择的按键意义v字符选择,会将光标经过的地方反白选择!V行选择,会将光标经过的行反白选择![Ctrl]v区块选择,可以用长方形的方式选择资料y将反白的地方复制起来d将反白的地方删除掉 2.多档…
ajax默认超时时间多久,请问chrome浏览器的默认超时时间是多久?
测试时间:2019/02/26MacOS 环境下,timeout在各浏览器默认值为(以下浏览器都为当前时间最新版本)chrome 72.x 为4minsafari 12 为8minfirefox 65 貌似没有超时时间测试代码Documentqueryconst ajax (url /api/timeout) > {const xhr new XMLHttpReq…

Nginx 做图片服务器
呵呵 说来搞笑 我们公司领导那个决定啊,公司的图片Windows服务机器 准备迁移到Linux,我勒个去,也不搞个正规的文件系统,先喷下公司 2.8KW 张零碎图片 1.8T 文件占有量, 哥刚刚接手也是被吓了一跳。 Nginx 带动 整个公司…

SUSTechTripleH队墓志铭
SUSTechTripleH队建于2017年7月队员包括朱泓霖 贺启旸 黄博11月获南方科技大学第一枚ICPC区域赛奖牌次年获第一枚广东省省赛金牌2018年8月新增队员张文灏11月4日获得南方科技大学第一枚ICPC区域赛金牌于2018年11月5日解散享年16个月祝愿南科大ACM集训队越办越好转载于:https:/…

ceph-deploy rpm包的制作
今天需要部署一个ceph L 版本12.2.12的环境,无奈最近公司网络无法访问到ceph官网,只能使用之前下载好的ceph-deploy-1.5.39版本,安装上之后一口老血喷了出来,没有mgr的部署选项。 无奈之下只能自己制作一个1.5.38版本的ceph-depl…

ajax post的回调函数另一个方法,jQueryajax–post()方法 - 米扑博客
jQuery ajax - post() 实例请求 test.php 网页,忽略返回值:$.post("test.php");通过 AJAX POST 请求改变 div 元素的文本:$("input").keyup(function(){txt$("input").val();$.post("demo_ajax.asp"…