前言centos7默认内核没有带nbd的模块,可以通过下载跟当前版本匹配的内核源码,编译源码指定的模块,然后加载到系统
步骤判断版本12345678[root@lab201 linux-3.10.0-957.el7]# uname -aLinux lab201 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux[root@lab201 linux-3.10.0-957.el7]# lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarchDistributor ID: CentOSDescription: CentOS Linux release 7.6.1810 (Core) Release: 7.6.1810Codename: Core
没更新过内核的话,就是centos7.6的3.10.0-957版本的内核
获取源码1wget https://mirrors.tuna.tsinghua.edu.cn/ ...
前言centos7 服务器上面支持通过tuned进行统一的系统参数调整,以前我们可能会通过修改内核配置文件修改内核参数,通过echo去调整磁盘预读,等等很多调整会分散在各处而系统实际上是可以通过一个地方进行固化的,这个就是tuned-adm做的事情,本篇是一个集合贴,会持续补充各种调整的方法
操作调整配置生效配置整体调整系统提供了很多模式的调整参数,默认的是最平衡的,如果不是很清楚调整了什么,建议不要整体模式应用,可能引起性能巨大的衰减或者抖动,需要根据实际情况进行调整
总结本篇是对服务器进行一个调整,如果使用过不同的os的会清楚,同样的硬件在不同的环境下的性能会有所不通,有的是软件版本的问题,有的是内核版本的问题,有的是参数的问题,本篇是从参数角度来进行一些调整
暂未分类
未读前言测试cephfs的写入大量文件,通过mdtest写入1K大小的文件1亿个,每个目录里面文件为1万,目录总数为1万,总文件数目就为1亿了
写入的命令1mdtest -C -F -L -z 4 -b 10 -I 10000 -d /mnt/1yi/ -w 1024
-C 只创建
-F 只创建文件
-L 只在叶子层目录创建文件
-z 目录深度层级为4
-b 每个树下面子目录为10
-I 指定目录里面的文件数目
-w指定文件大小为1K每层的目录数目
1,10,100,1000,10000
统计写入的情况通过扩展属性统计
12345678910[root@lab101 #test-dir.0]# getfattr -d -m ceph.dir.* mdtest_tree.0/# file: mdtest_tree.0/ceph.dir.entries="10"ceph.dir.files="0"ceph.dir.rbytes="1000307712"ceph.dir.rctime="1600762346.0916 ...
前言如果使用场景是多路径iscsi,那么数据一致性的就需要去验证一致性,就需要一个比较通用的测试方法,最近在处理这块,记录下简单的测试方法
测试方法写入数据123dd if=/dev/urandom of=/dev/sdb bs=512 count=8000 oflag=direct或者dd if=/dev/urandom of=/dev/sdb bs=512 count=8000
通常来说需要用下面的那种,上面的带参数的是模拟的direct的请求,如果在当前设备之上的软件会处理好这个,这个地方就不要用direct的请求的,用direct是模拟软件的写,不带direct模拟正常读写
验证数据1sha512sum /dev/sdb1
如果设备被多路径软件接管以后,那么sha512sum就不要对着多路径接管的设备去操作了,多路径接管后的数据多路径自己去处理的,否则测试方法本身就是存在问题的,如果要确认一致性,可用先停到多路径软件,确认没问题之后,启动多路径软件从多路径设备路径检查
总结实际就是两条命令,一个写一个读,然后设备路径的问题,这个路径选择错误可能引起测试结论的错误的
更新 ...
前言使用librbd通过tgt出iscsi,多路径数据是一致的,由于环境的原因,切换为kernel rbd 出iscsi,然后通过不同的iscsi路径写入后,发现在rbd端就出现了数据没有刷新的问题
问题分析这里有个类似的问题
1https://github.com/ceph/ceph-csi/issues/461
这个是通过把rbd map到不同的节点,通过dd写入的时候发现数据不同步,需要通过增加参数direct才能保证数据一致,我们通过官网的描述和这个issue里面的回答可以看到
1https://docs.ceph.com/docs/luminous/rbd/rbd-config-ref/
The kernel driver for Ceph block devices can use the Linux page cache to improve performance.
rbd内核客户端是会通过linux page cache来改善性能的,而librbd是可以通过参数关闭缓存的,这个在我以前的理解里面krbd是没有缓存的,实际上这个是存在缓存的
而通过tgt的客户端写 ...
前言本篇主要是分析ceph的版本之间参数的变化,参数变化意味着功能的变化,通过参数来分析增加,删除,修改了哪些功能,以及版本之间的变化,本篇主要通过导出参数,然后通过脚本去比对不同的版本的参数变化
14版本之前安装一个ceph-common,然后touch一个空配置文件就可以通过ceph –show-config拿到版本的配置文件14版本之后需要安装好mon,并且这个命令取消了,通过下面的命令获取
1ceph config show-with-defaults mon.lab204|awk '{print $1,"=",$2}'
处理过程选取了6个版本的配置文件做分析
123456789[root@lab204 cephconf]# lltotal 304-rw-r--r-- 1 root root 35475 Sep 14 15:30 ceph.conf.10.2.11-rw-r--r-- 1 root root 47857 Sep 14 15:32 ceph.conf.12.2.13-rw-r--r-- 1 root r ...
前言在比对rgw的不同前端的区别的时候,官方说civetweb是通过线程池来控制连接的,beast是后面加入了流控相关的,这块一直也没有调整过相关的参数,然后通过ab压测了一下,还是有很明显的区别的
测试很简单,虚拟机下面就可以完成
测试过程rgw_thread_pool_size = 512默认参数为这个
123456[root@lab201 ~]# ps -ef|grep radosgwroot 242156 239377 0 11:42 pts/1 00:00:02 tailf /var/log/ceph/ceph-client.radosgw1.logceph 247068 1 3 11:53 ? 00:00:00 /usr/bin/radosgw -f --cluster ceph --name client.radosgw1 --setuser ceph --setgroup cephroot 247654 234613 0 11:53 pts/0 00:00:00 grep --col ...
前言ceph的rgw现在提供了两种前端, civetweb和beast
配置修改配置文件
1rgw_frontends = civetweb port=7481
为
1rgw frontends = beast port=7481
然后重启rgw进程,查看日志
1234567892020-09-11 10:23:52.117738 7f90b45f8000 0 ceph version 12.2.13 (584a20eb0237c657dc0567da126be145106aa47e) luminous (stable), process radosgw, pid 2357812020-09-11 10:23:52.204891 7f90b45f8000 -1 *** experimental feature 'rgw-beast-frontend' is not enabled ***This feature is marked as experimental, which means it - is untested - is unsupported - m ...
前言通过内网模式访问tv远程机器
方法云主机配置一台云主机,云主机申请两个公网IP
云主机启动两个frps进程绑定到两个内网的ip
客户端配置远程一台linux跳板机运行frpc,启动两个进程,分别访问不同的公网IP
12345[tv]type = tcplocal_ip = 192.168.1.118local_port = 5938remote_port = 5938
绑定好端口5938
开启好TV的lan访问通过TV客户端输入公网的IP就可以连接到内网的tv上面了
好处
避免商业检测
不用找破解版本
访问流畅
变更记录
Why
Who
When
创建
武汉-运维-磨渣
2020-09-10
前言之前系统出现过几次hung住的情况,没有oom,也没有其它内存相关的信息,而linux设计就是去尽量吃满内存,然后再回收清理的机制
探讨目前这个参数还没有找到合适的处理这个预留的参数,一般也没有去调整的系统是默认根据物理内存进行计算得到一个数值得
12sysctl -a|grep min_free_kbytesvm.min_free_kbytes = 45056
查看内核参数,这个小环境是保留的45M
网上的一些说法Aerospike 的说法https://discuss.aerospike.com/t/how-to-tune-the-linux-kernel-for-memory-performance/4195
The standard RedHat recommendation 204 is to keep min_free_kbytes at 1-3% of the total memory on the system, with Aerospike advising to keep at least 1.1GB, even if that is above the of ...