背景在多路径配置下面,如果是主备的情况下,那么哪个盘是主盘,这个默认来说是没有办法进行配置的,这个时候需要服务端进行一个控制,来实现这个,这个是通过SCSI的协议把相关的信息保存在磁盘属性里面的,然后客户端程序再根据这个通用的标准进行主备的选择,这里不详细讲ALUA
像那种双控的盘阵,比如有两个控制器,一个主,一个备的,然后主上面有4个链路,备的上面有4个链路
多路径连上去以后,多路径软件能够把主控和备控制器进行区分,存在不同的优先级,进行分组,然后主的里面也可以根据配置去选择是单主还是多主
实现的软件tgt这个默认是不支持这个功能的,scst是支持的,本次配置就是通过scst进行配置
配置主target的配置12345678910111213141516171819202122232425262728[root@lab102 ~]# cat /etc/scst.confHANDLER vdisk_fileio { DEVICE disk1 { filename /dev/rbd/rbd/testiscsi nv_cache 1 ...
前言多路径的配置方法,尽量最小操作的配置
配置方法主备的配置1234567 defaults { user_friendly_names yes}blacklist {devnode "^sd[a]"}
核心控制主备的是多活
12path_grouping_policy multibuspath_selector "round-robin 0"
主备(默认选项) 12path_grouping_policy "failover"path_selector "service-time 0"注意在device设备的配置优先级更高,注意下device写的时候一定要匹配正确,如果有多种设备使用的时候并且配置不一样的时候才启动device的配置文件
1234567[root@node231 etc]# multipath -ll|tail -n 6dg03_v0001 (3600c0ff00053a815593a676201000000) dm-5 ...
需求通过fio控制多台同时测试,让io并发
使用方法在受控客户端每台机器上面执行
1fio --server
运行测试执行命令
1[root@node232 testnvme]# fio --client=host.list fio1.job
测试主机配置文件
123[root@node232 testnvme]# cat host.list192.168.122.2192.168.122.163
fio配置文件
1234567891011121314[root@node232 testnvme]# cat fio1.job[global]ioengine=libaiodirect=1thread=1time_basedfilename=/nvmedisk/test.tempruntime=120size=1G[SEQ1MQ8T1-write]bs=1Miodepth=8rw=write
使用上面的方法就可以并发测试多台机器了,选项可以根据自己的需求进行修改
前言本篇是记录通过命令行创建一个虚拟机的测试环境
创建过程下载ISO镜像1wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-DVD-1908.iso
安装虚拟化相关的软件1yum install virt-install libvirt qemu-kvm
配置桥接网络1yum install bridge-utils
修改配置文件,把onboot改错no,也就是开机不启动
12/etc/sysconfig/network-scripts/ifcfg-ens33 ONBOOT="no"
修改/etc/rc.local
1234567ifconfig ens33 downifconfig ens33 0.0.0.0brctl addbr br0brctl addif br0 ens33ifconfig br0 192.168.0.101/24 upbrctl stp br0 offroute add default gw ...
Linux知识
未读问题测试环境发现在linux的域名解析配置里面添加四个nameserver的时候,第四个dns没有生效
模拟1234567[root@node102 ~]# cat /etc/resolv.confoptions edns0 trust-ad# Generated by NetworkManagernameserver 192.168.5.28nameserver 192.168.5.29nameserver 192.168.5.30nameserver 223.5.5.5
指定三个无效的DNS,然后最后一个使用正常的nameserver然后ping www.baidu.com这个是无法解析的然后改成
1234nameserver 192.168.5.28nameserver 192.168.5.29#nameserver 192.168.5.30nameserver 223.5.5.5
这样就能正常解析了,这个是为什么?是因为linux只支持最多3个DNS的配置,那么放在第四个就不生效了
代码写死了就是3个
123RHEL 6/7 - Change MAXNS in /usr/in ...
经验总结
未读需求实现的需求很简单,就是需要定期发送一个监控信息到钉钉群里面,避免需要人工登录机器查询信息,需要监控的机器本身无法上网,通过一台能上网的windows机器做中转
架构1、被监控机器定期获取数据,并开启http服务2、windows机器通过http请求定期获取被监控机器的数据3、windows机器把消息发送出去
实现机器提供数据开启http服务1python -m http.server 4444
获取监控数据123456789#! /bin/sh#一分钟取一次 前端自定义获取时间for a in `seq 2000`dodate > ceph.infoceph -s >> ceph.infosleep 180done
通过http://ip:4444/ceph.info获取数据
推送的python脚本12345678910111213141516171819202122232425# /srr/bin/python# -*- coding:utf-8 -*-import requestsimport jsonimport timewhile True: ur ...
下载文章下面的脚本是从网站下载md的文件,100篇一页,下载几次即可,修改下脚本
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#! /bin/python# -*- coding:utf-8 -*-import requestsimport json# 获取当前登录用户信息#url = 'https://api.cnblogs.com/api/users'# 获取个人信息#url = 'https://api.cnblogs.com/api/blogs/zphj1987'# 获取个人随笔列表url="https://api.cnblogs.com/api/blogs/zphj1987/posts?pageSize=100&pageIndex=1"headers = {"Authorization":"Bearer "+ ...
暂未分类
未读nmon的文件存在过大的问题
获取第一个ZZZZ之前的内容,大概在2000行之前
root@ruichi-Default-string:/chia# head -n 2000 ruichi-Default-string_210428_2224.nmon |grep -n “ZZZZ”1288:ZZZZ,T0001,22:24:43,28-APR-20211310:ZZZZ,T0002,22:24:44,28-APR-20211333:ZZZZ,T0003,22:24:45,28-APR-20211357:ZZZZ,T0004,22:24:46,28-APR-20211379:ZZZZ,T0005,22:24:47,28-APR-20211404:ZZZZ,T0006,22:24:48,28-APR-20211428:ZZZZ,T0007,22:24:49,28-APR-2021
可以看到应该在1288行开始,那么相当于头部文件为1287行对原始文件分割
我采集的是43200次的数据,1秒一次产生的文件是root@ruichi-Default-string:/chia ...
背景在openeuler上面打包rpm的时候,有的src.rpm内部调用了%cmake_build的宏变量,openeuler的默认cmake3.22版本不支持,可以通过修改宏变量来实现可用
修改修改文件路径为: /usr/lib/rpm/macros.d/macros.cmake
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556[root@openeuler ~]# cat /usr/lib/rpm/macros.d/macros.cmake## Macros for cmake#%_cmake_lib_suffix64 -DLIB_SUFFIX=64%_cmake_skip_rpath -DCMAKE_SKIP_RPATH:BOOL=ON%_cmake_version 3.22.0%__cmake /usr/bin/cmake%__ctest /usr/bin/ctest% ...
生活日常
未读需求有的时候需要做系统适配的时候,远端的系统是经过定制的系统,本地的安装是按正常流程进行的安装,需要在远端进行安装包的离线安装,那么本地就需要提前做好一模一样的系统,本篇的脚本就是用于比较这个版本的区别,然后在本地做好一样的系统,然后再做适配
脚本123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051[root@build syncos]# cat check.py#! /bin/python3# -*- coding:utf-8 -*-import sysimport re#print(sys.argv[1])#print(sys.argv[2])qian={}hou={}f = open(sys.argv[1])line = f.readline()while line: line=line.strip('\n') new_rpm = re.sub(r'-\d+\.& ...