云平台运维
文章平均质量分 55
Linux周边及、vmware/openstack 相关云平台的问题总结
优惠券已抵扣
余额抵扣
还需支付
¥49.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
mzhan017
小张
展开
-
Linux: 忘记密码的解决方法,passwd
这里的方法很简单,就是通过console进去,添加一个启动参数,加载sysroot,然后用passwd命令修改密码。这个是提供的一个通用性的方法,但是需要注册用户才能查看里面的内容。包含RHEL4/5/6/7/8/9所有版本。原创 2024-08-20 16:49:47 · 495 阅读 · 0 评论 -
Linux: ltrace: 库函数调用跟踪工具
ltrace 是一个 Linux 上的调试工具,用于跟踪程序执行期间调用的库函数(例如,libc 中的函数)以及它们的参数和返回值。与 strace 不同,strace 主要跟踪系统调用,而 ltrace 关注的是用户态下的库函数调用。参数提取:根据被跟踪进程的调用约定(不同的处理器架构可能有不同的约定),ltrace 会读取特定寄存器或堆栈位置的内容来获取函数参数。返回值提取:类似地,当函数执行完成返回时,ltrace 会再次捕获进程,读取返回值所在的寄存器。解析符号表以查找函数名和它们对应的地址。原创 2024-08-13 07:10:46 · 70 阅读 · 0 评论 -
glibc: getaddrinfo: AAAA 和A的顺序关系
gethostbyname3_context 这里的使用是如果设置的inet6,就优先做AAAA的query,如果失败,而且res_use_inet6设置了,就会尝试ip4的Aquery。但是有赖于/etc/resolv.conf options: inet6 的设置。默认,如果设置的hint是AF_UNSPEC,而且没有额外的noaaaa的设置的时候,会ip4和ip6同时retrieve。如果设置为AF_INET6,就只会发 AAAA的query。原创 2024-08-11 17:15:12 · 172 阅读 · 0 评论 -
Linux: network: dsn resolv.conf
这里第一行的意思是,如果dns query失败,会尝试,在原有域名的基础上添加上后续的几个继续做dns query。先用AAAA,来一轮,然后再用A。如果dns query超时(5秒),会继续下一个。这个option,可以让dns query 不做ip6的查询。dns服务器的地址是192.168.101.22.原创 2024-08-11 09:55:46 · 60 阅读 · 0 评论 -
Linux: security: ip6tables host/network not found
出现的情况是是呀ip6tables的命令添加 source地址是ip4的时候就会出现错误。这种不是什么大问题,用对了就好了。第一次看到这种错误;原创 2024-08-09 07:02:43 · 59 阅读 · 0 评论 -
Linux: unzip: `deflate64‘ method not supported
在windows使用zip压缩的文件,放到Linix使用unzip的时候出现这个错误。应该属于编码格式的不一致。还是第一次看到这种错误。原创 2024-07-16 20:39:34 · 98 阅读 · 0 评论 -
Linux: ln:差点酿成一个事故 不要轻易动文件libpcre2-8.so.0.7.1
没想到这个库的使用这么普遍,ls/cp/mv等基础的命令都用到了这个库:但是最终把pcre2引进来的不是coreutils,而是libselinux.so 这个文件。稍微移动usr/lib64/目录下的这个文件,就可能导致cp/ls 执行不了,而且外围想要通过ssh登陆机器也会出现错误。所以办了坏事之后,千万不要着急退出当前的窗口,因为这个窗口是目前可操作的窗口。假如 mv libpcre2-8.so.0.7.1 libpcre2-8.so.0.7.1.bak。原创 2023-12-13 01:17:18 · 1053 阅读 · 0 评论 -
Linux: signal: SIGINT ctrl+c
在shell里使用ctrl+c的时候,是发送了一个信号:SIGINT interrupt。原创 2024-07-09 12:57:12 · 68 阅读 · 0 评论 -
Linux: command: ibstat; infiniband;devlink;roce;mellanox
【代码】Linux: command: ibstat;infiniband;devlink;roce;mellanox。原创 2023-05-05 05:30:52 · 758 阅读 · 1 评论 -
Linux: network: openvswitch: disk 访问速度导致不稳定
在这个目录会存放pidfiles和sockets的信息。所以如果这个目录设置的磁盘访问有问题,可能导致openvswitch运行不稳定。在文件utilities/ov-ctl.in 文件中有提到一个目录:OVS_RUNDIR。原创 2024-07-04 05:03:02 · 120 阅读 · 0 评论 -
Linux: security: openssh: ssh 登陆变慢又一例;strace的使用
确实抓到了慢的原因;这里sshd向169.254.195.0:1812 发送了一个消息,然后接下来使用select,等待socket上的事件。这种问题的分析,首先要靠strace,trace sshd的服务进程,看看有没有卡在某个系统调用上。最终发现对方的服务没起来,端口也没有监听导致这个慢。问题解决方法就是把对方拉起来。所以问题的解决需要知道为什么sshd会像这个地址发送消息。今天遇到一个问题,ssh登陆服务器比平时慢了20秒。原创 2024-07-02 22:07:12 · 231 阅读 · 0 评论 -
[晕事]今天做了件晕事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 · 111 阅读 · 0 评论 -
Linux: grub: pager: 启动串口打印分页
如果设置为1,就会出现日志分页,然后系统的启动过程就pause住了。如果设置为0,就不会分页,直接往下走。最近调试一个Linux系统启动慢的问题,我们想着是这个grub的原因,同事使用下面的配置。结果发现,当日志打印满屏幕的时候,启动就会停住(Pause)。一直没有想到是什么原因。后来跟着Redhat的支持学到了下面这个配置,是这个设置导致的pause。这个默认设置为1的原因在下面的链接里。原创 2024-06-14 19:30:50 · 67 阅读 · 0 评论 -
[吐槽] libvirtd debug日志的打印
下面这个日志只打印了状态变量的指针信息,没有打印实际的值。这个指针没有什么用,最好是打印里面的state值。大家有兴趣可以参与其中。原创 2024-06-06 10:18:51 · 54 阅读 · 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 · 248 阅读 · 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 · 73 阅读 · 0 评论 -
ovs-vsctl错误:Port does not contain a column whoes name matches “--id“
错误是,在snooper0\,这里反斜杠之前少了空格。给大家10秒钟,看是否可疑猜到错误!原创 2024-05-30 19:40:59 · 47 阅读 · 0 评论 -
Linux: tools: perf: address 的map,不要把symbol显示的地址串当成真的地址
这里的Symbol列现实的地址是减了一个__executable_start的偏移量。所以不要把symbol显示的地址串当成真的地址。去做addr2line的反编译源代码地址。原创 2024-05-28 13:40:11 · 48 阅读 · 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 · 112 阅读 · 0 评论 -
Linux: 高CPU使用率的一种情况:内存不够用
这台机器上安装了一个jenkins服务,而且还有其他的一些在跑的程序,8G的内存肯定是不够用,导致内存资源紧张,导致kswapd不停的在干活。有一台jenkins服务器,在安装完成之后,一开始ssh访问还可以,后续再访问,就出现严重的变慢现象。从列表里看,kswapd0占用的最多,达到了47.5%。而且可以看到free的内存已经非常少。从下面的的top命令,可以看到,CPU的使用率几乎全被system使用,而idle的就是0。原创 2024-05-09 13:25:04 · 167 阅读 · 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 · 104 阅读 · 0 评论 -
Linux: signal: 怎么知道是谁kill了当前进程
如果不能使用strace,就需要在程序里注册一个信号处理的函数,来读取这个siginfo_t 结构体里的信息。里面的si_pid信息就是发送SIGTERM的进程/线程的pid。原创 2024-04-24 20:14:09 · 234 阅读 · 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 · 218 阅读 · 0 评论 -
Linux: 检测工具: monit: cpu占用率的一个例子
最近看到monit使用的CPU有时候会突然的增加,通过perf查看,可以看到是下面这个函数调用占用的比较高。这个功能缺少一个总开关,如果不需要,其实没有必要运行这个功能,徒增CPU的使用。原创 2024-03-25 15:14:54 · 196 阅读 · 0 评论 -
[云] vmware: host: net: Net.CoaleseDefaultOn
选择使用的host -> 右键setting->configure-> system->advanced system setting->edit->Net.CoaleseDefaultOn。原创 2024-03-21 14:18:04 · 146 阅读 · 0 评论 -
Linux: network: firewall: firewalld 导致icmp带admin prohibited
最近遇到一个主机主动回icmp,destination unreachable的错误包,而且里面的code是 administratively prohibited。使用netstat命令看,这个主机是有监听1026端口。说明是有管理员配置的iptables的rule给拒绝了这个包。原创 2024-03-20 03:37:00 · 340 阅读 · 0 评论 -
Linux: boot: latency启动延迟分析;delay
无意看到这个启动延迟分析,虽然现在还没遇到类似的问题,但是可以放在这里。看着有很多的工具可以用。其实systemd也提供了一个工具,来查看systemd服务启动的一个时间分析。原创 2024-03-17 15:58:08 · 207 阅读 · 0 评论 -
[程序员] 网络延迟的一个主要分析点:怎么确定CPU是否在卖力的干活?
比如VMware设置的CPU策略,可能影响Guest层CPU的运行,如果主机上的CPU资源紧张,可能分配给Guest的CPU就不够用,这个时候需要看什么呢?这些资料里面,或者进一步的引用链接里,就是在提一个事情:延迟的产生很大程度上是由于CPU没有卖力工作,导致包的处理不及时,也就是会有延迟。就看客户的具体需求是什么。所以这种性能的问题的一个总结是:对于一个成型的产品,所做的性能测试,可能不只是要保证所声明的业务量,进行性能测试;有没有在内核层面的其他参数,也在控制着CPU的使用率和延迟的参数?原创 2024-03-17 10:02:22 · 379 阅读 · 0 评论 -
Linux: system call: reboot,无日志信息打印
导致没有日志输出,根本看不出来是谁做的reboot。说在应用程序里直接调用glibc库函数reboot。这个reboot的过程和直接从命令行的reboot。如果想调查是谁调用了reboot,应该怎么做?而这个库函数调用的是内核提供的系统调用。这个reboot更直接,更迅速。原创 2024-03-16 05:10:26 · 97 阅读 · 0 评论 -
Linux: cloud: network: tap tx 丢包一例,vCPU的运行受到主机CPU的占用影响
这个里面有一个丢包的例子是说,如果tx-queue的大小不够大,而切在云平台下,虚拟机的运行受到主机CPU使用的影响,导致tx-queue处理不及时,导致queue满,而出现丢包的情况。原创 2024-03-10 10:32:30 · 176 阅读 · 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 · 342 阅读 · 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 · 137 阅读 · 0 评论 -
[程序员] sipp运行时socket接收队列持续满载 - 文件系统访问慢
不过后来,同事有提到,这个服务器启动的sipp所用的脚本文件,以及日志打印文件所属的目录,是mount的一个网络磁盘;这个信息就非常的关键;今天谈一下,最近和同事一块看到的一个例子,说sipp运行时的某一时刻之后,总是会有408/487/retrans,通过netstat看,还总是会出现接收队列满载的情况。如果是正向的测试,其实应该是按照之前的一个总结来做,这样会避免倒着追查问题的可能:[测试]性能测试之前的工作。具体的问题解决的思路:一开始想到的可能是系统的CPU使用率是不是太高,导致的问题。原创 2024-02-24 07:07:16 · 320 阅读 · 0 评论 -
[晕事]今天做了件晕事28;dmesg
可能是因为看/var/log/kern.log看的习惯了,当遇到一个机器上没有这个log的时候,想不起来该看什么日志了。一时竟然没有想起来使用dmesg命令,来查看内核日志。也可以使用journalctl的命令来看相关的systemd的日志。其实可以查看dmesg命令的输出,来看内核的日志。今天遇到了自己办的另一件晕事。原创 2024-02-22 22:09:16 · 85 阅读 · 0 评论 -
[云] vmware/Linux: latency的设置;coalescingScheme
如果虚拟机上的业务,需要敏感的网络延迟,就需要设置这个参数来做调整。需要对自己产品已经vmware的设置相当的熟悉,才能知道要不要设置这个参数。如果不熟悉,可能要等到产品上线之后,才知道要改。原创 2024-02-21 20:59:44 · 212 阅读 · 0 评论 -
Linux: module: code section 加载进来的module代码段是只读的;内核不停的crash
这样就可以严重怀疑是内核或者硬件问题,但是具体是什么问题,就必须有深厚的内核与硬件知识。如果没有,最好的方式是升级,内核与硬件。但是在现实生活种,就是有这么奇怪的结果。有一次遇到这个代码段被非法改了。原创 2024-02-07 06:42:43 · 122 阅读 · 0 评论 -
Linux: VM: hang 的一种情况无符号与有符号数据做比较
这里提到一个情况,会导致guest层VMhang住;算是不同类型数据的比较导致的一个问题。所以对于很多用户来说,如果存在这个问题,就只能及时找准一个提供商,尽快做升级。原创 2024-02-05 15:11:57 · 178 阅读 · 0 评论 -
Linux: hardware: HP: DIMM
这个错误的提示非常的明显了,就是DIMM-14有不能改正的错误,需要做RBSU里做re-map。原创 2024-01-23 21:07:47 · 223 阅读 · 0 评论 -
Linux: network: interface: down 的一个情况
但是从ip link 来看没有no-carrier的状态,但是这个link的状态却一直是down的状态。今天从同事那里学到一个例子,说网卡的ethtool状态是好的,link 的状态也是up的状态。这就非常的合理了,如果网卡的firmware是好的,硬件状态可以为正常。网卡对应的网卡驱动选择的版本不对应导致的down。而驱动版本不合适,就会导致上层的down的状态。原创 2024-01-23 20:56:59 · 385 阅读 · 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 · 549 阅读 · 0 评论