- 博客(32)
- 收藏
- 关注
原创 BMC挂载后台livecd ISO环境配置
一些需要通过livecd批量部署的动作可以通过redfish批量给服务器下发镜像,然后批量下发重启和通过ISO启动的指令,完整的流程做成脚本就能方便批量使用对应的livecd,但是前提是livecd的ISO需要使用BMC的虚拟媒体功能挂载好,下面是最简易的linux下部署NFS server的过程以及windows下部署CIFS server的过程,两种协议方式BMC都是支持的。Windows10下配置CIFS server。Linux下NFS server。
2025-01-22 17:41:09
544
原创 记录一个权限严格的livecd制作过程
13.使用visudo命令在如下位置root下一行添加如下命令,这些命令让用户可以sudo使用脚本,禁止该用户改变密码及密码有效期,并无法操作系统防火墙以及修改sudoers文件来扩大权限,禁止用户mount挂载外部存储来复制文件。记录一个有很多七七八八限制livecd的制作过程,其中有把sh脚本变为不可见的二进制文件,以及各种权限的限制,主要目的是不让livecd的关键文件被获取或者查看,同时也严格限制了允许使用者登录的用户的权限。9.给用户密码过期后的宽限天数设为0,否则密码过期后该用户还能修改密码。
2024-12-19 11:25:10
886
原创 逻辑盘性能优化(推翻上篇结论)
之前草率的给了错误的结论,是因为客户给的时间太少,一天两天就需要给结论,再加上对内咨询没拿到有建设性的意见,实际上最终的结论我一直持有一些怀疑态度,因为根据理论值算,即使是理论值的百分之70,也不应该只有这点性能,再者L卡也不应该比P卡差这么多,因此当客户提出希望再试试的时候,就约好了充分的验证时间仔细做了遍历测试,下面是结果,随机读和随机写都有了非常足的提升,如下图。以上是结合资料和结果来看可以无脑根据盘的类型进行设置的,下面是我没测试出有效果,但是厂家也有推荐的,属于可尝试的。
2024-09-18 16:48:52
393
原创 逻辑盘性能问题梳理
最近两个月出差处理了逻辑盘性能问题两次,这类问题说简单也简单,说麻烦也麻烦,简单在于多数情况下可能硬件不存在问题,麻烦在于要去证明没问题这个过程,或者当发现真的有问题以后,需要供应商投入时容易出现都不认是自己产品问题的情况,好在这两次问题最终其实都是没有问题的。1.遇到此类问题先算下理论值应该是多少,不同raid类型如下,N是成员盘数,但实际上通常不太能达到这种理论值,能有70%就很好了。RAID 10 读是N倍,写是N/2倍。RAID5读是N-1倍,写是N/4倍。RAID6读是N-2倍,写是N/6倍。
2024-08-15 10:42:03
335
原创 vdbench测试读或写不达标
有时候用尽手段都无法达到预期值,就需要排查下故障了,最好能有一个可以达到目标的服务器整体配置作为参考,如果相同配置其它服务器可以测试通过,那可以在无法测试通过的服务器上用iperf来测试网卡打流能否打到正常值,再用fio测试所有硬盘的性能能否达到本体的spec值,以及通过加压工具查看CPU压力能否打满,都排除过后最重要的是网络的延迟,这在iperf测试也能看到,iperf3测试时有一列是retry值,如下图倒数第二列,网络优秀时应该为0。
2024-07-15 14:22:48
703
原创 UDP丢包问题解决经验梳理
5.实验室中单独设置kernel层面的参数,调优效果几乎没有,很显然即使网口显示没有丢包,但是丢包作为一个整体的最终结果,这样单一的思路也是不正确的,应当意识到kernel层面最终能否处理的过来,和CPU核心和网卡之间的亲和是有关系的,网卡作为其中一个环节还是有调优方向的,配置得当可以让CPU和kernel更好的处理数据,因此通过以下几个关键命令调优。其实看到这个参数就会有一定想法,是否和MTU默认为1500有关系导致数据包分包了,但是客户认为集群内其它CPU平台没有这么高丢包率,当前至少先尝试调优一下。
2024-06-04 15:18:45
3404
1
原创 带外获取服务器健康状态shell脚本
简单的一个使用ipmitool工具获取健康状态的脚本,不同机型通过fru信息区分,最终汇总成csv文件。
2024-05-06 13:55:18
325
1
原创 BMC的SNMP功能小结
管理员可以使用OID来查询和操作网络设备上的各种属性和信息。服务器厂商随BMC版本软件发布都会有MIB文件,MIB文件用于导入客户自己的监控平台,文件里包含所有OID对应的具体是什么告警或者状态的对应关系,当服务器有一些事件触发时都会发送出OID,监控平台根据这个对应关系解析收到的OID转化成对应的事件进行告警。2.MIB browser也可以用来测试这些列表里的OID,只要在最上面填入IP,在右侧根据对应的OID所属操作进行,注意要设置advanced里的团体名,团体名BMC界面能看到默认的设置。
2024-04-07 17:53:28
1404
1
原创 用python在windows下批量筛选输出文件信息
有个客户的机器基数很大,但是故障率很高,客户要求进行筛查,把带外的风险项挑出来,并进行提前的风险件更换。公司工具可以批量收集服务器日志,但是信息显示还是不够直观和简洁,于是用python重新做一个脚本,选择了内存、pcie的ce和uce四种类型来进行筛选,并输出到csv文件里,python还是很好用的,解压压缩包包以及时间戳进行一定的筛选都可以轻松做到,代码如下。
2024-03-15 10:08:13
431
原创 在线批量收集服务器硬盘日志脚本
最终问题更加严重,用户端也愿意采纳使用厂商的日志收集工具,允许我们将工具传输到业务系统中直接收集日志,,然后将日志拿回,用来分析存在风险的硬盘,只需要两个脚本,一个脚本用于传输到系统下,用来执行工具,以及判断收集进度,以及打包日志。脚本如下,这个脚本要注意的地方不多,主要是要把收集的进度展示出来,我是用监控进程的方法来判断并输出打印的,由于脚本的调用是外部的堡垒机,因此这些打印在堡垒机上也会有,就可以在外部来判断里面的收集进度,下面是内部的脚本。
2023-10-30 16:54:00
309
原创 故障硬盘根据规律提前筛查脚本(二)
之前那个是用来根据smart属性值筛选出风险盘的执行脚本,是整个方案中的一部分。除了smart的筛选以外,还会阵列卡日志中筛选出media error报错的硬盘,做fio的盘也会根据fio输出重定向的文件的最后修改时间减去初始时间来计算fio时长,明显过长的肯定也是存在问题的。但是每台服务器的IP就需要提前设置了,可以提前给每台服务器规划好IP,比如本次每台服务器的IP都是和SN对应的,那么在脚本的最开始还需要设置网络,这里是做了一个bond,并根据提前放进去的ip信息文件对应设置,分享代码如下。
2023-08-24 14:43:23
236
原创 故障硬盘根据规律提前筛查脚本(一)
检测脚本具体如下,主要用到storcli工具和smartctl工具,当硬盘在阵列卡管理下时,获取smart属性值就必须根据硬盘在阵列卡下的did值来判断了,和系统下的盘符就没关系了。连续忙了一个多月,都没什么时间复盘总结了。最近有个大客户硬盘故障率高。我们协调厂商分析后,建议我们可以给客户做提前筛查。原理:通过总结已故障硬盘的smart属性值共同性质,制定一个标准,达到该标准的硬盘就判断为风险盘,可以提前做预知性的更换。检测的效果如下:把槽位号型号序列号还有具体smart值都显示了出来。
2023-08-07 11:28:55
249
原创 LSI阵列卡一致性校验慢问题定位总结
Unexpected sense消息对于阵列卡来说属于提示消息,意味着硬盘存在软件或链路层面的错误,通常是由于硬盘存在坏块或者满负载无法响应控制命令导致,尽管属于info级别消息无需关注,但是会导致此时阵列卡和硬盘的通信进入恶性循环,更多的命令retry和更高的硬盘负载,以下属于阵列卡故障指南关于unexpected sense的说明。发现客户驱动版本是好几年前的,于是内部验证了老版本和最新驱动版本在CC校验上的时长差异,可以达到几倍的差距,于是将结果告知客户并推荐升级驱动。
2023-06-12 14:30:45
3361
原创 CPU巧妙加压以及频率监测shell脚本
有时候一些网上问题或者CPU的压力测试需要一个CPU加压的环境,但是又没指定加压方式和工具,可以使用yes命令来加压。这个加压方式最早也是在一个客户的脚本里学来的,比较巧妙。Yes命令是无限循环的,使用一次就是一个线程,就会打满一个core的压力。这样我们就能获得一个CPU压力拉满的环境,此时CPU的功耗值也会是TDP值,也可以用来在功耗相关问题中使用。CPU频率相关的问题在定位时往往需要检测CPU的频率,此前我发过一个监测脚本,但是其中有不好的地方,获取频率的方式有缺陷,不保险。
2023-05-22 09:26:29
1226
2
原创 可完成自动部署工作的livecd制作
Livecd是一种可以直接引导进入使用的系统,对于一些不方便或者不支持在服务器原先系统内进行的操作,我们可以部署到livecd内,然后由服务器挂载上进行全自动化的部署操作。公司有批量带外挂载的现成软件,因此这时常作为我们提供客户批量运维的一种方式。然后就可以进入mnt文件夹内了,文件夹内就是一个完整的linux系统,我们将部署的脚本调测好后放进来,写入开机自动运行的.bashrc文件或者是rc.local文件。注意后面的空格和点也需要加上。
2023-04-24 11:02:37
902
原创 网卡常见命令操作及问题定位
RX overruns: 表示了 fifo 的 overruns,这是由于 Ring Buffer(aka Driver Queue) 传输的 IO 大于 kernel 能够处理的 IO 导致的,而 Ring Buffer 则是指在发起 IRQ 请求之前的那块 buffer。RX errors: 表示总的收包的错误数量,这包括 too-long-frames 错误,Ring Buffer 溢出错误,crc 校验错误,帧同步错误,fifo overruns 以及 missed pkg 等等。
2023-04-24 11:01:14
2367
原创 OS日志重定向至服务器串口方法
在/etc/default/grub的grub_cmdline_linux行里删除rhgb quiet,增加“console=ttyS0,115200n8 console=tty0”,如果系统是legacy模式就通过grub2-mkconfig –o /boot/grub2/grub.cfg生效,uefi就grub2-mkconfig –o /boot/efi/EFI/centos/grub.cfg来生效,最后生效需要重启OS。
2023-04-24 10:59:30
696
原创 LSI-HBA卡下硬盘物理槽位和OS盘符对应脚本
有个大客户需要一个脚本可以打印出当前服务器上在位的硬盘OS下的硬盘盘符和服务器物理硬盘槽位号的对应关系,由于涉及HBA卡,所以无法实现一个通用的,只能是适用于这个配置的。经过验证在掉一个盘的情况下,其它硬盘的盘符不会发生漂移,掉盘多个的情况下会发生漂移,由于客户的使用场景一般掉盘一个就会预警了,所以这个需求还是有实现价值的。由于服务器上的是LSI的HBA卡,经过验证,盘符分配没有规律可循,只能记下满配时的盘符关系,用来检索输出。思路就是先生成一个正确的物理槽位-盘符-阵列卡下槽位的对应关系,然后用阵列卡的
2023-04-24 10:58:15
538
原创 linux系统内核参数添加方法总结
添加方法主要有两种,一种是临时生效的,重启就会恢复,在内核启动时按e键来添加参数,如下图界面,添加完之后按ctrl+X启动即可。机器的启动模式如果是UEFI的话,如下图,如果启动模式是legacy,需要grub2-mkconfig –o /boot/grub2/grub.cfg。一次性的不够实用,更推荐改配置文件的方式来执行,首先是ubuntu系统,需要修改/etc/defulat/grub文件,如下图。
2023-04-24 10:46:32
936
原创 blktrace工具定位硬盘时延高问题
blktrace是一个针对Linux内核中块设备IO层的跟踪工具,用来收集磁盘IO信息中当IO进行到块设备层(block)时的详细信息(如IO请求提交、入队、合并、完成等信息),是由Linux内核块设备层的维护者开发的,目前已经集成到内核2.6.17及其后内核版本中。那么我这个数据中D2C占的比较多是比较合理的,设备层确实会占据较多时间,但是客户现场的结果如下,明显是应用层面的问题,最终客户确实在集群策略方面找到了问题原因。Q2G – 生成IO请求所消耗的时间,包括remap和split的时间;
2023-04-24 10:44:03
1017
原创 AMD和Hygon平台特性FAQ总结
海光的只有内存总数是16、24、32时才支持定制化设置,且对应socket/die/channel分别为1、2、8,且24根内存时插法不能对称数量插,需要一边16根,一边8白槽,才能定制为numa2。用7502CPU举例,其cTDP的范围是165W-200W,CPU的工作功耗是180W,设置在范围外的无效,PPL的范围是0-CPU功耗之间都可以设置,两者都设置的话以较小的为准。如果客户关注的是CPU工作功率的限制,就设置PPL,关注的是CPU的真实能耗就设置cTDP。AMD的如下可以直接设置需要的选项。
2023-04-24 10:42:40
5155
原创 Linux系统调优-网络&tuned-adm
系统层面的网络调优,整体的可以直接看下面的tuned-adm工具里的方法,个人感觉就比较实用方便了,系统层面还可以对一些内核参数进行调整,可以参考下面的博客,里面如TCP数据收发缓冲窗口大小等参数之前工作中网卡调优时也设置到过。tuned-adm是一个命令行工具,可以提供一些配置文件来提高系统的一部分模块的性能,它还可以让你在已有的性能配置文件基础上去自定义新的配置文件,下图是展示默认配置文件、当前使用的配置文件、修改配置文件的方法。五、 系统性的工具tuned-adm。
2023-04-24 09:56:56
273
原创 Linux系统调优-内存&存储
Kernel中有许多关于内存的参数可以设置,但是我在工作中没接触到过,并且资料上看下来这些参数的修改都是有一定风险的,所以这里就只总结下内存大页,因为之前在内存性能调优时,是有设置过透明内存大页的,透明内存大页相比于内存大页更便于程序使用,是动态的,在centos6开始使用,原先的内存大页是预分配的使用方式,透明内存大页有下面三种模式。在同一个OS下,我尝试了下可以发现NVME盘的调度器采用的是多队列的,如下图,raid卡管理下的即使是SSD还是单队列的,HDD本身我查看了下也都是单队列的。
2023-04-23 15:44:25
499
1
原创 Linux系统调优-CPU
因为是比较完整的,可能罗列出了许多方向,对于这些方向,怎么样调能带来怎么样的效果,肯定是需要实践后才能确认的,在遇到具体问题和需求时可以从这些方向上下手,分成五个小部分,分别是CPU、内存、存储、网络、整体工具tuned-adm。上面说的是整个系统的设置,具体到我们需要对某个进程来多分配些CPU资源,或者避免进程之间使用相同的CPU资源,影响了进程的性能,可以使用taskset工具,taskset –c 0,1 ./xxx.sh就是把0,1核心分配给了这个脚本。4.CPU中断irqbalance。
2023-04-23 15:42:46
662
原创 【出差现场】博通网卡问题定位流水账及小总结
再次进入到机房后,交换光模块,发现问题仍存在,此时注意到一点,就是OS下这两个起不来的bond口在网卡的物理位置上理论上是右侧的,而客户最开始指示给我们的所谓业务口是指向左侧的,网口的命名和物理位置如果需要互调是需要更改网卡配置文件的,个人觉得客户不可能更改过这个,于是觉得很有可能客户配置bond的口和指给我们的物理口其实对应错了。过了没几天,客户再次反馈有两张网卡的各一个网口做了bond,已经排除了上次的选项导致的问题,并且网口灯是亮的,但是OS下网口还是无法up,要求我们去现场尽快定位。
2023-04-23 15:42:32
392
原创 PXE服务器部署方法总结
平时处理问题时经常会遇到客户的PXE服务器无法进入的相关问题,定位起来需要我们较好的了解PXE,这样根据异常打印和出问题的阶段就能初步判断问题方向,所以为了加深理解,我使用Centos7.6作为本端服务器系统完成了PXE服务器的部署,这是个很有意思的东西,之前试过几次都失败了,这次总算成功了,总结一下方法。cp /mnt/cdrom/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/legacy_pxe/centos_7.6(根据系统的实际挂载点来)
2023-04-23 15:41:20
876
原创 CPU超频与锁频
intel的没有实际操作过,这里就不写了,可以肯定的是intel的锁频是比较成熟的。首先是超频,超频的话很简单,主要就是关闭节能模式和打开超频选项,就可以做到了,intel的话应该是turbo选项,AMD是core performance boost选项,海光和AMD的名字是一样的。Cpupower 这个工具可以在系统下对cpu性能模式的设置和频率信息的获取,比较实用,如下图可以看到该机器单CPU的频率信息,包括限制的范围,以及当前运行在什么频率。下面写一下AMD锁频的设置方法。
2023-04-23 15:40:35
10009
原创 系统硬盘盘符和实际槽位对应关系脚本开发需求
之前有个客户需要我们提供一个可以在系统下展示硬盘盘符对应实际服务器上物理槽位的脚本,一开始没有什么思路,后面摸索了下对于板载直连的服务器,pci下设备是固定的,那么机器正常启动过程中,对应的槽位和盘符也是固定的,不过这类需求只能适用于硬盘板载直连的机器了,如果是在raid卡下的硬盘,这个规律可能就不统一了。后面客户表示不需要这样对应,只要能打印出来盘符和槽位的对应关系,槽位图显示完整的0-11就行,就重新改简单了。实现代码如下,实现了amd和intel机型的12LFF机器直通硬盘的槽位显示。
2023-04-23 15:38:52
504
原创 内存带宽性能偏低问题处理和经验总结
对于一般性能差异,可能主要从BIOS设置着手,对于如此大的性能差距,就要需要考虑内存插法、CPU平台特性相关的问题了,最终客户现场定位下来主要是和使用的工具相关,stream内存性能测试工具有不同编译器的版本,客户使用的是gcc,而在海光CPU平台上gcc编译器的stream亲和性很差,性能表现会很差,如果使用open64编译器的stream,数据可以达到12万以上,尽管还是远小于理论数值,但是12dimm并非CPU厂家推荐的配置,因此也可以理解。首先内存的理论带宽值是可以计算出来的,公式如下。
2023-04-23 15:37:54
2054
2
原创 关于FIO测试和硬盘性能问题测试学习总结
以上参数我们还需要了解一些额外的内容,最主要的我认为是bs,iodepth这两个参数,因为他们的调整会直接影响到我们关注的带宽、IOPS、延时的数据,因此当我们具体关注某个指标时,这两个参数也应当对应调整为适合测试这个指标的形式,这是比较细致的测试方式,也能注意到有些业务团队会用统一的测试命令同时关注这三个指标,但是对于我们定位问题进行调优时,搞清楚参数和指标的关系就比较重要了。首先关于FIO这个工具的测试结果,我们一般需要关注的指标有三个,分别是带宽,IOPS,延时。bs:块大小,4k,
2023-04-23 15:37:16
4611
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人