<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>NX-OS on Leon Li · 李梁</title><link>https://notes.liliang.me/tags/nx-os/</link><description>Recent content in NX-OS on Leon Li · 李梁</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 09 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://notes.liliang.me/tags/nx-os/index.xml" rel="self" type="application/rss+xml"/><item><title>让 Nexus 3132Q-X 的风扇安静下来</title><link>https://notes.liliang.me/posts/2026-10-09-nexus-3132q-fan-runtime/</link><pubDate>Fri, 09 Oct 2026 00:00:00 +0000</pubDate><guid>https://notes.liliang.me/posts/2026-10-09-nexus-3132q-fan-runtime/</guid><description>&lt;p&gt;家里的 Cisco Nexus 3132Q-X 一直有个问题：风扇太吵。网络功能用得好好的，可放在家里，默认的最低转速还是有点难受。&lt;/p&gt;&#10;&lt;p&gt;这次和 Codex 一起沿着温控逻辑查下去，终于让它安静了下来。最低控制档从 50 改成 20，四个风扇模组、八个转子的实际转速都降了下来。第一次生效后，我去听了一下，明显安静了。&lt;/p&gt;&#10;&lt;h2 id="改的是运行中的数据"&gt;改的是运行中的数据&lt;/h2&gt;&#10;&lt;p&gt;测试设备是 Nexus 3132Q-X，NX-OS 版本为 &lt;code&gt;7.0(3)I7(9)&lt;/code&gt;，使用四个 NXA-FAN-30CFM 双转子风扇模组。&lt;/p&gt;&#10;&lt;p&gt;找到的办法是在运行中的 PFM 进程里修改风扇曲线数据，不改固件镜像、磁盘上的可执行文件，也不改机器指令。原来的最低档是 50，改成 20 后，高温时的 70、99 档，以及原有的温度阈值、滞回和升降档逻辑仍然保留。&lt;/p&gt;&#10;&lt;p&gt;这里的 20、50 是设备的控制值，不是线性的转速百分比。实际测到的变化是：&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;每个模组中的转子&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: right"&gt;原最低档 50&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: right"&gt;新最低档 20&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;fan1&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: right"&gt;约 6,500 RPM&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: right"&gt;约 2,300 RPM&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;fan2&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: right"&gt;约 4,800 RPM&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: right"&gt;约 1,700 RPM&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;一个有意思的细节是，只把内存里的“当前档位”写成 20，还不一定能让风扇真的慢下来。缓存状态如果让程序以为目标档位已经生效，就不会通知底层驱动。补丁需要让原有逻辑产生一次真实的降档通知，最后再检查八个转子的 RPM，而不是只看显示出来的档位。&lt;/p&gt;&#10;&lt;h2 id="用-scheduler-定期检查"&gt;用 Scheduler 定期检查&lt;/h2&gt;&#10;&lt;p&gt;运行时修改有一个特点：交换机重启，或者 PFM 进程重启，都会重新加载原来的数据，最低档回到 50。&lt;/p&gt;&#10;&lt;p&gt;因此，我用 NX-OS 自带的 Scheduler 每分钟检查一次。脚本核对固件和运行状态后，在条件允许时重新应用补丁；已经处于高温 70、99 档时，不会强行拉回 20。任务配置已经保存，脚本放在 bootflash 上，不过完整重启后的恢复流程还没有实测。&lt;/p&gt;&#10;&lt;p&gt;恢复也做了验证：先用持久禁用标记阻止 Scheduler 再次应用补丁，然后恢复原最低档 50，并确认实际 RPM 上升。重新启用后，风扇又能回到 20。&lt;/p&gt;</description></item></channel></rss>