![](https://img-blog.csdnimg.cn/8bb0b9f9181c4c5284a2c69dc105cf33.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
云平台运维
文章平均质量分 55
Linux周边及、vmware/openstack 相关云平台的问题总结
优惠券已抵扣
余额抵扣
还需支付
¥49.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
mzhan017
小张
展开
-
[晕事]今天做了件晕事38 shell里的source 点号
但是脚本运行出现错误,一开始还以为是/tmp没有可执行权限(https://mzhan017.blog.csdn.net/article/details/112178736#t16),导致abc运行不了。所以这里就是一个潜意识,source/点号的运行其实是需要当前shell的支持,实际的运行程序还是shell。也就是引用的文件真正的运行是当前的shell可执行程序,不受/tmp/没有可执行权限的限制。后来发现是文件的权限不对,是该用户不能访问,而不是 source 点号的使用有问题。原创 2024-06-17 17:22:30 · 87 阅读 · 0 评论 -
Linux: grub: pager: 启动串口打印分页
如果设置为1,就会出现日志分页,然后系统的启动过程就pause住了。如果设置为0,就不会分页,直接往下走。最近调试一个Linux系统启动慢的问题,我们想着是这个grub的原因,同事使用下面的配置。结果发现,当日志打印满屏幕的时候,启动就会停住(Pause)。一直没有想到是什么原因。后来跟着Redhat的支持学到了下面这个配置,是这个设置导致的pause。这个默认设置为1的原因在下面的链接里。原创 2024-06-14 19:30:50 · 38 阅读 · 0 评论 -
[吐槽] libvirtd debug日志的打印
下面这个日志只打印了状态变量的指针信息,没有打印实际的值。这个指针没有什么用,最好是打印里面的state值。大家有兴趣可以参与其中。原创 2024-06-06 10:18:51 · 36 阅读 · 0 评论 -
Linux: network: arp 导致问题一例
突然想起了很多年以前,公司的产品是在ATCA v1版本的机架办卡上,性能不得不说和现在差很远。记得有一个问题是这样,机架里的一个switch板块会不定期出现CPU性能的问题。最后调查的结果是收到的ARP有点多,导致底层需要往上传递ARP,最终导致CPU性能问题。最近读openswitch的文档,看懂下面一段话,说所有的CFM/BFD等协议,ARP修改相关的包都会经过slowpath/慢路径处理。和这里的慢路径一个道理,switch需要二层的ARP做ip/mac的mapping表,需要当前交换机做一些处理。原创 2024-06-02 14:08:05 · 224 阅读 · 0 评论 -
Openstack: Openswitch: 端口速率控制;流量控制;neutron
https://docs.openvswitch.org/_/downloads/en/latest/pdf/4.1.10 Quality of Service (QoS) Rate LimitingThis document explains how to use Open vSwitch to rate-limit traffic by a VM to either 1 Mbps or 10 Mbps.Similarly, to limit vm2 to 10 Mbps, enter these co原创 2024-05-30 22:37:43 · 35 阅读 · 0 评论 -
ovs-vsctl错误:Port does not contain a column whoes name matches “--id“
错误是,在snooper0\,这里反斜杠之前少了空格。给大家10秒钟,看是否可疑猜到错误!原创 2024-05-30 19:40:59 · 26 阅读 · 0 评论 -
Linux: tools: perf: address 的map,不要把symbol显示的地址串当成真的地址
这里的Symbol列现实的地址是减了一个__executable_start的偏移量。所以不要把symbol显示的地址串当成真的地址。去做addr2line的反编译源代码地址。原创 2024-05-28 13:40:11 · 26 阅读 · 0 评论 -
[晕事]今天做了件晕事35 VM发送给gateway太多ARP,导致攻击检查?
后来听同事说,这个可能是网关认为一时间发送的GARP太多,导致网关认为是攻击,所以不更新arp cache表。最近遇到一个问题,说网关学不到新起来VM的mac地址,通过tshark抓包发现,VM已经发出去GARP了。请根据实际网络状况,在系统视图下执行命令arp speed-limit source-ip [ ip-address ];从网上一搜确实有很多关于这一点的资料,大家有时间可以自己钻研一下。算是问题分析的一个方向。就认为是网关的问题,为什么没网关没有学到?新的知识这算是增加了一个点。原创 2024-05-24 20:05:21 · 92 阅读 · 0 评论 -
Linux: 高CPU使用率的一种情况:内存不够用
这台机器上安装了一个jenkins服务,而且还有其他的一些在跑的程序,8G的内存肯定是不够用,导致内存资源紧张,导致kswapd不停的在干活。有一台jenkins服务器,在安装完成之后,一开始ssh访问还可以,后续再访问,就出现严重的变慢现象。从列表里看,kswapd0占用的最多,达到了47.5%。而且可以看到free的内存已经非常少。从下面的的top命令,可以看到,CPU的使用率几乎全被system使用,而idle的就是0。原创 2024-05-09 13:25:04 · 150 阅读 · 0 评论 -
Openstack: 热迁移遇到了一个问题
那为什么后续有一个设备的Linux侦测时间晚了呢,是因为在这个过程中,需要将原有的detach,detach的时候出现了错误导致晚了。比如下面的08.0比较早的进来,而06.0出现的太晚了。或者是(中间出现错误,导致abort,回退的一个过程)从这里看是,有detach/reattache的步骤在live-migration的过程中。在新的VM上发现有一个网卡设备被系统probe的时间太晚,导致后续逻辑出现错误。一个带有sriov VF mode设备的虚拟机做热迁移。原创 2024-04-29 14:30:40 · 85 阅读 · 0 评论 -
Linux: signal: 怎么知道是谁kill了当前进程
如果不能使用strace,就需要在程序里注册一个信号处理的函数,来读取这个siginfo_t 结构体里的信息。里面的si_pid信息就是发送SIGTERM的进程/线程的pid。原创 2024-04-24 20:14:09 · 131 阅读 · 0 评论 -
Linux: network: 内核里的一个隐匿陷阱 inet_csk_bind_conflict
因为内核里相关的结构体里有一个标记为:inet_bind_bucket.fastreuse,如果这个端口上的所有的socket都是reuse,这个标记为就一直生效,这样就一直不走conflict函数,也就不会产生什么特别的影响。这个时候就有可能出现问题,而且使用的这个端口,还是一个临时的端口,在net.ipv4.ip_local_port_range之内的一个临时端口。第一个是,如果有一个socket的设置SO_REUSEADDR函数调用失败,setsockopt,而且继续后面的bind操作;原创 2024-03-28 12:48:41 · 201 阅读 · 0 评论 -
Linux: 检测工具: monit: cpu占用率的一个例子
最近看到monit使用的CPU有时候会突然的增加,通过perf查看,可以看到是下面这个函数调用占用的比较高。这个功能缺少一个总开关,如果不需要,其实没有必要运行这个功能,徒增CPU的使用。原创 2024-03-25 15:14:54 · 178 阅读 · 0 评论 -
[云] vmware: host: net: Net.CoaleseDefaultOn
选择使用的host -> 右键setting->configure-> system->advanced system setting->edit->Net.CoaleseDefaultOn。原创 2024-03-21 14:18:04 · 134 阅读 · 0 评论 -
Linux: network: firewall: firewalld 导致icmp带admin prohibited
最近遇到一个主机主动回icmp,destination unreachable的错误包,而且里面的code是 administratively prohibited。使用netstat命令看,这个主机是有监听1026端口。说明是有管理员配置的iptables的rule给拒绝了这个包。原创 2024-03-20 03:37:00 · 288 阅读 · 0 评论 -
Linux: boot: latency启动延迟分析;delay
无意看到这个启动延迟分析,虽然现在还没遇到类似的问题,但是可以放在这里。看着有很多的工具可以用。其实systemd也提供了一个工具,来查看systemd服务启动的一个时间分析。原创 2024-03-17 15:58:08 · 187 阅读 · 0 评论 -
[程序员] 网络延迟的一个主要分析点:怎么确定CPU是否在卖力的干活?
比如VMware设置的CPU策略,可能影响Guest层CPU的运行,如果主机上的CPU资源紧张,可能分配给Guest的CPU就不够用,这个时候需要看什么呢?这些资料里面,或者进一步的引用链接里,就是在提一个事情:延迟的产生很大程度上是由于CPU没有卖力工作,导致包的处理不及时,也就是会有延迟。就看客户的具体需求是什么。所以这种性能的问题的一个总结是:对于一个成型的产品,所做的性能测试,可能不只是要保证所声明的业务量,进行性能测试;有没有在内核层面的其他参数,也在控制着CPU的使用率和延迟的参数?原创 2024-03-17 10:02:22 · 351 阅读 · 0 评论 -
Linux: system call: reboot,无日志信息打印
导致没有日志输出,根本看不出来是谁做的reboot。说在应用程序里直接调用glibc库函数reboot。这个reboot的过程和直接从命令行的reboot。如果想调查是谁调用了reboot,应该怎么做?而这个库函数调用的是内核提供的系统调用。这个reboot更直接,更迅速。原创 2024-03-16 05:10:26 · 80 阅读 · 0 评论 -
Linux: cloud: network: tap tx 丢包一例,vCPU的运行受到主机CPU的占用影响
这个里面有一个丢包的例子是说,如果tx-queue的大小不够大,而切在云平台下,虚拟机的运行受到主机CPU使用的影响,导致tx-queue处理不及时,导致queue满,而出现丢包的情况。原创 2024-03-10 10:32:30 · 148 阅读 · 0 评论 -
Linux: 网络: ipsec & ipv6 & mtu问题一例
总体来说还是IPv6层的MTU的限制,导致ESP层的代码逻辑更高。所以根据这个最小值的设置,我们就需要给出一个说明,在使用xfrm/esp的时候,最小的IPv6 MTU的设置不能是1280,而是1280+espHeader。产生这个错误的原因和一个commit相关,下面这个commit说了一个情况,就是对端的MTU设置为最小1280,会导致ip6_setup_cork函数返回EINVAL。将ipv6的MTU设置为1300,然后从在IPv6层之上再添加一个ipsec/esp层。原创 2024-03-05 06:13:42 · 276 阅读 · 0 评论 -
Linux: network: dpdk: hang, ie40, x710
这里存在的一个问题,如果是必须的,就需要在接口里写上必须。如果没写是不是代表不是必须,但是如果不是必须为什么还会出现hang的情况。主要也是无心之举,一般使用者当然也不期望有什么invalid的包走到网卡。那什么时候使用呢,就是在放到网卡之前调用的一个函数。这个是不对的,至少对intel的 x710来说是需要。原因是下面这个hang的问题。这个函数调用的是每种网卡自己实现的一个接口,比如x710的i40e这个驱动,就有:i40e_prep_pkts,引入的时间是2016年9月,由下面这个commit加入。原创 2024-02-25 11:17:43 · 118 阅读 · 0 评论 -
[程序员] sipp运行时socket接收队列持续满载 - 文件系统访问慢
不过后来,同事有提到,这个服务器启动的sipp所用的脚本文件,以及日志打印文件所属的目录,是mount的一个网络磁盘;这个信息就非常的关键;今天谈一下,最近和同事一块看到的一个例子,说sipp运行时的某一时刻之后,总是会有408/487/retrans,通过netstat看,还总是会出现接收队列满载的情况。如果是正向的测试,其实应该是按照之前的一个总结来做,这样会避免倒着追查问题的可能:[测试]性能测试之前的工作。具体的问题解决的思路:一开始想到的可能是系统的CPU使用率是不是太高,导致的问题。原创 2024-02-24 07:07:16 · 309 阅读 · 0 评论 -
[晕事]今天做了件晕事28;dmesg
可能是因为看/var/log/kern.log看的习惯了,当遇到一个机器上没有这个log的时候,想不起来该看什么日志了。一时竟然没有想起来使用dmesg命令,来查看内核日志。也可以使用journalctl的命令来看相关的systemd的日志。其实可以查看dmesg命令的输出,来看内核的日志。今天遇到了自己办的另一件晕事。原创 2024-02-22 22:09:16 · 75 阅读 · 0 评论 -
[云] vmware/Linux: latency的设置;coalescingScheme
如果虚拟机上的业务,需要敏感的网络延迟,就需要设置这个参数来做调整。需要对自己产品已经vmware的设置相当的熟悉,才能知道要不要设置这个参数。如果不熟悉,可能要等到产品上线之后,才知道要改。原创 2024-02-21 20:59:44 · 193 阅读 · 0 评论 -
Linux: module: code section 加载进来的module代码段是只读的;内核不停的crash
这样就可以严重怀疑是内核或者硬件问题,但是具体是什么问题,就必须有深厚的内核与硬件知识。如果没有,最好的方式是升级,内核与硬件。但是在现实生活种,就是有这么奇怪的结果。有一次遇到这个代码段被非法改了。原创 2024-02-07 06:42:43 · 109 阅读 · 0 评论 -
Linux: VM: hang 的一种情况无符号与有符号数据做比较
这里提到一个情况,会导致guest层VMhang住;算是不同类型数据的比较导致的一个问题。所以对于很多用户来说,如果存在这个问题,就只能及时找准一个提供商,尽快做升级。原创 2024-02-05 15:11:57 · 160 阅读 · 0 评论 -
Linux: hardware: HP: DIMM
这个错误的提示非常的明显了,就是DIMM-14有不能改正的错误,需要做RBSU里做re-map。原创 2024-01-23 21:07:47 · 173 阅读 · 0 评论 -
Linux: network: interface: down 的一个情况
但是从ip link 来看没有no-carrier的状态,但是这个link的状态却一直是down的状态。今天从同事那里学到一个例子,说网卡的ethtool状态是好的,link 的状态也是up的状态。这就非常的合理了,如果网卡的firmware是好的,硬件状态可以为正常。网卡对应的网卡驱动选择的版本不对应导致的down。而驱动版本不合适,就会导致上层的down的状态。原创 2024-01-23 20:56:59 · 316 阅读 · 0 评论 -
Linux: syscfg: network:inet_peer_threshold
如果抛开,“INET peer storage”这个标题,这个参数的解释第一句还以为是和内存相关的参数。虽然和内存是有关联!这里的storage只是INET peer可以存储多少个peer的storage。如果超过这个量,就会主动删除掉比较旧的记录。这个一般人应该用的非常少,因为个人电脑,很难说会达到这么多的peer量。inet_peer_threshold,默认值就是64K。原创 2024-01-01 15:34:15 · 537 阅读 · 0 评论 -
Linux: eBPF: bcc-tools:tcpdrop使用需要注意的问题
最近使用bcc-tools的时候注意到,bcc-tools(eBPF相关软件)的使用版本和内核的版本紧密程度非常高。修改为了tcp_drop_reason;在drop的同时带有drop的原因,方便debug问题。tcpdrop脚本的例子;tcp_drop函数被。原创 2023-12-27 14:48:33 · 1013 阅读 · 0 评论 -
Linux: network:NAT网络特有的问题之一
如果有很多的client使用一个NAT服务IP,可能出现链接的问题。因为每个client的时间不统一,这样导致TCP带有的timestamp在远端看起来有些滞后,滞后之后就会被认为是不安全的链接。表象是有些链接连接超时,断断续续的。解决方法就是在NAT的环境里,去掉timestamp的选项。原创 2023-12-22 14:54:03 · 348 阅读 · 0 评论 -
SIP:假如UE在TCP上发出的Register请求被对方回了RST,UE会做什么?
根据最后这个RFC-3263里的解释,是会根据RFC-2782的说明选取下一个服务器,继续尝试相同的请求。假如只配置了一个服务器,那只能重新尝试了。SIP:假如UE在TCP上发出的Register请求被对方回了TCP RST,UE会做什么?原创 2023-12-19 20:31:48 · 418 阅读 · 0 评论 -
Linux: sysctl: network: ip_no_pmtu_disc,容易搞混的参数名称
在这个特定的情境中,ip_no_pmtu_disc 参数的值为0表示启用路径 MTU 发现,而不是禁用。这种设定可能会引起一些混淆,因为通常我们期望一个布尔类型的参数,值为1表示启用,值为0表示禁用。在这里,0 表示启用路径 MTU 发现,可能与一些人的直觉相悖。这个参数的迷惑性在于双重否定,字面意思是关闭PMTU发现的功能。这种设定可能会使人感到困惑,特别是对于不熟悉该参数含义的人。通常,为了避免混淆,文档和配置界面应该提供清晰的说明,以确保用户能够正确理解参数的含义和所代表的状态。原创 2023-12-19 08:09:53 · 522 阅读 · 0 评论 -
Linux: network: tcpdump:通过分析应该抓到包了,却没找不到的另一个原因:-s
就这个对比问题的发生情况,我们有几个怀疑点,一个是就是人与人的不同,另一个是抓的地方不一样,经过缜密的分析,环境的问题不大,倒是人的差别不小。因为大家对于tcpdump的使用习惯非常的不同,现场由于对现场产品的操作的高要求,可能会考虑所抓包的大小问题,当然是期望在抓取文件比较小的时候,同时可以定位问题;而研发的这种潜意识要小一些,不是将磁盘空间的大小排在第一位,而是将调查问题的原因考虑在第一位。最近又遇到一个类似的问题,也是在tcpdump抓到的包里没有找到应该看到的包,搞得很迷惑。原创 2023-12-17 19:14:28 · 1007 阅读 · 0 评论 -
Linux:DNS:unbound;nscd
rrset-roundrobin: 如果设置为yes,Unbound会在回复时,旋转RRset的顺序。(为了速度与线程安全,随机数字是从查询ID里拿)。所以会造成回复里的记录,内容一致,但是顺序不确定的效果。要看配置文件种的forward zone是否正确。例如下面的示例就是一个错误的。在1.11.0 上有一个变化,是将rrset-roundrobin的参数设置成了yes;域名服务器的一个缓存机制。原创 2021-12-21 06:37:51 · 347 阅读 · 0 评论 -
Linux: sudo: unable to execute /opt/sbin/adm: No such file or directory
比如其他用户不应该有可执行权限,但是这个命令有,就不让执行。这个错误有可能的原因是,sudo的设置里权限配置不对。但是这个错误提示有点让人迷惑,可能也是故意的。原创 2023-12-07 08:19:50 · 649 阅读 · 0 评论 -
Linux: sysctl: rp_filter; 包到了内核,没有到socket,火星包martia
【代码】Linux: sysctl: rp_filter;包到了内核,没有到socket,火星包martia。原创 2023-10-25 14:41:52 · 180 阅读 · 0 评论 -
Linux:rsyslog、logrotate; logger
rsyslogd 相关原创 2021-06-17 13:04:02 · 304 阅读 · 0 评论 -
[晕事]今天做了件晕事22;寻找99-sysctl.conf; systemd
那问题是为什么要做99-sysctl.conf,难道是为了确保/etc/sysctl.conf文件里的内容一定是生效的!然后满世界的找这个文件怎么来的,后来发现是systemd里的一个文件。最后把这个rpm安装包下载下来,才找到这个文件原来是一个链接。从systemd的源文件里也没找到相关的文件信息。所以最好还是从意思里将ll作为列表文件的习惯命令;这个-l命令可以使用长格式列表,将链接列出来。这个文件,使用ls命令看不出来是一个链接。原创 2023-10-08 13:38:05 · 451 阅读 · 0 评论 -
Linux:initscripts;network-scripts
https://github.com/fedora-sysv/initscripts[root@10 ~]# rpm -qi initscripts-10.00.17-1.el8.x86_64Name : initscriptsVersion : 10.00.17Release : 1.el8Architecture: x86_64Install Date: Fri 15 Jul 2022 11:05:35 AM EDTGroup : Unspecifi原创 2021-11-02 13:36:04 · 1145 阅读 · 0 评论