问题现象在vmware的平台下的虚拟机里面配置了IPv6,然后测试的时候发现丢包严重,引起带宽非常低
问题Esxi虚拟机采用的是vmxnet3 driver,底层在处理IPv6的包的时候,额外加上了一些信息所以默认的1500的MTU无法处理完整的包,也就需要丢弃一些,然后造成了需要重传,带宽就低了
MTU调整为1515之后,问题消失,带宽恢复正常
这个只在IPv6使用的时候有这个问题,应该是跟这个驱动有关系,物理机下面没这个问题
调整MTU的方法在线调整1ifconfig ens160 mtu 1515
配置文件调整1MTU='1515'
重启网络服务
背景最近翻ceph的官方的博客,发现了一篇博客提到了一个ubuntu下面的编译参数引起的rocksdb的性能下降,这个地方应该是ceph官方代码的参数没生效
受影响的系统
P版本之前的ceph版本
操作系统是ubuntu的
某些ceph版本
这个要素比较多,所以运行的环境并不一定受到影响,那么我们看下,收到影响的版本是哪些,非ubuntu的系统可以忽略这个问题
我对15的版本比较熟,就以这个版本举例子
受到影响的版本这个版本是从ceph官方同步过来的版本
1https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-15.2.17/pool/main/c/ceph/
不受影响的版本1https://launchpad.net/ubuntu/focal/+source/ceph
这个是ubuntu官方打包的版本
下载不同的版本源文件
123456789101112root@lab103:~# cat /etc/apt/sources.listdeb http://archive.ubuntu.com/ubuntu/ focal main res ...
系统管理
未读前言本篇记录一些常用的配置raid的命令
安装下载storcli管理软件
1wget https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/1.21.16_StorCLI.zip
常用操作查询控制器信息123456root@ubuntu:~# storcli show---------------------------------------------------------------------------------------------------Ctl Model Ports PDs DGs DNOpt VDs VNOpt BBU sPR DS EHS ASOs Hlth--------------------------------------------------------------------------------------------------- 0 I ...
需求bluestore_min_alloc_size可以修改ceph的osd的底层的最小分配单元,初始化的时候能够调整,这个修改后我们如何确认呢
查询记录大小的日志在bluestore日志里面,需要调整osd的bluestore日志级别
1debug_bluestore=10
调整好了以后重启osd,查看日志
12[root@lab103 ceph]# cat /var/log/ceph/ceph-osd.2.log |grep min_alloc_size|grep order2024-03-07T11:00:42.419+0800 7ff28b4a0bc0 10 bluestore(/var/lib/ceph/osd/ceph-2) _set_alloc_sizes min_alloc_size 0x1000 order 12 max_alloc_size 0x0 prefer_deferred_size 0x0 deferred_batch_ops 64
上面的order 12就是获取的值
这个值需要计算一下
12[root@lab103 local]# echo " ...
存储设备
未读需求默认启动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
使用上面的方法就可以并发测试多台机器了,选项可以根据自己的需求进行修改