存储设备
未读需求默认启动drbd后,两个设备需要进行同步,而某些测试情况下,设备是空的,并不需要同步,都是空的就不需要同步了,但是系统自身是不会判断是否为空的,需要按下面的步骤处理一下
操作方法1、两台机器上面都执行初始化元数据
1drbdadm create-md <resource>
2、两台设备上面都执行启动
1drbdadm up <resource>
3、在备用节点上面执行清理操作
1drbdadm -- --clear-bitmap new-current-uuid <resource>
4、在主节点上面执行设置主的操作
1drbdadm primary <resource>
5、检查设备同步情况
1drbdadm status <resource>
上面的操作后,主备的设备就是同步状态了,在测试场景下,能够节约不少时间
查看连接的情况
12345[root@node152 drbd.d]# cat /sys/kernel/debug/drbd/resources/r0/connections/node153/0/proc ...
操作系统环境操作系统1234[root@lab102 ~]# cat /etc/redhat-releaseCentOS Linux release 7.7.1908 (Core)[root@lab102 ~]# uname -aLinux lab102 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
查看pci设备123[root@lab102 ~]# lspci |grep Eth|grep 8181:00.0 Ethernet controller: Intel Corporation Device 159b (rev 02)81:00.1 Ethernet controller: Intel Corporation Device 159b (rev 02)
更新pciid
1update-pciids
再次查看设备
123[root@lab102 ~]# lspci |grep Eth|grep 8181:00.0 Ethernet contr ...
需求内网需要通过一台服务器作为网关,服务器只有一个网卡
配置12345678#! /bin/shiptables -Xiptables -Fiptables -t nat -F# 允许网段 192.168.0.0/24 的终端通过拨号主机转发iptables -I FORWARD -t filter -s 192.168.0.0/24 -j ACCEPTiptables -A POSTROUTING -t nat -s 192.168.0.0/24 -o ens33 -j MASQUERADE
上面的配置以后,其它机器就可以通过这台服务器进行上网了
背景在多路径配置下面,如果是主备的情况下,那么哪个盘是主盘,这个默认来说是没有办法进行配置的,这个时候需要服务端进行一个控制,来实现这个,这个是通过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 "+ ...