前言在比对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 ...
暂未分类
未读##前言rbd 提供了一个回收站功能,这个是属于防呆设计,防止误操作删除rbd引起无法恢复的情况,rbd正常情况下的删除是马上会在后台回收空间的,这个也听说过有人做过误删除的操作,那么这个设计就是从操作逻辑上来尽量避免这个失误的
相关操作命令比较简单就几条命令,luminous版本就支持了,提供几个命令
trash list (trash ls) 列出回收站的rbd
trash move (trash mv)通过回收接口删除rbd
trash remove (trash rm)删除回收站里面的rbd
trash restore 还原回收站的rbd
其中move操作里面是支持delay的
123[root@lab201 ~]# rbd help trash move |grep delayusage: rbd trash move [--pool <pool>] [--image <image>] [--delay <delay>] --delay arg time delay in seconds until effec ...
前言在ceph 的jewel版本以及之前的版本,通过ceph -w命令是可以拿到每秒钟ceph集群的io状态的,现在的版本是ceph -s一秒秒手动去刷,ceph -w也不监控io的状态了,有的时候需要看io是否平滑,或者恢复还剩多少,能够比较直观的去看
实际上通过简单的脚本就可以实现之前差不多的效果
每秒查看状态123456789101112131415[root@lab201 ~]# sh ceph-s.sh Wed Sep 9 10:44:57 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 93.3KiB/s rd, 0B/s wr, 155op/sWed Sep 9 10:44:58 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 91.7KiB/s rd, 0B/s wr, 152op/sWed Sep 9 10:45: ...
暂未分类
未读前言做rgw测试的时候,经常会有删除文件的操作,而用默认的参数的时候,rgw是通过gc回收机制来处理删除对象的,这个对于生产环境是有好处的,把删除对业务系统的压力分摊到不同的时间点,但是测试的时候,可能需要反复的写入删除,而这种情况下,可能希望能够迅速的回收对象,那么就需要修改几个参数了
参数主要调整下面的几个参数
123rgw_gc_obj_min_wait = 30rgw_gc_processor_max_time = 180rgw_gc_processor_period = 2
删除的步骤如下
12341、删除以后进入gc队列2、等待rgw_gc_obj_min_wait时间后开始处理3、执行rgw_gc_processor_max_time时间的gc操作4、等待rgw_gc_processor_period时间进入下一次gc操作
调整以后,删除就能够很快的回收了
查询删除以后执行gc的时间
123[root@lab201 ~]# radosgw-admin gc list --include-all|grep time;date "time" ...
暂未分类
未读前言记录一些常用的命令行操作
命令查询机器的电源状态1ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power status
硬重启机器1ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power reset
关闭机器1ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power off
开启机器1ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power on
变更记录
Why
Who
When
创建
武汉-运维-磨渣
2020-09-07
暂未分类
未读需求很简单,翻译官网的操作文档
下载ceph代码luminous版本这个只用来编译doc的,我们只需要最新的这个分支即可,拉最少的代码
123git clone -b v12.2.13 --single-branch --depth 1 git://github.com/ceph/ceph.git ceph12cd ceph12git checkout -b v12.2.13
代码就下好了
根据官网的文档可以知道,官网的文档的语法是Sphinx写的文档,然后通过工具可以渲染成固定的网页
https://docs.ceph.com/docs/luminous/dev/generatedocs/
而Sphinx写的文档是支持国际化的,也就是我们只需要通过固定的文件去修改翻译文本就可以实现整个文档的翻译,而翻译的过程是可以通过发送到google,然后拿到结果再填写回去的方式来处理
安装依赖包
12cd admin./build-doc
根据提示安装依赖包,有一个ditaa安装不上
1234wget ftp://ftp.pbone.net/mirror/archive.fedorap ...
官方只提供了x86下面的包,没有提供arm下面的包,而我们的arm机器是32位的,需要编译一个支持armhf的二进制文件,这个文件只需要一个即可,但是编译是整套编译的,并且我们需要选定指定的版本,关闭nvme的支持(arm的缺库,也用不上),不带debug信息的
准备编译环境编译环境选择的是ubuntu 18.04 (X86),在centos下面编译可能出现arm库不对的情况,通常情况下,ubuntu的跨平台编译要好一些,并且我们的arm也是ubuntu的
安装编译软件
1apt-get install gcc-arm-linux-gnueabihf
支持arm的编译环境
下载代码注意要下载这个版本的,其它版本可能发生命令变化,这个无法去一个个确认,这个版本确认可以的
1git clone --recursive -b Release-19.06.02 https://github.com/Seagate/openSeaChest.git
进入执行编译命令的目录
12root@ubuntu-KVM:~/sea# cd openSeaChest/Make/gccroot@ubuntu- ...