暂未分类
未读前言如果测试数据是很大量的数据,并且是基于时间变化的,需要做成一个横轴为时间,纵轴为数值的可视化,这个有很多方法比如用excel做成图表形式的或者用powerbi或者其它软件做成波形图但是找了几个软件都没有想要的效果,grafana那种又太重了,需要配置很多东西,所以这里自己实现了一个简单但是实用的数据分析网页
架构首先是原始数据,这里需要对原始数据进行处理,把数据处理成时间,数值的csv文件格式的,数量可以很多也没关系支持通过网页导入,因为测试可能是多轮的,或者多个数据的,所以为了方便,是支持网页直接倒入的网页是通过命令行启动的,不需要第三方的web服务器,所有的东西都维护在一个目录内,我们看下我们的效果
使用过程以ceph.log为例,我们拿到的是原始打包好的数据
123456[root@lab101 data]# ll总用量 27228-rw------- 1 root root 1230784 1月 18 18:28 ceph.log-20210115.gz-rw------- 1 root root 1253789 1月 18 18:28 ceph.log-2021011 ...
暂未分类
未读前言公网的云机器配置最小配置也要100左右一年,然后带宽也特别贵,默认最小配置只提供1M带宽,之前需要远程都是通过frp穿透,使用公网机器作为中转机器,如果只用命令行还好,碰到需要传输数据,那1M带宽使用起来就特别的卡了
而家里面的宽带是100M+的,公司的网络也很难给个人提供到这么大的带宽,所以可以利用家里的宽带构建个人的公网环境,家庭网络建议不要提供对外的服务,否则可能直接关网的,自己用不违法,没什么问题
如何构建自己的公网环境以前的网络上网方式是通过路由器进行拨号,然后共享给内网机器进行共享网络,直接在路由器上面做DMZ主机或者做端口映射就可以做一些工作了,现在都是光纤网络了,到光猫的IP地址实际上是内网地址了,所以需要做下面的一些工作
打电话给10000打电话给10000的客服,说自己需要一个公网的IP,然后客服就会生成工单,安排一个师傅在后台操作下,过几分钟以后你查询你本地的公网IP就是可以ping通的
换光猫上面的操作以后,只是光猫得到一个公网的IP,但是还是没法到内网来,这个实际上是出厂的时候运营商要求光猫厂商把管理员模式关闭了,去淘宝买一个100多的光猫,这个默认开放了 ...
前言本片记录一些常用的软件,方便后续使用
软件windows远程桌面连接软件由于有些操作需要连接到windows上面做,所以需要能够方便的连接windows的电脑,所以需要一个windows的远程连接软件
royal tsx这个软件可以连接ssh,ftp,rdp等协议,但是免费版只能连10个,这个对于我来说太少了
Microsoft Remote Desktop 10.5.0(1841)这个是微软自己出的mac下面的远程连接软件
IPMI连接软件安装java安装xquartz(https://www.xquartz.org/releases/index.html)(解决黑屏)安装firefox(只有firefox可以打开下载java的启动文件)打开后会被拦截,去隐私里面二次打开即可
linux shell连接软件iterm2需要做一些简单的设置
1、调整Title为profile名称
2、调整背景颜色021a1e
3、使用ssh-copy-id保存到本地,然后配置profile里面用command做ssh连接脚本就可以免密登陆了
4、终端不想显示中文就在profile里面的Te ...
前言服务器上面全天的负载可能存在不同,现在需要知道,之前环境上面负载的情况怎么样如果没做监控工具情况下,想看历史数据,这个就需要用到sar的历史记录了
方法通过对sar的历史数据的读取可以查看整个服务器上面的io之和,虽然不能精确到每个磁盘,但是也能够反应一定的磁盘的负载情况
1234567891011121314sar -b -f /var/log/sa/sa05[root@node101 zp]# sar -b -f /var/log/sa/sa0512:00:01 AM tps rtps wtps bread/s bwrtn/s12:10:01 AM 4578.54 3889.63 688.90 1153527.13 158204.9412:20:01 AM 4691.51 3983.55 707.96 1245905.96 149193.8812:30:02 AM 4408.08 3704.57 703.51 1180006.65 162309.0012:40:01 AM 9830.09 ...
暂未分类
未读说明本篇记录一些字符串的处理方法,这里不具体讲完整的方法,只记录遇到的需要处理的情况
用例用例一:解析ceph.log的ops由于ops的单位是有的带k的有的不带k的,那么需要匹配处理
字符串示例:
12021-01-13 11:09:55.664479 mgr.node103 client.994548 172.168.30.103:0/265828031 659839 : cluster [DBG] pgmap v218541: 6976 pgs: 6976 active+clean; 178TiB data, 358TiB used, 370TiB / 728TiB avail; 11.4MiB/s rd, 163MiB/s wr, 1.98kop/s
1234567891011cat ceph-20210113 |grep -v noout|awk '{gsub("op/s","",$28); print $1,$2,$28}'|awk '{if($3~/k/) {gs ...
需求由于迁移忽快忽慢,需要知道大概的迁移的时间,做了一个简单的统计脚本,可能不准,大概能够知道在什么范围内
脚本1234567891011121314151617181920#! /bin/shwhile ( 2>1 )do start=`ceph -s|grep pgs|grep mis|awk '{print $2}'|cut -d / -f 1`sleep 5end=`ceph -s|grep pgs|grep mis|awk '{print $2}'|cut -d / -f 1`speed=$((start-end))#echo $end#echo $speedsecond=$((end/speed*5))hour=$(( $second/3600 ))min=$(( ($second-${hour}*3600)/60 ))sec=$(( $second-${hour}*3600-${min}*60 ))echo 当前时间:`date ...
需求说明有的时候我们做测试,需要把当前的时间,精准的往前或者往后调整个几秒钟,这个我写成了一个脚本,方便调整思路是当前时间转换成unix时间,计算后,算到当前时间,然后设置
脚本1234567891011121314timenow=`date`unixtimenow=`date +%s`echo $timenowecho $unixtimenowunixtimenew=$(($unixtimenow-2000))echo $unixtimenewnewtime=`date -d @$unixtimenew "+%Y-%m-%d %H:%M:%S"`echo $newtimedate -s "$newtime"
上面的-2000就是往历史调整2000秒,需要往未来调整就改成+就行了,比较简单
总结留存备用
前言环境因为一些问题(网络,或者磁盘,或者其它各种异常),引起了集群的状态的一些变化,变化之后,集群的某些虚拟机正常某些虚拟机出现异常,异常现象就是无法启动特别是win server2008 ,会一直卡在滚动条这里
这个问题很久前碰到过一个哥们出现过,他问我是否遇到过,这个之前遇到过一次无法启动的,通过导出导入的方式解决了,当时一直也没找到原因这个哥们告诉我,通过关闭rbd的属性后,就可以正常启动了,当时就记了下,也没分析更深层次的原因最近有一个环境因为时间过快,往回调整了十几分钟,集群出现mon选举,osd出现闪断以后,部分虚拟机出现无法启动的情况
问题分析导入导出或者克隆基本可以判断数据是没有问题的,那么应该就是其它问题通过关闭属性可以解决,那么大概能够定位到这几个属性相关的
1features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
而锁文件是最大的怀疑,之前处理ctdb的时候,就有过锁没有加上超时时间,然后ctdb挂掉以后,锁不会自动释放的问题,怀疑这个地方类似
我们的rbd的镜像如下
123 ...
暂未分类
未读前言有的时候需要做个单页的网页显示,这个直接用python启动即可,但是存在一个问题,停止进程以后,如果网页正在被访问,socket会不释放,然后再启动就会提示端口占用,实际上是没有端口占用的
这个增加一个配置项就行
相关代码12345678910111213141516171819202122232425262728293031323334353637383940#!/usr/bin/python3from __future__ import print_functionimport SimpleHTTPServerimport SocketServerimport osimport sysimport signaldef quit(signal_num,frame): print("you stop the threading") sys.exit()path = os.path.dirname(sys.argv[0])os.chdir('/home/cephuse/output/')class ReusingTCPServer( ...
前言随机端口可能会占用后面准备使用的端口,然后在后面进程启动的时候,无法绑定端口引起服务异常
处理方法通过内核参数控制,在/etc/sysctl.conf添加
1net.ipv4.ip_local_reserved_ports=8000,8080
这个容易被冲掉,可以修改下默认的内核参数,通过tune实现
修改配置文件 /usr/lib/tuned/balanced/tuned.conf添加
12[sysctl]net.ipv4.ip_local_reserved_ports=8000,8080
然后执行
1tuned-adm profile balanced
这个相当于修改了内核的默认参数,清空 /etc/sysctl.conf也不影响执行完可以通过
1sysctl -a|grep net.ipv4.ip_local_reserved_ports
检查一下是否生效