
云平台运维
文章平均质量分 53
Linux周边及、vmware/openstack 相关云平台的问题总结
优惠券已抵扣
余额抵扣
还需支付
¥59.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
mzhan017
小张
展开
-
Linux: filesystem: fcntl
原因是:建议性锁:fcntl 设置的锁是建议性锁(advisory lock),而不是强制性锁(mandatory lock)。锁的范围:确保锁正确应用于文件的预期部分。在示例中,锁被设置为覆盖整个文件(l_start = 0 和 l_len = 0),这应该锁定整个文件。如果另一个进程使用不同的文件描述符打开文件,它也必须使用 fcntl 来检查锁,然后才能执行操作。锁的类型:确保锁的类型正确设置为写锁(F_WRLCK)。即使用下面的代码,将一个文件lock住,仍然不能控制器别的程序不能修改文件。原创 2025-04-29 07:42:28 · 8 阅读 · 0 评论 -
Linux:network:multicast 问题 VMware平台问题 又一例
VMware平台维护的同事说修改了一下配置,将IGMP的配置设置为默认值,并且将下面这个组播地址添加进来:Multicast range (224.1.1.0/24).后续的就没有问题再出现。看来VMware平台维护的人动了IGMP相关的配置。最近发现从其他VM过来的组播包,不时的有丢包的问题,从VM上抓包,源地址已经发了,就是在目的VM上抓不到。你要是问我具体是什么原因,我上回答不上来,因为没有再往下继续研究,因为访问不到底层的信息。这个时候就是没有别的办法了,就是VMware底层提供的虚拟网络有问题。原创 2025-04-23 09:11:13 · 250 阅读 · 0 评论 -
Linux: log:logrotate: diskspace full,rotate失败
如果磁盘空间不够用,logrotate就会失败,然后产生一个backup文件。logrotate有没有功能,可以不复制做压缩,或者将大文件删除掉?原创 2025-04-22 09:47:09 · 33 阅读 · 0 评论 -
Linux: security: openssh: ssh-agent: SSH_AGENT_PID;sigterm;systemd
在使用 systemd 时,可以通过配置服务单元文件来设置程序的返回值。通常,systemd 会将返回值非零视为错误,但可以通过 SuccessExitStatus 指令来指定哪些返回值应被视为成功。这样,systemd 就会将返回值 2 视为成功,而不会将其视为错误。exit返回的值是2;所以如果需要将ssh-agent设置为systemd的一个服务,需要对这个服务的返回值做特殊处理,怎么。可以根据环境变量kill之前的ssh-agent进程。之后,你可以重新启动或重新加载相关服务以应用新的配置。原创 2025-04-18 03:08:19 · 226 阅读 · 0 评论 -
Linux: command: timedatectl set-timezone, chrony, ntp
这个可以查看状态,比如下面的ntp链接有些问题。最终调用的是系统调用:adjtimex。是systemd提供的一个命令来查看时间相关的信息。原创 2025-04-18 03:05:23 · 153 阅读 · 0 评论 -
Linux:Vmware: 怎么dump vmcore
下面两个链接里有提供一些方法,来收取vmcore;原创 2025-04-16 03:24:24 · 158 阅读 · 0 评论 -
VMware: 创建isolated 网络遇到invalid gatewayIP
后来发现,这个gateway的IP,不能在后续的IP,range里面,也就是需要把这个gateway的IP从这个ip range里摘出去。这个错误,把人搞迷糊了,这个IP怎么能不对呢?这个subnet里的随便一个IP都可以当作gateway呀!最近创建一个isolated的内部网络,在添加页面保存的时候,提示gateway的IP非法。头一次看到这种逻辑!原创 2025-03-28 12:47:48 · 152 阅读 · 0 评论 -
K8S: kubectl logs --request-timeout
或者将运行的时间默认限制为5分钟,而不是无限长。所以这就是一个设计的问题。一开始做,肯定想不到有人忘记停掉这个命令,导致内存被吃光的情况。kubectl logs这个命令的一个风险是: 如果没有设置timeout,会将内存吃光吗!所以有时候会建议添加参数 --request-timeout。如果反过来想,为什么这种命令没有关于内存的限制。原创 2025-03-25 08:49:23 · 28 阅读 · 0 评论 -
Linux: rsyslog向远端发送log的时候源地址怎么选择
但是manual帮助文档写的不是很清楚,这里的target和address分别代表什么意思?target可能是远端的地址,那address的作用是什么呢?在rsyslog的配置文件里,不能指定源IP地址,只能依赖内核选择是用哪一个。rsyslog向远端发送log的时候源地址怎么选择?在tools/omfwd.c文件。其实和下面一篇有很大的关联。原创 2025-03-19 08:09:47 · 454 阅读 · 0 评论 -
Linux: /usr/bin/ssh: symbol lookup error:libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl
原因是为了某个程序的执行临时修改了环境变量:LD_LIBRARY_PATH,这样的话导致引用的so文件错乱。后续将LD_LIBRARY_PATH变量返回到原来的值,就好了。最近遇到一例这个错误,原创 2025-03-18 08:43:01 · 238 阅读 · 0 评论 -
Linux: WARNING: terminal is not fully functional
这个警告消息 “WARNING: terminal is not fully functional” 通常表示当前终端环境没有完全支持某些功能,可能是由于以下原因:终端类型不匹配:当前终端类型可能与系统预期的不匹配。设置正确的终端类型: 尝试设置 TERM 环境变量为一个常见的终端类型,例如 xterm 或 vt100。终端配置问题:终端配置可能有问题,例如终端的 TERM 环境变量设置不正确。通过这些方法,可以解决终端功能受限的问题,并确保终端能够正确显示和操作。-t 选项强制分配伪终端。原创 2025-03-17 10:44:48 · 112 阅读 · 0 评论 -
[晕事]今天做了件晕事69,shell 死循环执行
最近遇到一个问题,说某个脚本的运行占满了CPU,最初觉得不可能,后来使用strace命令看,这个脚本一直在不停的调用execve函数,执行sleep和另外一个命令。而且execve的返回值是E2BIG。最后查看脚本的内容是,这里虽然写了sleep十秒,但是因为E2BIG这个错误,导致sleep没有执行,而且返回的错误码不是0,所以导致死循环。原创 2025-03-12 14:29:52 · 136 阅读 · 0 评论 -
Linux: 实时进程的苦恼 sched_rt_runtime_us
The default value for sched_rt_runtime_us is 950000,保持这种默认的设置,预留出一部分给其他非高优先级任务一下时间,避免此类的问题。之前遇到过很多次实时进程带来的困扰,因为内核的进程的优先级都没有这些实时的进程优先级高,有些网络报问,程序的正常退出可能出现问题。所以带来的困扰肯定是不少。从Redhat提供的技术分析是建议。所以最好是保持这个默认值的设置。原创 2025-03-11 09:16:03 · 57 阅读 · 0 评论 -
[晕事]今天做了件晕事68,shell PATH 变长
最近遇到一个问题,就是PATH这个环境变量变的越来越长,最后导致了系统execve函数返回了E2BIG的错误。原因是在一个shell函数里,将PATH的值赋值为下面这个。然后这个函数被循环调用,导致PATH超长。这一次算是懂了shell里默认的环境变量的用法。原创 2025-03-11 08:29:55 · 155 阅读 · 0 评论 -
Openstack: network: leaf-switch 出现问题的业务恢复时间
如果是shutdown/reboot,主leaf-switch,业务受影响的时间比较短,也就是一两秒的时间。第二个情况,需要leaf-switch检查,然后上报给spine switch,再完成切换,步骤要多一些。前两天系统测试的同事做了两个测试,是在Computer node相连的leaf-switch上做的操作。第一个是spine switch检查到问题,直接切换到standby leaf-switch。和Computer node相连的leaf-switch是两个互为备份。原创 2025-02-28 09:30:02 · 308 阅读 · 0 评论 -
Linux: ssh: change timer not allow login forever
如果你的 Linux 版本使用 systemd,可以通过 logind.conf 限制 root 账户的最大登录时间。如果 root 通过 SSH 登录,可以限制 SSH 会话时间,避免 root 账户一直保持登录状态。systemd-logind 限制 root 会话 root 退出后自动清理会话。⏳ 效果:如果 root 5 分钟 没有活动,SSH 连接会自动断开。⏳ 效果:如果 root 账户 5 分钟 没有操作,终端会自动登出。效果:限制 root 不能长时间保持登录,也可以指定登录时间范围。原创 2025-02-25 08:53:49 · 58 阅读 · 0 评论 -
Linux: 检测工具: monit: cpu占用率高的一个问题 5.34.2
最近跑monit程序,看到CPU的使用率 变高,从top看,CPU的占用主要是system的占用比较的:79.1%。有很多nanosleep的调用,应该是走到了死循环。原创 2025-02-18 12:47:46 · 116 阅读 · 0 评论 -
Cloud: aws:network: limit 含有pps这种限制
在里面,竟然含有pps这种限制:ethtool -S;其实是比较苛刻的安全相关的策略?这个是调查网络问题的一个网页;原创 2025-02-14 22:16:16 · 244 阅读 · 0 评论 -
k8s:pod被kill,显示command terminated with exit code 137
9 (SIGKILL):表示 进程被强制终止(通常由 kill -9、OOM Killer 或 systemd 触发)。检查日志:dmesg -T | grep -i “killed” 查看是否是 OOM 导致的。128:Linux 规定,如果进程因信号终止,退出码就是 128 + 信号编号。如果是 OOM 问题,建议优化程序内存管理,或者增加可用资源!增加可用内存:释放或分配更多 RAM,或优化程序内存使用。ulimit -u unlimited # 取消进程限制。是使用tmp目录的大小超出了限制。原创 2025-02-10 11:09:50 · 508 阅读 · 0 评论 -
Openstack: controller: qrouter namespace
怎么找qrouter的namespace,在dashboard的网络界面,找到下面的界面,就可以找到设备ID。原创 2025-01-18 16:09:01 · 72 阅读 · 0 评论 -
[晕事]今天做了件晕事58,nerdctl -n/--namespace
因为需要看nerdctl cp的help,而不是 nerdctl的help。这样就可以理解参数,问题的原因了。这就纳闷了,查看nerdctl的帮助文档,看着 -n 是Alias of --namespace 呀。本来想用命令nerdctl copy一个文件到container里,执行出现错误。看着错误是没有找到这个container, 然后尝试加上namespace。一直没有明白为什么,直到尝试 --namespace,成功了。今天又做了一件晕事,debug了好长时间。原创 2024-12-26 15:32:38 · 481 阅读 · 0 评论 -
Linux: sysctl: network: forwarding;disable lro,这个花费还是比较大
这个sysctl-forwarding的修改不是小事,如果device的个数太多,花费的时间会比较多,可能导致一些问题,因为最终会调用dev_disable_lro->netdev_update_features。原创 2024-12-23 12:44:26 · 223 阅读 · 0 评论 -
Linux: docker: 怎么修改 proc下的文件内容?
在容器中修改 /proc/sys/kernel/perf_event_paranoid 文件,遇到 “Read-only file system” 错误,是因为容器通常默认对系统关键文件的访问是只读的,目的是保证宿主机的安全性。修改 /proc/sys/kernel/perf_event_paranoid 可能影响系统的安全性,尤其在多用户环境下需谨慎。容器中的 /proc/sys/kernel/perf_event_paranoid 文件实际上是宿主机的 /proc 文件系统的一部分。原创 2024-12-06 04:10:36 · 624 阅读 · 0 评论 -
Linux: hardware: 获取序列号;Mellanox
如果查看到的网卡序列号是IL 开头,这个代表是OEM厂商买的英伟达的芯片,重新组装的,可能会修改firmware的配置信息。这个时候如果找support,需要先找OEM厂商,然后如果OEM厂商解决不了,他们会联系英伟达对应OEM接口的支持。下面是一个Mellanox的虚拟网卡,获取到的serial就是虚拟网卡的MAC地址。怎么获取硬件的序列号,是可以使用lshw这个工具来获取,和直接买英伟达的网卡设备的支持还不是一条路。原创 2024-12-05 07:36:15 · 147 阅读 · 0 评论 -
Linux:network:ethtool:“Could not change any device features” “requested on”
后来找到了原因是因为这个网卡上的另一个功能被打开了:ethtool -k rx-fcs on。如果关掉这个rx-fcs功能,就OK了。也就是说这两个功能不能同时存在。“requested on”,表示已经做了请求“on",但是还没有实际产生作用。还真是第一次遇到这种提示。那为什么会出现这种情况呢?原创 2024-11-28 03:19:57 · 427 阅读 · 0 评论 -
Linux:init:initscripts: network/ifup 解析
ifup脚本里,下面这个语句是获取所有base的网络接口配置文件。最后alias脚本里的下面的代码遍历文件。原创 2024-11-27 15:25:44 · 389 阅读 · 0 评论 -
[晕事]今天做了件晕事54 .bashrc的目录
后来想到了,kexec进入pod的时候使用的是root用户,而root用的工作目录是/root,应该将.bashrc的文件放到/root目录,而不是/目录。今天办了一个晕事,将.bashrc的文件放到了pod里的根目录之后,然后使用kexec进入pod之后,发现没有自动执行。真的是晕了,没有想到为什么。原创 2024-11-26 10:52:09 · 28 阅读 · 0 评论 -
[晕事]今天做了件晕事52 systemd systemctl enable **.service
今天做了一件晕事,在创建了一个one-shot的systemd服务之后,尝试reboot机器,但是服务没有运行。后来查了一下是因为没有执行systemctl enable **.service。还以为是服务文件的设置有问题,修改了一下访问权限。reboot机器依然没有生效。这就是systemd的使用不太熟练的后果。原创 2024-11-25 15:02:42 · 196 阅读 · 0 评论 -
Linux: 协议:snmp:总结
http://www.snmp.com/The Simple Network Management Protocol (SNMP) is the standard operations and maintenance protocol for the Internet. SNMP-based management not only produces management solutions for systems, applications, complex devices, and environmen原创 2021-07-23 11:36:06 · 228 阅读 · 0 评论 -
[Linux]find
find . -type f -newer uninstall.cmake //// 这个可以用来找当前目录下比这个uninstall.cmake 更新的文件/这个文件可以作为一个参考点。find ./ -type f -mtime -1 -print /// -1 这里是1天内做修改的文件。-atime n 和mtime 的含义一样。原创 2020-09-27 11:07:37 · 244 阅读 · 0 评论 -
Linux: errno: 7 E2BIG +Argument list too long;execve;bash
这里提到了“Argument list too long”,对应的errno是7 E2BIG。可以尝试使用strace查看传递进去的参数列表到底有没有超出限制。下一步就是要看为什么内核返回E2BIG的错误。这里的 39 vars 代表有39个环境变量带进来。原创 2024-11-13 05:55:03 · 220 阅读 · 0 评论 -
Linux: network: add ip6-gre ENODEV
这个意思就是通过名称找网络接口没找到,添加ip6-gre的时候需要找的虚拟接口是:ip6gre0。所以找不到的原因是内核模块没有加载进来:modprobe ip6_gre。比如,在container的环境下,host级别需要先load内核模块。那如果问,什么原因导致没有load进来,就需要具体问题具体分析了。今天遇到一个添加gre失败的case,错误码是ENODEV。调用ioctl的时候必须设置的一个参数。原创 2024-11-12 07:55:46 · 49 阅读 · 0 评论 -
Linux: network: ip link M-DOWN的具体含义是什么?
是指上一级的接口的状态。原创 2024-11-06 13:02:22 · 394 阅读 · 0 评论 -
Linux: network: 环境:网络burst的一个原因,虚拟机感染病毒导致,外部网络设备太忙
这次的原因是网络里有几台Windows的虚拟机,是感染了病毒,会发出大量的网络包,导致对接的网络设备忙不过来,然后导致在这个网络设备上的其他业务受影响。关掉这几个Windows的虚拟机,网络状况就恢复了。总是不能满足需要的时长,总是在一段时间内出现丢包,业务出现错误的现象。从tshark/tcpdump的抓包看,确实在某个时间段,有一次十几秒网络波动。最近碰到一个问题,测试人员在测试一周内的产品稳定性,带有的业务非常大。但是外部抓包非常的困难。这也是一个问题的分析思路,记录在这里。原创 2024-11-05 07:43:08 · 620 阅读 · 0 评论 -
Linux: disk: pdflush in tight loop
设置系统参数时,vm.dirty_ratio、vm.dirty_writeback_centisecs 和 vm.dirty_expire_centisecs 这三个参数在文件操作密集型的业务中起着重要作用。此时,CPU 需要处理大量的磁盘写操作,同时也会触发内核的 I/O 调度,增加 CPU 的负载。适当降低 vm.dirty_ratio:对于文件操作频繁的业务,可以将 vm.dirty_ratio 调整到 10-20% 左右,以减少内存中积累的脏页数量,减轻集中写回时的 CPU 压力。原创 2024-10-28 09:33:51 · 116 阅读 · 0 评论 -
[晕事]今天做了件晕事48 rm -rf
但是手欠多加了一个根目录符,写成了 rm -rf /lib64。本来是想在/tmp/下执行,rm -rf lib64 目录。这一下就完了,重要的系统库文件就没了,需要重装机器了。在/tmp/目录下有i一个目录 lib64。今天碰到了一件晕事,原创 2024-10-24 17:05:09 · 52 阅读 · 0 评论 -
Linux: network: ifconfig已经过时,建议使用ip addr相关命令
最近有一个同事在问网络的问题,在debug的过程中还在使用ifconfig命令查看IP的相关信息。但是这个ifconfig已经不推荐使用了,最好使用ip 相关的命令做操作。有些信息使用ifconfig显示不出来。原创 2024-10-24 16:58:06 · 447 阅读 · 0 评论 -
Linux: start: systemd-analyze plot 显示不准确
但是图里显示是network.service在前面执行。但实际根据依赖关系是a.service 在network.service前面执行。所以需要注意这个问题。今天遇到一例,在svg的图里显示的两个有依赖关系的服务的启动顺序和实际的情况不一致。设置的服务a.service里的Unit选项 before,原创 2024-10-14 22:01:03 · 361 阅读 · 0 评论 -
RHEL: rpm2cpio: signature hdr data: BAD, no. of bytes(19987) out of range
如果出现这个错误,建议是升级rpm试试。原创 2024-10-14 10:02:21 · 240 阅读 · 0 评论 -
Linux: debug: perf: report: --sort
接上回:https://mzhan017.blog.csdn.net/article/details/142689870。这里介绍perf的这个参数,还是非常的有用,尤其是分析对整个系统做perf record的数据,而不是单个进程做perf record。原创 2024-10-09 08:03:25 · 446 阅读 · 0 评论