<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>http://localhost:4000/</id>
  <link href="http://localhost:4000/" rel="alternate"/>
  <link href="http://localhost:4000/atom.xml" rel="self"/>
  <subtitle>系统理解服务器硬件</subtitle>
  <title>洞见数据 · 方舟</title>
  <updated>2026-06-15T02:37:52.335Z</updated>
  <entry>
    <category term="90-番外" scheme="http://localhost:4000/categories/90-%E7%95%AA%E5%A4%96/"/>
    <category term="工具链" scheme="http://localhost:4000/tags/%E5%B7%A5%E5%85%B7%E9%93%BE/"/>
    <category term="OpenClaw" scheme="http://localhost:4000/tags/OpenClaw/"/>
    <category term="Windows" scheme="http://localhost:4000/tags/Windows/"/>
    <category term="Office" scheme="http://localhost:4000/tags/Office/"/>
    <content>
      <![CDATA[<p>上一篇在 macOS 上搭了 Claude Code，这篇是 Windows 侧的同类折腾：在本机（非 WSL）原生部署 OpenClaw，手动配置自定义模型与 API Key，并装上 Office（Word&#x2F;PPT）处理技能。全程在 PowerShell 里完成，本机和新机都能照搬。</p><!-- more --><blockquote><p>适用场景：在 Windows 本机（非 WSL）部署 OpenClaw，手动配置自定义模型与 API Key，并安装 Office（Word&#x2F;PPT）处理技能。</p></blockquote><h2 id="一、前置确认"><a href="#一、前置确认" class="headerlink" title="一、前置确认"></a>一、前置确认</h2><p>打开 PowerShell（Win+X → Windows PowerShell），允许本地脚本执行：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs powershell"><span class="hljs-built_in">Set-ExecutionPolicy</span> <span class="hljs-literal">-ExecutionPolicy</span> RemoteSigned <span class="hljs-literal">-Scope</span> CurrentUser<br></code></pre></td></tr></table></figure><p>Node.js 不需要提前安装，安装脚本自动处理（依次尝试 winget → Chocolatey → Scoop → portable zip 兜底）。</p><h2 id="二、一键安装-OpenClaw"><a href="#二、一键安装-OpenClaw" class="headerlink" title="二、一键安装 OpenClaw"></a>二、一键安装 OpenClaw</h2><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs powershell"><span class="hljs-built_in">iwr</span> <span class="hljs-literal">-useb</span> https://openclaw.ai/install.ps1 | <span class="hljs-built_in">iex</span><br></code></pre></td></tr></table></figure><p>脚本自动完成：检测环境 → 安装 Node.js 24 → 全局 npm 安装 openclaw → 添加 PATH。</p><p>安装完成后<strong>重新开一个 PowerShell 窗口</strong>，验证：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs powershell">openclaw <span class="hljs-literal">--version</span><br>openclaw doctor<br></code></pre></td></tr></table></figure><blockquote><p><strong>PATH 问题排查</strong>：如果提示 <code>openclaw is not recognized</code>，运行 <code>npm config get prefix</code>，把输出路径加入用户环境变量 PATH，重开终端即可。</p></blockquote><h2 id="三、初始化-Gateway"><a href="#三、初始化-Gateway" class="headerlink" title="三、初始化 Gateway"></a>三、初始化 Gateway</h2><p>跳过交互式 onboard，直接初始化：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs powershell">openclaw onboard <span class="hljs-literal">--non-interactive</span> <span class="hljs-literal">--skip-health</span><br></code></pre></td></tr></table></figure><p>安装 Gateway 服务（随 Windows 登录自启）：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs powershell">openclaw gateway install<br>openclaw gateway status <span class="hljs-literal">--json</span><br></code></pre></td></tr></table></figure><blockquote><p>如果 Scheduled Task 因权限被拒，脚本自动 fallback 到用户 Startup 文件夹，功能相同。</p></blockquote><p>当前会话手动启动 Gateway：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs powershell">openclaw gateway run<br></code></pre></td></tr></table></figure><h2 id="四、配置自定义模型与-API-Key"><a href="#四、配置自定义模型与-API-Key" class="headerlink" title="四、配置自定义模型与 API Key"></a>四、配置自定义模型与 API Key</h2><p>配置文件路径：<code>%USERPROFILE%\.openclaw\openclaw.json</code></p><p>用记事本 &#x2F; VS Code 打开，填入 provider 信息：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br></pre></td><td class="code"><pre><code class="hljs json5">// ~/.openclaw/openclaw.json<br>&#123;<br>  // API Key 存入环境变量（不要明文写死）<br>  env: &#123;<br>    CUSTOM_API_KEY: &quot;sk-your-key-here&quot;<br>  &#125;,<br><br>  // OpenAI 兼容接口（适用于 Azure、阿里云百炼、火山方舟等）<br>  providers: &#123;<br>    &quot;my-provider&quot;: &#123;<br>      kind: &quot;openai-compatible&quot;,<br>      baseUrl: &quot;https://your-api-endpoint/v1&quot;,<br>      apiKey: &#123; env: &quot;CUSTOM_API_KEY&quot; &#125;<br>    &#125;<br>  &#125;,<br><br>  agents: &#123;<br>    defaults: &#123;<br>      workspace: &quot;~/.openclaw/workspace&quot;,<br>      model: &#123;<br>        // 格式：provider-id/model-name<br>        primary: &quot;my-provider/your-model-name&quot;<br>      &#125;<br>    &#125;<br>  &#125;<br>&#125;<br></code></pre></td></tr></table></figure><p>如果使用 Anthropic 原生 API Key，更简单：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs json5">&#123;<br>  env: &#123; ANTHROPIC_API_KEY: &quot;sk-ant-your-key&quot; &#125;,<br>  agents: &#123;<br>    defaults: &#123;<br>      model: &#123; primary: &quot;anthropic/claude-sonnet-4-6&quot; &#125;<br>    &#125;<br>  &#125;<br>&#125;<br></code></pre></td></tr></table></figure><p>保存后 Gateway 自动热重载，无需重启。</p><p>连通性验证：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs powershell">openclaw agent <span class="hljs-literal">--local</span> <span class="hljs-literal">--agent</span> main <span class="hljs-literal">-m</span> <span class="hljs-string">&quot;Reply with: CONFIG-OK&quot;</span><br></code></pre></td></tr></table></figure><h2 id="五、安装-Office-技能（Word-PPT）"><a href="#五、安装-Office-技能（Word-PPT）" class="headerlink" title="五、安装 Office 技能（Word &#x2F; PPT）"></a>五、安装 Office 技能（Word &#x2F; PPT）</h2><p>根据使用场景选择对应技能，搜索命令：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs powershell">openclaw skills search <span class="hljs-string">&quot;office&quot;</span><br>openclaw skills search <span class="hljs-string">&quot;word&quot;</span><br></code></pre></td></tr></table></figure><h3 id="方案-A：纯文件操作（跨平台，推荐）"><a href="#方案-A：纯文件操作（跨平台，推荐）" class="headerlink" title="方案 A：纯文件操作（跨平台，推荐）"></a>方案 A：纯文件操作（跨平台，推荐）</h3><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs powershell"><span class="hljs-comment"># Word / DOCX</span><br>openclaw skills install word<span class="hljs-literal">-docx</span><br><br><span class="hljs-comment"># DOCX + PPTX 同时支持</span><br>openclaw skills install office<span class="hljs-literal">-document-editor</span><br></code></pre></td></tr></table></figure><p>能力：创建、读取、编辑 .docx &#x2F; .pptx 文件，支持样式、表格、段落、修订追踪、格式保留、Git 版本集成。</p><h3 id="方案-B：COM-自动化（需本机安装-Office-WPS）"><a href="#方案-B：COM-自动化（需本机安装-Office-WPS）" class="headerlink" title="方案 B：COM 自动化（需本机安装 Office&#x2F;WPS）"></a>方案 B：COM 自动化（需本机安装 Office&#x2F;WPS）</h3><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs powershell">openclaw skills install tiangong<span class="hljs-literal">-wps-word-automation</span><br></code></pre></td></tr></table></figure><p>能力：通过 Windows COM 接口控制 Word&#x2F;WPS 程序——读取内容、替换文本、插入标题&#x2F;页眉页脚、分页、合并文档、导出 PDF&#x2F;TXT、替换图片。</p><blockquote><p>⚠️ 仅适用于已安装 Microsoft Office 或 WPS 的 Windows 机器。</p></blockquote><p>验证技能安装：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs powershell">openclaw skills list<br></code></pre></td></tr></table></figure><h2 id="六、全流程验证"><a href="#六、全流程验证" class="headerlink" title="六、全流程验证"></a>六、全流程验证</h2><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs powershell"><span class="hljs-comment"># Gateway 状态</span><br>openclaw gateway status<br><br><span class="hljs-comment"># 打开 Web 控制台（浏览器）</span><br><span class="hljs-comment"># http://127.0.0.1:18789</span><br><br><span class="hljs-comment"># 快速对话测试</span><br>openclaw agent <span class="hljs-literal">--local</span> <span class="hljs-literal">--agent</span> main <span class="hljs-literal">-m</span> <span class="hljs-string">&quot;你好&quot;</span><br><br><span class="hljs-comment"># 综合诊断</span><br>openclaw doctor<br></code></pre></td></tr></table></figure><h2 id="七、常见问题速查"><a href="#七、常见问题速查" class="headerlink" title="七、常见问题速查"></a>七、常见问题速查</h2><table><thead><tr><th>现象</th><th>解决方法</th></tr></thead><tbody><tr><td><code>openclaw is not recognized</code></td><td><code>npm config get prefix</code> 输出路径加入用户 PATH，重开终端</td></tr><tr><td><code>spawn git ENOENT</code></td><td>重跑安装脚本自动 bootstrap MinGit，或手动安装 Git for Windows</td></tr><tr><td>Gateway 启动失败</td><td><code>openclaw gateway run</code> 看报错；或 <code>openclaw doctor --fix</code></td></tr><tr><td>模型调用 401</td><td>检查 openclaw.json 中 env key 名称与 apiKey.env 字段是否一致</td></tr><tr><td>COM 技能找不到 Word</td><td>确认本机已安装 Microsoft Office 或 WPS，版本支持 COM 接口</td></tr><tr><td>安装后 PATH 未生效</td><td>关闭所有 PowerShell 窗口后重开，或注销重登 Windows</td></tr></tbody></table>]]>
    </content>
    <id>http://localhost:4000/posts/c1aw0926/</id>
    <link href="http://localhost:4000/posts/c1aw0926/"/>
    <published>2026-06-09T12:00:00.000Z</published>
    <summary>接着上一篇 macOS 的折腾笔记，这次换到 Windows。在本机（非 WSL）原生部署 OpenClaw，手动接上自定义模型和 API Key，再装好 Word/PPT 处理技能。全程 PowerShell，一次跑通。</summary>
    <title>番外篇 —— Windows 原生部署 OpenClaw 与 Office 技能</title>
    <updated>2026-06-15T02:37:52.335Z</updated>
  </entry>
  <entry>
    <category term="01-服务器通用" scheme="http://localhost:4000/categories/01-%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%80%9A%E7%94%A8/"/>
    <category term="鲲鹏" scheme="http://localhost:4000/tags/%E9%B2%B2%E9%B9%8F/"/>
    <category term="ARM" scheme="http://localhost:4000/tags/ARM/"/>
    <category term="机房实战" scheme="http://localhost:4000/tags/%E6%9C%BA%E6%88%BF%E5%AE%9E%E6%88%98/"/>
    <category term="带新人" scheme="http://localhost:4000/tags/%E5%B8%A6%E6%96%B0%E4%BA%BA/"/>
    <content>
      <![CDATA[<p>明天带新人下机房，对象是一台<strong>鲲鹏 920 的 2U 通用计算服务器</strong>。这篇是下机房前的备课笔记：核心目标是<strong>给新人把”一台服务器由什么组成、每个部件干什么、为什么这么设计”讲清楚</strong>，而不是背参数。</p><p>第二章讲过 ARM 服务器 CPU，第六章讲过鲲鹏在国产芯片里的位置——明天这台机器，就是把那些 PPT 上的名词变成手能摸到的铁的机会。</p><!-- more --><blockquote><p><strong>本文使用约定</strong></p><ul><li>🎤 &#x3D; 建议停下来给新人手把手讲的知识点</li><li>📷 &#x3D; 建议拍照存档的点（实机照片我现场补，先留位）</li><li><code>&gt; TODO</code> &#x3D; 这台实机的具体配置，明天对着铭牌&#x2F;BMC 核对后回填</li><li><strong>资料权限：互联网公开</strong> &#x3D; 该段技术参数引自《KunLun 2280 V2 服务器技术白皮书》（河南昆仑技术有限公司，文档版本 07，2026-03-04），属公开资料，可对外讲解。</li></ul></blockquote><blockquote><p>⚠️ <strong>型号确认</strong>：本文技术细节以 KunLun 2280 V2 白皮书为准。明天先看实机铭牌确认型号；若铭牌为其他贴牌名（如 S920X20），以<strong>实物为准、白皮书作参考</strong>——它们是同一鲲鹏 920 平台。</p></blockquote><hr><h2 id="0-下机房之前（备课-安检）"><a href="#0-下机房之前（备课-安检）" class="headerlink" title="0. 下机房之前（备课 + 安检）"></a>0. 下机房之前（备课 + 安检）</h2><p>进机房不是开盖就拆。先把这几件事过一遍：</p><ul><li><strong>防静电</strong>：戴防静电手环（anti-ESD wrist strap），金属触点贴紧手腕，鳄鱼夹接到机柜接地点；条件允许再穿防静电服（anti-static smock）。🎤 给新人讲清楚为什么——CMOS、内存颗粒怕静电击穿，几百伏的人体静电肉眼无感但足以打坏芯片。手环把人体和机柜拉到同一电位，防静电服则抑制衣物摩擦起电。</li></ul><p><img src="/posts/f9a0c210/anti-esd-tkt.jpg" alt="防静电装备"><br><img src="/posts/f9a0c210/anti-static-esd-coat-0_1.jpg" alt="防静电服"></p><ul><li><strong>断电规则</strong>：支持热插拔的部件（硬盘、电源、风扇）现场可演示热插拔；<strong>不支持热插拔的部件（CPU、内存、PCIe 卡、FlexIO&#x2F;OCP 卡、BMC 插卡）必须先正常关机、断电</strong>。🎤 让新人记住”哪些能带电插、哪些不能”这条线。<blockquote><p>资料权限：互联网公开。白皮书明确：FlexIO 卡 1、FlexIO 卡 2 及 BMC 插卡都不支持热插拔，更换需将电源模块下电；硬盘支持热插拔。</p></blockquote></li><li><strong>工具</strong>：十字螺丝刀、防静电袋、手电（看槽位丝印用）、手机（拍照）。</li><li><strong>重量预期</strong>：🎤 满配 21~27kg，2U 单人搬运吃力，搬运&#x2F;上架要两人。<blockquote><p>资料权限：互联网公开。满配净重：8×2.5 英寸 21kg；16×2.5 英寸 24kg；24×2.5 英寸 24kg；12×3.5 英寸 27kg；包装材料另 5kg。</p></blockquote></li></ul><blockquote><p>TODO(✅)：确认这台是高配定制化机器：7280Z(80C_2.9GHz_SMT_TDP325W)*2+64G*32+NVME*2+25G*2(OCP)。</p></blockquote><p>📷 防静电装备：防静电手环佩戴 + 鳄鱼夹接地点特写、防静电服穿着，作为安全规范示范照。<br>📷 进机房第一张：整机在机柜里的位置 + 机箱头部标签（铭牌 &#x2F; 合格证 &#x2F; 快速访问标签 &#x2F; SN 产品序列号 &#x2F; 防压标签）。</p><hr><h2 id="1-先建立整体认知（白皮书-1-产品概述-2-产品特点）"><a href="#1-先建立整体认知（白皮书-1-产品概述-2-产品特点）" class="headerlink" title="1. 先建立整体认知（白皮书 1 产品概述 &#x2F; 2 产品特点）"></a>1. 先建立整体认知（白皮书 1 产品概述 &#x2F; 2 产品特点）</h2><blockquote><p>资料权限：互联网公开。</p></blockquote><p>在拆细节之前，先让新人退后两步看整台机器，建立”这是什么、用在哪”的认知：</p><ul><li><strong>定位</strong>：KunLun 2280 V2 是基于<strong>鲲鹏 920 处理器</strong>的 <strong>2U 2 路机架服务器</strong>，面向互联网、分布式存储、云计算、大数据、企业业务。🎤 关键词”通用计算”——不是 AI 训练机、不是纯存储机，是跑业务&#x2F;数据库&#x2F;虚拟化的主力机型。对比一下：GPU 服务器后面板会插满 PCIe，功耗散热是另一个量级。</li></ul><p><img src="/posts/f9a0c210/GPU_server_from_internet.jpg" alt="GPU服务器(网图)"></p><ul><li><strong>2U 是什么概念</strong>：1U &#x3D; 44.45mm，2U 约 89mm 高（白皮书机箱高 86mm）。🎤 让新人用手比一下，联系第七章”机架&#x2F;U”。</li><li><strong>鲲鹏 920 &#x3D; ARM 架构 SoC</strong>：🎤 今天最值得讲的一点——x86 之外的另一条路线，ARMv8 指令集。而且鲲鹏 920 是 <strong>SoC</strong>，把 DDR5 控制器、PCIe 5.0、100GE&#x2F;25GE&#x2F;10GE&#x2F;GE 网络接口都集成进了处理器内部。联系第二章”指令集架构”、第六章”ARM 服务器 CPU”。</li><li><strong>高核 &#x2F; 低核两种机型</strong>：🎤 这是白皮书新增的区分，明天先认准是哪种——<ul><li>高核：单 CPU ≥64 核，32 个内存槽（DDR5），最多 12 个 PCIe 标准槽。</li></ul></li></ul><p>🎤 顺带讲几个能体现”服务器级”设计的特点（白皮书”产品特点”）：白金电源 50% 负载效率最高 94%、PID 智能调速、硬盘错峰上电降低启动功耗、SSD 比机械盘省电约 80%。</p><blockquote><p>TODO：7280Z(80C_2.9GHz_SMT_TDP325W)*2+64G*32+NVME*2+25G*2(OCP)。</p></blockquote><hr><h2 id="2-三层视角：服务器到底由什么组成（重点-·-白皮书-3-物理结构-4-逻辑结构）"><a href="#2-三层视角：服务器到底由什么组成（重点-·-白皮书-3-物理结构-4-逻辑结构）" class="headerlink" title="2. 三层视角：服务器到底由什么组成（重点 · 白皮书 3 物理结构 &#x2F; 4 逻辑结构）"></a>2. 三层视角：服务器到底由什么组成（重点 · 白皮书 3 物理结构 &#x2F; 4 逻辑结构）</h2><p>这是明天<strong>最该讲透</strong>的一节。先给新人一个能套到任何服务器上的”三层”心智模型，再对着这台机器一一指认。</p><p>🎤 <strong>第一层 · 物理结构（东西怎么摆）</strong>：2U 机箱从前到后大致是——前面板&#x2F;前置硬盘 → 中部基础板（CPU+内存+风扇）→ 后部电源 + IO 模组。</p><blockquote><p>资料权限：互联网公开。白皮书”部件说明”列出的主要部件：IO 模组 1&#x2F;2&#x2F;3、电源模块、机箱、PSU 导风罩、超级电容、导风罩、风扇板、前置硬盘背板、风扇支架、风扇模块（4 个）、前置硬盘、散热器、<strong>DIMM 内存</strong>、理线架、<strong>基础板</strong>、CPU 托架、<strong>扩展板</strong>、FlexIO 卡 1（归属 CPU1）、FlexIO 卡 2（归属 CPU2）、BMC 插卡、M.2 硬盘模组、开箱检测模组。</p></blockquote><p><img src="/posts/f9a0c210/server_explode_img.png" alt="服务器爆炸视图"><br><img src="/posts/f9a0c210/server_mid_plane.png" alt="服务器中间视图"></p><p>🎤 <strong>第二层 · 逻辑结构（数据怎么流）</strong>：</p><blockquote><p>资料权限：互联网公开。白皮书逻辑结构要点：</p><ul><li>两路鲲鹏 920 处理器，<strong>高核每 CPU 16 个 DDR5、低核每 CPU 8 个 DDR</strong>。</li><li>两路 CPU 之间通过 <strong>2 组 HCCS 总线互连，最高 30Gbps，总速率 480Gbps</strong>。🎤 这就是第二章讲的”多路互联”，跨 CPU 访问内存有延迟差——NUMA 的由来。</li><li>CPU 的 PCIe 资源经 PCB 或线缆接到 <strong>PCIe Riser 卡</strong>，Riser 决定槽位规格和 PCIe 版本。</li><li>CPU1、CPU2 各挂 1 张 <strong>FlexIO 网卡</strong>（4×GE &#x2F; 2×25GE·10GE &#x2F; 1×100GE）。</li><li>集成 <strong>Hi1711 BMC</strong> 管理芯片，独立外出 VGA、管理网口、串口、USB。</li></ul></blockquote><p><img src="/posts/f9a0c210/server_topo.png" alt="服务器逻辑视图"></p><p>🎤 收尾点：让新人记住这张图——之后讲每个部件，都回到”它在物理上摆哪、在逻辑上连谁”。</p><p>📷 开盖俯视全景图（这张图后面反复回来指）；标出基础板、扩展板、CPU 托架、内存区、风扇区、IO 模组的位置。</p><hr><h2 id="3-前面板（白皮书-5-1）"><a href="#3-前面板（白皮书-5-1）" class="headerlink" title="3. 前面板（白皮书 5.1）"></a>3. 前面板（白皮书 5.1）</h2><p>带新人从正面开始，这是最直观的一面。</p><blockquote><p>资料权限：互联网公开。前面板组件（8×2.5 英寸配置）：UID 按钮&#x2F;指示灯、健康状态指示灯、电源按钮&#x2F;指示灯、<strong>故障诊断数码管</strong>、FlexIO 卡在位指示灯（1、2）、硬盘&#x2F;指示灯、USB 3.0 接口、USB Type-C 接口&#x2F;指示灯、VGA 接口、标签卡（含 SN 标签）。</p></blockquote><p>🎤 逐个讲：</p><ul><li><strong>UID 按钮&#x2F;指示灯</strong>：Unit Identification，在一排机器里定位”就是这台”。🎤 现场按一下看蓝灯亮。<blockquote><p>资料权限：互联网公开。短按 UID 开&#x2F;关定位灯；<strong>长按约 5 秒可复位 iBMC 管理系统</strong>；BMC 触发的闪烁只持续 255 秒后自动熄灭；也可通过 BMC 命令或 WebUI 远程控制。</p></blockquote></li><li><strong>健康状态指示灯</strong>：🎤 这是新人最该记住的”一眼看健康”灯。<blockquote><p>资料权限：互联网公开。<strong>绿色常亮 &#x3D; 正常；红色 1Hz 闪 &#x3D; 严重告警；红色 5Hz 闪 &#x3D; 紧急告警</strong>。</p></blockquote></li><li><strong>故障诊断数码管</strong>：🎤 服务器特有——开机自检&#x2F;故障时显示代码，比 PC 的”滴滴”报警精确得多。</li><li><strong>FlexIO 卡在位指示灯（1、2）</strong>：绿色常亮&#x3D;卡在位且可识别，熄灭&#x3D;不在位或故障。</li><li><strong>前置 USB 3.0 &#x2F; USB Type-C &#x2F; VGA</strong>：本地维护接口。</li></ul><p><img src="/posts/f9a0c210/server_health_indicator.png" alt="服务器前视图"><br><img src="/posts/f9a0c210/front_pic.png" alt="服务器前视图照片"></p><blockquote><p>TODO：核对这台前面板的硬盘配置（8×2.5，实物为12×3.5）、是否带前置 IO 模组。</p></blockquote><p>📷 前面板整体 + 指示灯特写（最好拍一张正常运行全绿状态）；UID 灯点亮前后对比；故障诊断数码管特写。</p><hr><h2 id="4-后面板（白皮书-5-2）"><a href="#4-后面板（白皮书-5-2）" class="headerlink" title="4. 后面板（白皮书 5.2）"></a>4. 后面板（白皮书 5.2）</h2><p>转到机器背后。🎤 后面板是”对外接口的总出口”。</p><blockquote><p>资料权限：互联网公开。后面板组件：IO 模组 1&#x2F;2&#x2F;3、电源模块 1&#x2F;2、电源模块指示灯&#x2F;接口、FlexIO 卡 1（归属 CPU1）及指示灯、FlexIO 卡 2（归属 CPU2）及指示灯、VGA 接口、USB 3.0 接口、Mgmt 管理网口及指示灯、UID 按钮&#x2F;指示灯、串口。其中 <strong>VGA &#x2F; USB &#x2F; 管理网口 &#x2F; UID &#x2F; 串口这几个位于 BMC 插卡上</strong>。</p></blockquote><p>🎤 逐个讲：</p><ul><li><strong>电源模块（PSU）</strong>：🎤 重点演示<strong>热插拔</strong>——拔掉一个电源，机器不断电、告警亮、另一个接管。这是新人最该亲眼看到的可靠性设计。<blockquote><p>资料权限：互联网公开。电源<strong>热插拔、1+1 冗余备份</strong>；白金电源；2000W AC 白金电源在输入 200~220V AC 时输出降额到 1800W；单电源无冗余、不建议单电源使用；同一台电源型号必须相同。</p></blockquote></li><li><strong>后面板这一排 BMC 接口</strong>：🎤 强调管理网口（Mgmt）是<strong>独立于业务网口</strong>的带外管理口，讲 BMC 时还要用。</li><li><strong>FlexIO 卡 1&#x2F;2</strong>：业务网口来自这里，分别归属 CPU1&#x2F;CPU2。🎤 注意它<strong>不支持热插拔</strong>。</li><li><strong>IO 模组 1&#x2F;2&#x2F;3</strong>：PCIe 扩展卡从这里露出挡板。</li></ul><p>📷 后面板整体，标清每个口是什么；拔出一个 PSU 的过程（确认 1+1 冗余后再操作）。</p><p><img src="/posts/f9a0c210/server_back_plane.png" alt="服务器后视图"></p><blockquote><p>TODO：确认 PSU 数量与功率: 2000W&#x2F;PSU，2个、当前 IO 模组各插了什么卡：25G OCP网卡，见下图。</p></blockquote><hr><h2 id="5-开盖：基础计算组件（重点-·-白皮书-5-3）"><a href="#5-开盖：基础计算组件（重点-·-白皮书-5-3）" class="headerlink" title="5. 开盖：基础计算组件（重点 · 白皮书 5.3）"></a>5. 开盖：基础计算组件（重点 · 白皮书 5.3）</h2><blockquote><p>⚠️ 涉及 CPU、内存、PCIe 卡的拆装，<strong>必须先关机断电</strong>。前面的硬盘&#x2F;电源&#x2F;风扇热插拔演示做完，再进入这部分。</p></blockquote><h3 id="5-1-基础板与-CPU（5-3-1-接口介绍）"><a href="#5-1-基础板与-CPU（5-3-1-接口介绍）" class="headerlink" title="5.1 基础板与 CPU（5.3.1 接口介绍）"></a>5.1 基础板与 CPU（5.3.1 接口介绍）</h3><blockquote><p>资料权限：互联网公开。该平台为”天池架构”，基础计算组件的典型应用为<strong>基础板</strong>；<strong>CPU 集成在基础板上，不能单独更换</strong>。基础板上密布 CPU 北向&#x2F;南向 UBC&#x2F;UBCDD 高速连接器、电源入口连接器、NC-SI、HBRT、RTC 电池座、开箱检测连接器等。</p></blockquote><p>🎤 讲给新人：</p><ul><li>指出散热器位置，鲲鹏 920 封装在散热器下，<strong>现场不开盖看 die</strong>，重点讲它在基础板上的位置。</li><li>🎤 关键认知：<strong>CPU 焊在基础板上、不能单独换</strong>——这和 PC&#x2F;部分 x86 服务器”CPU 可插拔”不同，整板维护。</li><li>双路互联：🎤 回到第 2 节那张图，两颗 CPU 通过 2 组 HCCS 互连，引出 NUMA（第二章）。</li></ul><p>📷 基础板俯视，指出两个 CPU 散热器、内存区、各类连接器。</p><h3 id="5-2-内存（重点中的重点-·-白皮书-5-3-2）"><a href="#5-2-内存（重点中的重点-·-白皮书-5-3-2）" class="headerlink" title="5.2 内存（重点中的重点 · 白皮书 5.3.2）"></a>5.2 内存（重点中的重点 · 白皮书 5.3.2）</h3><p>这是明天<strong>最值得手把手讲</strong>的部分。白皮书分四小节，正好对应四个知识点：</p><p><strong>① 内存槽位编号（5.3.2.1）</strong></p><blockquote><p>资料权限：互联网公开。</p><ul><li>高核：最大 <strong>32 个内存槽</strong>，1 个处理器 <strong>8 个内存通道</strong>，每通道 2 个 DIMM。编号形如 DIMM000~DIMM171（CPU1 为 DIMM0xx，CPU2 为 DIMM1xx）。<br>~~ &gt; - 低核：最大 <strong>16 个内存槽</strong>，1 个处理器 <strong>4 个内存通道</strong>，每通道 2 个 DIMM。 ~~</li></ul></blockquote><p>🎤 拿手电照基础板丝印，带新人念出槽位编号，讲清”编号 → CPU → 通道 → DPC”的对应关系。<br>📷 内存区域全景 + 槽位丝印特写。</p><p><img src="/posts/f9a0c210/memory_dimms.png" alt="内存槽位编号"></p><p><strong>② 内存安装原则（5.3.2.2）</strong></p><blockquote><p>资料权限：互联网公开。</p><ul><li><strong>CPU1 对应的内存槽至少配 1 根</strong>。</li><li><strong>不允许混用不同规格</strong>（容量&#x2F;位宽&#x2F;rank&#x2F;高度&#x2F;厂家），多根内存必须相同 P&#x2F;N 编码。</li><li><strong>平衡配置性能最佳</strong>；单 CPU 配单数根（3&#x2F;5&#x2F;7）&#x3D; 通道不平衡；两 CPU 装不同数量 &#x3D; 处理器不平衡，都不推荐。</li><li><strong>空槽必须装假模块</strong>（保证风道）。</li></ul></blockquote><p>🎤 这是新人最容易踩坑的地方——内存不是随便插哪个槽都行。现场对照实机已插内存验证安装顺序。</p><p><img src="/posts/f9a0c210/memory_install.jpg" alt="内存安装顺序"></p><p><strong>③ 内存参数（5.3.2.3）</strong></p><blockquote><p>资料权限：互联网公开。</p><ul><li>高核：DDR5，额定 4800MT&#x2F;s，单条 32&#x2F;64&#x2F;96&#x2F;128GB，整机最多 32 条、最大 4096GB；速度 1DPC 4800 &#x2F; 2DPC 4400。</li><li>低核：单条 32&#x2F;64GB，整机最多 16 条、最大 1024GB（32&#x2F;40 核机型整机最大 2048GB）。</li></ul></blockquote><p>🎤 联系第三章”DDR 演进”——讲清 DDR5、4800MT&#x2F;s、DPC（每通道几条）对频率的影响。</p><p><img src="/posts/f9a0c210/memory_dimm_pic.png" alt="内存条照片"></p><p><strong>④ 内存保护技术（5.3.2.4）</strong></p><blockquote><p>资料权限：互联网公开。支持：<strong>ECC（含 SEC&#x2F;DED 单错纠正&#x2F;双错检测）</strong>、单设备数据校正（SDDC）、内存巡检（Demand &amp; Patrol Scrubbing）、地址奇偶检测、内存过热调节、数据加扰（Data Scrambling）。</p></blockquote><p>🎤 讲 ECC——服务器内存和家用内存的关键区别，联系第三章”ECC 与可靠性”。</p><p>🎤 本节收尾：让新人理解”槽位编号 + 安装原则”是运维加内存时必查的东西，插错了要么不认、要么掉速、要么风道乱。</p><hr><h2 id="6-散热组件（白皮书-5-5）"><a href="#6-散热组件（白皮书-5-5）" class="headerlink" title="6. 散热组件（白皮书 5.5）"></a>6. 散热组件（白皮书 5.5）</h2><p>🎤 2U 机器靠前后风道散热：前进冷风，穿过硬盘→内存→CPU→后部，热风从后排出。</p><blockquote><p>资料权限：互联网公开。</p><ul><li><strong>4 个热插拔风扇，支持 N+1（转子）失效</strong>；同台风扇必须相同 P&#x2F;N。</li><li>风扇支持可变转速：一般以最低速转动，入风口或机器温度升高时自动提速（PID 智能调速）。</li><li>散热组件含风扇板（供电+调速背板）和风扇模块。</li></ul></blockquote><p>🎤 现场可演示拔一个风扇 → 其他风扇提速 + 告警。提醒新人：<strong>机房噪音大、风扇全速尤其吵是正常现象</strong>（联系第五章”散热”）。</p><p>📷 风扇模组 + 风道方向（用手感受前进后出）。</p><p><img src="/posts/f9a0c210/fan_flow.png" alt="风道方向"></p><hr><h2 id="7-存储组件（重点-·-白皮书-5-6）"><a href="#7-存储组件（重点-·-白皮书-5-6）" class="headerlink" title="7. 存储组件（重点 · 白皮书 5.6）"></a>7. 存储组件（重点 · 白皮书 5.6）</h2><p>存储是另一个适合手把手的部分。</p><h3 id="7-1-硬盘配置与编号（5-6-1-5-6-2）"><a href="#7-1-硬盘配置与编号（5-6-1-5-6-2）" class="headerlink" title="7.1 硬盘配置与编号（5.6.1 &#x2F; 5.6.2）"></a>7.1 硬盘配置与编号（5.6.1 &#x2F; 5.6.2）</h3><blockquote><p>资料权限：互联网公开。支持 SAS&#x2F;SATA&#x2F;NVMe 硬盘，多种配置：8×2.5、8×2.5 SAS&#x2F;SATA（兼容 4×2.5 NVMe）、16×2.5、24×2.5、12×3.5 等；前置 + 后置 + M.2 多种组合。</p></blockquote><p>🎤 带新人对照前面板盘位念硬盘编号，讲：</p><ul><li><strong>盘位编号规则</strong>：物理位置和软件里看到的盘符怎么对应——这是换盘时别拔错盘的关键。</li><li><strong>盘型</strong>：2.5”&#x2F;3.5”、SAS&#x2F;SATA&#x2F;NVMe 的区别，联系第四章”存储接口”。</li></ul><p>📷 前置硬盘背板整体 + 单个盘位编号丝印特写。</p><blockquote><p>2.5 SATA SSD</p></blockquote><p><img src="/posts/f9a0c210/sata_ssd_25.png" alt="2.5 SATA SSD"></p><blockquote><p>2.5 U.2 NVMe SSD</p></blockquote><p><img src="/posts/f9a0c210/u2_nvme.png" alt="2.5 U.2 NVMe SSD"></p><blockquote><p>3.5 SATA HDD</p></blockquote><p><img src="/posts/f9a0c210/sata_hdd.png" alt="3.5 SATA HDD"></p><blockquote><p>TODO：填实际硬盘配置——几块盘、容量、接口、用途（系统盘&#x2F;数据盘）。</p></blockquote><h3 id="7-2-硬盘指示灯（5-6-3）"><a href="#7-2-硬盘指示灯（5-6-3）" class="headerlink" title="7.2 硬盘指示灯（5.6.3）"></a>7.2 硬盘指示灯（5.6.3）</h3><p>🎤 每个盘位有三个灯：<strong>Active（绿）&#x2F; Fault（红）&#x2F; Locate（蓝）</strong>。</p><blockquote><p>资料权限：互联网公开。SAS&#x2F;SATA 硬盘指示灯状态：</p><table><thead><tr><th>Active(绿)</th><th>Fault(红)</th><th>Locate(蓝)</th><th>含义</th></tr></thead><tbody><tr><td>熄</td><td>熄</td><td>熄</td><td>硬盘不在位</td></tr><tr><td>常亮</td><td>熄</td><td>熄</td><td>在位且无故障</td></tr><tr><td>4Hz 闪</td><td>熄</td><td>熄</td><td>正常读写</td></tr><tr><td>1Hz 闪</td><td>1Hz 闪</td><td>熄</td><td>正在重构</td></tr><tr><td>常亮</td><td>常亮</td><td>熄</td><td>硬盘故障</td></tr><tr><td>熄</td><td>常亮</td><td>熄</td><td>硬盘被拔出</td></tr><tr><td>常亮</td><td>熄</td><td>1Hz 闪</td><td>硬盘被定位</td></tr></tbody></table><p>NVMe 硬盘另有”热插拔过程 &#x2F; 允许拔出”等状态（Fault 灯不同频率闪烁）。</p></blockquote><p>🎤 换盘 SOP：管理软件里定位 → 点亮该盘 <strong>Locate（蓝）灯</strong> → 现场确认编号 → 热拔热插。<strong>现场演示点亮某块盘的定位灯</strong>。</p><p>📷 硬盘指示灯各状态特写（至少拍”在位无故障”和”定位中”）。</p><p><img src="/posts/f9a0c210/disk_locate.png" alt="硬盘定位指示灯"></p><h3 id="7-3-后置硬盘-M-2-RAID（5-6-4-5-6-6）"><a href="#7-3-后置硬盘-M-2-RAID（5-6-4-5-6-6）" class="headerlink" title="7.3 后置硬盘 &#x2F; M.2 &#x2F; RAID（5.6.4 ~ 5.6.6）"></a>7.3 后置硬盘 &#x2F; M.2 &#x2F; RAID（5.6.4 ~ 5.6.6）</h3><blockquote><p>资料权限：互联网公开。</p><ul><li>后置硬盘模组：IO 模组 1&#x2F;2 支持后置 2×3.5 或 2×2.5；IO 模组 3 支持后置 4×2.5（其中 IO3 后置 4 盘支持硬 RAID）。</li><li>M.2 硬盘模组：内置，常用作系统盘。</li><li>RAID 级别比较表（N&#x3D;成员盘数，M&#x3D;子组数）：</li></ul><table><thead><tr><th>RAID</th><th>可靠性</th><th>读</th><th>写</th><th>硬盘利用率</th></tr></thead><tbody><tr><td>0</td><td>低</td><td>高</td><td>高</td><td>100%</td></tr><tr><td>1</td><td>高</td><td>高</td><td>中</td><td>50%</td></tr><tr><td>5</td><td>较高</td><td>高</td><td>中</td><td>(N-1)&#x2F;N</td></tr><tr><td>6</td><td>较高</td><td>高</td><td>中</td><td>(N-2)&#x2F;N</td></tr><tr><td>10</td><td>高</td><td>高</td><td>中</td><td>50%</td></tr><tr><td>50</td><td>高</td><td>高</td><td>较高</td><td>(N-M)&#x2F;N</td></tr><tr><td>60</td><td>高</td><td>高</td><td>较高</td><td>(N-M×2)&#x2F;N</td></tr></tbody></table></blockquote><p>🎤 RAID 是重头戏——联系第四章”RAID 与企业存储”，对着这张表讲”容量利用率 vs 冗余 vs 性能”的取舍。提一句：SAS&#x2F;SATA 走 RAID 控制卡，支持超级电容掉电保护。</p><blockquote><p>TODO：确认这台是否配 RAID 卡、跑什么 RAID 级别、有无后置盘和 M.2。现场可进 BMC 看逻辑卷。</p></blockquote><hr><h2 id="8-扩展组件：存储扩展-IO-扩展-FlexIO（白皮书-5-7-5-9）"><a href="#8-扩展组件：存储扩展-IO-扩展-FlexIO（白皮书-5-7-5-9）" class="headerlink" title="8. 扩展组件：存储扩展 &#x2F; IO 扩展 &#x2F; FlexIO（白皮书 5.7 ~ 5.9）"></a>8. 扩展组件：存储扩展 &#x2F; IO 扩展 &#x2F; FlexIO（白皮书 5.7 ~ 5.9）</h2><p>🎤 这部分讲”按需扩展”，体现通用服务器的灵活性。</p><blockquote><p>资料权限：互联网公开。</p><ul><li><strong>存储扩展组件（5.7）</strong>：硬盘背板（如 24×2.5 NVMe 背板，带 UBC 连接器 + MiniSAS Port A&#x2F;B + 电源&#x2F;低速连接器），把更多盘连到 CPU&#x2F;RAID 卡。</li><li><strong>IO 扩展组件（5.8）</strong>：PCIe Riser + 扩展卡。高核最多 12 个、低核最多 10 个 PCIe 标准槽，规格覆盖 <strong>PCIe 5.0 &#x2F; 4.0 的 x16 &#x2F; x8</strong>，全高全长&#x2F;全高半长&#x2F;半高半长按 IO 模组不同而异。🎤 讲 Riser 的作用——把主板 PCIe 通道”立起来”接更多卡。</li><li><strong>FlexIO 卡（5.9）</strong>：该平台特色，灵活配网口、不占标准 PCIe 槽。单板最多 2 张，单张提供 <strong>4×GE 电口 &#x2F; 2×25GE·10GE 光口 &#x2F; 1×100GE 光口，均支持 PXE</strong>；25GE 与 10GE 光口靠换光模块切速率。</li></ul></blockquote><p>📷 打开 IO 区域拍 Riser 和插的卡；拍 FlexIO 卡及其挡板。</p><blockquote><p>TODO：列出这台实际插了哪些 IO 卡（网卡型号&#x2F;速率、RAID 卡等）、FlexIO 卡端口配置。</p></blockquote><blockquote><p>OCP3.0 网卡（支持NCSI Sharelink Management）</p></blockquote><p><img src="/posts/f9a0c210/ocp_3_nic.png" alt="OCP3.0网卡照片"></p><blockquote><p>PCIe 网卡（普通网卡）</p></blockquote><p><img src="/posts/f9a0c210/pcie_nic.png" alt="PCIE网卡照片"></p><hr><h2 id="9-BMC-插卡-系统管理（重点收尾-·-白皮书-5-10-9-系统管理）"><a href="#9-BMC-插卡-系统管理（重点收尾-·-白皮书-5-10-9-系统管理）" class="headerlink" title="9. BMC 插卡 &amp; 系统管理（重点收尾 · 白皮书 5.10 + 9 系统管理）"></a>9. BMC 插卡 &amp; 系统管理（重点收尾 · 白皮书 5.10 + 9 系统管理）</h2><p>明天的<strong>收尾高潮</strong>：带外管理。🎤 这是服务器区别于 PC 的灵魂功能之一。</p><blockquote><p>资料权限：互联网公开。</p><ul><li><strong>BMC 插卡（5.10）</strong>：本产品用 <strong>Hi1711 BMC 插卡</strong>，外出 VGA、管理网口、USB、串口、USB Type-C；板上 COM_SW 跳线可切换面板串口连到 BMC 还是 OS。</li><li><strong>iBMC 系统管理（第 9 章）</strong>：<ul><li>管理接口：<strong>IPMI 1.5&#x2F;2.0、Redfish、SNMP、HTTPS、DCMI 1.5、命令行</strong>。</li><li>故障诊断：<strong>临终截屏与录像</strong>、屏幕快照、Syslog&#x2F;Trap&#x2F;邮件告警、FDM 基于部件的精准故障诊断。</li><li>远程维护：<strong>虚拟 KVM（KVM over IP）+ 虚拟媒体</strong>、RAID 带外监控配置、Smart Provisioning 免光盘装 OS。</li><li>智能电源：功率封顶、动态节能。</li><li>管理网口：1 个 10&#x2F;100&#x2F;1000Mbps RJ45。</li></ul></li></ul></blockquote><p>🎤 用笔记本连管理网口，登录 iBMC Web，现场演示：</p><ul><li>看实时温度、风扇转速、电源功率、健康状态。</li><li>看硬件告警日志（FDM 精准定位到部件）。</li><li><strong>远程 KVM</strong>——不插显示器键盘也能操作这台机器的”屏幕”。🎤 这个最让新人惊艳，讲清运维为什么离不开它。</li><li>远程开关机 &#x2F; 重启。</li></ul><p>📷 iBMC 登录界面 + 能看到温度&#x2F;风扇&#x2F;功率的仪表盘页面。</p><blockquote><p>⚠️ 截图&#x2F;拍照前确认<strong>不泄露内网 IP、SN、账号密码</strong>。</p></blockquote><blockquote><p>TODO：提前找运维要 iBMC 管理 IP 和登录账号，别现场卡壳。</p></blockquote><p><img src="/posts/f9a0c210/bmc_snip.jpg" alt="BMC运行界面示意"></p><hr><h2 id="10-收尾：规格、兼容性、认证（白皮书第-6、7、10-章）"><a href="#10-收尾：规格、兼容性、认证（白皮书第-6、7、10-章）" class="headerlink" title="10. 收尾：规格、兼容性、认证（白皮书第 6、7、10 章）"></a>10. 收尾：规格、兼容性、认证（白皮书第 6、7、10 章）</h2><p>回到会议室或现场总结，把”摸过的铁”和”纸面规格”对上。</p><blockquote><p>资料权限：互联网公开。</p><ul><li><strong>技术规格（6.1）</strong>：2U 机架；鲲鹏 920 双路（高核≥32 核 &#x2F; 低核 40 或 32 核）；内存最高 4800MT&#x2F;s RDIMM；前面板 2×USB3.0 + VGA + USB-C，后面板 2×USB3.0 + VGA + 3.5mm 串口 + RJ45 管理网口；4 个热插拔风扇 N+1；集成显卡 32MB 显存，最高 1920×1200@60Hz &#x2F; 16M 色。</li><li><strong>环境规格（6.2）</strong>：工作温度 <strong>5~40℃</strong>（ASHRAE A1&#x2F;A2&#x2F;A3）；工作湿度 8~90%RH 无冷凝；风量 ≥204CFM；工作海拔 ≤3050m（超 900m 按高度降额）。🎤 用这条解释机房为什么要恒温恒湿、为什么有冷热通道。</li><li><strong>物理规格（6.3）</strong>：机箱 <strong>86mm×447mm×798mm</strong>；装 IEC 297 通用机柜（宽 482.6mm、深 ≥1000mm）；满配净重 21~27kg。</li><li><strong>电源规格（6.4）</strong>：热插拔 1+1；外部空开推荐 高核 AC 32A &#x2F; DC 100A，低核 AC 32A &#x2F; DC 63A。</li><li><strong>认证（第 10 章）</strong>：中国 <strong>CCC</strong>（GB 17625.1-2022、GB 4943.1-2022、GB&#x2F;T 9254.1-2021 A 级）、<strong>CQC</strong>（CQC3135-2011）、<strong>航空运输鉴定 IATA DGR 64th 2023</strong>。</li></ul></blockquote><p>🎤 讲两个观念：① <strong>兼容性列表</strong>——国产服务器什么 OS&#x2F;硬件经过认证才能配，不能乱配（白皮书 7 软硬件兼容性）；② <strong>认证</strong>对采购合规的意义（联系第九章）。</p><hr><h2 id="附：明天的动线清单（打印带去）"><a href="#附：明天的动线清单（打印带去）" class="headerlink" title="附：明天的动线清单（打印带去）"></a>附：明天的动线清单（打印带去）</h2><p>热插拔的先演示，断电拆的放后面：</p><ol><li>□ 进门：机箱头部标签（铭牌&#x2F;SN）、机柜位置 📷</li><li>□ 整机认知：2U &#x2F; 通用计算 &#x2F; 鲲鹏 920 ARM &#x2F; 高核·低核 🎤</li><li>□ 三层视角讲解 + 画逻辑图 🎤（重点）</li><li>□ 前面板：健康灯、UID 灯、故障数码管演示 📷🎤</li><li>□ 后面板：BMC 接口、FlexIO、<strong>PSU 热插拔演示</strong> 📷🎤</li><li>□ 风扇：风道、<strong>风扇热插拔演示</strong> 📷🎤</li><li>□ 前置硬盘：编号、三色指示灯、<strong>Locate 定位灯演示</strong> 📷🎤</li><li>□ —（关机断电）—</li><li>□ 开盖俯视全景 📷</li><li>□ 基础板 &#x2F; CPU（焊死不可换）&#x2F; HCCS &#x2F; NUMA 🎤</li><li>□ 内存：槽位编号、安装原则、参数、ECC 🎤（重点）</li><li>□ IO 扩展 &#x2F; Riser &#x2F; FlexIO 📷🎤</li><li>□ —（恢复供电、开机）—</li><li>□ BMC：登录 iBMC、远程 KVM、FDM 告警日志演示 📷🎤（高潮）</li><li>□ 规格 &#x2F; 环境 &#x2F; 认证对照总结 🎤</li></ol><hr><blockquote><p><strong>全文 TODO 汇总</strong>（明天对实机回填）：高核&#x2F;低核、核数主频 TDP、硬盘配置与编号、RAID 卡与级别、后置盘&#x2F;M.2、IO 卡清单、FlexIO 端口配置、PSU 数量与功率、iBMC 管理 IP 与账号、OS 版本。<br>回填并配齐现场照片后，把本文从”备课模板”升级成”实机档案”。</p><p><strong>资料来源</strong>：《KunLun 2280 V2 服务器技术白皮书》，河南昆仑技术有限公司，文档版本 07（2026-03-04）。本文引用的技术参数均来自该公开白皮书，<strong>资料权限：互联网公开</strong>。原始链接：<a href="https://www.kunlunit.com/static/resource/kunlun-2280-v2-whitepaper">https://www.kunlunit.com/static/resource/kunlun-2280-v2-whitepaper</a></p></blockquote>]]>
    </content>
    <id>http://localhost:4000/posts/f9a0c210/</id>
    <link href="http://localhost:4000/posts/f9a0c210/"/>
    <published>2026-06-08T13:00:00.000Z</published>
    <summary>带新人下机房之前的备课笔记。对着一台鲲鹏 920 的 2U 通用计算服务器，从前面板、后面板、基础板、内存槽位、硬盘背板、IO 扩展一路讲到 BMC，把&quot;服务器由什么组成、为什么这么设计&quot;讲透。技术细节取自 KunLun 2280 V2 技术白皮书（资料权限：互联网公开），实机照片现场补。</summary>
    <title>机房实战 —— 鲲鹏 920 2U 通用服务器现场拆解导览（参考 KunLun 2280 V2）</title>
    <updated>2026-06-15T02:37:52.252Z</updated>
  </entry>
  <entry>
    <category term="90-番外" scheme="http://localhost:4000/categories/90-%E7%95%AA%E5%A4%96/"/>
    <category term="Claude Code" scheme="http://localhost:4000/tags/Claude-Code/"/>
    <category term="VS Code" scheme="http://localhost:4000/tags/VS-Code/"/>
    <category term="macOS" scheme="http://localhost:4000/tags/macOS/"/>
    <category term="工具链" scheme="http://localhost:4000/tags/%E5%B7%A5%E5%85%B7%E9%93%BE/"/>
    <content>
      <![CDATA[<p>前面九章一直在讲服务器硬件，这篇是个番外。一台日常写代码的 MacBook 也得有一套顺手的工具链——Homebrew 装包、Node 跑 JS、VS Code 写代码、Claude Code 当结对编程伙伴。这里把”国内网络环境下能一次跑通”的最小步骤记下来，本机和新机都能照搬。</p><!-- more --><h2 id="这篇只解决四件事"><a href="#这篇只解决四件事" class="headerlink" title="这篇只解决四件事"></a>这篇只解决四件事</h2><ol><li>装 <strong>Homebrew</strong>，并把它切到清华源（避免被官方源卡住）。</li><li>装 <strong>Node.js &#x2F; npm</strong>，npm registry 切到国内源。</li><li><strong>手动</strong>从官网下载 VS Code 安装。</li><li><strong>手动</strong>装 Claude Code 插件，并在用户级 <code>settings.json</code> 里填好自定义 API。</li></ol><p>不装 Claude Code CLI——本文只面向插件用户，CLI 用得到再单独折腾。</p><h2 id="1-安装-Homebrew（清华源）"><a href="#1-安装-Homebrew（清华源）" class="headerlink" title="1. 安装 Homebrew（清华源）"></a>1. 安装 Homebrew（清华源）</h2><p>官方安装脚本要从 GitHub 拉脚本和仓库，国内常常超时。按清华 TUNA 镜像的官方做法来：<strong>先设好环境变量，再用镜像版安装脚本装</strong>，这样首次安装拉仓库就直接走清华。</p><blockquote><p>macOS 自带 bash、git、curl，但还需要 Command Line Tools。如果没装过，先跑 <code>xcode-select --install</code>。</p></blockquote><p>第一步，在终端设置环境变量，让安装脚本从清华拉 brew 本体和 core 仓库：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-built_in">export</span> HOMEBREW_BREW_GIT_REMOTE=<span class="hljs-string">&quot;https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git&quot;</span><br><span class="hljs-built_in">export</span> HOMEBREW_CORE_GIT_REMOTE=<span class="hljs-string">&quot;https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git&quot;</span><br><span class="hljs-built_in">export</span> HOMEBREW_INSTALL_FROM_API=1<br></code></pre></td></tr></table></figure><p>第二步，从清华克隆安装脚本并执行：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs bash">git <span class="hljs-built_in">clone</span> --depth=1 https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/install.git brew-install<br>/bin/bash brew-install/install.sh<br><span class="hljs-built_in">rm</span> -rf brew-install<br></code></pre></td></tr></table></figure><p>第三步，把 brew 的路径写进 shell 配置（Apple Silicon 默认装在 <code>/opt/homebrew</code>，Intel 在 <code>/usr/local</code>，且无需这步）：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 仅 Apple Silicon（uname -m 输出 arm64）需要</span><br><span class="hljs-built_in">test</span> -r ~/.zprofile &amp;&amp; <span class="hljs-built_in">echo</span> <span class="hljs-string">&#x27;eval &quot;$(/opt/homebrew/bin/brew shellenv)&quot;&#x27;</span> &gt;&gt; ~/.zprofile<br><span class="hljs-built_in">eval</span> <span class="hljs-string">&quot;<span class="hljs-subst">$(/opt/homebrew/bin/brew shellenv)</span>&quot;</span><br></code></pre></td></tr></table></figure><p>第四步，把上面那两个 git 源环境变量也持久化进 profile，这样以后每次 <code>brew update</code> 都会自动走清华，不会被改回 GitHub：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-built_in">test</span> -r ~/.zprofile &amp;&amp; <span class="hljs-built_in">echo</span> <span class="hljs-string">&#x27;export HOMEBREW_BREW_GIT_REMOTE=&quot;https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git&quot;&#x27;</span> &gt;&gt; ~/.zprofile<br><span class="hljs-built_in">test</span> -r ~/.zprofile &amp;&amp; <span class="hljs-built_in">echo</span> <span class="hljs-string">&#x27;export HOMEBREW_CORE_GIT_REMOTE=&quot;https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git&quot;&#x27;</span> &gt;&gt; ~/.zprofile<br></code></pre></td></tr></table></figure><p>第五步，把 bottle 二进制包下载也切到清华（不然装包还是会去 GitHub 拉预编译包）：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-built_in">echo</span> <span class="hljs-string">&#x27;export HOMEBREW_API_DOMAIN=&quot;https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api&quot;&#x27;</span> &gt;&gt; ~/.zprofile<br><span class="hljs-built_in">echo</span> <span class="hljs-string">&#x27;export HOMEBREW_BOTTLE_DOMAIN=&quot;https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles&quot;&#x27;</span> &gt;&gt; ~/.zprofile<br><span class="hljs-built_in">source</span> ~/.zprofile<br></code></pre></td></tr></table></figure><p>最后验证：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs bash">brew update<br>brew --version<br></code></pre></td></tr></table></figure><blockquote><p>自 brew 4.0 起 <code>HOMEBREW_INSTALL_FROM_API=1</code> 已是默认行为，大部分人其实无需克隆 homebrew-core 仓库、也无需设 <code>HOMEBREW_CORE_GIT_REMOTE</code>，只要 <code>HOMEBREW_API_DOMAIN</code> 走镜像即可。但设上 core 源不影响使用，遇到要跑 <code>brew cat</code> 之类开发命令时反而省事，这里就一并配齐。</p></blockquote><h2 id="2-安装-Node-js-和-npm"><a href="#2-安装-Node-js-和-npm" class="headerlink" title="2. 安装 Node.js 和 npm"></a>2. 安装 Node.js 和 npm</h2><p>直接用 brew 装 LTS 版本就够用。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs bash">brew install node<br>node -v   <span class="hljs-comment"># v22.x.x 之类</span><br>npm -v    <span class="hljs-comment"># 10.x.x 之类</span><br></code></pre></td></tr></table></figure><p>把 npm registry 切到国内镜像（淘宝维护的 npmmirror，是目前最稳定、和官方同步最及时的国内源）：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs bash">npm config <span class="hljs-built_in">set</span> registry https://registry.npmmirror.com<br><br><span class="hljs-comment"># 验证</span><br>npm config get registry<br><span class="hljs-comment"># 应输出 https://registry.npmmirror.com/</span><br></code></pre></td></tr></table></figure><blockquote><p>如果你坚持用清华源，可以试 <code>https://mirrors.tuna.tsinghua.edu.cn/npm/</code>，但 npm 的同步频率不如 npmmirror 高，遇到新发布的包可能拉不到。我个人长期用 npmmirror。</p></blockquote><p>到这里，命令行基础工具就备齐了。</p><h2 id="3-手动安装-VS-Code"><a href="#3-手动安装-VS-Code" class="headerlink" title="3. 手动安装 VS Code"></a>3. 手动安装 VS Code</h2><p>不用 <code>brew install --cask</code>——国内访问 VS Code 官方下载有 CDN 加速节点，手动下反而更快、版本更新。</p><ol><li>浏览器打开 <a href="https://code.visualstudio.com/">https://code.visualstudio.com/</a></li><li>点击 <strong>Download Mac</strong>，选 <strong>Apple Silicon</strong> 或 <strong>Intel chip</strong>（<code>uname -m</code> 查：<code>arm64</code> 是 Apple Silicon）</li><li>下载下来是一个 <code>.zip</code>，双击解压得到 <code>Visual Studio Code.app</code></li><li>把它<strong>拖到 <code>/Applications</code> 文件夹</strong>——不放进 Applications 系统会反复弹”是否移到应用程序”</li><li>第一次打开时 Gatekeeper 会确认一下，点”打开”</li></ol><p>可选但推荐的一步：装好以后，在 VS Code 里按 <code>Cmd + Shift + P</code>，搜索并执行 <strong><code>Shell Command: Install &#39;code&#39; command in PATH</code></strong>，这样终端里就能用 <code>code .</code> 在当前目录打开 VS Code。</p><h2 id="4-手动安装-Claude-Code-插件"><a href="#4-手动安装-Claude-Code-插件" class="headerlink" title="4. 手动安装 Claude Code 插件"></a>4. 手动安装 Claude Code 插件</h2><p>VS Code 应用内的插件市场是直连微软 Marketplace，国内不一定稳。两种装法挑一种顺手的：</p><p><strong>方式一：插件市场（顺利的话最快）</strong></p><ol><li>VS Code 左侧活动栏点扩展图标（或 <code>Cmd + Shift + X</code>）</li><li>搜 <code>Claude Code</code>，发布者是 <strong>Anthropic</strong></li><li>点 <strong>Install</strong></li></ol><p><strong>方式二：手动下 VSIX（市场连不上时备用）</strong></p><ol><li>浏览器打开 <a href="https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code">https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code</a></li><li>右侧 “Resources” 区域点 <strong>Download Extension</strong>，得到一个 <code>.vsix</code> 文件</li><li>回到 VS Code，按 <code>Cmd + Shift + P</code>，执行 <strong><code>Extensions: Install from VSIX...</code></strong>，选刚下的文件</li></ol><p>装完左侧活动栏会多一个 Claude 图标，点开会提示登录或填 API Key——这一步先不管，下一节统一用配置文件搞定。</p><h2 id="5-配置自定义-OpenAI-Compatible-API"><a href="#5-配置自定义-OpenAI-Compatible-API" class="headerlink" title="5. 配置自定义 OpenAI Compatible API"></a>5. 配置自定义 OpenAI Compatible API</h2><p>Claude Code 插件读 <strong>用户级</strong>的配置文件 <code>~/.claude/settings.json</code>，里面 <code>env</code> 段定义的环境变量会在每次启动时注入到 Claude 进程里。把自定义 API 信息塞这里就行——既不污染全局 shell 环境，也方便迁机器。</p><h3 id="5-1-准备目录和文件"><a href="#5-1-准备目录和文件" class="headerlink" title="5.1 准备目录和文件"></a>5.1 准备目录和文件</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-built_in">mkdir</span> -p ~/.claude<br><span class="hljs-built_in">touch</span> ~/.claude/settings.json<br></code></pre></td></tr></table></figure><h3 id="5-2-填入-API-配置"><a href="#5-2-填入-API-配置" class="headerlink" title="5.2 填入 API 配置"></a>5.2 填入 API 配置</h3><p>用 VS Code 打开它：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">code ~/.claude/settings.json<br></code></pre></td></tr></table></figure><p>填入下面的内容，把三个 <code>xxx</code> 换成你提供商给的实际值：</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs json"><span class="hljs-punctuation">&#123;</span><br>  <span class="hljs-attr">&quot;env&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>    <span class="hljs-attr">&quot;ANTHROPIC_BASE_URL&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;https://your-provider.com&quot;</span><span class="hljs-punctuation">,</span><br>    <span class="hljs-attr">&quot;ANTHROPIC_AUTH_TOKEN&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;sk-xxxxxxxxxxxxxxxxxxxx&quot;</span><span class="hljs-punctuation">,</span><br>    <span class="hljs-attr">&quot;ANTHROPIC_MODEL&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;anthropic/claude-opus-4.7&quot;</span><span class="hljs-punctuation">,</span><br>    <span class="hljs-attr">&quot;ANTHROPIC_DEFAULT_OPUS_MODEL&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;anthropic/claude-opus-4.7&quot;</span><span class="hljs-punctuation">,</span><br>    <span class="hljs-attr">&quot;ANTHROPIC_DEFAULT_SONNET_MODEL&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;anthropic/claude-sonnet-4.6&quot;</span><span class="hljs-punctuation">,</span><br>    <span class="hljs-attr">&quot;ANTHROPIC_DEFAULT_HAIKU_MODEL&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;anthropic/claude-haiku-4.5&quot;</span><span class="hljs-punctuation">,</span><br>    <span class="hljs-attr">&quot;CLAUDE_CODE_SUBAGENT_MODEL&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;anthropic/claude-haiku-4.5&quot;</span><br>  <span class="hljs-punctuation">&#125;</span><br><span class="hljs-punctuation">&#125;</span><br></code></pre></td></tr></table></figure><p>字段含义：</p><table><thead><tr><th>字段</th><th>说明</th></tr></thead><tbody><tr><td><code>ANTHROPIC_BASE_URL</code></td><td>自定义 API 端点，<strong>不要带末尾的斜杠</strong>，也<strong>不要带 <code>/v1</code> 路径</strong>。SDK 会自己拼 <code>/v1/messages</code>。</td></tr><tr><td><code>ANTHROPIC_AUTH_TOKEN</code></td><td>你的 API Key。这个变量名比 <code>ANTHROPIC_API_KEY</code> 优先级高，且兼容更多第三方网关。</td></tr><tr><td><code>ANTHROPIC_MODEL</code></td><td>默认走的模型 ID，按提供商支持的填。Claude 官方家族是 <code>claude-opus-4-7</code> &#x2F; <code>claude-sonnet-4-6</code> &#x2F; <code>claude-haiku-4-5</code> 这一代。</td></tr></tbody></table><blockquote><p><strong>前提</strong>：你的提供商必须直接支持 <strong>Anthropic Messages API 格式</strong>（路径是 <code>/v1/messages</code>）。市面上常见的 OpenRouter、One-API、New-API、各种自建网关默认都开了这条兼容路径。如果你的提供商<strong>只</strong>有 OpenAI 格式（<code>/v1/chat/completions</code>），那需要在中间架一层 LiteLLM 之类的转换代理——这超出本文范围，先不展开。</p></blockquote><h3 id="5-3-重启-VS-Code，验证"><a href="#5-3-重启-VS-Code，验证" class="headerlink" title="5.3 重启 VS Code，验证"></a>5.3 重启 VS Code，验证</h3><p>把 VS Code 完全退出（<code>Cmd + Q</code>，不是关窗口），然后从终端重新启动：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">code .<br></code></pre></td></tr></table></figure><p>打开 Claude 插件面板，问一句 “你好”，能正常返回就成了。</p><h2 id="6-一些容易踩的坑"><a href="#6-一些容易踩的坑" class="headerlink" title="6. 一些容易踩的坑"></a>6. 一些容易踩的坑</h2><p><strong>端点路径写错了</strong></p><p><code>ANTHROPIC_BASE_URL</code> 要写到<strong>域名级别</strong>，例如 <code>https://api.example.com</code>，不要写成 <code>https://api.example.com/v1</code> 或 <code>https://api.example.com/v1/messages</code>。SDK 内部会拼路径，重复拼会变成 <code>/v1/v1/messages</code> 直接 404。</p><p><strong>改了配置没生效</strong></p><p>VS Code 的窗口进程在启动时读一次环境变量，之后改 <code>settings.json</code> 需要<strong>完全退出</strong>（Dock 上图标消失）再重开，不只是关窗口。</p><p><strong>Key 报 401</strong></p><p>先用 <code>curl</code> 直接打你的端点确认 Key 本身是好的：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs bash">curl -X POST <span class="hljs-string">&quot;<span class="hljs-variable">$ANTHROPIC_BASE_URL</span>/v1/messages&quot;</span> \<br>  -H <span class="hljs-string">&quot;Content-Type: application/json&quot;</span> \<br>  -H <span class="hljs-string">&quot;x-api-key: <span class="hljs-variable">$ANTHROPIC_AUTH_TOKEN</span>&quot;</span> \<br>  -H <span class="hljs-string">&quot;anthropic-version: 2023-06-01&quot;</span> \<br>  -d <span class="hljs-string">&#x27;&#123;</span><br><span class="hljs-string">    &quot;model&quot;: &quot;claude-sonnet-4-6&quot;,</span><br><span class="hljs-string">    &quot;max_tokens&quot;: 64,</span><br><span class="hljs-string">    &quot;messages&quot;: [&#123;&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;ping&quot;&#125;]</span><br><span class="hljs-string">  &#125;&#x27;</span><br></code></pre></td></tr></table></figure><blockquote><p><code>anthropic-version</code> 这个头<strong>不是日期戳，而是 API 的稳定版本号</strong>，官方至今一直就是 <code>2023-06-01</code>，它不会随模型更新而变，照抄就行——真正要跟模型对应着改的是请求体里的 <code>model</code> 字段。</p></blockquote><p>返回正常 JSON，就说明端点和 Key 都没问题，问题在插件配置；返回 401，先去提供商后台核对 Key。</p><p><strong>模型名对不上</strong></p><p>不同网关给 Claude 模型起的别名不一样——有些用官方 ID（<code>claude-sonnet-4-5</code>），有些自己改名（<code>anthropic/claude-sonnet-4</code>、<code>claude-3.5-sonnet-latest</code>）。报 <code>model not found</code> 时去提供商文档里翻一下它支持的模型列表，把 <code>ANTHROPIC_MODEL</code> 换成对应名字。</p><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><p>整套流程下来，本机就有了：</p><ul><li>走清华源的 Homebrew，装包不再卡。</li><li>走 npmmirror 的 Node.js &#x2F; npm，未来要装 JS 工具链都顺。</li><li>官网下载安装的 VS Code，更新最及时。</li><li>手动装好的 Claude Code 插件，靠用户级 <code>~/.claude/settings.json</code> 接到自定义 API。</li></ul><p>整套配置不污染全局 shell 环境，换台机器把 <code>~/.claude/settings.json</code> 拷过去就能继续用。</p>]]>
    </content>
    <id>http://localhost:4000/posts/c1aude026/</id>
    <link href="http://localhost:4000/posts/c1aude026/"/>
    <published>2026-05-25T12:00:00.000Z</published>
    <summary>把硬件知识写完之后，顺手记一份个人折腾笔记：在 macOS 上从零装好 Homebrew、Node、VS Code 和 Claude Code 插件，最后接上自定义的 OpenAI Compatible API。全程国内源，一次跑通。</summary>
    <title>番外篇 —— macOS 上从零搭一套 Claude Code 开发环境</title>
    <updated>2026-06-15T02:37:52.334Z</updated>
  </entry>
  <entry>
    <category term="09-基准测试与认证" scheme="http://localhost:4000/categories/09-%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95%E4%B8%8E%E8%AE%A4%E8%AF%81/"/>
    <category term="基准测试选型" scheme="http://localhost:4000/tags/%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95%E9%80%89%E5%9E%8B/"/>
    <category term="第九章小结" scheme="http://localhost:4000/tags/%E7%AC%AC%E4%B9%9D%E7%AB%A0%E5%B0%8F%E7%BB%93/"/>
    <content>
      <![CDATA[<p>第九章前面 6 篇分别讲了 benchmark 概览、CPU&#x2F;数据库基准、HPC、存储&#x2F;网络、AI、认证。本篇收口，也是全书的最后一篇。</p><!-- more --><h2 id="选-benchmark-的”四层决策”"><a href="#选-benchmark-的”四层决策”" class="headerlink" title="选 benchmark 的”四层决策”"></a>选 benchmark 的”四层决策”</h2><pre><code class=" mermaid">graph TD  Q1[第 1 层: 业务类型?]  Q1 --&gt; Q2[第 2 层: 验收阶段?]  Q2 --&gt; Q3[第 3 层: 报告读者?]  Q3 --&gt; Q4[第 4 层: 时长 / 预算?]  Q4 --&gt; A[最终 benchmark 组合]</code></pre><h2 id="第-1-层：业务类型"><a href="#第-1-层：业务类型" class="headerlink" title="第 1 层：业务类型"></a>第 1 层：业务类型</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs text">通用计算 / Web / 应用：    SPEC CPU2017 + SPECjbb 2015<br>数据库（OLTP）：          HammerDB TPROC-C / sysbench oltp<br>数据库（OLAP）：          TPC-DS / HammerDB TPROC-H<br>HPC（FP64）：           HPL + HPCG<br>AI 训练：               HPL-MxP + NCCL-tests + MLPerf Training + NeMo burn-in<br>AI 推理：               cublasMatmulBench + vLLM/TRT-LLM bench + MLPerf Inference<br>存储（块）：              fio<br>存储（NAS）：            SPECstorage SFS 2020<br>存储（分布式 / HPC）：    IO500 / IOR / mdtest<br>网络（TCP）：            iperf3<br>网络（RDMA）：           perftest 套件（ib_write_bw 等）<br></code></pre></td></tr></table></figure><h2 id="第-2-层：验收阶段"><a href="#第-2-层：验收阶段" class="headerlink" title="第 2 层：验收阶段"></a>第 2 层：验收阶段</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">研发选型 / POC：       SPEC CPU2017 + 业务模拟<br>集群验收（节点）：      DCGM diag + nvbandwidth + cublasMatmulBench + HPL<br>集群验收（机柜）：      NCCL-tests + ClusterKit + SHARP<br>集群验收（应用）：      NeMo / Megatron 24-72h burn-in<br>生产监控：            DCGM Exporter + Prometheus + Grafana 持续基线<br>故障排查：            对比基线、单点回归测试<br></code></pre></td></tr></table></figure><h2 id="第-3-层：报告读者"><a href="#第-3-层：报告读者" class="headerlink" title="第 3 层：报告读者"></a>第 3 层：报告读者</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">高管 / 财务：        TCO 数字（$/TPM, $/TFLOPS, GFLOPS/W）<br>采购 / 招标：        tpmC（合同硬指标）+ SPEC 系列<br>DBA / SRE：         HammerDB / fio 实际曲线 + P99<br>GPU 集群运维：       NCCL busbw + DCGM 报告<br>AI 工程师：         MFU + tokens/sec + loss 曲线<br></code></pre></td></tr></table></figure><p>不同读者要不同数字。<strong>给老板看 TCO，给运维看 P99，给 AI 工程师看 MFU</strong>——一份”All in one”报告反而每方都不满意。</p><h2 id="第-4-层：时长-预算"><a href="#第-4-层：时长-预算" class="headerlink" title="第 4 层：时长 &#x2F; 预算"></a>第 4 层：时长 &#x2F; 预算</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">1 小时：       fio + iperf + nccl-tests 单 size + dcgmi diag -r 2<br>1 天：         + HPL + HPL-MxP + nccl-tests 全 size + 单机 NeMo 短跑<br>1 周：         + 多机 burn-in 24-72h + IO500 + MLPerf 复现<br>1 个月：       完整 SuperPOD 验收 + 客户场景 POC + MLPerf 提交准备<br></code></pre></td></tr></table></figure><p>时间越多越能 dump 隐藏问题——但客户通常给不了那么多。<strong>压缩到 1-3 天的”快验”是最常见</strong>。</p><h2 id="各章-benchmark-速查表"><a href="#各章-benchmark-速查表" class="headerlink" title="各章 benchmark 速查表"></a>各章 benchmark 速查表</h2><p>按服务器章节回顾：</p><table><thead><tr><th>章</th><th>主题</th><th>推荐 benchmark</th></tr></thead><tbody><tr><td>01</td><td>服务器通用</td><td>整机功耗 &#x2F; 散热（IPMI &#x2F; DCGM 监控）、UL 安规</td></tr><tr><td>02</td><td>CPU</td><td>SPEC CPU2017 &#x2F; SPECpower &#x2F; SPECjbb</td></tr><tr><td>03</td><td>内存</td><td>mlc &#x2F; stream &#x2F; mbw（带宽）+ Intel MLC（延迟）</td></tr><tr><td>04</td><td>存储</td><td>fio &#x2F; SPECsfs &#x2F; IO500</td></tr><tr><td>05</td><td>GPU&#x2F;AI</td><td>nvbandwidth &#x2F; cublasMatmulBench &#x2F; NCCL-tests &#x2F; MLPerf &#x2F; NeMo</td></tr><tr><td>06</td><td>网络</td><td>iperf3 &#x2F; perftest &#x2F; RFC2544</td></tr><tr><td>07</td><td>OS</td><td>UnixBench &#x2F; sysbench &#x2F; phoronix-test-suite</td></tr><tr><td>08</td><td>可信计算</td><td>tpm2-tools &#x2F; OpenSSL benchmark &#x2F; IMA 完整性</td></tr><tr><td>09</td><td>整合验收</td><td>三阶段（节点 → 机柜 → 应用）</td></tr></tbody></table><h2 id="服务器选型的”benchmark-矩阵”"><a href="#服务器选型的”benchmark-矩阵”" class="headerlink" title="服务器选型的”benchmark 矩阵”"></a>服务器选型的”benchmark 矩阵”</h2><p>把 9 章融合成一张实战矩阵——按业务横向、按 benchmark 纵向：</p><table><thead><tr><th>业务</th><th>CPU</th><th>内存</th><th>存储</th><th>GPU</th><th>网络</th><th>整体</th></tr></thead><tbody><tr><td>数据库 OLTP</td><td>SPEC int + HammerDB</td><td>mlc</td><td>fio + 文件系统</td><td>—</td><td>iperf</td><td>$&#x2F;tpmC</td></tr><tr><td>数据仓库</td><td>SPEC fp + TPC-DS</td><td>stream</td><td>fio seq</td><td>—</td><td>iperf</td><td>$&#x2F;QphH</td></tr><tr><td>Web &#x2F; Java</td><td>SPECjbb</td><td>—</td><td>fio rand</td><td>—</td><td>iperf</td><td>latency P99</td></tr><tr><td>HPC</td><td>SPEC fp</td><td>stream</td><td>IOR</td><td>HPL&#x2F;HPCG</td><td>ib_write_bw</td><td>TFLOPS&#x2F;W</td></tr><tr><td>AI 训练</td><td>—</td><td>mlc</td><td>IOR&#x2F;GDS</td><td>NCCL&#x2F;HPL-MxP</td><td>ib_write_bw</td><td>MFU + tokens&#x2F;s</td></tr><tr><td>AI 推理</td><td>—</td><td>—</td><td>NVMe fio</td><td>cublasMatmul</td><td>iperf</td><td>TTFT&#x2F;TPOT P99</td></tr><tr><td>虚拟化云</td><td>SPEC int + jbb</td><td>—</td><td>fio + SPECsfs</td><td>MIG&#x2F;vGPU</td><td>iperf</td><td>$&#x2F;VM</td></tr></tbody></table><h2 id="认证选型"><a href="#认证选型" class="headerlink" title="认证选型"></a>认证选型</h2><p>按市场 + 客户类型回顾：</p><table><thead><tr><th>市场 &#x2F; 客户</th><th>必拿</th><th>推荐</th></tr></thead><tbody><tr><td>中国互联网</td><td>CCC</td><td>ISO 9001</td></tr><tr><td>中国国央政企</td><td>CCC + 信创目录</td><td>等保 2.0 + 密评</td></tr><tr><td>欧盟</td><td>CE + Lot 9 能效</td><td>ENERGY STAR</td></tr><tr><td>美国数据中心</td><td>FCC + UL&#x2F;NRTL</td><td>ENERGY STAR</td></tr><tr><td>AI 客户 NVIDIA 生态</td><td>—</td><td>NVIDIA-Certified Systems</td></tr><tr><td>银行 &#x2F; 金融</td><td>CCC</td><td>ISO 27001 + 等保三级</td></tr></tbody></table><h2 id="SA-实施工程师”成长路径”"><a href="#SA-实施工程师”成长路径”" class="headerlink" title="SA &#x2F; 实施工程师”成长路径”"></a>SA &#x2F; 实施工程师”成长路径”</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><code class="hljs text">0-1 年（初级）：<br>  考 NCA-AIIO（NVIDIA 入门）<br>  熟练 fio / iperf / sysbench<br>  会读 nvidia-smi / DCGM 报告<br>  能独立完成节点级验收<br>  <br>1-3 年（中级）：<br>  考 NCP-AII<br>  能调 HPL / HPL-MxP，跑出 70%+ 效率<br>  熟练 NCCL-tests，能定位 busbw 瓶颈<br>  能跑通 NeMo / Megatron 烧机<br>  能读懂 MLPerf 结果<br>  <br>3 年+（高级）：<br>  能做集群级故障 root-cause<br>  能写 reproduce 脚本给客户<br>  能为客户做 TCO 分析<br>  能根据业务负载推荐 benchmark 组合 + 整体方案<br></code></pre></td></tr></table></figure><h2 id="整本书的回顾"><a href="#整本书的回顾" class="headerlink" title="整本书的回顾"></a>整本书的回顾</h2><p>第一章 → 第九章串起来：</p><pre><code class=" mermaid">graph TB  C1[01-服务器通用&lt;br/&gt;主板 / 总线 / 散热]  C2[02-CPU&lt;br/&gt;指令集 / 微架构 / 国产]  C3[03-内存&lt;br/&gt;DDR/HBM/CXL]  C4[04-存储&lt;br/&gt;HDD/SSD/NVMe]  C5[05-GPU/AI&lt;br/&gt;NVIDIA/AMD/国产]  C6[06-网络&lt;br/&gt;NIC/SmartNIC/DPU]  C7[07-OS&lt;br/&gt;Linux/Windows/国产]  C8[08-可信计算&lt;br/&gt;TPM/TEE/机密]  C9[09-基准 + 认证&lt;br/&gt;SPEC/MLPerf/CCC]  C1 --&gt; C2 --&gt; C3 --&gt; C4 --&gt; C5 --&gt; C6 --&gt; C7 --&gt; C8 --&gt; C9</code></pre><p>每一章都是一台服务器的”一层”——从主板到芯片，从硬件到软件，最后用 benchmark + 认证检验。<strong>把这 9 章串起来，能看懂任何一份服务器规格书 + 验收报告 + 招标文件</strong>——这就是本书的目标。</p><h2 id="给读者的几句"><a href="#给读者的几句" class="headerlink" title="给读者的几句"></a>给读者的几句</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 不要&quot;背 benchmark 数字&quot;<br>   → 数字会过时，方法论不会<br>   → 学怎么读 / 怎么跑 / 怎么排障，而不是 H100 FP8 是 3958 TFLOPS<br><br>2. 不要&quot;只看销售 PPT&quot;<br>   → 销售给的是&quot;理想配置 + 理想 workload&quot;<br>   → 自己跑一遍才有真相<br><br>3. 不要&quot;跳过认证&quot;<br>   → 认证不是装饰，是法定责任 + 客户信任<br>   → 没有 CCC 的服务器进不了国采，没 NCP 的 SA 拿不到 NVIDIA partner 项目<br><br>4. 不要&quot;孤岛验收&quot;<br>   → 节点过了不代表机柜过；机柜过了不代表应用 MFU 达标<br>   → 三阶段必须全跑<br><br>5. 不要&quot;一次验收过了就放着&quot;<br>   → 集群跑半年后要做&quot;健康度回测&quot;<br>   → 用同一套基线对比，找到漂移<br></code></pre></td></tr></table></figure><h2 id="结语"><a href="#结语" class="headerlink" title="结语"></a>结语</h2><p>写到这里九章都齐了。<strong>服务器是最复杂的工程产品之一</strong>——从晶体管到机房，从 NVLink 到 BGP，从 BIOS 到 PyTorch，跨越十几个学科。</p><p>但拆开看，每一层有自己的逻辑：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">硬件层有摩尔定律 + 散热墙<br>互联层有 PCIe / NVLink / IB 各代演进<br>软件层有 OS / 驱动 / 框架 / 编排<br>信任层有 TPM / TEE / 远程证明<br>评估层有 SPEC / MLPerf / TPC<br></code></pre></td></tr></table></figure><p>这些”层”不是孤立的——一个 H100 集群训练慢，可能是 BIOS 的 prefetch 没开，也可能是 NVLink 拓扑配错，也可能是 NCCL 走了 IB 而不是 NVLink。<strong>架构师的能力就是看穿层之间的链路</strong>——这本书希望提供这种”穿层”的能力。</p><p>服务器世界还会变。HBM4 &#x2F; PCIe 7.0 &#x2F; CXL 3.x &#x2F; 1.6T 网络 &#x2F; 800V HVDC &#x2F; 万亿参数大模型——下一个 5 年又是新故事。</p><p>但<strong>主干不会变</strong>：电源 → 主板 → CPU → 内存 → 存储 → 加速器 → 网络 → OS → 应用 → 度量。</p><p>把这条主干理清，新东西出来时你能在 5 分钟内放进合适的位置。这是这本书最想传递的。</p><p>写完了。下次见。</p>]]>
    </content>
    <id>http://localhost:4000/posts/6a1f0b07/</id>
    <link href="http://localhost:4000/posts/6a1f0b07/"/>
    <published>2026-05-23T11:45:00.000Z</published>
    <summary>把第九章 6 篇连起来——按场景实际怎么挑基准、怎么拿认证。本篇是第九章也是全书的收口。</summary>
    <title>基准测试与认证的实战收口 —— 第九章小结</title>
    <updated>2026-06-15T02:37:52.334Z</updated>
  </entry>
  <entry>
    <category term="09-基准测试与认证" scheme="http://localhost:4000/categories/09-%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95%E4%B8%8E%E8%AE%A4%E8%AF%81/"/>
    <category term="CCC" scheme="http://localhost:4000/tags/CCC/"/>
    <category term="CE" scheme="http://localhost:4000/tags/CE/"/>
    <category term="FCC" scheme="http://localhost:4000/tags/FCC/"/>
    <category term="NVIDIA-Certified" scheme="http://localhost:4000/tags/NVIDIA-Certified/"/>
    <category term="NCP-AII" scheme="http://localhost:4000/tags/NCP-AII/"/>
    <content>
      <![CDATA[<p>服务器不是想卖就能卖——进哪个市场要拿哪些认证，是合规第一关。本文系统讲。</p><!-- more --><h2 id="什么是”认证”"><a href="#什么是”认证”" class="headerlink" title="什么是”认证”"></a>什么是”认证”</h2><blockquote><p>认证是指由认证机构证明产品、服务、管理体系符合相关技术规范、相关技术规范的强制性要求或者标准的合格评定活动。<br>认证通常分为产品、管理体系和服务认证。</p></blockquote><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">产品认证：       CCC（强制）/ CE（强制）/ FCC / ENERGY STAR<br>管理体系认证：    ISO9001（质量）/ ISO14001（环境）/ ISO27001（信息安全）<br>服务认证：       体育场所、银行业等<br></code></pre></td></tr></table></figure><p>服务器场景下主要打交道的是<strong>产品认证</strong>和<strong>部分管理体系认证</strong>。</p><h2 id="认证要求覆盖哪些方面"><a href="#认证要求覆盖哪些方面" class="headerlink" title="认证要求覆盖哪些方面"></a>认证要求覆盖哪些方面</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">安全（Safety）            人身安全 / 不起火 / 不漏电<br>电磁兼容（EMC）           不相互干扰 / 不影响其他设备<br>健康环保（HE）            RoHS / WEEE / 包装回收<br>频谱协调（RF）            无线频段合规<br>接口性能（Telecom）       入网证（含 SRRC 型号核准等）<br>认证评估程序              测试机构资质 / 评定流程<br>市场监管                  上市后抽检<br>标识标志（Labeling）      标签 / 防伪 / 可追溯<br></code></pre></td></tr></table></figure><h2 id="中国市场：CCC"><a href="#中国市场：CCC" class="headerlink" title="中国市场：CCC"></a>中国市场：CCC</h2><p><a href="https://www.cnca.gov.cn/">CCC（China Compulsory Certification）</a> 是国家市场监督管理总局负责的强制认证。</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">适用范围（不完全列举）：<br>  电脑及配件、显示器、UPS、电池<br>  含无线模块的设备需 SRRC 型号核准 + CCC<br><br>不适用：<br>  专业服务器（部分目录调整后免 CCC，但仍需自我声明 + 第三方 EMC/Safety 报告）<br>  数据中心专用网络设备（按品类）<br></code></pre></td></tr></table></figure><p>服务器机型上 CCC 主要查：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">GB 4943.1：信息技术设备安全<br>GB 9254：  信息技术设备 EMI（辐射干扰）<br>GB 17625.1: 谐波电流限值<br></code></pre></td></tr></table></figure><p>CCC 标志由”圆形 CCC”图案 + 编号组成，必须贴在产品上。<strong>没有 CCC 不能在国内合法销售</strong>（针对目录内品类）。</p><h2 id="欧盟市场：CE"><a href="#欧盟市场：CE" class="headerlink" title="欧盟市场：CE"></a>欧盟市场：CE</h2><p><a href="https://europa.eu/youreurope/business/product-requirements/labels-markings/ce-marking/">CE（Conformité Européenne）</a> 是欧盟”自我声明”型认证：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">原则：<br>  厂家自己声明符合若干指令（Directive）<br>  不强制第三方测试，但出问题厂家担责<br>  <br>关键指令：<br>  低电压指令 LVD：     EN 62368-1（替代 EN 60950-1）<br>  EMC 指令：          EN 55032 / EN 55035<br>  RoHS 指令：         有害物质限值<br>  WEEE 指令：         电子产品回收<br>  Eco-design 能效指令：服务器与存储能耗规则（EU 2019/424）<br></code></pre></td></tr></table></figure><p>服务器进欧盟必须有 <strong>EU 2019&#x2F;424（”Lot 9”能效规则）</strong>——欧盟 2019 年生效，规定服务器闲置功耗、PSU 效率、信息披露等要求。新代次服务器要符合（或申请豁免）。</p><h2 id="美国市场：FCC-UL-NRTL"><a href="#美国市场：FCC-UL-NRTL" class="headerlink" title="美国市场：FCC + UL&#x2F;NRTL"></a>美国市场：FCC + UL&#x2F;NRTL</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">FCC Part 15B：      EMC（无意辐射）<br>FCC Part 15C：      含无线模块时<br>UL/NRTL：          安全（NRTL = Nationally Recognized Testing Laboratory，UL 是其中一家）<br>                 服务器装机柜 → 数据中心要求 NRTL 证书<br></code></pre></td></tr></table></figure><p>美国市场 FCC 是法规要求；UL 不是强制，但<strong>绝大多数美国数据中心入场要求 UL&#x2F;NRTL 安全证书</strong>——实际等价于强制。</p><h2 id="能效认证：ENERGY-STAR"><a href="#能效认证：ENERGY-STAR" class="headerlink" title="能效认证：ENERGY STAR"></a>能效认证：ENERGY STAR</h2><p><a href="https://www.energystar.gov/products/computer_servers">ENERGY STAR</a> for Servers 由 EPA 主导，自愿性能效认证：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">要求：<br>  有 PMI（Power Management Interface）能耗实时上报<br>  待机功耗低于阈值<br>  PSU 效率达 80 PLUS Platinum 以上<br>  服务器空闲 / 满载下功耗符合曲线<br>  <br>好处：<br>  公共采购加分（部分国家政府采购优先）<br>  在欧美数据中心竞争中有市场优势<br></code></pre></td></tr></table></figure><p>国内对应的”中国能效标识”也是类似机制——服务器属于 GB 28381 标准。</p><h2 id="安全-质量管理认证"><a href="#安全-质量管理认证" class="headerlink" title="安全 + 质量管理认证"></a>安全 + 质量管理认证</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">ISO 9001：     质量管理体系（厂家级）<br>ISO 14001：    环境管理体系<br>ISO 27001：    信息安全管理体系（数据中心运营方常做）<br>ISO 22301：    业务连续性<br>TL 9000：      电信行业质量<br></code></pre></td></tr></table></figure><p>这些是<strong>厂家或运营方层面的认证</strong>，不是产品上贴的，但客户招标时常要求供应商提供。</p><h2 id="NVIDIA-Certified-Systems-——-GPU-服务器的”上车证”"><a href="#NVIDIA-Certified-Systems-——-GPU-服务器的”上车证”" class="headerlink" title="NVIDIA-Certified Systems —— GPU 服务器的”上车证”"></a>NVIDIA-Certified Systems —— GPU 服务器的”上车证”</h2><p><a href="https://www.nvidia.com/en-us/data-center/products/certified-systems/">NVIDIA-Certified Systems</a> 不是法规要求，但卖 NVIDIA AI 方案的 OEM 必须拿。</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">覆盖：<br>  Mainstream NVIDIA-Certified（主流推理 / 训练）<br>  Enterprise NVIDIA-Certified（企业 AI）<br>  HGX H100/H200/B200/B300 reference 设计<br>  GB200 / GB300 NVL72 整机柜认证<br>  <br>测试套件：<br>  GPU + CPU 兼容性<br>  PCIe / NVLink 拓扑<br>  网络 &amp; 存储性能基线<br>  整机散热 &amp; 功耗<br>  NGC 容器 + AI Enterprise 软件兼容<br></code></pre></td></tr></table></figure><p>戴尔 &#x2F; HPE &#x2F; 联想 &#x2F; 浪潮 &#x2F; 超微等 OEM 各自的”AI 服务器”就是基于 HGX 基板 + 自家整机集成 + 通过 NVIDIA-Certified。</p><h2 id="NVIDIA-AI-Enterprise-平台认证"><a href="#NVIDIA-AI-Enterprise-平台认证" class="headerlink" title="NVIDIA AI Enterprise 平台认证"></a>NVIDIA AI Enterprise 平台认证</h2><p><a href="https://www.nvidia.com/en-us/data-center/products/ai-enterprise/">NVIDIA AI Enterprise</a> 是企业级 AI 软件平台订阅，认证从”硬件 + 虚拟化层 + 平台”:</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">硬件：           NVIDIA-Certified System<br>Hypervisor：     VMware vSphere / Red Hat OpenShift / Nutanix<br>K8s：           OpenShift / Tanzu / Anthos / EKS / GKE / AKS<br>Bare-metal：    Ubuntu / RHEL / Rocky<br>软件栈：         NGC 容器 + NIM 微服务 + Triton + NeMo<br></code></pre></td></tr></table></figure><p>国内出口管制后，国产化 OS（统信 UOS、麒麟等）的 NVIDIA AI Enterprise 适配还在补 —— 待补充。</p><h2 id="NCP-AII-——-SA-实施工程师必备"><a href="#NCP-AII-——-SA-实施工程师必备" class="headerlink" title="NCP-AII —— SA 实施工程师必备"></a>NCP-AII —— SA 实施工程师必备</h2><p>NVIDIA 自家的<a href="https://www.nvidia.com/en-us/training/certification/">人员认证</a>，不是产品认证：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">NCA-AIIO：     基础级（销售、解决方案工程师入门）<br>NCP-AII：      专业级（SA、实施工程师）<br>NCP-AI Operations：   运维方向<br>NCA / NCP - Generative AI：内容方向<br></code></pre></td></tr></table></figure><h3 id="NCP-AII-考点权重（速查）"><a href="#NCP-AII-考点权重（速查）" class="headerlink" title="NCP-AII 考点权重（速查）"></a>NCP-AII 考点权重（速查）</h3><table><thead><tr><th>比重</th><th>模块</th></tr></thead><tbody><tr><td><strong>31%</strong></td><td>Cluster bring-up</td></tr><tr><td>5%</td><td>Physical layer</td></tr><tr><td>19%</td><td>Control plane</td></tr><tr><td><strong>33%</strong></td><td>Cluster test</td></tr><tr><td>12%</td><td>Troubleshooting</td></tr></tbody></table><p>考查内容（节选官方学习指南）：</p><h4 id="System-and-Server-Bring-up（31-）"><a href="#System-and-Server-Bring-up（31-）" class="headerlink" title="System and Server Bring-up（31%）"></a>System and Server Bring-up（31%）</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">- 部署与验证序列<br>- AI factory 网络拓扑<br>- BMC / OOB / TPM 初始配置<br>- 固件升级（含 HGX）与故障检测<br>- 电力与散热参数验证<br>- GPU 服务器安装（SMI）<br>- 安装硬件验证<br>- 线缆类型与光模块识别<br>- 物理 GPU 安装<br>- 第三方存储初始参数配置<br></code></pre></td></tr></table></figure><h4 id="Physical-Layer-Management（5-）"><a href="#Physical-Layer-Management（5-）" class="headerlink" title="Physical Layer Management（5%）"></a>Physical Layer Management（5%）</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs text">- BlueField 网络平台配置管理<br>- MIG（AI 和 HPC）配置<br></code></pre></td></tr></table></figure><h4 id="Control-Plane-Installation（19-）"><a href="#Control-Plane-Installation（19-）" class="headerlink" title="Control Plane Installation（19%）"></a>Control Plane Installation（19%）</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">- Base Command Manager（BCM）安装、HA 配置<br>- OS 安装<br>- Cluster 安装（category、interfaces、Slurm/Enroot/Pyxis）<br>- NVIDIA GPU &amp; DOCA 驱动管理<br>- NVIDIA container toolkit<br>- GPU + Docker 演示<br>- NGC CLI 安装<br></code></pre></td></tr></table></figure><h4 id="Cluster-Test-and-Verification（33-）"><a href="#Cluster-Test-and-Verification（33-）" class="headerlink" title="Cluster Test and Verification（33%）"></a>Cluster Test and Verification（33%）</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs text">- 单节点压力测试<br>- HPL 执行<br>- 单节点 NCCL（含 NVLink Switch 验证）<br>- 线缆信号质量验证<br>- 线缆连接确认<br>- 交换机 FW/SW 确认<br>- BlueField-3 FW/SW 确认<br>- 光模块 FW 确认<br>- ClusterKit 多面节点评估<br>- NCCL 验证 E/W fabric 带宽<br>- NCCL burn-in<br>- HPL burn-in<br>- NeMo burn-in<br>- 存储测试<br></code></pre></td></tr></table></figure><h4 id="Troubleshoot-and-Optimize（12-）"><a href="#Troubleshoot-and-Optimize（12-）" class="headerlink" title="Troubleshoot and Optimize（12%）"></a>Troubleshoot and Optimize（12%）</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">- 硬件故障识别（GPU / 风扇 / 网卡）<br>- 故障卡 / GPU / PSU 识别替换<br>- NVSM 应用：https://docs.nvidia.com/nvidia-system-management-nvsm/<br>- AMD / Intel 服务器性能优化<br>- 存储优化<br></code></pre></td></tr></table></figure><p>NCP-AII 是 NVIDIA SA &#x2F; partner SA 的”必备资格”——考完才能独立交付 GB200&#x2F;H100 SuperPOD 集群验收。</p><h2 id="国产-GPU-与”信创认证”"><a href="#国产-GPU-与”信创认证”" class="headerlink" title="国产 GPU 与”信创认证”"></a>国产 GPU 与”信创认证”</h2><p>国产 AI 服务器除常规 CCC 外还涉及：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">信创目录：       工信部 / 国资委发布的&quot;信息技术应用创新&quot;产品目录<br>等保 2.0：       网络安全等级保护<br>密评：          密码应用安全性评估<br>GB/T 28181：    安防领域（部分场景）<br>GJB / 军品认证： 军工渠道<br></code></pre></td></tr></table></figure><p>这些不是统一一张证，而是分行业 &#x2F; 分省份 &#x2F; 分客户 群组织的——比如某省国采明确”必须在 XX 省信创目录”。</p><h2 id="数据中心整体认证"><a href="#数据中心整体认证" class="headerlink" title="数据中心整体认证"></a>数据中心整体认证</h2><p>数据中心运营方拿的”机房认证”：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">Uptime Institute：    Tier I-IV（常用 Tier III/IV）<br>TIA-942：            机房 Rated 1-4<br>EN 50600：           欧洲数据中心标准<br>GB 50174：           中国数据中心设计规范（A/B/C 类）<br>LEED：              绿色建筑<br>PUE：               能源使用效率（不是认证，是指标）<br>WUE：               水使用效率<br>CUE：               碳使用效率<br></code></pre></td></tr></table></figure><p>这些不是”服务器”的认证，而是”机房 &#x2F; 整个数据中心”的认证。但服务器选型时要考虑能否在某个 Tier 等级的机房落地（功率密度、抗震、冗余等）。</p><h2 id="一张速查"><a href="#一张速查" class="headerlink" title="一张速查"></a>一张速查</h2><table><thead><tr><th>认证</th><th>谁发</th><th>强制性</th><th>测什么</th></tr></thead><tbody><tr><td>CCC</td><td>中国国家认监委</td><td>强制（目录内）</td><td>安全 + EMC（中国）</td></tr><tr><td>CE</td><td>EU 自声明 + 第三方</td><td>强制（欧盟）</td><td>安全 + EMC + 能效 + RoHS</td></tr><tr><td>FCC</td><td>美国 FCC</td><td>强制（美）</td><td>EMC（美国）</td></tr><tr><td>UL&#x2F;NRTL</td><td>UL 等 NRTL</td><td>实质强制（美数据中心入场）</td><td>安全</td></tr><tr><td>ENERGY STAR</td><td>EPA</td><td>自愿</td><td>能效</td></tr><tr><td>ISO 9001</td><td>TÜV &#x2F; SGS &#x2F; BV 等</td><td>自愿</td><td>厂家质量管理</td></tr><tr><td>NVIDIA-Certified</td><td>NVIDIA</td><td>自愿（NVIDIA 生态）</td><td>GPU 兼容 + 性能基线</td></tr><tr><td>NCA&#x2F;NCP</td><td>NVIDIA</td><td>人员资格</td><td>SA &#x2F; 销售 &#x2F; 实施</td></tr><tr><td>信创目录</td><td>工信部</td><td>部分场景强制</td><td>自主可控</td></tr><tr><td>等保 2.0</td><td>公安部</td><td>强制（联网系统）</td><td>网络安全分级</td></tr></tbody></table><h2 id="实战经验"><a href="#实战经验" class="headerlink" title="实战经验"></a>实战经验</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 卖到中国 → CCC 必拿（看品类目录）<br>2. 卖到欧盟 → CE 必拿，2019/424 能效硬指标<br>3. 卖到美国 → FCC + UL/NRTL（实质强制）<br>4. 国内大客户 → ISO 9001 / 14001 / 27001 是招标常见<br>5. NVIDIA AI 方案 → NVIDIA-Certified 是品牌背书<br>6. 政府国央 → 信创目录 / 等保 2.0<br>7. SA 入职 → 半年内拿 NCA-AIIO，1-2 年内拿 NCP-AII<br></code></pre></td></tr></table></figure><blockquote><p>待补充：H20 &#x2F; B20 在中国市场的 CCC + 信创认证状态。</p></blockquote><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>认证体系覆盖产品（CCC&#x2F;CE&#x2F;FCC）、体系（ISO）、人员（NCP）三类</li><li>卖到不同市场拿不同证：中国 CCC、欧盟 CE+能效指令、美国 FCC+UL</li><li>ENERGY STAR 是自愿但带来公共采购加分</li><li>NVIDIA-Certified 是 GPU 服务器进 NVIDIA 生态的必经</li><li>NCP-AII 是 SA 实施工程师 1-2 年内必拿的人员资格</li></ul><p>下一篇是第九章小结，按业务场景串起所有 benchmark 与认证。</p>]]>
    </content>
    <id>http://localhost:4000/posts/6a1f0b06/</id>
    <link href="http://localhost:4000/posts/6a1f0b06/"/>
    <published>2026-05-17T15:00:00.000Z</published>
    <summary>服务器卖到一个市场前要拿一堆&quot;认证&quot;——CCC、CE、FCC、ENERGY STAR、ISO9001、NVIDIA-Certified Systems。本文讲清这些认证各管什么、谁发、要做哪些测试，以及 SA 必备的 NCP-AII 资格。</summary>
    <title>服务器认证体系 —— CCC、CE、FCC、能效之星、NVIDIA-Certified</title>
    <updated>2026-06-15T02:37:52.334Z</updated>
  </entry>
  <entry>
    <category term="09-基准测试与认证" scheme="http://localhost:4000/categories/09-%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95%E4%B8%8E%E8%AE%A4%E8%AF%81/"/>
    <category term="MLPerf" scheme="http://localhost:4000/tags/MLPerf/"/>
    <category term="cuBLASMatmulBench" scheme="http://localhost:4000/tags/cuBLASMatmulBench/"/>
    <category term="nvbandwidth" scheme="http://localhost:4000/tags/nvbandwidth/"/>
    <category term="NeMo" scheme="http://localhost:4000/tags/NeMo/"/>
    <category term="GEMM" scheme="http://localhost:4000/tags/GEMM/"/>
    <content>
      <![CDATA[<p>GPU 集群和传统 HPC 集群的验收哲学不同：HPC 看 HPL 一个数字，AI 集群看的是<strong>算力 + 显存 + 互联 + 集合通信 + 真实训练 token&#x2F;s</strong> 一连串数字。本文按 NVIDIA SA 实战视角串完。</p><!-- more --><h2 id="AI-集群验收三阶段"><a href="#AI-集群验收三阶段" class="headerlink" title="AI 集群验收三阶段"></a>AI 集群验收三阶段</h2><pre><code class=" mermaid">graph TB  S1[1. 节点级&lt;br/&gt;HPL, HPL-MxP&lt;br/&gt;nvbandwidth&lt;br/&gt;cublasMatmulBench&lt;br/&gt;DCGM diag]  S2[2. 机柜/Pod 级&lt;br/&gt;nccl-tests&lt;br/&gt;SHARP 验证]  S3[3. 应用级&lt;br/&gt;NeMo / Megatron 真训练&lt;br/&gt;token/sec]  S1 --&gt; S2 --&gt; S3</code></pre><p>每一阶段都不能跳——单卡过了不代表机柜过；机柜过了不代表大模型训练 MFU 达标。</p><h2 id="第-1-阶段（节点级）"><a href="#第-1-阶段（节点级）" class="headerlink" title="第 1 阶段（节点级）"></a>第 1 阶段（节点级）</h2><h3 id="nvbandwidth-——-H2D-D2H-D2D-带宽"><a href="#nvbandwidth-——-H2D-D2H-D2D-带宽" class="headerlink" title="nvbandwidth —— H2D &#x2F; D2H &#x2F; D2D 带宽"></a>nvbandwidth —— H2D &#x2F; D2H &#x2F; D2D 带宽</h3><p><a href="https://github.com/NVIDIA/nvbandwidth">nvbandwidth</a> 是 NVIDIA 官方的 GPU 带宽测试工具。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 编译（需要 boost）</span><br>cmake .<br>make -j $(<span class="hljs-built_in">nproc</span>)<br><br><span class="hljs-comment"># 列出所有 case</span><br>./nvbandwidth -h<br></code></pre></td></tr></table></figure><h4 id="两种执行单元：CE-vs-SM"><a href="#两种执行单元：CE-vs-SM" class="headerlink" title="两种执行单元：CE vs SM"></a>两种执行单元：CE vs SM</h4><p><strong>Copy Engine (CE)</strong>：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">CE 是 GPU 内部的 DMA（Direct Memory Access）引擎，独立于 SM<br>当 CPU/GPU 发起 CE 拷贝时，向 DMA 控制器发一组描述符<br>（源地址、目的地址、数据大小），DMA 接管 PCIe / NVLink 总线和显存控制器，直接搬比特流<br>仅搬数据，不能做计算或格式转换；数量、吞吐硬件 fix<br><br>cudaMemcpy / cudaMemcpyAsync 通常底层就用 CE<br>CE 测出来的数值是 NVLink 理论的 ~80% 即合格<br></code></pre></td></tr></table></figure><p><strong>Streaming Multiprocessor (SM)</strong>：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">SM 是流式多处理器（含 CUDA Core、寄存器、shared memory、Load/Store）<br>SM 拷贝是把搬运当成 CUDA Kernel 跑<br>GPU 启动成千上万线程，每线程负责一小块数据<br>线程通过 PTX 的 LD/ST 指令搬数据<br>极依赖内存合并（Memory Coalescing）：一个 Warp 32 线程同时访连续地址<br>显存控制器会合并成 128 字节宽事务，打满 HBM 带宽<br><br>SM 在做带宽测试时显然干不了别的（计算）<br>SM 效率会更低，~75-80% 算合理<br>典型地，CE 比 SM 效率高（CE 是专用 DMA 硬件）<br></code></pre></td></tr></table></figure><h4 id="使用模式"><a href="#使用模式" class="headerlink" title="使用模式"></a>使用模式</h4><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 列出所有测试</span><br>./nvbandwidth -t list<br><br><span class="hljs-comment"># 跑 host-to-device、device-to-host、device-to-device 全套</span><br>./nvbandwidth -t 0,1,2,3<br><br><span class="hljs-comment"># 只跑特定测试</span><br>./nvbandwidth -t host_to_device_memcpy_ce<br>./nvbandwidth -t device_to_device_memcpy_write_sm<br></code></pre></td></tr></table></figure><h4 id="期望数值"><a href="#期望数值" class="headerlink" title="期望数值"></a>期望数值</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">H100 SXM5 单卡：<br>  H2D PCIe Gen5 x16：  ~52 GB/s（理论 64）<br>  D2H PCIe Gen5 x16：  ~52 GB/s<br>  D2D NVLink 4 双向：  ~720 GB/s（理论 900）<br><br>B200 SXM5 单卡：<br>  D2D NVLink 5 双向：  ~1500 GB/s（理论 1800）<br></code></pre></td></tr></table></figure><p>低于上述 80% 一般是 PCIe lane &#x2F; NVLink 链路问题。</p><h3 id="GEMM-算力测试"><a href="#GEMM-算力测试" class="headerlink" title="GEMM 算力测试"></a>GEMM 算力测试</h3><p>测算力 &#x3D; 测 GEMM（General Matrix Multiply）—— 几乎所有 AI workload 的基础原语。</p><h4 id="关键调优要点"><a href="#关键调优要点" class="headerlink" title="关键调优要点"></a>关键调优要点</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">锁频：测试前必须 nvidia-smi -lgc &lt;clock&gt; 锁 GPU 频率<br>      否则 GPU Boost 会抖动，无法横向对比<br><br>Warmup：所有工具计时前必须预热（空跑几圈）<br>        否则第一次包含 PTX JIT 编译或库加载时间，数据不准<br><br>矩阵尺寸：要测出峰值算力，M, N, K 必须足够大（4096+）<br>         且最好是 8 或 16 倍数（Tensor Core 对齐）<br></code></pre></td></tr></table></figure><h4 id="工具家族"><a href="#工具家族" class="headerlink" title="工具家族"></a>工具家族</h4><p><strong>cublasMatmulBench</strong>（NVIDIA 内部 &#x2F; NDA 工具，集成在 benchmark guide）：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># INT8</span><br>cublasMatmulBench -P=bisb_imma -m=8192 -n=3456 -k=16384 -T=1000 -ta=1 -B=0<br><span class="hljs-comment"># FP16</span><br>cublasMatmulBench -P=hsh -m=12288 -n=9216 -k=32768 -T=1000 -tb=1 -B=0<br><span class="hljs-comment"># TF32</span><br>cublasMatmulBench -P=sss_fast_tf32 -m=8192 -n=3456 -k=16384 -T=1000 -ta=1 -B=0<br><span class="hljs-comment"># FP32</span><br>cublasMatmulBench -P=ddd -m=3456 -n=2048 -k=16384 -T=1000 -tb=1 -B=0<br><span class="hljs-comment"># FP64</span><br>cublasMatmulBench -P=sss -m=3456 -n=2048 -k=16384 -T=1000 -tb=1 -B=0<br></code></pre></td></tr></table></figure><p><strong>GEMM CublasLt</strong> —— 公开 Python 版：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs text">https://github.com/Azure/AI-benchmarking-guide/blob/main/Benchmarks/NVIDIA/GEMMCublasLt.py<br></code></pre></td></tr></table></figure><p><strong>batchBLAS</strong> —— CUDA Samples 自带：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs text">cuda_samples / 4_CUDA_Libraries / batchCUBLAS<br></code></pre></td></tr></table></figure><p><strong>MAMF Finder</strong>（开源）：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs text">https://github.com/stas00/ml-engineering/blob/master/compute/accelerator/benchmarks/mamf-finder.py<br>帮你找出最高 achievable GEMM 算力（&quot;Maximum Achievable Matmul FLOPS&quot;）<br></code></pre></td></tr></table></figure><h4 id="期望算力（dense-throughput）"><a href="#期望算力（dense-throughput）" class="headerlink" title="期望算力（dense throughput）"></a>期望算力（dense throughput）</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs text">H100 SXM5：<br>  FP8：     3958 TFLOPS dense<br>  FP16/BF16： 1979 TFLOPS dense<br>  TF32：    989 TFLOPS dense<br>  FP64：    67 TFLOPS dense<br><br>B200 SXM5：<br>  FP4：     18000 TFLOPS dense<br>  FP8：     9000 TFLOPS dense<br>  FP16/BF16： 2250 TFLOPS dense<br>  FP64：    40 TFLOPS dense<br></code></pre></td></tr></table></figure><p>跑出来 ≥ 90% 理论值算合格。低于 80% 排查锁频 &#x2F; NUMA &#x2F; cuBLAS 版本。</p><h3 id="DCGM-diag-——-节点健康自检"><a href="#DCGM-diag-——-节点健康自检" class="headerlink" title="DCGM diag —— 节点健康自检"></a>DCGM diag —— 节点健康自检</h3><p><a href="https://developer.nvidia.com/dcgm">NVIDIA DCGM</a> 是 GPU 监控 + 诊断工具：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs bash">dcgmi diag -r 1   <span class="hljs-comment"># 快速 (~30s)</span><br>dcgmi diag -r 2   <span class="hljs-comment"># 中等 (~5min)</span><br>dcgmi diag -r 3   <span class="hljs-comment"># 完整（含压力测试，~30min）</span><br>dcgmi diag -r 4   <span class="hljs-comment"># 长时（含 thermal stress, ~1h+）</span><br></code></pre></td></tr></table></figure><p><code>-r 3</code> 通常够节点初验。<code>-r 4</code> 用于客户怀疑 thermal throttle 时跑长时间压测。</p><h2 id="第-2-阶段（机柜-Pod-级）"><a href="#第-2-阶段（机柜-Pod-级）" class="headerlink" title="第 2 阶段（机柜 &#x2F; Pod 级）"></a>第 2 阶段（机柜 &#x2F; Pod 级）</h2><h3 id="NCCL-tests-——-集合通信带宽"><a href="#NCCL-tests-——-集合通信带宽" class="headerlink" title="NCCL-tests —— 集合通信带宽"></a>NCCL-tests —— 集合通信带宽</h3><p><a href="https://github.com/NVIDIA/nccl-tests">NCCL-tests</a> 是事实标准。前一篇已展开测试列表（all_reduce_perf 等）和 algbw &#x2F; busbw 区别。</p><h4 id="NVL72-多机不同规模-busbw-基线"><a href="#NVL72-多机不同规模-busbw-基线" class="headerlink" title="NVL72 &#x2F; 多机不同规模 busbw 基线"></a>NVL72 &#x2F; 多机不同规模 busbw 基线</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">单机 8 卡 H100 NVLink 4：     AllReduce busbw ~370-400 GB/s<br>单机 8 卡 B200 NVLink 5：     AllReduce busbw ~700-900 GB/s<br>NVL72 72 卡 NVLink 5：       AllReduce busbw ~700-900 GB/s<br>跨节点 H100 + IB NDR 单端口：  ~50 GB/s 量级<br>跨节点 H100 + IB NDR 双端口：  ~100 GB/s<br>SuperPOD H100 256-GPU NVLink Network：达到 100+ GB/s<br>SHARP 启用后大规模 AllReduce：~2× 提升<br></code></pre></td></tr></table></figure><blockquote><p>待补充：完整 NVL72 &#x2F; NVL576 &#x2F; DGX SuperPOD 不同 message size 的 busbw 表。</p></blockquote><h4 id="排障思路"><a href="#排障思路" class="headerlink" title="排障思路"></a>排障思路</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">1. NCCL_DEBUG=INFO 看选了哪个 algorithm + protocol<br>2. 拓扑：nvidia-smi topo -m 看 NVLink / PCIe / SYS 矩阵<br>3. 网络：nccl-tests 加 -x NCCL_IB_HCA=mlx5_0,mlx5_1 显式指定<br>4. SHARP：NCCL_COLLNET_ENABLE=1<br>5. P2P：NCCL_P2P_LEVEL 控制是否走 P2P / 强制走 NIC<br></code></pre></td></tr></table></figure><h3 id="ClusterKit-——-SuperPOD-验收快速-sanity-check"><a href="#ClusterKit-——-SuperPOD-验收快速-sanity-check" class="headerlink" title="ClusterKit —— SuperPOD 验收快速 sanity check"></a>ClusterKit —— SuperPOD 验收快速 sanity check</h3><p><a href="https://developer.nvidia.com/networking/hpc-x">NVIDIA HPC-X</a> 自带的集群验证工具集：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">clusterkit 主入口<br>单对 / 全对 latency-bandwidth<br>GPU↔GPU、CPU↔GPU 多组合<br>报告生成与 baseline 比对<br></code></pre></td></tr></table></figure><p>ClusterKit 是 SuperPOD 验收里”几分钟出全图”的工具，比手工拼 nccl-tests 高效。</p><blockquote><p>完整使用示例多在 Partner &#x2F; NVIDIA 内部 RA，等待补充。</p></blockquote><h3 id="MLPerf"><a href="#MLPerf" class="headerlink" title="MLPerf"></a>MLPerf</h3><p><a href="https://mlcommons.org/benchmarks/">MLCommons MLPerf</a> 是行业内 NVIDIA &#x2F; Google &#x2F; Intel &#x2F; AMD 加速器对比的标准入口。</p><p>主要类别：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">MLPerf Training      — pretraining / fine-tuning<br>MLPerf Inference     — Datacenter / Edge<br>MLPerf HPC           — 科学计算<br>MLPerf Storage       — 存储吞吐<br>MLPerf Power         — 能效<br>MLPerf Client/Mobile/Tiny — 端侧<br></code></pre></td></tr></table></figure><p>NVIDIA 通常以 DGX &#x2F; HGX &#x2F; GB200 系统提交：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs text">详细工程报告：     NVIDIA blog 与 GitHub repo nvidia/MLPerf*<br>复现工件：         NeMo / Megatron / TensorRT-LLM 等<br></code></pre></td></tr></table></figure><ul><li>NVIDIA MLPerf blog 索引：<a href="https://developer.nvidia.com/blog/tag/mlperf/">https://developer.nvidia.com/blog/tag/mlperf/</a></li><li>NVIDIA submission repos：<a href="https://github.com/mlcommons">https://github.com/mlcommons</a></li></ul><blockquote><p>待补充：跟踪最新一轮 MLPerf Training&#x2F;Inference 中 NVIDIA 的 SoTA 数字。</p></blockquote><h4 id="怎么读-MLPerf-结果"><a href="#怎么读-MLPerf-结果" class="headerlink" title="怎么读 MLPerf 结果"></a>怎么读 MLPerf 结果</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">Closed Division：    严格规则，能直接横比<br>Open Division：      开放优化，看创新方向<br>&quot;提交规模&quot;：         看 GPU 数（8 / 64 / 1024 / 11000+）<br>&quot;模型 / 任务&quot;：       Llama-2 70B, GPT-3 175B, BERT, ResNet-50, RNN-T, Stable Diffusion ...<br>&quot;指标&quot;：             Training time-to-train（分钟）/ Inference QPS、samples/sec<br></code></pre></td></tr></table></figure><p>NVIDIA 几乎每轮都是榜首——<strong>这是 NVIDIA 卖 GPU 的”市场背书”</strong>。但 SoTA 数字基于”DGX SuperPOD 万卡级 + 整套 SW stack”——客户实际能不能复现要看自己软硬件配置。</p><h2 id="第-3-阶段（应用级）"><a href="#第-3-阶段（应用级）" class="headerlink" title="第 3 阶段（应用级）"></a>第 3 阶段（应用级）</h2><h3 id="NeMo-Megatron-Burn-in-烧机"><a href="#NeMo-Megatron-Burn-in-烧机" class="headerlink" title="NeMo &#x2F; Megatron Burn-in 烧机"></a>NeMo &#x2F; Megatron Burn-in 烧机</h3><p>集群级烧机测试通常用 NeMo &#x2F; Megatron 跑真实 training step 数小时～数十小时，监控：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">Tokens/sec 稳定性<br>GPU / HBM 温度<br>链路 down / NCCL timeout<br>训练 loss 曲线是否平滑<br></code></pre></td></tr></table></figure><h4 id="关键监控"><a href="#关键监控" class="headerlink" title="关键监控"></a>关键监控</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">DCGM Exporter → Prometheus → Grafana<br>NetQ / UFM 链路 telemetry<br>SLURM / Run:ai 任务日志<br></code></pre></td></tr></table></figure><h4 id="典型烧机配置"><a href="#典型烧机配置" class="headerlink" title="典型烧机配置"></a>典型烧机配置</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">模型：           Llama-2 70B / GPT-3 175B / Llama-3 8B（轻量）<br>数据集：         合成数据或 C4 子集<br>精度：           BF16 + FP8 (TE)<br>batch / seq：    跟 NVIDIA reference recipe<br>并行：           TP=8 + PP=8 + DP=N（按集群规模）<br>时长：           24h（短）/ 72h（中）/ 7 天（长）<br></code></pre></td></tr></table></figure><blockquote><p>标准烧机时长 &#x2F; 阈值多来自 RA，等待补充。</p></blockquote><h4 id="通过标准"><a href="#通过标准" class="headerlink" title="通过标准"></a>通过标准</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">Tokens/sec：     稳定（&lt; 5% 抖动）<br>loss 曲线：      平滑下降，无 NaN / Inf<br>GPU 温度：       &lt; 85°C 持续<br>HBM 温度：       &lt; 95°C 持续<br>NCCL timeout：  0 次<br>节点重启：       0 次<br></code></pre></td></tr></table></figure><p>任何一项失败 → 排查节点 &#x2F; 链路 &#x2F; 散热，整改后重测。</p><h3 id="vLLM-TensorRT-LLM-推理验收"><a href="#vLLM-TensorRT-LLM-推理验收" class="headerlink" title="vLLM &#x2F; TensorRT-LLM 推理验收"></a>vLLM &#x2F; TensorRT-LLM 推理验收</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># vLLM 自带 benchmark</span><br>python -m vllm.entrypoints.openai.api_server --model meta-llama/Llama-3-70B<br>python benchmark_serving.py --num-prompts 1000 --request-rate 10<br><br><span class="hljs-comment"># TensorRT-LLM perf</span><br>trtllm-bench --model_path /path/to/llama3 --max_batch_size 32 throughput<br></code></pre></td></tr></table></figure><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">观察：<br>  P50 / P99 TTFT（Time To First Token）<br>  P50 / P99 TPOT（Time Per Output Token）<br>  Throughput（tokens/sec）<br>  GPU 利用率（nvidia-smi dmon）<br>  HBM 占用<br></code></pre></td></tr></table></figure><p>不同模型 &#x2F; 量化 &#x2F; 序列长度组合下数字差很多——验收前先和客户对齐”业务侧 SLA”，再选基线。</p><h2 id="一张验收表"><a href="#一张验收表" class="headerlink" title="一张验收表"></a>一张验收表</h2><table><thead><tr><th>阶段</th><th>工具</th><th>通过标准</th></tr></thead><tbody><tr><td>节点</td><td>DCGM diag -r 3</td><td>All PASS</td></tr><tr><td>节点</td><td>nvbandwidth</td><td>NVLink ≥ 80% 理论</td></tr><tr><td>节点</td><td>cublasMatmulBench</td><td>FP8&#x2F;FP16 ≥ 90% peak</td></tr><tr><td>节点</td><td>HPL</td><td>效率 70-80%</td></tr><tr><td>节点</td><td>HPL-MxP</td><td>Tensor Core 跑出</td></tr><tr><td>机柜</td><td>nccl-tests all_reduce</td><td>busbw 符合基线</td></tr><tr><td>机柜</td><td>nccl-tests alltoall</td><td>MoE 路径 OK</td></tr><tr><td>机柜</td><td>SHARP 启用</td><td>大消息 ~2× 提升</td></tr><tr><td>应用</td><td>NeMo &#x2F; Megatron 24h+</td><td>tokens&#x2F;sec 稳 &#x2F; loss 平</td></tr><tr><td>应用</td><td>vLLM &#x2F; TRT-LLM</td><td>TTFT&#x2F;TPOT 满足 SLA</td></tr></tbody></table><h2 id="为什么不能跳阶段"><a href="#为什么不能跳阶段" class="headerlink" title="为什么不能跳阶段"></a>为什么不能跳阶段</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs text">跳节点 → 集群：<br>  单卡有 thermal throttle，集群表现像&quot;扩展性差&quot;<br>  排查时 N×N 排错，浪费几天<br>  <br>跳机柜 → 应用：<br>  AllReduce busbw 不达标，但训练能跑（只是 MFU 低）<br>  → 客户拿到集群训练 MFU 30%，怀疑硬件<br>  → 实际是网络 ~30% 折损<br>  → 排查极困难<br>  <br>所以三阶段必须按顺序跑过<br></code></pre></td></tr></table></figure><h2 id="一些坑"><a href="#一些坑" class="headerlink" title="一些坑"></a>一些坑</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 锁频忘了：<br>   GPU Boost 让单次 GEMM 跑出 110% 理论<br>   → 多次跑分波动 10%+<br>   <br>2. NUMA 没绑：<br>   nvidia-smi topo -m 显示 GPU 0 应该在 numa node 0<br>   实际 mpirun 把进程跑到 numa node 1<br>   → 跨 socket 链路加 30-50% 延迟<br>   <br>3. PCIe 降速：<br>   nvidia-smi 查&quot;GPU Link Width&quot;应该是 16x，&quot;Link Generation&quot;应该是 5<br>   实际 5 → 3，链路问题，需要重新插或换板<br>   <br>4. 容器版本不对：<br>   NVIDIA hpc-benchmarks 容器有不同版本（24.06 / 24.09 / 24.12）<br>   大模型测试要 PyTorch + CUDA + cuDNN + NCCL 全套版本对齐<br>   → 不对齐有时候慢一倍<br>   <br>5. 客户拿走 baseline 自己跑出来不一致：<br>   客户没跑 nvidia-smi -lgc 锁频<br>   客户用了不同 BIOS / Power Profile<br>   客户驱动版本不一致<br>   → 一定要把 reproduce 文档写细<br></code></pre></td></tr></table></figure><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>AI 集群验收三阶段：节点 → 机柜 → 应用，缺一不可</li><li>节点级：nvbandwidth + cublasMatmulBench + DCGM diag + HPL</li><li>机柜级：nccl-tests（busbw）+ ClusterKit + SHARP 验证</li><li>应用级：NeMo&#x2F;Megatron 24h+ burn-in + vLLM&#x2F;TRT-LLM 推理 SLA</li><li>MLPerf 是行业标尺，看 SoTA 但客户复现要慎重</li><li>锁频、NUMA、PCIe、版本是四大坑</li></ul><p>下一篇讲服务器认证体系——CCC、CE、FCC、能效之星、NVIDIA-Certified。</p>]]>
    </content>
    <id>http://localhost:4000/posts/6a1f0b05/</id>
    <link href="http://localhost:4000/posts/6a1f0b05/"/>
    <published>2026-05-10T08:25:00.000Z</published>
    <summary>AI 集群验收&quot;三阶段&quot;：节点级算力 + 带宽、机柜级集合通信、应用级 NeMo 真训练。本文按 NVIDIA SA 视角串完 cuBLASMatmulBench / nvbandwidth / NCCL-tests / MLPerf / NeMo burn-in。</summary>
    <title>AI 基准 —— MLPerf、cuBLAS、nvbandwidth、NCCL-tests、NeMo 烧机</title>
    <updated>2026-06-15T02:37:52.334Z</updated>
  </entry>
  <entry>
    <category term="09-基准测试与认证" scheme="http://localhost:4000/categories/09-%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95%E4%B8%8E%E8%AE%A4%E8%AF%81/"/>
    <category term="fio" scheme="http://localhost:4000/tags/fio/"/>
    <category term="iperf" scheme="http://localhost:4000/tags/iperf/"/>
    <category term="ib_write_bw" scheme="http://localhost:4000/tags/ib-write-bw/"/>
    <category term="SPECsfs" scheme="http://localhost:4000/tags/SPECsfs/"/>
    <content>
      <![CDATA[<p>存储和网络两条线的 benchmark 在集群验收里同样占大头——HPL 测 GPU、fio 测盘、iperf&#x2F;perftest 测网。本文讲实操。</p><!-- more --><h2 id="存储-benchmark-的几个层级"><a href="#存储-benchmark-的几个层级" class="headerlink" title="存储 benchmark 的几个层级"></a>存储 benchmark 的几个层级</h2><pre><code class=" mermaid">graph TB  L1[块设备 / RAW&lt;br/&gt;fio / iozone]  L2[文件系统&lt;br/&gt;fio + ext4/xfs/zfs]  L3[NAS / 网络文件&lt;br/&gt;SPECsfs / fio over NFS]  L4[分布式存储&lt;br/&gt;IO500 / Gluster bench / Ceph bench]  L5[GPUDirect Storage&lt;br/&gt;gdsio / NVIDIA fio plugin]  L1 --&gt; L2 --&gt; L3 --&gt; L4 --&gt; L5</code></pre><p>各层关注点不同。<strong>测 SSD 性能用 fio 直对块设备；测分布式文件系统用 IO500</strong>。</p><h2 id="fio-——-块-文件存储基准事实标准"><a href="#fio-——-块-文件存储基准事实标准" class="headerlink" title="fio —— 块&#x2F;文件存储基准事实标准"></a>fio —— 块&#x2F;文件存储基准事实标准</h2><p><a href="https://github.com/axboe/fio">fio</a> 是 Jens Axboe（Linux block layer 作者）写的，块&#x2F;文件存储测试事实标准。</p><h3 id="关键参数"><a href="#关键参数" class="headerlink" title="关键参数"></a>关键参数</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs bash">fio \<br>  --name=<span class="hljs-built_in">test</span> \<br>  --filename=/dev/nvme0n1 \   <span class="hljs-comment"># 直接对块设备</span><br>  --rw=randread \              <span class="hljs-comment"># 模式</span><br>  --bs=4k \                    <span class="hljs-comment"># 块大小</span><br>  --iodepth=128 \              <span class="hljs-comment"># 队列深度</span><br>  --numjobs=8 \                <span class="hljs-comment"># 并发线程</span><br>  --runtime=300 \              <span class="hljs-comment"># 持续秒数</span><br>  --time_based \<br>  --group_reporting \<br>  --ioengine=libaio \          <span class="hljs-comment"># 引擎（io_uring 也常用）</span><br>  --direct=1                    <span class="hljs-comment"># 绕过 page cache</span><br></code></pre></td></tr></table></figure><h3 id="五个标准-workload"><a href="#五个标准-workload" class="headerlink" title="五个标准 workload"></a>五个标准 workload</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">seq_read：     大块顺序读     → 测带宽 GB/s<br>seq_write：    大块顺序写     → 测带宽 GB/s<br>rand_read：    4K 随机读      → 测 IOPS / 延迟<br>rand_write：   4K 随机写      → 测 IOPS / 延迟（写最痛苦）<br>70/30 mix：    70% 读 30% 写  → 模拟真实数据库<br></code></pre></td></tr></table></figure><h3 id="看哪几个数字"><a href="#看哪几个数字" class="headerlink" title="看哪几个数字"></a>看哪几个数字</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">IOPS：      每秒 IO 操作数<br>bw：        带宽（MB/s 或 GB/s）<br>clat avg/95/99/99.9：  完成延迟分布<br>clat stddev：          延迟抖动（越小越稳）<br>util：      设备利用率（高 ≠ 满，注意 multipath）<br></code></pre></td></tr></table></figure><p>P99&#x2F;P999 延迟比平均延迟更重要——<strong>用户感知的是”慢请求的尾巴”</strong>。</p><h3 id="一些经验值"><a href="#一些经验值" class="headerlink" title="一些经验值"></a>一些经验值</h3><table><thead><tr><th>介质</th><th>顺序读</th><th>4K 随机读 IOPS</th><th>P99 延迟</th></tr></thead><tbody><tr><td>7200 转 HDD</td><td>200 MB&#x2F;s</td><td>100-200</td><td>10-30 ms</td></tr><tr><td>SATA SSD</td><td>550 MB&#x2F;s</td><td>50K-100K</td><td>&lt; 1 ms</td></tr><tr><td>NVMe Gen4 SSD</td><td>7 GB&#x2F;s</td><td>1M</td><td>&lt; 100 μs</td></tr><tr><td><strong>NVMe Gen5 SSD</strong></td><td><strong>14 GB&#x2F;s</strong></td><td><strong>2M</strong></td><td>&lt; 100 μs</td></tr><tr><td>Optane PMem（已停产）</td><td>6 GB&#x2F;s</td><td>0.5M</td><td>&lt; 10 μs</td></tr></tbody></table><p>新代次（PCIe Gen5 NVMe）一颗盘 IOPS 已经够干掉传统 RAID 阵列。</p><h3 id="跑-fio-的几个坑"><a href="#跑-fio-的几个坑" class="headerlink" title="跑 fio 的几个坑"></a>跑 fio 的几个坑</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><code class="hljs text">1. direct=1 必须加<br>   → 不加 direct，page cache 会让&quot;随机读&quot;变成&quot;内存读&quot;<br><br>2. fio 之前 fio --filename=... --rw=write --io_size=400G 预热<br>   → SSD 没写过的页（trim 状态）读出来很快但是假象<br><br>3. 队列深度 iodepth：<br>   → 单线程 NVMe 测 IOPS 至少 32-128<br>   → SATA SSD iodepth=32 即可（HBA 队列限制）<br><br>4. 多线程 numjobs：<br>   → 测带宽用 numjobs=多个、bs 大<br>   → 测 IOPS 用 numjobs=多个、bs=4k<br><br>5. runtime 至少 5 分钟<br>   → SSD 有 SLC cache，开始几秒数字虚高<br>   → 真实长时持续 IOPS 通常 30-50% 峰值<br><br>6. 不要测整盘 100% 容量<br>   → 写满后 GC 触发，性能崩<br>   → 留 10-20% OP（over-provisioning）<br></code></pre></td></tr></table></figure><h2 id="SPECsfs-——-NAS-文件存储基准"><a href="#SPECsfs-——-NAS-文件存储基准" class="headerlink" title="SPECsfs —— NAS &#x2F; 文件存储基准"></a>SPECsfs —— NAS &#x2F; 文件存储基准</h2><p><a href="https://www.spec.org/sfs2020/">SPEC SFS 2014 &#x2F; SPECstorage Solution 2020</a> 是 NAS 选型主基准。</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">4 个 workload pattern：<br>  SWBUILD     软件构建（小文件密集）<br>  VDA         视频数据采集（大顺序写）<br>  EDA         电路设计（混合读写）<br>  AI_IMAGE    AI 训练数据集（小文件随机读）<br><br>指标：<br>  ops/sec（操作数）<br>  ORT（Overall Response Time，关键阈值）<br></code></pre></td></tr></table></figure><p>NetApp &#x2F; Pure &#x2F; IBM &#x2F; Huawei OceanStor 等存储厂家在 SPEC 官网定期提交结果——是 NAS 招标的硬指标。</p><h2 id="IO500-——-分布式存储榜"><a href="#IO500-——-分布式存储榜" class="headerlink" title="IO500 —— 分布式存储榜"></a>IO500 —— 分布式存储榜</h2><p><a href="https://io500.org/">IO500</a> 半年度榜单，分布式 &#x2F; HPC 存储事实尺。</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs text">工作负载：<br>  IOR easy / hard：    带宽<br>  mdtest easy / hard：  元数据<br>  find：               遍历<br><br>子分数：<br>  Bandwidth + Metadata = IO500 score（GiB/s × kIOPS）<br><br>榜单：<br>  Frontier (ORNL Lustre)：     ~5000 IO500 score<br>  WekaFS in 多家 site<br>  GPFS / Spectrum Scale<br>  Ceph<br></code></pre></td></tr></table></figure><blockquote><p>待补充：2026 年最新 IO500 榜单。</p></blockquote><p>GPU 集群验收里<strong>通常会跑 IOR &#x2F; mdtest 而不是完整 IO500</strong>——要的就是带宽和元数据上限。</p><h2 id="GPUDirect-Storage-基准"><a href="#GPUDirect-Storage-基准" class="headerlink" title="GPUDirect Storage 基准"></a>GPUDirect Storage 基准</h2><p><a href="https://docs.nvidia.com/gpudirect-storage/">GPUDirect Storage (GDS)</a> 让 NVMe 数据直通 GPU 显存，绕开 CPU bounce buffer。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># NVIDIA 自带 gdsio 工具</span><br>gdsio -d 0 -D /mnt/wekafs -w 8 -s 1G -i 1024K -I 0 -x 0 -T 60<br><span class="hljs-comment"># -d device, -D dir, -w workers, -s size, -i I/O size, -I direction(read), -T runtime</span><br></code></pre></td></tr></table></figure><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">观察：<br>  GiB/s：           直通带宽<br>  CPU 利用率：       应该接近 0（成功 bypass）<br>  HBM 占用：         数据应该出现在 GPU 显存<br></code></pre></td></tr></table></figure><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs text">传统路径：     SSD → DMA → CPU RAM → PCIe → GPU HBM    （瓶颈：CPU bounce + PCIe 一圈）<br>GDS：         SSD → DMA → PCIe → GPU HBM             （直接，~3-5× 带宽）<br></code></pre></td></tr></table></figure><p>LLM checkpoint &#x2F; dataloader 用 GDS 显著提升——这就是为什么 WekaFS &#x2F; DDN &#x2F; VAST 等 AI 存储厂商都强调 GDS 认证。</p><h2 id="网络基准"><a href="#网络基准" class="headerlink" title="网络基准"></a>网络基准</h2><h3 id="iperf-iperf3-——-TCP-UDP-吞吐"><a href="#iperf-iperf3-——-TCP-UDP-吞吐" class="headerlink" title="iperf &#x2F; iperf3 —— TCP&#x2F;UDP 吞吐"></a>iperf &#x2F; iperf3 —— TCP&#x2F;UDP 吞吐</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 服务端</span><br>iperf3 -s<br><br><span class="hljs-comment"># 客户端</span><br>iperf3 -c &lt;server_ip&gt; -t 60 -P 8 -O 5<br><span class="hljs-comment"># -t 60s, -P 8 并发流, -O 5 omit 前 5s 预热</span><br></code></pre></td></tr></table></figure><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">观察：<br>  GBits/sec：    总吞吐<br>  Retransmits：  重传（网络丢包指标）<br>  RTT：          基础延迟<br></code></pre></td></tr></table></figure><h3 id="qperf-netperf-——-延迟-吞吐综合"><a href="#qperf-netperf-——-延迟-吞吐综合" class="headerlink" title="qperf &#x2F; netperf —— 延迟 + 吞吐综合"></a>qperf &#x2F; netperf —— 延迟 + 吞吐综合</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># qperf 服务端</span><br>qperf<br><br><span class="hljs-comment"># 客户端</span><br>qperf &lt;server&gt; -t 30 tcp_bw tcp_lat<br></code></pre></td></tr></table></figure><p>netperf 更老牌，cloud 自己测试常用。</p><h3 id="ib-write-bw-ib-read-bw-ib-send-lat-——-InfiniBand-RDMA"><a href="#ib-write-bw-ib-read-bw-ib-send-lat-——-InfiniBand-RDMA" class="headerlink" title="ib_write_bw &#x2F; ib_read_bw &#x2F; ib_send_lat —— InfiniBand RDMA"></a>ib_write_bw &#x2F; ib_read_bw &#x2F; ib_send_lat —— InfiniBand RDMA</h3><p><a href="https://github.com/linux-rdma/perftest">perftest</a> 套件：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 服务端</span><br>ib_write_bw -d mlx5_0 -F<br><br><span class="hljs-comment"># 客户端</span><br>ib_write_bw -d mlx5_0 -F &lt;server_ip&gt; --report_gbits<br></code></pre></td></tr></table></figure><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">ib_write_bw：    单向 RDMA Write 带宽<br>ib_read_bw：     单向 RDMA Read 带宽（通常稍低于 Write）<br>ib_send_bw：     SEND 操作带宽<br>ib_write_lat：   单向 RDMA Write 延迟<br>ib_send_lat：    SEND 延迟<br></code></pre></td></tr></table></figure><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">NDR 400G InfiniBand 单端口 期望：<br>  ib_write_bw：    ≈ 380-395 Gbit/s（理论 400G 的 ~95%）<br>  ib_write_lat：   &lt; 1 μs（机内）<br>  <br>跨柜（OSFP 光缆 + Quantum-2 交换机）：<br>  ib_write_bw：    ≈ 360-390 Gbit/s<br>  ib_write_lat：   ~2-5 μs<br></code></pre></td></tr></table></figure><p>低于这个数就要排查 cable &#x2F; FEC &#x2F; GPU NUMA &#x2F; firmware。</p><h3 id="NCCL-tests-——-集合通信"><a href="#NCCL-tests-——-集合通信" class="headerlink" title="NCCL-tests —— 集合通信"></a>NCCL-tests —— 集合通信</h3><p>GPU 集群验收必跑。NVIDIA SA 视图里：</p><table><thead><tr><th>测试</th><th>含义</th></tr></thead><tbody><tr><td><code>all_reduce_perf</code></td><td>AllReduce 带宽（最关键）</td></tr><tr><td><code>all_gather_perf</code></td><td>AllGather</td></tr><tr><td><code>reduce_scatter_perf</code></td><td>ReduceScatter</td></tr><tr><td><code>broadcast_perf</code></td><td>Broadcast</td></tr><tr><td><code>reduce_perf</code></td><td>Reduce</td></tr><tr><td><code>alltoall_perf</code></td><td>AllToAll（MoE 关键）</td></tr><tr><td><code>sendrecv_perf</code></td><td>Point-to-point</td></tr></tbody></table><p>关键指标：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs text">busbw (bus bandwidth)：考虑算法因子后的&quot;真实&quot;带宽，跨规模可比<br>algbw (algorithm bandwidth)：原始数据量 / 时间<br></code></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 单机 8 卡</span><br>all_reduce_perf -b 1G -e 16G -f 2 -g 8<br><br><span class="hljs-comment"># 多机（结合 mpirun + slurm）</span><br>mpirun -np 64 -hostfile hosts.txt \<br>  -x NCCL_DEBUG=INFO -x NCCL_IB_HCA=mlx5_0,mlx5_1 \<br>  all_reduce_perf -b 1G -e 16G -f 2<br></code></pre></td></tr></table></figure><p>常用环境变量：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">NCCL_IB_HCA       指定 HCA<br>NCCL_TESTS_SPLIT  拆分通信器<br>NCCL_ALGO         算法（Tree / Ring）<br>NCCL_PROTO        协议（Simple / LL / LL128）<br>NCCL_DEBUG=INFO   排障<br></code></pre></td></tr></table></figure><h3 id="busbw-期望值（H100-B200-单机-8-GPU）"><a href="#busbw-期望值（H100-B200-单机-8-GPU）" class="headerlink" title="busbw 期望值（H100 &#x2F; B200 单机 8 GPU）"></a>busbw 期望值（H100 &#x2F; B200 单机 8 GPU）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">H100 SXM5 8 GPU AllReduce busbw：    ~370-400 GB/s（NVLink 4 域内）<br>B200 SXM5 8 GPU AllReduce busbw：    ~700-900 GB/s（NVLink 5 域内）<br>NVL72 72 GPU AllReduce busbw：       ~700-900 GB/s（NVLink 5，72-domain）<br>跨节点 8节点 H100 over IB NDR：       ~80-100 GB/s（IB 限制）<br></code></pre></td></tr></table></figure><p>低于这个值优先排查：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">1. NVLink 拓扑（nvidia-smi topo -m）<br>2. PCIe Gen5 x16 是否 lane 全开<br>3. NCCL_TOPO_FILE / NCCL_GRAPH_FILE 是否被错误使用<br>4. NUMA binding（mpirun 加 PE=12 / map-by 等）<br>5. ATS / PCIe ACS 是否关闭<br></code></pre></td></tr></table></figure><h2 id="SHARP-——-InfiniBand-内-in-network-compute"><a href="#SHARP-——-InfiniBand-内-in-network-compute" class="headerlink" title="SHARP —— InfiniBand 内 in-network compute"></a>SHARP —— InfiniBand 内 in-network compute</h2><p>NVIDIA Quantum-2 &#x2F; Quantum-3 交换机支持 SHARPv3：<strong>AllReduce 在交换机内完成</strong>，减少 NIC 流量。</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">普通 RDMA AllReduce：<br>  每节点把数据通过 NIC → 交换机 → NIC 给其他节点 → 累加<br>  N 节点 = N 倍流量<br>  <br>SHARP：<br>  数据进交换机后在芯片内累加，结果广播回去<br>  N 节点 ≈ 2 倍流量<br>  → 大规模 AllReduce 性能跃升<br></code></pre></td></tr></table></figure><p>跑 NCCL-tests 时打 <code>NCCL_COLLNET_ENABLE=1</code> 启用 SHARP 路径。</p><h2 id="一张速查"><a href="#一张速查" class="headerlink" title="一张速查"></a>一张速查</h2><table><thead><tr><th>层级</th><th>工具</th><th>主指标</th></tr></thead><tbody><tr><td>块&#x2F;SSD</td><td>fio</td><td>IOPS, BW, P99 lat</td></tr><tr><td>文件系统</td><td>fio</td><td>同上（+ overhead）</td></tr><tr><td>NAS</td><td>SPECstorage SFS 2020</td><td>ops&#x2F;sec, ORT</td></tr><tr><td>分布式</td><td>IO500 &#x2F; IOR &#x2F; mdtest</td><td>bw + meta</td></tr><tr><td>GPUDirect Storage</td><td>gdsio</td><td>GiB&#x2F;s, CPU &#x3D; 0</td></tr><tr><td>TCP&#x2F;UDP 网络</td><td>iperf3</td><td>Gbit&#x2F;s, retrans</td></tr><tr><td>RDMA</td><td>ib_write_bw &#x2F; perftest</td><td>Gbit&#x2F;s, lat</td></tr><tr><td>集合通信</td><td>nccl-tests</td><td>algbw &#x2F; busbw</td></tr></tbody></table><h2 id="一些验收脚本骨架"><a href="#一些验收脚本骨架" class="headerlink" title="一些验收脚本骨架"></a>一些验收脚本骨架</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 节点级（单机）</span><br>fio --name=4krand --filename=/dev/nvme0n1 \<br>    --rw=randread --bs=4k --iodepth=128 --numjobs=8 \<br>    --runtime=300 --time_based --direct=1 --group_reporting<br><br>iperf3 -c <span class="hljs-variable">$NEIGHBOR</span> -t 60 -P 8<br><br>ib_write_bw -d mlx5_0 -F <span class="hljs-variable">$NEIGHBOR</span> --report_gbits<br><br><span class="hljs-comment"># 单机 8 卡 collective</span><br>all_reduce_perf -b 1G -e 16G -f 2 -g 8<br><br><span class="hljs-comment"># 多机（slurm）</span><br>sbatch nccl_test.slurm    <span class="hljs-comment"># 内含 mpirun + all_reduce_perf 多 size</span><br></code></pre></td></tr></table></figure><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>存储 benchmark 用 fio 是事实标准，必须 direct&#x3D;1、足够队列深度、足够时长</li><li>NAS 看 SPECsfs，分布式存储看 IO500</li><li>网络 TCP 用 iperf3，RDMA 用 perftest 套件，集合通信用 nccl-tests</li><li>ib_write_bw 应跑到端口理论的 ~95%，低于 90% 就要排查</li><li>NVLink 域内 AllReduce busbw 是 GPU 集群验收最重要数字</li><li>SHARP 让 InfiniBand 大规模 AllReduce 翻倍快</li></ul><p>下一篇讲 AI 基准——MLPerf、cuBLASMatmulBench、nvbandwidth、NeMo 烧机。</p>]]>
    </content>
    <id>http://localhost:4000/posts/6a1f0b04/</id>
    <link href="http://localhost:4000/posts/6a1f0b04/"/>
    <published>2026-05-03T12:10:00.000Z</published>
    <summary>存储和网络是数据中心的&quot;管道&quot;，跑得动业务全靠它。本文讲 fio 怎么跑出有意义的 IOPS 数字，iperf/qperf 怎么测网络，ib_write_bw 在 InfiniBand 上的标准用法。</summary>
    <title>存储与网络基准 —— fio、iperf、ib_write_bw、SPECsfs</title>
    <updated>2026-06-15T02:37:52.334Z</updated>
  </entry>
  <entry>
    <category term="09-基准测试与认证" scheme="http://localhost:4000/categories/09-%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95%E4%B8%8E%E8%AE%A4%E8%AF%81/"/>
    <category term="HPL" scheme="http://localhost:4000/tags/HPL/"/>
    <category term="Linpack" scheme="http://localhost:4000/tags/Linpack/"/>
    <category term="HPCG" scheme="http://localhost:4000/tags/HPCG/"/>
    <category term="TOP500" scheme="http://localhost:4000/tags/TOP500/"/>
    <content>
      <![CDATA[<p>HPC 基准是 GPU 集群验收里第一个跑的——既是验机也是衡量峰值。本文专题讲 HPL、HPCG、HPL-MxP，以及 TOP500 &#x2F; Green500 &#x2F; HPCG 三张榜单。</p><!-- more --><h2 id="TOP500-用什么标尺"><a href="#TOP500-用什么标尺" class="headerlink" title="TOP500 用什么标尺"></a>TOP500 用什么标尺</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">TOP500 自 1993 年起，每年 6 月（ISC）/ 11 月（SC）发布<br>排名标尺：HPL Linpack（FP64 LU 分解 GFLOPS）<br>HPL 2.0 规范 2008 年定稿，沿用至今<br></code></pre></td></tr></table></figure><blockquote><p>TOP500 创始人之一的田纳西大学教授 Jack Dongarra 认为 Linpack 性能已经过时，大家也意识到单看 CPU 性能的弊端，开始使用 HPCG（The High Performance Conjugate Gradients）性能来全面衡量超算性能。Linpack 更考验超算的处理器理论性能，而 HPCG 更看重实际性能，对内存系统、网络延迟要求也更高。</p></blockquote><h2 id="HPL-——-Linpack-怎么跑"><a href="#HPL-——-Linpack-怎么跑" class="headerlink" title="HPL —— Linpack 怎么跑"></a>HPL —— Linpack 怎么跑</h2><p><a href="https://www.netlib.org/benchmark/hpl/">HPL</a> 解一个 N×N 稠密线性方程组（双精度）。计算量 ≈ 2&#x2F;3 N³ + 2 N²。</p><p>GPU 时代用 NVIDIA 优化版的 HPL（容器名 <code>nvcr.io/nvidia/hpc-benchmarks</code>），底层调 cuBLAS &#x2F; NCCL。</p><h3 id="关键参数-HPL-dat"><a href="#关键参数-HPL-dat" class="headerlink" title="关键参数 HPL.dat"></a>关键参数 HPL.dat</h3><p>按 NVIDIA SA benchmark 实战经验：</p><h4 id="1-N（矩阵规模-Problem-Size）"><a href="#1-N（矩阵规模-Problem-Size）" class="headerlink" title="1. N（矩阵规模 &#x2F; Problem Size）"></a>1. N（矩阵规模 &#x2F; Problem Size）</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">原则：填满所有 GPU 显存（85-92%）<br>公式：显存占用 (Bytes) = N² × 8（FP64）<br><br>单机 8× A100 80GB（总 640 GB）：<br>  N ≈ √(640 × 1024^3 × 0.9 / 8) ≈ 268,328<br>  <br>注意：N 必须是 NB 的整数倍。<br></code></pre></td></tr></table></figure><h4 id="2-NB（数据块大小-Block-Size）"><a href="#2-NB（数据块大小-Block-Size）" class="headerlink" title="2. NB（数据块大小 &#x2F; Block Size）"></a>2. NB（数据块大小 &#x2F; Block Size）</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">现代 NVIDIA GPU 推荐 NB 远大于传统 CPU 的设定<br>A100 / H100 / H200：    2048、3840、4096<br>B200 / B300：           尝试 2048-4096，跑几个值取最高<br></code></pre></td></tr></table></figure><h4 id="3-P-×-Q（进程网格）"><a href="#3-P-×-Q（进程网格）" class="headerlink" title="3. P × Q（进程网格）"></a>3. P × Q（进程网格）</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">P × Q = 总 MPI 进程数 = 总 GPU 数<br>P ≤ Q 且尽量接近正方形（或 P 是 Q 的一半）<br>避免 1×8 这种极度狭长<br><br>单机 8 卡：       P=2, Q=4<br>4×8=32 卡：      P=4, Q=8<br>NVL72：         P=8, Q=9<br></code></pre></td></tr></table></figure><h4 id="其他"><a href="#其他" class="headerlink" title="其他"></a>其他</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">PMAP：     1 (Row-major) 或 0 (Column-major)，NVIDIA 优化版脚本通常自动管理<br>BCAST：    广播算法，尝试 1 或 2<br>DEPTH：    Look-ahead 深度，GPU 上通常 0 或 1<br></code></pre></td></tr></table></figure><h3 id="跑分目标"><a href="#跑分目标" class="headerlink" title="跑分目标"></a>跑分目标</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">HPL 效率 = 实测 GFLOPS / 理论峰值 GFLOPS<br>单机 8× A100 / H100：典型 70-80%<br>NVL72：             典型 65-75%（受 NVLink + IB 影响）<br>万卡集群：           典型 55-70%<br></code></pre></td></tr></table></figure><p>低于 60% 一般有问题——下面是典型排查路径。</p><h3 id="调优排查（来自-NVIDIA-SA-实战-guide）"><a href="#调优排查（来自-NVIDIA-SA-实战-guide）" class="headerlink" title="调优排查（来自 NVIDIA SA 实战 guide）"></a>调优排查（来自 NVIDIA SA 实战 guide）</h3><h4 id="问题-1：性能远低于理论峰值（效率-60-）"><a href="#问题-1：性能远低于理论峰值（效率-60-）" class="headerlink" title="问题 1：性能远低于理论峰值（效率 &lt; 60%）"></a>问题 1：性能远低于理论峰值（效率 &lt; 60%）</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs text">原因：显存未充分利用<br>  → 增大 N，逼近 OOM 临界点（90% 显存利用）<br><br>原因：降频<br>  → sudo nvidia-smi -pm 1            # 持久模式<br>  → sudo nvidia-smi -lgc &lt;Max_Clock&gt; # 锁最高加速频率<br><br>原因：NUMA 拓扑绑定不当<br>  → MPI 启动加 NUMA binding 参数<br>  → 用 NVIDIA bind.sh 等脚本，确保 GPU 分到最近的 CPU 物理核<br><br>原因：P/Q 不合理<br>  → 交换 P 和 Q 的值，调整比例<br></code></pre></td></tr></table></figure><h4 id="问题-2：多节点扩展性极差"><a href="#问题-2：多节点扩展性极差" class="headerlink" title="问题 2：多节点扩展性极差"></a>问题 2：多节点扩展性极差</h4><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">原因：InfiniBand/RoCE 未全速运行<br>  → ib_write_bw 测试节点间 RDMA 是否达标<br><br>原因：GPUDirect RDMA 未生效<br>  → lsmod | grep nv_peer_mem<br>  → 没加载会经 CPU 内存回环，延迟暴涨<br><br>原因：NCCL 调优<br>  → NCCL_IB_HCA 指定 HCA<br>  → NCCL_DEBUG=INFO 查看实际链路<br></code></pre></td></tr></table></figure><h2 id="HPCG-——-“真实性能”基准"><a href="#HPCG-——-“真实性能”基准" class="headerlink" title="HPCG —— “真实性能”基准"></a>HPCG —— “真实性能”基准</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">[HPCG](https://www.hpcg-benchmark.org/) 每半年发布榜单<br>求解 SpMV（稀疏矩阵向量乘）+ 多重网格预条件<br>对内存带宽、延迟、网络通信极度敏感<br>   <br>HPCG 性能通常 = HPL 性能的 1-3%<br></code></pre></td></tr></table></figure><p>为什么 HPCG”低得多”？</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">HPL：稠密 BLAS-3 操作，几乎都是 GEMM<br>   → 计算密度高，HBM/cache 复用极好<br>   → GPU Tensor Core 不能用（只支持 FP16+）但 FP64 cuBLAS 已经很优<br><br>HPCG：稀疏访存为主<br>   → memory-bound，HBM 带宽决定上限<br>   → 内存延迟、网络延迟一一暴露<br>   → 真实科学计算更像 HPCG<br></code></pre></td></tr></table></figure><p>跑 HPCG 时 GPU 利用率（nvidia-smi 看）只有 30-50%——这不是 bug，是 workload 性质决定。</p><h3 id="历史事件"><a href="#历史事件" class="headerlink" title="历史事件"></a>历史事件</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">天河 2 号之前是 HPCG 性能第一名<br>2016 上半年：     中国天河 2 号第一，日本 K 第二<br>2016 下半年起：   日本 K 超算夺第一（K 超算在 TOP500 排名第七）<br>富岳（Fugaku）：   2020 年起 HPCG 长期第一<br>                 富岳 HPCG ~16 PFLOPS（vs Linpack 442 PFLOPS）<br></code></pre></td></tr></table></figure><blockquote><p>待补充：2026 年最新 HPCG 榜单数据。</p></blockquote><h2 id="HPL-MxP-——-混合精度-HPL"><a href="#HPL-MxP-——-混合精度-HPL" class="headerlink" title="HPL-MxP —— 混合精度 HPL"></a>HPL-MxP —— 混合精度 HPL</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">[HPL-MxP](https://hpl-mxp.org/) 原名 HPL-AI（2019 年）<br>用 FP16/FP32 做主体计算，FP64 修正<br>利用 Tensor Core 大幅加速<br>针对 LU 分解的迭代细化方法<br></code></pre></td></tr></table></figure><p>为什么需要 HPL-MxP？</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">HPL 只能用 FP64 cuBLAS<br>  → V100 起 FP64 算力远低于 Tensor Core 算力<br>  → H100 FP64 67 TFLOPS vs Tensor FP16 1979 TFLOPS（相差 30×）<br>  → &quot;大半算力闲着&quot;<br><br>HPL-MxP：<br>  主迭代用 FP16/BF16 Tensor Core 算<br>  最后用 FP64 修正残差到精度<br>  → 能跑出 5-10× 于纯 FP64 HPL 的成绩<br></code></pre></td></tr></table></figure><p>NVIDIA SA 集群验收里 HPL 和 HPL-MxP 都会跑——前者是历史延续可比，后者是真实 AI&#x2F;HPC 混合负载的体现。</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">2024-11 HPL-MxP 榜单 TOP（参考）：<br>  Frontier (MI250X)：       11.4 EFLOPS（混合精度）<br>  Aurora：                  10.6 EFLOPS<br>  El Capitan：              16.7 EFLOPS（最新提交）<br></code></pre></td></tr></table></figure><blockquote><p>待补充：2026 年 HPL-MxP 最新数据。</p></blockquote><h2 id="NVL72-NVL576-上跑-HPL"><a href="#NVL72-NVL576-上跑-HPL" class="headerlink" title="NVL72 &#x2F; NVL576 上跑 HPL"></a>NVL72 &#x2F; NVL576 上跑 HPL</h2><p>NVIDIA 在 GB-NVL72 &#x2F; HGX B200&#x2F;B300 都有官方 step-by-step benchmark guide（NDA &#x2F; Partner，公开版可在 <a href="https://docs.nvidia.com/">docs.nvidia.com</a> 检索 DGX&#x2F;HGX benchmark guide）。</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">典型流程：<br>1. 节点 prep：DCGM diag、nvbandwidth、cublasMatmulBench<br>2. 单机 HPL：8 卡 / 节点<br>3. 多机扩展：rail-optimized IB + NCCL-tests 通过<br>4. NVL72 整柜 HPL（72 GPU 单 NVLink domain）<br>5. HPL-MxP 跑 Tensor Core<br></code></pre></td></tr></table></figure><p>NVL72 整柜 HPL <strong>要求所有 72 GPU 在同一个 NVLink domain 内一次跑过</strong>——这是 GB200 NVL72 区别于”8 节点 HGX H100 + IB”的本质：72 GPU 之间 collective 走 NVLink，HPL 多节点扩展性损失更小。</p><h2 id="Green500-——-能效榜"><a href="#Green500-——-能效榜" class="headerlink" title="Green500 —— 能效榜"></a>Green500 —— 能效榜</h2><p><a href="https://www.top500.org/lists/green500/">Green500</a> 与 TOP500 同源：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">排名标尺：HPL GFLOPS / Watt<br>2024-11 第一：JEDI（NVIDIA H100 + Grace）≈ 72 GFLOPS/W<br>2024-11 富岳：约 14 GFLOPS/W<br></code></pre></td></tr></table></figure><p>GPU 集群通常 60-72 GFLOPS&#x2F;W，纯 CPU 集群 10-20 GFLOPS&#x2F;W——<strong>HPC 已经实质 GPU 化</strong>。</p><h2 id="HPC-三张榜怎么选"><a href="#HPC-三张榜怎么选" class="headerlink" title="HPC 三张榜怎么选"></a>HPC 三张榜怎么选</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">HPL：     &quot;我家硬件 FP64 峰值多少&quot;——历史延续，TOP500 主榜<br>HPCG：    &quot;我家硬件真实跑多少&quot;——内存/网络瓶颈<br>HPL-MxP：  &quot;我家硬件 AI 友好场景多少&quot;——Tensor Core 时代<br>Green500： &quot;我家硬件能效如何&quot;——TCO 视角<br><br>HPC 中心日常：       三张榜都看<br>GPU 集群验收：       HPL + HPL-MxP 必跑，HPCG 选跑<br>AI 集群验收：        HPL-MxP / NCCL-tests / MLPerf<br></code></pre></td></tr></table></figure><h2 id="一些命令与文档"><a href="#一些命令与文档" class="headerlink" title="一些命令与文档"></a>一些命令与文档</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># NVIDIA hpc-benchmarks 容器（HPL/HPL-MxP/HPCG）</span><br>docker run --gpus all --<span class="hljs-built_in">rm</span> -it \<br>  -v <span class="hljs-variable">$PWD</span>:/workspace \<br>  nvcr.io/nvidia/hpc-benchmarks:24.09 bash<br><br><span class="hljs-comment"># 容器内跑 HPL</span><br>mpirun -np 8 --map-by node:PE=12 \<br>  ./hpl.sh --dat HPL.dat<br><br><span class="hljs-comment"># 跑 HPL-MxP（NVIDIA 容器自带）</span><br>./hpl-mxp.sh --m=2048 --n=2048 ...<br></code></pre></td></tr></table></figure><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">查 TOP500：       https://www.top500.org/<br>查 HPCG：         https://www.hpcg-benchmark.org/<br>查 Green500：     https://www.top500.org/lists/green500/<br>NVIDIA HPC bench：https://docs.nvidia.com/ → DGX/HGX Benchmark Guide<br></code></pre></td></tr></table></figure><h2 id="一张速查"><a href="#一张速查" class="headerlink" title="一张速查"></a>一张速查</h2><table><thead><tr><th>测试</th><th>测什么</th><th>适合场景</th><th>占总时间</th></tr></thead><tbody><tr><td>HPL</td><td>FP64 峰值 LU 分解</td><td>集群初验、TOP500 提交</td><td>数小时</td></tr><tr><td>HPL-MxP</td><td>Tensor Core 混合精度</td><td>AI 集群验收</td><td>数小时</td></tr><tr><td>HPCG</td><td>真实科学计算</td><td>真实 workload 摸底</td><td>1-2 小时</td></tr><tr><td>nvbandwidth</td><td>H2D&#x2F;D2H&#x2F;D2D 带宽</td><td>单卡基线</td><td>几分钟</td></tr><tr><td>NCCL-tests</td><td>集合通信带宽</td><td>集群互联验收</td><td>1-2 小时</td></tr></tbody></table><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>HPL（Linpack）测 FP64 峰值，TOP500 标尺，效率 65-80% 算合格</li><li>HPCG 测真实场景，性能通常是 HPL 的 1-3%</li><li>HPL-MxP 用 Tensor Core 跑混合精度，AI 时代的”新 HPL”</li><li>跑 HPL 关键三参数 N &#x2F; NB &#x2F; P×Q，效率低主排查显存、降频、NUMA、IB</li><li>Green500 看能效，GPU 集群比 CPU 集群高 5-10×</li></ul><p>下一篇讲存储与网络 benchmark——fio &#x2F; iperf &#x2F; ib_write_bw &#x2F; SPECsfs 实战。</p>]]>
    </content>
    <id>http://localhost:4000/posts/6a1f0b03/</id>
    <link href="http://localhost:4000/posts/6a1f0b03/"/>
    <published>2026-04-26T07:35:00.000Z</published>
    <summary>超算榜 TOP500 跑了 30 年的 Linpack 早被批&quot;过时&quot;，但仍是事实尺。本文讲 HPL 怎么调、HPCG 为什么&quot;低得多&quot;、HPL-MxP 又是什么。</summary>
    <title>HPC 基准 —— HPL、HPCG 与 TOP500</title>
    <updated>2026-06-15T02:37:52.334Z</updated>
  </entry>
  <entry>
    <category term="09-基准测试与认证" scheme="http://localhost:4000/categories/09-%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95%E4%B8%8E%E8%AE%A4%E8%AF%81/"/>
    <category term="SPEC CPU" scheme="http://localhost:4000/tags/SPEC-CPU/"/>
    <category term="TPC-C" scheme="http://localhost:4000/tags/TPC-C/"/>
    <category term="HammerDB" scheme="http://localhost:4000/tags/HammerDB/"/>
    <category term="tpmC" scheme="http://localhost:4000/tags/tpmC/"/>
    <content>
      <![CDATA[<p>第九章第二篇专题讲 CPU 和数据库基准——这是服务器采购合同里最常出现的两组数字。</p><!-- more --><h2 id="SPEC-CPU2017-——CPU-性能的事实标尺"><a href="#SPEC-CPU2017-——CPU-性能的事实标尺" class="headerlink" title="SPEC CPU2017 ——CPU 性能的事实标尺"></a>SPEC CPU2017 ——CPU 性能的事实标尺</h2><p><a href="https://www.spec.org/cpu2017/">SPEC CPU 2017</a> 2017 年发布，取代 2006 版。今天数据中心 CPU datasheet 几乎都用它。</p><h3 id="四个子套件"><a href="#四个子套件" class="headerlink" title="四个子套件"></a>四个子套件</h3><pre><code class=" mermaid">graph TB  ROOT[SPEC CPU 2017]  ROOT --&gt; SR[SPECrate&lt;br/&gt;多任务并行&lt;br/&gt;测吞吐]  ROOT --&gt; SS[SPECspeed&lt;br/&gt;单任务&lt;br/&gt;测响应时间]  SR --&gt; SRINT[SPECrate Integer&lt;br/&gt;10 个整数程序]  SR --&gt; SRFP[SPECrate Floating Point&lt;br/&gt;13 个浮点程序]  SS --&gt; SSINT[SPECspeed Integer&lt;br/&gt;10 个整数程序]  SS --&gt; SSFP[SPECspeed Floating Point&lt;br/&gt;10 个浮点程序]</code></pre><p>实际报告里看到的几个常用名字：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">SPECrate2017_int_base / _peak    多核整数吞吐<br>SPECrate2017_fp_base  / _peak    多核浮点吞吐<br>SPECspeed2017_int_base/peak      单线程整数响应时间<br>SPECspeed2017_fp_base /peak      单线程浮点响应时间<br></code></pre></td></tr></table></figure><p><code>base</code> 用规定编译选项（公平比较），<code>peak</code> 允许厂家激进优化（看上限）。<strong>真实采购看 base</strong>。</p><h3 id="怎么读-SPECrate"><a href="#怎么读-SPECrate" class="headerlink" title="怎么读 SPECrate"></a>怎么读 SPECrate</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">某 2-socket 服务器 SPECrate2017_int_base = 800<br>代表：在 2 socket × 64 core × 2 SMT = 256 线程上<br>      跑 10 个整数 workload 的几何平均吞吐 = 基准的 800 倍<br><br>→ 比对 base 越高越快<br>→ 单核数字 = 800 ÷ 256 ≈ 3.1（&quot;线程效率&quot;参考）<br></code></pre></td></tr></table></figure><p>注意：单核高 ≠ 总吞吐高，反之亦然。<strong>Intel Xeon SP &#x2F; AMD EPYC &#x2F; Ampere AmpereOne 等都有自己 sweet spot</strong>——选型时分清自己的 workload 是 throughput-bound 还是 latency-bound。</p><h3 id="SPEC-CPU-看哪几列"><a href="#SPEC-CPU-看哪几列" class="headerlink" title="SPEC CPU 看哪几列"></a>SPEC CPU 看哪几列</h3><p>读 SPEC CPU 报告（每条 SUT 一份 PDF + HTML）时关键列：</p><table><thead><tr><th>列</th><th>含义</th><th>看什么</th></tr></thead><tbody><tr><td>Hardware</td><td>CPU、内存、存储、BIOS</td><td>配置基线</td></tr><tr><td>Software</td><td>OS、编译器、libc、glibc</td><td>软件栈</td></tr><tr><td>Tunable</td><td>NUMA、Turbo、HT、Power Profile</td><td>调优</td></tr><tr><td>Result</td><td>base &#x2F; peak</td><td>实际数字</td></tr><tr><td>Energy</td><td>部分报告有功耗</td><td>能效</td></tr></tbody></table><p><strong>比较时一定保证：编译器版本、HT 开关、Power Profile 一致</strong>——否则结果不可比。</p><h3 id="国内查-CPU-性能时的常见情况"><a href="#国内查-CPU-性能时的常见情况" class="headerlink" title="国内查 CPU 性能时的常见情况"></a>国内查 CPU 性能时的常见情况</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 国产 CPU 厂家通常给 SPEC CPU 2006（旧版）数字<br>   → 不能直接和 Intel/AMD 的 2017 数字比<br>   → 需要换算（一般 2006 → 2017 大致 0.5-0.6× 缩放，参考意义）<br><br>2. ARM Server CPU（鲲鹏 920、AmpereOne）<br>   → 编译器要支持 SVE/NEON，不然性能掉一半<br><br>3. RISC-V Server CPU（少量）<br>   → 公开 SPEC CPU 数字仍稀缺<br></code></pre></td></tr></table></figure><blockquote><p>待补充：鲲鹏 920 &#x2F; 海光 &#x2F; AmpereOne 在 SPEC CPU2017 base 公开数字。</p></blockquote><h2 id="SPECpower：能效"><a href="#SPECpower：能效" class="headerlink" title="SPECpower：能效"></a>SPECpower：能效</h2><p><a href="https://www.spec.org/power_ssj2008/">SPECpower_ssj2008</a> 测的是”性能 &#x2F; 瓦”——服务器能效之标尺。</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">ssj_ops（操作/秒）/ Watt<br>从 100% 负载逐档降到 0%（idle）<br>用 PTDaemon 同步采集功率<br>最终一个综合分数：overall ssj_ops/W<br></code></pre></td></tr></table></figure><p>数据中心选型 TCO 模型几乎都引用 SPECpower 数字——电费占数据中心 OPEX 30-40%，<strong>能效高 10% 一年省几百万电费</strong>。</p><h2 id="SPECjbb-2015：Java-中间件"><a href="#SPECjbb-2015：Java-中间件" class="headerlink" title="SPECjbb 2015：Java 中间件"></a>SPECjbb 2015：Java 中间件</h2><p><code>jbb</code> 全称 Java Business Benchmark。模拟 ERP &#x2F; 中间件场景：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">multi-JVM、多线程、java heap 几十 GB<br>随机请求、模拟订单/库存/客户<br>指标：max-jOPS（最大吞吐）/ critical-jOPS（带 SLA 约束的吞吐）<br></code></pre></td></tr></table></figure><p><strong>SPECjbb 2015 是 OLAP-like Java 服务器选型主流尺</strong>——金融、电信、政府常用。新版还在持续维护，比退役的 SPEC Web2005 时效性强。</p><h2 id="TPC-C-——-OLTP-经典"><a href="#TPC-C-——-OLTP-经典" class="headerlink" title="TPC-C —— OLTP 经典"></a>TPC-C —— OLTP 经典</h2><p>TPC 系列里最经典：模拟电商订单系统。</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">仓库（Warehouse）数 W<br>订单生成（New-Order）每分钟数 = tpmC<br>要求 90% 事务在 5s 内完成、ACID 一致性<br>价格披露 → $ / tpmC<br></code></pre></td></tr></table></figure><blockquote><p>20 世纪 90 年代，TPC（事务处理性能委员会）成立，Benchmark（基准测试）随之走上历史舞台。tpmC 值在国内外被广泛用于衡量计算机系统的事务处理能力，为”每分钟内系统处理新订单个数”的英文缩写。<strong>TPMC 测试及发布的成本极高（百万美元级）</strong>，只有少数厂商的少数设备会在 TPC 官网上发布测试数据。未在官网上发布的数据都是评估出来的。</p></blockquote><h3 id="历史里程碑"><a href="#历史里程碑" class="headerlink" title="历史里程碑"></a>历史里程碑</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">2010 IBM Power 780：           10 M tpmC<br>2013 Oracle SuperCluster：     30 M tpmC<br>2017+ Oracle Exadata：         50-100 M tpmC（云超大配置）<br></code></pre></td></tr></table></figure><h3 id="tpmC-在-2026-年的位置"><a href="#tpmC-在-2026-年的位置" class="headerlink" title="tpmC 在 2026 年的位置"></a>tpmC 在 2026 年的位置</h3><p>正式 TPC-C 提交几乎已停滞——发布门槛太高、云时代少有厂家愿意花钱跑。<strong>国内合同里”要求 X 万 tpmC”基本是评估值</strong>，不是 TPC 官网真实发布。</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">评估方法：<br>  根据 SPEC CPU 数字 + 内存 / 存储配置<br>  按经验公式估算 tpmC<br>  → 数字接近 TPC-C 官网早年的同档系统<br></code></pre></td></tr></table></figure><p>国采、国企招标里仍把 tpmC 作”硬指标”，但实际意义不如 HammerDB 真跑一遍。</p><h2 id="HammerDB-sysbench-——-现代-OLTP-测试事实标准"><a href="#HammerDB-sysbench-——-现代-OLTP-测试事实标准" class="headerlink" title="HammerDB &#x2F; sysbench —— 现代 OLTP 测试事实标准"></a>HammerDB &#x2F; sysbench —— 现代 OLTP 测试事实标准</h2><p>正式 TPC-C 太贵 → 业界用开源工具跑”TPC-C-like” workload：</p><pre><code class=" mermaid">graph LR  HDB[HammerDB&lt;br/&gt;开源, GUI/CLI]  SB[sysbench&lt;br/&gt;开源, CLI]  HDB --&gt; ORACLE[Oracle / MySQL / PG / MS SQL / Db2]  SB --&gt; MYSQL[MySQL / PostgreSQL / TiDB]</code></pre><p><a href="https://www.hammerdb.com/">HammerDB</a> 实现了 <strong>TPROC-C</strong>（TPC-C 风格）和 <strong>TPROC-H</strong>（TPC-H 风格），跑出来的指标叫 NOPM（new orders per minute），和 tpmC 同含义但不发布到 TPC 官网。</p><h3 id="实操要点"><a href="#实操要点" class="headerlink" title="实操要点"></a>实操要点</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">仓库数（warehouse）：       至少 100，实测最好 500-2000（避免被单仓库锁住）<br>虚拟用户数（vuser）：       从 1 ramp 到 max，看曲线<br>预热时间：                  5-10 min<br>持续时间：                  至少 10-20 min<br>观察指标：                  NOPM, TPM, P99 延迟<br></code></pre></td></tr></table></figure><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">典型对比：<br>  Intel Xeon 8480C 2-socket + 1.5TB RAM + NVMe + Oracle 19c<br>    → HammerDB NOPM ≈ 8-12 M<br>  AMD EPYC 9654 2-socket 同配置<br>    → NOPM ≈ 10-15 M<br>  鲲鹏 920 2-socket + openGauss<br>    → NOPM ≈ 4-7 M<br></code></pre></td></tr></table></figure><blockquote><p>待补充：上面数字仅作量级参考，具体看实际配置和调优。</p></blockquote><h2 id="TPC-H-TPC-DS-——-数据仓库-大数据"><a href="#TPC-H-TPC-DS-——-数据仓库-大数据" class="headerlink" title="TPC-H &#x2F; TPC-DS —— 数据仓库 &#x2F; 大数据"></a>TPC-H &#x2F; TPC-DS —— 数据仓库 &#x2F; 大数据</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">TPC-H：     22 个复杂分析查询，scale factor 1GB-100TB<br>TPC-DS：    99 个查询，更接近真实数仓 / BI workload<br>指标：      QphH@SF（每小时查询数 × scale factor）<br></code></pre></td></tr></table></figure><p>云时代 TPC-DS 比 TPC-H 更主流——特别是 <strong>数据湖 &#x2F; Spark &#x2F; Presto &#x2F; Trino &#x2F; ClickHouse</strong> 都用 TPC-DS 自我对标。</p><h3 id="选型场景"><a href="#选型场景" class="headerlink" title="选型场景"></a>选型场景</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">单机数据库（Oracle/Db2/MySQL/PG）：HammerDB TPROC-H<br>分布式数仓（GreenPlum/TiDB/StarRocks/Doris）：TPC-DS @SF1000-10000<br>云数仓（Snowflake/BigQuery/Redshift）：TPC-DS 公开 benchmarks<br>湖仓（Iceberg/Hudi/Delta + Trino/Spark）：TPC-DS 是&quot;事实公约数&quot;<br></code></pre></td></tr></table></figure><h2 id="数据库基准的真相-——-“选型不能只看-benchmark”"><a href="#数据库基准的真相-——-“选型不能只看-benchmark”" class="headerlink" title="数据库基准的真相 —— “选型不能只看 benchmark”"></a>数据库基准的真相 —— “选型不能只看 benchmark”</h2><p>数据库性能受<strong>实际数据分布</strong>影响巨大：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">benchmark：    数据均匀生成、查询模板固定、并发可控<br>生产：         数据极度不均、热点 key、查询千差万别、并发峰谷波动<br>              → benchmark 跑得好，生产可能跑不动<br>              → benchmark 跑得一般，生产可能反而合适<br></code></pre></td></tr></table></figure><p>成熟做法：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 先跑标准 benchmark 排除明显短板<br>2. 用真实业务数据做&quot;冒烟测试&quot;（部分库 dump）<br>3. 用真实查询日志重放<br>4. 再做 POC（4-8 周生产试运行）<br></code></pre></td></tr></table></figure><p><strong>没有 POC 就不敢决定数据库选型</strong>——这是 DBA 圈的共识。</p><h2 id="CPU-数据库选型时的几条经验"><a href="#CPU-数据库选型时的几条经验" class="headerlink" title="CPU + 数据库选型时的几条经验"></a>CPU + 数据库选型时的几条经验</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><code class="hljs text">1. SPECrate2017_int_base 反映&quot;多核吞吐&quot;<br>   → 数据库 / 中间件场景看它最直接<br>   <br>2. SPECspeed 反映&quot;单线程响应&quot;<br>   → CPU-bound 单线程 task（数据库 query 优化器、序列化）看它<br><br>3. SPECpower 反映&quot;性能/瓦&quot;<br>   → 算 TCO 时核心，3 年电费可能比硬件贵<br><br>4. SPECjbb 反映&quot;Java 中间件&quot;<br>   → Java 应用服务器（WebSphere/JBoss/Tomcat）选型直接对应<br><br>5. tpmC 在国内合同里仍存在但实际意义有限<br>   → 真要测 OLTP，HammerDB 是事实标准<br><br>6. CPU 频率 ≠ 性能<br>   → 看微架构代次（Intel 5/6 代、AMD Zen4/5、ARMv9）+ 内存通道 + AVX/SVE 支持<br><br>7. NUMA 拓扑必影响数据库性能<br>   → 单 socket &gt; 双 socket（少量 workload，看场景）<br>   → 可以用 numactl 绑核做对照测试<br></code></pre></td></tr></table></figure><h2 id="一些命令"><a href="#一些命令" class="headerlink" title="一些命令"></a>一些命令</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># Linux 看 CPU</span><br>lscpu                           <span class="hljs-comment"># 拓扑 / 频率 / NUMA / flag</span><br><span class="hljs-built_in">cat</span> /proc/cpuinfo | <span class="hljs-built_in">head</span> -50    <span class="hljs-comment"># 详细</span><br>numactl --hardware              <span class="hljs-comment"># NUMA 详情</span><br><br><span class="hljs-comment"># 单核基准（速测）</span><br>sysbench cpu --threads=1 --cpu-max-prime=20000 run<br><br><span class="hljs-comment"># 多核基准</span><br>sysbench cpu --threads=$(<span class="hljs-built_in">nproc</span>) --cpu-max-prime=20000 run<br><br><span class="hljs-comment"># 内存带宽</span><br>sysbench memory --memory-block-size=1M --memory-total-size=10G run<br>mbw 1024                        <span class="hljs-comment"># 简易内存带宽</span><br><br><span class="hljs-comment"># OLTP 快速测试（MySQL）</span><br>sysbench oltp_read_write --tables=10 --table-size=1000000 \<br>  --mysql-host=127.0.0.1 --mysql-user=root \<br>  --threads=64 --<span class="hljs-keyword">time</span>=120 run<br><br><span class="hljs-comment"># HammerDB CLI（TPROC-C）</span><br>hammerdbcli auto bm-tprocc-pg.tcl    <span class="hljs-comment"># 全脚本驱动</span><br></code></pre></td></tr></table></figure><h2 id="一张速查"><a href="#一张速查" class="headerlink" title="一张速查"></a>一张速查</h2><table><thead><tr><th>场景</th><th>主基准</th><th>次要基准</th></tr></thead><tbody><tr><td>CPU 通用计算</td><td>SPEC CPU2017 (rate base)</td><td>SPEC CPU2017 (speed base)</td></tr><tr><td>CPU 能效</td><td>SPECpower</td><td>—</td></tr><tr><td>单核响应</td><td>SPECspeed_int_base</td><td>sysbench cpu</td></tr><tr><td>Java 中间件</td><td>SPECjbb 2015</td><td>—</td></tr><tr><td>OLTP（MySQL&#x2F;PG）</td><td>sysbench oltp &#x2F; HammerDB TPROC-C</td><td>TPC-C 官网（参考）</td></tr><tr><td>OLTP（Oracle&#x2F;Db2）</td><td>HammerDB TPROC-C</td><td>TPC-C 官网（参考）</td></tr><tr><td>决策支持</td><td>TPC-H</td><td>HammerDB TPROC-H</td></tr><tr><td>大数据数仓</td><td>TPC-DS</td><td>—</td></tr></tbody></table><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>SPEC CPU2017 是 CPU 通用计算的事实标尺，看 base、看 rate vs speed</li><li>SPECpower &#x2F; SPECjbb &#x2F; SPECstorage 各有领域</li><li>TPC-C &#x2F; tpmC 在合同里仍重要，实际选型用 HammerDB &#x2F; sysbench</li><li>数据库选型不能只看 benchmark，必须 POC 真实数据</li><li>看曲线、看 P99、看长时间持续，不只看峰值</li></ul><p>下一篇专题讲 HPC 基准——HPL、HPCG 与 TOP500 的实战。</p>]]>
    </content>
    <id>http://localhost:4000/posts/6a1f0b02/</id>
    <link href="http://localhost:4000/posts/6a1f0b02/"/>
    <published>2026-04-19T14:15:00.000Z</published>
    <summary>服务器选型最先看的两条线——CPU 计算能力和数据库事务能力。本文讲清 SPEC CPU2017 怎么读、tpmC 怎么算、HammerDB / sysbench 在生产里怎么用。</summary>
    <title>CPU 与数据库基准 —— SPEC CPU、TPC-C、SPECjbb</title>
    <updated>2026-06-15T02:37:52.334Z</updated>
  </entry>
  <entry>
    <category term="09-基准测试与认证" scheme="http://localhost:4000/categories/09-%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95%E4%B8%8E%E8%AE%A4%E8%AF%81/"/>
    <category term="基准测试" scheme="http://localhost:4000/tags/%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95/"/>
    <category term="TPC" scheme="http://localhost:4000/tags/TPC/"/>
    <category term="SPEC" scheme="http://localhost:4000/tags/SPEC/"/>
    <category term="MLPerf" scheme="http://localhost:4000/tags/MLPerf/"/>
    <content>
      <![CDATA[<p>前八章把硬件讲完了——但实际选型时，”H100 算力 1979 TFLOPS”这种 datasheet 数字不能直接拿来对比 Llama 3 训练性能。<strong>基准测试（benchmark）是把硬件性能落到同一把尺上</strong>的工具。第九章讲基准。</p><!-- more --><h2 id="为什么需要基准测试"><a href="#为什么需要基准测试" class="headerlink" title="为什么需要基准测试"></a>为什么需要基准测试</h2><p>服务器场景里，”快”是个多维概念：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">CPU 整数运算 vs 浮点运算 vs 内存带宽 vs 数据库 TPM<br>存储 顺序读 vs 随机写 vs 队列深度 vs 延迟<br>网络 带宽 vs 延迟 vs P99 抖动 vs 集合通信<br>GPU 单精度 vs Tensor FP16 vs FP8 vs FP4<br>集群 单卡持续 vs 万卡 AllReduce vs 真实训练 token/s<br></code></pre></td></tr></table></figure><p>不同 workload 看不同维度。”<strong>用谁的数据当尺</strong>“决定了选型结果——这就是为什么 30 多年来工业界形成了一系列<strong>第三方公认的基准组织</strong>。</p><h2 id="两大主流基准体系"><a href="#两大主流基准体系" class="headerlink" title="两大主流基准体系"></a>两大主流基准体系</h2><pre><code class=" mermaid">graph TB  ROOT[服务器基准测试两大体系]  ROOT --&gt; TPC[TPC&lt;br/&gt;事务处理性能委员会&lt;br/&gt;1988 成立]  ROOT --&gt; SPEC[SPEC&lt;br/&gt;标准性能评估机构&lt;br/&gt;1988 成立]  TPC --&gt; TPCC[TPC-C&lt;br/&gt;OLTP 经典]  TPC --&gt; TPCH[TPC-H&lt;br/&gt;决策支持/分析]  TPC --&gt; TPCDS[TPC-DS&lt;br/&gt;大数据分析]  TPC --&gt; TPCx[TPCx-AI / TPCx-HS&lt;br/&gt;AI 与 Hadoop]  SPEC --&gt; SPECCPU[SPEC CPU&lt;br/&gt;处理器整数/浮点]  SPEC --&gt; SPECjbb[SPEC jbb&lt;br/&gt;Java 中间件]  SPEC --&gt; SPECpower[SPECpower&lt;br/&gt;能效]  SPEC --&gt; SPECstorage[SPEC SFS&lt;br/&gt;NAS 文件存储]  SPEC --&gt; SPECMLPerf[SPECaccel /&lt;br/&gt;SPEChpc]</code></pre><p><strong>TPC（Transaction Processing Performance Council）</strong>：1988 年成立，主战场是数据库 &#x2F; OLTP &#x2F; 数据分析。代表测试：TPC-C（OLTP）、TPC-H（决策支持）、TPC-DS（大数据）。tpmC 这个国内常听到的”每分钟事务数”就是 TPC-C 的指标。</p><p><strong>SPEC（Standard Performance Evaluation Corporation）</strong>：同样 1988 年成立，覆盖更广——CPU、Java 中间件、Web 服务、能效、存储、HPC、ML。SPEC CPU2017 是当前 CPU 性能 datasheet 的事实标尺。</p><p>两家都是非营利第三方，结果<strong>必须在官网发布</strong>才算数——这是第三方背书的核心价值。</p><h2 id="按-workload-分类的基准"><a href="#按-workload-分类的基准" class="headerlink" title="按 workload 分类的基准"></a>按 workload 分类的基准</h2><p>整理一张实战中真正会用到的”benchmark 全景”：</p><table><thead><tr><th>领域</th><th>经典基准</th><th>现代主流</th><th>测什么</th></tr></thead><tbody><tr><td>CPU 整数 &#x2F; 浮点</td><td>SPEC CPU2006</td><td><strong>SPEC CPU2017</strong></td><td>单核 &#x2F; 多核计算</td></tr><tr><td>CPU 能效</td><td>—</td><td><strong>SPECpower_ssj2008</strong></td><td>性能 &#x2F; 瓦</td></tr><tr><td>数据库 OLTP</td><td>TPC-C（tpmC）</td><td><strong>HammerDB &#x2F; sysbench</strong></td><td>每分钟事务数</td></tr><tr><td>数据库分析</td><td>TPC-H</td><td><strong>TPC-DS</strong></td><td>复杂查询响应时间</td></tr><tr><td>Java 中间件</td><td>SPECjbb2005</td><td><strong>SPECjbb2015</strong></td><td>Java 服务端吞吐</td></tr><tr><td>Web 服务器</td><td>SPECweb2005</td><td>（已退役）</td><td>HTTP QPS</td></tr><tr><td>HPC 峰值</td><td><strong>HPL &#x2F; Linpack</strong></td><td>HPL（仍是 TOP500 标尺）</td><td>FP64 峰值</td></tr><tr><td>HPC 真实</td><td>—</td><td><strong>HPCG</strong></td><td>内存 &#x2F; 网络综合</td></tr><tr><td>存储块设备</td><td>iozone</td><td><strong>fio</strong></td><td>IOPS &#x2F; 带宽 &#x2F; 延迟</td></tr><tr><td>NAS 文件</td><td>SPECsfs</td><td><strong>SPECstorage SFS 2020</strong></td><td>文件操作并发</td></tr><tr><td>网络带宽</td><td>iperf</td><td><strong>iperf3 &#x2F; qperf</strong></td><td>TCP &#x2F; UDP 吞吐</td></tr><tr><td>RDMA 网络</td><td>—</td><td><strong>ib_write_bw &#x2F; perftest</strong></td><td>InfiniBand &#x2F; RoCE</td></tr><tr><td>集合通信</td><td>—</td><td><strong>NCCL-tests</strong></td><td>AllReduce &#x2F; AllGather busbw</td></tr><tr><td>AI 训练 &#x2F; 推理</td><td>—</td><td><strong>MLPerf</strong></td><td>端到端 训练 &#x2F; 推理</td></tr><tr><td>AI GEMM</td><td>—</td><td><strong>cuBLASMatmulBench &#x2F; nvbandwidth</strong></td><td>算力 &#x2F; 带宽底层</td></tr></tbody></table><p><strong>注意</strong>：TPC-W（Web）、SPEC Web2005 等测试在云时代基本退役——因为现实业务的 Web 服务太复杂，单一 benchmark 失去意义。</p><h2 id="基准结果”怎么读”"><a href="#基准结果”怎么读”" class="headerlink" title="基准结果”怎么读”"></a>基准结果”怎么读”</h2><p>基准报告里常见的几个指标维度：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">绝对值：     TFLOPS / TPM / IOPS / token-per-sec<br>单位价格：   $ / TPM、$ / TFLOPS<br>单位功耗：   TPM / W、TFLOPS / W<br>百分位延迟： P50 / P90 / P99 / P999<br>扩展性：     N 节点时性能 / 单节点性能（理想 = N）<br>持续 vs 峰值：burst 能跑多高、稳定能跑多久<br></code></pre></td></tr></table></figure><p>只看绝对值容易被销售带偏——<strong>真正成熟的采购方看 $&#x2F;TPM、性能&#x2F;瓦、扩展性曲线</strong>。</p><h2 id="一份典型-benchmark-报告应有什么"><a href="#一份典型-benchmark-报告应有什么" class="headerlink" title="一份典型 benchmark 报告应有什么"></a>一份典型 benchmark 报告应有什么</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 系统配置（SUT, System Under Test）<br>   - CPU 型号 / 核数 / 频率<br>   - 内存容量 / 通道 / DIMM 频率<br>   - 存储介质 / RAID / 文件系统<br>   - 网络型号 / 交换机<br>   - GPU 型号 / NVLink 拓扑（AI 场景）<br>   - OS / kernel / 驱动 / 微码版本<br>2. 软件栈<br>   - 编译器 / 优化等级 / BLAS 库版本<br>   - DBMS 版本 / 应用版本<br>3. 测试方法<br>   - 数据集大小 / scale factor<br>   - 预热 / 持续时间 / 重复次数<br>4. 结果<br>   - 主指标 + 次要指标<br>   - 性能曲线（不只单点）<br>5. 价格披露（TPC 强制）<br>6. 能效披露（SPECpower / 部分 TPC）<br></code></pre></td></tr></table></figure><p><strong>TPC 报告强制披露完整 SUT + 价格</strong>——这是为什么 TPC-C 报告动辄上百页 PDF。SPEC 也要求公开 config，但价格披露不是强制。</p><h2 id="测试结果”为什么会差很多”"><a href="#测试结果”为什么会差很多”" class="headerlink" title="测试结果”为什么会差很多”"></a>测试结果”为什么会差很多”</h2><p>同一颗 CPU、同一种 benchmark，不同厂商提交结果可能差 1.5-3×：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">编译器选项：     -O3 vs -O2，AVX-512 开关，PGO/LTO<br>内存配置：       通道数、DIMM rank、是否 1DPC<br>NUMA 绑定：      自动 vs 手工 numactl<br>BIOS 设置：      Turbo / SMT / power profile / prefetch<br>OS tuning：     transparent hugepage、cpu governor、swappiness<br>存储调优：       I/O scheduler、queue depth、direct IO<br>网络调优：       MTU、RSS、IRQ affinity、DCQCN<br></code></pre></td></tr></table></figure><p>这些”调优”在销售文档里通常一笔带过，但实际上<strong>决定了结果的可比性</strong>。所以读 benchmark 报告时，<strong>配置详情比绝对数字更重要</strong>。</p><h2 id="TOP500：HPC-的”奥运会”"><a href="#TOP500：HPC-的”奥运会”" class="headerlink" title="TOP500：HPC 的”奥运会”"></a>TOP500：HPC 的”奥运会”</h2><p>每年 6 月 &#x2F; 11 月发布两次的 <a href="https://www.top500.org/">TOP500</a>，是世界上最大公开 HPC 系统排行榜：</p><ul><li>排名标尺：<strong>HPL Linpack</strong>（FP64 峰值 LU 分解）</li><li>1993 年开始，已经 30 多年</li><li>中国曾长期占榜单一半以上份额，2020 年后受出口管制影响数量下降</li></ul><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">2024-11 榜单 TOP 5（参考）：<br>  El Capitan (LLNL, AMD MI300A)：       1742 PFLOPS<br>  Frontier (ORNL, AMD MI250X)：         1353 PFLOPS<br>  Aurora (ANL, Intel Ponte Vecchio)：    1012 PFLOPS  <br>  Eagle (Microsoft Azure, NVIDIA H100)：561 PFLOPS<br>  富岳 (RIKEN, A64FX)：                 442 PFLOPS<br></code></pre></td></tr></table></figure><blockquote><p>待补充：TOP500 最新 2026 年榜单数据。</p></blockquote><p>但<strong>Linpack 早就被 HPCG 补充</strong>——后者更看重真实工作负载（内存、网络、不规则访存）。Jack Dongarra（TOP500 创始人之一）2014 年就推动 HPCG 排行榜：HPCG 性能通常是 Linpack 性能的 <strong>1-3%</strong>。</p><h2 id="MLPerf：AI-时代的新基准"><a href="#MLPerf：AI-时代的新基准" class="headerlink" title="MLPerf：AI 时代的新基准"></a>MLPerf：AI 时代的新基准</h2><p>MLCommons 维护，2018 年起步，AI 算力的”事实标准”：</p><pre><code class=" mermaid">graph LR  ML[MLCommons MLPerf]  ML --&gt; T[Training&lt;br/&gt;训练]  ML --&gt; I[Inference&lt;br/&gt;推理]  ML --&gt; H[HPC&lt;br/&gt;科学计算]  ML --&gt; S[Storage&lt;br/&gt;存储吞吐]  ML --&gt; P[Power&lt;br/&gt;能效]  ML --&gt; C[Client / Mobile / Tiny&lt;br/&gt;端侧]</code></pre><p>每轮提交分 <strong>Closed</strong>（严格规则、可比性强）和 <strong>Open</strong>（自由优化、展示创新）。NVIDIA &#x2F; Google &#x2F; Intel &#x2F; AMD &#x2F; Huawei 等都按轮次提交。</p><p><code>07-Benchmark</code> 目录里 NVIDIA SA 视角的视图：</p><blockquote><p>NVIDIA 通常以 DGX&#x2F;HGX&#x2F;GB200 系统提交 MLPerf；详细工程报告在 NVIDIA blog 与 GitHub repo <code>nvidia/MLPerf*</code>，复现工件包含 NeMo &#x2F; Megatron &#x2F; TensorRT-LLM 等。</p></blockquote><p>后面的 <a href="/posts/6a1f0b05/">05-AI 基准测试</a> 专门展开。</p><h2 id="专用-厂家-benchmark"><a href="#专用-厂家-benchmark" class="headerlink" title="专用 &#x2F; 厂家 benchmark"></a>专用 &#x2F; 厂家 benchmark</h2><p>除两大公开体系外，还有大量”专用基准”：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">Oracle / SAP：   厂家自己的 ERP/数据库 benchmark<br>SAP SD：        销售-分销模块用户数（SAP 标尺）<br>TPC-H 变体：    实际生产中常被改成 sysbench-tpch<br>LLM 专用：      lm-evaluation-harness 等评测精度<br>推理服务：      vLLM benchmark / Triton perf_analyzer<br>NVIDIA NCCL-tests：集合通信 SoTA 工具<br></code></pre></td></tr></table></figure><p>这些不一定上 TPC &#x2F; SPEC 官网，但在自家生态里是实际选型依据。</p><h2 id="实战中”benchmark-怎么用”"><a href="#实战中”benchmark-怎么用”" class="headerlink" title="实战中”benchmark 怎么用”"></a>实战中”benchmark 怎么用”</h2><p>数据中心采购或集群验收时，benchmark 一般分三阶段：</p><pre><code class=" mermaid">graph TB  L1[1. 节点级&lt;br/&gt;HPL / SPEC CPU / fio / iperf&lt;br/&gt;验证单机硬件]  L2[2. 机柜 / Pod 级&lt;br/&gt;NCCL-tests / SHARP / RDMA&lt;br/&gt;验证互联与路由]  L3[3. 应用级&lt;br/&gt;NeMo / Megatron / vLLM / 真实业务&lt;br/&gt;验证端到端]  L1 --&gt; L2 --&gt; L3</code></pre><p>NVIDIA SA 内部就是用这三层做集群验收（详见 <a href="/posts/6a1f0b05/">05-AI 基准测试</a> ）。每一层都不能跳——单机过了不代表集群过；集群通了不代表大模型训练 MFU 就达标。</p><h2 id="一些避坑"><a href="#一些避坑" class="headerlink" title="一些避坑"></a>一些避坑</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 看绝对值不看 config：<br>   &quot;我看 SPEC CPU 2017 排名厂商 A 比 B 高 5%&quot;<br>   实际 A 用 96 GB DDR5-5600 + AVX-512、B 用 256 GB DDR5-4800 关 SMT<br>   → 没法比<br><br>2. 看单点不看曲线：<br>   &quot;厂家说 IOPS 1000K&quot;<br>   实际 P99 延迟 50ms，业务无法接受<br>   → 看 P99/P999 比看峰值有意义<br><br>3. 跑短时间不跑长时间：<br>   GPU 头 5 min 全 turbo，30 min 后 thermal throttle<br>   → 至少跑 30-60 min 看持续值<br><br>4. 不公开复现脚本：<br>   厂家 demo 一套，客户复现完全不是这数<br>   → 索要完整 reproduce 脚本和参数<br><br>5. 偷换 benchmark 版本：<br>   比 SPEC CPU2006（已退役）和 SPEC CPU2017 数字<br>   → 完全不可比<br></code></pre></td></tr></table></figure><h2 id="第九章会展开什么"><a href="#第九章会展开什么" class="headerlink" title="第九章会展开什么"></a>第九章会展开什么</h2><table><thead><tr><th>篇</th><th>内容</th></tr></thead><tbody><tr><td>02</td><td>CPU &amp; 数据库 benchmark：SPEC CPU2017、TPC-C、SPECjbb</td></tr><tr><td>03</td><td>HPC benchmark：HPL、HPCG、TOP500 实战</td></tr><tr><td>04</td><td>存储与网络 benchmark：fio、iperf、ib_write_bw、SPECsfs</td></tr><tr><td>05</td><td>AI benchmark：MLPerf、cuBLAS、nvbandwidth、NCCL-tests、NeMo burn-in</td></tr><tr><td>06</td><td>服务器认证：CCC、CE、FCC、ISO9001、NVIDIA-Certified、能效之星</td></tr><tr><td>07</td><td>选型与第九章小结</td></tr></tbody></table><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>基准测试是把”datasheet 数字”翻译成”业务性能”的桥</li><li>两大体系 TPC（事务）+ SPEC（计算&#x2F;能效）；HPC 看 TOP500 &#x2F; HPL；AI 看 MLPerf</li><li>报告必看 SUT 配置 + 软件栈 + 调优参数，不能只看绝对值</li><li>集群验收三阶段：节点级 → 机柜级 → 应用级</li><li>避坑：看曲线、看 P99、看持续值、要可复现</li></ul><p>下一篇展开 CPU &amp; 数据库基准——SPEC CPU 怎么读、tpmC 怎么算、HammerDB 怎么用。</p>]]>
    </content>
    <id>http://localhost:4000/posts/6a1f0b01/</id>
    <link href="http://localhost:4000/posts/6a1f0b01/"/>
    <published>2026-04-12T13:50:00.000Z</published>
    <summary>服务器选型不能&quot;光听销售吹&quot;，得有共同的标尺。第九章讲基准测试。本文先把整张地图铺出来——TPC、SPEC、TOP500、MLPerf、专用基准，各自负责什么领域。</summary>
    <title>基准测试体系概览 —— TPC、SPEC、TOP500 与 MLPerf</title>
    <updated>2026-06-15T02:37:52.334Z</updated>
  </entry>
  <entry>
    <category term="08-可信计算" scheme="http://localhost:4000/categories/08-%E5%8F%AF%E4%BF%A1%E8%AE%A1%E7%AE%97/"/>
    <category term="可信计算选型" scheme="http://localhost:4000/tags/%E5%8F%AF%E4%BF%A1%E8%AE%A1%E7%AE%97%E9%80%89%E5%9E%8B/"/>
    <category term="第八章小结" scheme="http://localhost:4000/tags/%E7%AC%AC%E5%85%AB%E7%AB%A0%E5%B0%8F%E7%BB%93/"/>
    <content>
      <![CDATA[<p>第八章前面 5 篇分别讲了 TPM&#x2F;TCM、Secure Boot&#x2F;IMA、TEE（SGX&#x2F;TDX&#x2F;SEV&#x2F;TrustZone）、机密计算、国产可信。本篇收口。</p><!-- more --><h2 id="选型的”四层决策”"><a href="#选型的”四层决策”" class="headerlink" title="选型的”四层决策”"></a>选型的”四层决策”</h2><pre><code class=" mermaid">graph TD  Q1[第 1 层: 威胁模型?]  Q1 --&gt; Q2[第 2 层: 数据保护粒度?]  Q2 --&gt; Q3[第 3 层: 国密 / 信创要求?]  Q3 --&gt; Q4[第 4 层: 性能 / 成本预算?]  Q4 --&gt; A[最终方案]</code></pre><h2 id="第-1-层：威胁模型"><a href="#第-1-层：威胁模型" class="headerlink" title="第 1 层：威胁模型"></a>第 1 层：威胁模型</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><code class="hljs text">威胁 1：物理偷盘 / 服务器被搬走<br>  → LUKS 全盘加密 + TPM 密封 PCR 7<br><br>威胁 2：BIOS / Bootloader 被篡改<br>  → Secure Boot + Measured Boot<br><br>威胁 3：root 用户恶意 / 内部攻击<br>  → IMA Appraisal + 文件签名<br><br>威胁 4：CSP 不可信 / 多租户隔离<br>  → Confidential VM（TDX / SEV-SNP）<br><br>威胁 5：跨数据所有者协作<br>  → MPC + Confidential Computing<br><br>威胁 6：供应链 / 后门<br>  → TPCM 主动可信 + 全栈国产<br><br>威胁 7：内存 dump / 侧信道<br>  → TEE 内存加密 + 时间常数代码<br></code></pre></td></tr></table></figure><h2 id="第-2-层：数据保护粒度"><a href="#第-2-层：数据保护粒度" class="headerlink" title="第 2 层：数据保护粒度"></a>第 2 层：数据保护粒度</h2><table><thead><tr><th>粒度</th><th>推荐方案</th><th>适用场景</th></tr></thead><tbody><tr><td>全盘</td><td>LUKS + TPM</td><td>防偷盘</td></tr><tr><td>文件</td><td>IMA + Appraisal</td><td>应用文件防篡改</td></tr><tr><td>进程</td><td>Intel SGX</td><td>KMS &#x2F; 密钥保护</td></tr><tr><td>VM</td><td>TDX &#x2F; SEV-SNP &#x2F; CSV</td><td>整 VM 加密</td></tr><tr><td>容器</td><td>CoCo（基于 VM TEE）</td><td>K8s 机密容器</td></tr><tr><td>GPU</td><td>NVIDIA Confidential Mode + TDX</td><td>大模型机密推理</td></tr></tbody></table><h2 id="第-3-层：国密-信创"><a href="#第-3-层：国密-信创" class="headerlink" title="第 3 层：国密 &#x2F; 信创"></a>第 3 层：国密 &#x2F; 信创</h2><pre><code class=" mermaid">graph TD  Q1&#123;业务等保等级?&#125;  Q1 -- &quot;等保 1-2 级&quot; --&gt; S1[国际方案 OK&lt;br/&gt;TPM 2.0 + LUKS]  Q1 -- &quot;等保 3 级&quot; --&gt; S2[国密 + TCM&lt;br/&gt;麒麟 / 欧拉]  Q1 -- &quot;等保 4 级 / 关基&quot; --&gt; S3[全栈国产&lt;br/&gt;TPCM + 海光 CSV / 鲲鹏 iTrustee]  Q1 -- &quot;军工 / 国防&quot; --&gt; S4[龙芯 / 申威 + 自研可信]</code></pre><h2 id="第-4-层：性能-成本"><a href="#第-4-层：性能-成本" class="headerlink" title="第 4 层：性能 &#x2F; 成本"></a>第 4 层：性能 &#x2F; 成本</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">最便宜：     纯软件方案（IMA / dm-crypt）<br>中端：       TPM + Secure Boot + LUKS（每机几十元 TPM 芯片）<br>中高：       Confidential VM（云价格 +10-20%）<br>高：         CoCo（资源开销 + 启动慢）<br>最高：       Confidential GPU（H100 量级 + 软件）<br></code></pre></td></tr></table></figure><h2 id="几个典型场景的清单"><a href="#几个典型场景的清单" class="headerlink" title="几个典型场景的清单"></a>几个典型场景的清单</h2><h3 id="场景-1：互联网公司一般业务"><a href="#场景-1：互联网公司一般业务" class="headerlink" title="场景 1：互联网公司一般业务"></a>场景 1：互联网公司一般业务</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">推荐：     不用 TPM / TEE，靠普通安全<br>理由：     ROI 不划算，运维成本高<br>保护手段：     <br>  - dm-crypt 普通磁盘加密<br>  - SELinux / AppArmor<br>  - 入侵检测 / 审计<br></code></pre></td></tr></table></figure><h3 id="场景-2：金融核心系统"><a href="#场景-2：金融核心系统" class="headerlink" title="场景 2：金融核心系统"></a>场景 2：金融核心系统</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">推荐：     全栈可信启动<br>配置：     <br>  - TPM 2.0 / TCM 芯片<br>  - Secure Boot 启用<br>  - Measured Boot 记录<br>  - LUKS + TPM 密封 PCR 7<br>  - IMA Appraisal<br>  - 远程证明上报<br>  - 国密 SSL（GmSSL）<br>预算：     额外 5-10% 硬件 + 运维<br></code></pre></td></tr></table></figure><h3 id="场景-3：政府-央企信创系统"><a href="#场景-3：政府-央企信创系统" class="headerlink" title="场景 3：政府 &#x2F; 央企信创系统"></a>场景 3：政府 &#x2F; 央企信创系统</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">推荐：     国产全栈 + TPCM<br>配置：     <br>  - 海光 / 鲲鹏 + TPCM 模块<br>  - 麒麟 V10 / openEuler / UOS<br>  - TCM 芯片（与 TPCM 配合）<br>  - 国密 Secure Boot（SM2 签名）<br>  - IMA + EVM 国密版<br>  - 海光 CSV / 鲲鹏 iTrustee（敏感业务）<br>认证：     等保 3+ / 信创目录<br></code></pre></td></tr></table></figure><h3 id="场景-4：多方计算-联邦学习"><a href="#场景-4：多方计算-联邦学习" class="headerlink" title="场景 4：多方计算 &#x2F; 联邦学习"></a>场景 4：多方计算 &#x2F; 联邦学习</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">推荐：     Confidential VM + Confidential GPU<br>配置：     <br>  - 云上 TDX VM 或 SEV-SNP VM<br>  - NVIDIA H100 Confidential Mode<br>  - 远程证明 + KBS 密钥分发<br>  - Veraison / Intel Trust Authority<br>应用：     银行联合反欺诈、医疗 AI、广告 Data Clean Room<br></code></pre></td></tr></table></figure><h3 id="场景-5：军方-国防"><a href="#场景-5：军方-国防" class="headerlink" title="场景 5：军方 &#x2F; 国防"></a>场景 5：军方 &#x2F; 国防</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">推荐：     龙芯 / 申威 + 自研可信芯片<br>配置：     <br>  - 全自主指令集<br>  - 自研 BIOS / OS / 可信 module<br>  - 物理隔离网络<br>  - 国密 + 自定义算法<br>等保：     4 级以上<br></code></pre></td></tr></table></figure><h2 id="几个常见的”老坑”"><a href="#几个常见的”老坑”" class="headerlink" title="几个常见的”老坑”"></a>几个常见的”老坑”</h2><h3 id="坑-1：以为-TPM-安全"><a href="#坑-1：以为-TPM-安全" class="headerlink" title="坑 1：以为 TPM &#x3D; 安全"></a>坑 1：以为 TPM &#x3D; 安全</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">TPM 只能&quot;度量&quot;，不能&quot;防御&quot;：     <br>  - 启动时 BIOS 改了，PCR 也改，但系统照样启动<br>  - TPM 不阻止攻击，只记录状态<br>  <br>完整方案：     TPM 度量 + Secure Boot 阻止 + IMA 运行时验证 + 远程证明<br></code></pre></td></tr></table></figure><h3 id="坑-2：Secure-Boot-关闭后还以为安全"><a href="#坑-2：Secure-Boot-关闭后还以为安全" class="headerlink" title="坑 2：Secure Boot 关闭后还以为安全"></a>坑 2：Secure Boot 关闭后还以为安全</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">有人嫌 Secure Boot 麻烦关掉：     <br>  - PCR 7 变化（reboot 后 LUKS 解不开）<br>  - 但 BIOS 度量仍记录<br>  - 攻击面立即扩大<br></code></pre></td></tr></table></figure><h3 id="坑-3：把-Confidential-VM-当魔法"><a href="#坑-3：把-Confidential-VM-当魔法" class="headerlink" title="坑 3：把 Confidential VM 当魔法"></a>坑 3：把 Confidential VM 当魔法</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">启用 TDX / SEV-SNP 不等于&quot;完全安全&quot;：     <br>  - 业务代码漏洞照样存在<br>  - 侧信道攻击仍可能<br>  - 远程证明不实现 = 走过场<br>  <br>正确：     TEE + 应用层安全 + 持续审计<br></code></pre></td></tr></table></figure><h3 id="坑-4：远程证明不验签"><a href="#坑-4：远程证明不验签" class="headerlink" title="坑 4：远程证明不验签"></a>坑 4：远程证明不验签</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">拿到 attestation report 但不验签：     <br>  - 攻击者可伪造<br>  - TCB level 不查 = 旧漏洞 CPU 仍信任<br>  - 不防重放<br>  <br>完整验证：     签名链 + nonce + TCB level + 撤销列表<br></code></pre></td></tr></table></figure><h3 id="坑-5：vTPM-状态丢失"><a href="#坑-5：vTPM-状态丢失" class="headerlink" title="坑 5：vTPM 状态丢失"></a>坑 5：vTPM 状态丢失</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">KVM vTPM 默认非持久化：     <br>  - VM 重启 → PCR 全空<br>  - LUKS 密封解不开<br>  - 业务 down<br>  <br>解决：     swtpm + libvirt 持久化模式<br></code></pre></td></tr></table></figure><h3 id="坑-6：万级集群基线管理"><a href="#坑-6：万级集群基线管理" class="headerlink" title="坑 6：万级集群基线管理"></a>坑 6：万级集群基线管理</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">每机 PCR 因 BIOS / kernel 略差异：     <br>  - 远程证明要逐机维护基线<br>  - 升级时全集群 PCR 重算<br>  - 运维成本高<br>  <br>缓解：     用 PCR 7 + Secure Boot 抽象，不直接比 PCR 0/4<br></code></pre></td></tr></table></figure><h3 id="坑-7：性能预估错位"><a href="#坑-7：性能预估错位" class="headerlink" title="坑 7：性能预估错位"></a>坑 7：性能预估错位</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">TEE 加密内存 5-10% 性能损失看起来小：     <br>  - 但有些业务（数据库 / 高频交易）20% 都受不了<br>  - 实测后再决定生产用<br></code></pre></td></tr></table></figure><h2 id="一些性能直觉数字"><a href="#一些性能直觉数字" class="headerlink" title="一些性能直觉数字"></a>一些性能直觉数字</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><code class="hljs text">TPM 操作：     <br>  生成 RSA 2048 密钥：     500-1000 ms<br>  RSA 签名：              50-100 ms<br>  PCR Extend：            1-5 ms<br>  Quote：                  50-150 ms<br><br>启动开销：     <br>  Secure Boot：            +50-200 ms<br>  Measured Boot：          +500 ms<br>  IMA：                   +1-5 秒<br>  TPM 解 LUKS：           +200-500 ms<br><br>TEE 性能：     <br>  SGX 内存敏感应用：       50-70%（大数据集）<br>  SGX CPU 敏感应用：       95%<br>  TDX / SEV-SNP：         95%（&lt; 5% 损失）<br>  Confidential GPU：     90-95%<br><br>启动 + 远程证明：     <br>  Confidential VM：        +3-5 秒<br>  CoCo Pod：              +5-10 秒<br></code></pre></td></tr></table></figure><h2 id="第八章整体小结"><a href="#第八章整体小结" class="headerlink" title="第八章整体小结"></a>第八章整体小结</h2><p>回看第八章覆盖：</p><ol><li><strong>TPM &#x2F; TCM 基础</strong> — 硬件根 + PCR + 度量启动链</li><li><strong>Secure Boot &#x2F; Measured Boot &#x2F; IMA</strong> — 启动链验签 + 度量 + 运行时验证</li><li><strong>TEE</strong> — SGX &#x2F; TDX &#x2F; SEV &#x2F; TrustZone &#x2F; CCA</li><li><strong>机密计算</strong> — Confidential VM &#x2F; Container 产品形态</li><li><strong>国产可信计算</strong> — TCM &#x2F; TPCM &#x2F; 海光 CSV &#x2F; 鲲鹏 iTrustee</li><li><strong>可信计算选型与小结</strong>（本篇）</li></ol><p>几条贯穿全章的主线：</p><pre><code class=" mermaid">graph LR  HW[硬件根&lt;br/&gt;TPM/TCM/CPU TEE]  BOOT[启动链&lt;br/&gt;Secure + Measured]  RUN[运行时&lt;br/&gt;IMA / TEE]  REMOTE[远程证明]  APP[业务可信]  HW --&gt; BOOT --&gt; RUN --&gt; REMOTE --&gt; APP</code></pre><p><strong>核心认知</strong>：</p><ul><li>可信计算 &#x3D; “硬件证明系统状态”</li><li>TPM 度量 + Secure Boot 验签 + IMA 运行时 &#x3D; 完整启动链</li><li>TEE 进一步保护”运行时数据”</li><li>远程证明把”信任”延伸到远端</li><li>国产路线分两条：TPM 2.0 + 国密 &#x2F; TCM-TPCM 主动可信</li><li>互联网启用率低，政企 &#x2F; 金融 &#x2F; 关基启用率高</li></ul><h2 id="可信计算未来-2-3-年趋势"><a href="#可信计算未来-2-3-年趋势" class="headerlink" title="可信计算未来 2-3 年趋势"></a>可信计算未来 2-3 年趋势</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">1. TDX / SEV-SNP 在公有云全面铺开<br>2. Confidential GPU（NVIDIA H100/B200）走向规模化<br>3. CoCo（K8s 机密容器）从研究走向生产<br>4. ARM CCA 商用 + 鲲鹏 + 飞腾跟进<br>5. RATS（IETF 远程证明）成为跨厂家标准<br>6. 量子安全密码学开始嵌入 TPM（PQC）<br>7. 国产 TPCM 在关基 / 政企持续渗透<br>8. 海光 CSV3 / GPU TEE 大规模落地<br>9. 联邦学习 + 机密计算结合（数据合作）<br>10. 监管推动（PIPL / GDPR / DORA）使机密计算成为合规手段<br></code></pre></td></tr></table></figure><h2 id="给读者的实战建议"><a href="#给读者的实战建议" class="headerlink" title="给读者的实战建议"></a>给读者的实战建议</h2><p>如果你在公司负责可信计算 &#x2F; 安全规划：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 先评估威胁模型——不要&quot;为了用而用&quot;<br>2. 一般业务先做基本面：     磁盘加密 + SELinux + 审计<br>3. 关键业务再叠加：     TPM + Secure Boot + IMA<br>4. 对外提供服务：     考虑 Confidential VM 给客户证明<br>5. 跨方合作：     选 TDX / SEV-SNP 路线<br>6. 国产化要求按等保等级分层<br>7. 远程证明要规划基线管理（最大坑）<br>8. 性能 / 成本先做 PoC 实测<br>9. 留 fallback（recovery key / 等密码）<br>10. 团队培训：     可信计算运维比常规更复杂<br></code></pre></td></tr></table></figure><blockquote><p>待补充：你公司或项目的可信计算选型经验。</p></blockquote><h2 id="第八章结束"><a href="#第八章结束" class="headerlink" title="第八章结束"></a>第八章结束</h2><p>下一章进入<strong>第九章 基准测试与认证</strong>。会重点讲：</p><ul><li>SPEC CPU &#x2F; Linpack &#x2F; SPECpower</li><li>TPC-C &#x2F; TPC-H &#x2F; TPC-DS（数据库基准）</li><li>MLPerf（AI 基准）</li><li>STREAM &#x2F; fio &#x2F; iperf 等工具</li><li>国产认证（CCC &#x2F; 中标 &#x2F; 信创目录 &#x2F; 等保 &#x2F; 国密）</li><li>全书收口</li></ul><p>Chapter 8 done.</p>]]>
    </content>
    <id>http://localhost:4000/posts/8b48038e/</id>
    <link href="http://localhost:4000/posts/8b48038e/"/>
    <published>2026-04-05T15:20:00.000Z</published>
    <summary>把第八章 5 篇连起来——按业务场景实际怎么选 TPM、TEE、机密计算栈。本篇是第八章收口。</summary>
    <title>可信计算选型与第八章小结</title>
    <updated>2026-06-15T02:37:52.334Z</updated>
  </entry>
  <entry>
    <category term="08-可信计算" scheme="http://localhost:4000/categories/08-%E5%8F%AF%E4%BF%A1%E8%AE%A1%E7%AE%97/"/>
    <category term="TCM" scheme="http://localhost:4000/tags/TCM/"/>
    <category term="TPCM" scheme="http://localhost:4000/tags/TPCM/"/>
    <category term="海光 CSV" scheme="http://localhost:4000/tags/%E6%B5%B7%E5%85%89-CSV/"/>
    <category term="鲲鹏 iTrustee" scheme="http://localhost:4000/tags/%E9%B2%B2%E9%B9%8F-iTrustee/"/>
    <category term="国密" scheme="http://localhost:4000/tags/%E5%9B%BD%E5%AF%86/"/>
    <content>
      <![CDATA[<p>中国可信计算 1990 年代起步，2000 年后形成”沈昌祥院士”主导的”可信计算 2.0”路线——和国际 TCG 路线有差异。本文盘点国产可信硬件、软件、标准全景。</p><!-- more --><h2 id="中国可信计算的”两条线”"><a href="#中国可信计算的”两条线”" class="headerlink" title="中国可信计算的”两条线”"></a>中国可信计算的”两条线”</h2><pre><code class=" mermaid">graph TB  CN[国产可信计算]  CN --&gt; L1[国际兼容路线&lt;br/&gt;TPM 2.0 + 国密扩展]  CN --&gt; L2[国密自主路线&lt;br/&gt;TCM + TPCM 主动可信]    L1 --&gt; H1[多数 OEM 主板带 TPM]  L1 --&gt; H2[海光 CSV / 鲲鹏 iTrustee]    L2 --&gt; H3[TCM 芯片 主板加]  L2 --&gt; H4[TPCM 主控可信芯片]  L2 --&gt; H5[等保 2.0 / 关基要求]</code></pre><h2 id="TCM：可信密码模块"><a href="#TCM：可信密码模块" class="headerlink" title="TCM：可信密码模块"></a>TCM：可信密码模块</h2><p>国密版 TPM：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs text">TCM（Trusted Cryptography Module）：     <br>  - 国家密码管理局主导<br>  - GB/T 29827-2013（&quot;信息安全技术 可信计算规范 TCM&quot;）<br>  - 算法：     SM2 / SM3 / SM4<br>  - 接口：     LPC / SPI<br><br>与 TPM 1.2 类比：     <br>  - TPM SHA-1 → TCM SM3<br>  - TPM RSA → TCM SM2<br>  - TPM AES → TCM SM4<br><br>商用：     兆芯 / 海光 / 龙芯主板都可选 TCM 芯片<br>厂家：    国民技术、华大半导体、海泰方圆、瑞达等<br></code></pre></td></tr></table></figure><h2 id="TPCM：可信平台控制模块"><a href="#TPCM：可信平台控制模块" class="headerlink" title="TPCM：可信平台控制模块"></a>TPCM：可信平台控制模块</h2><p>中国”主动可信”路线的核心创新：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs text">TPCM（Trusted Platform Control Module）：     <br>  - &quot;可信计算 3.0&quot;概念<br>  - 沈昌祥院士主推<br>  - 不同于 TPM / TCM 的&quot;被动度量&quot;<br>  - TPCM 主动控制系统启动<br>  <br>区别于 TPM：     <br>  TPM：     CPU 调它，被动响应<br>  TPCM：    自身有控制权，可主动启动 / 阻断<br><br>物理形态：     <br>  - 主板上独立模块<br>  - 上电时优先启动<br>  - 控制 BIOS 是否被允许执行<br>  - 持续监督系统运行<br></code></pre></td></tr></table></figure><h3 id="TPCM-工作流程"><a href="#TPCM-工作流程" class="headerlink" title="TPCM 工作流程"></a>TPCM 工作流程</h3><pre><code class=" mermaid">graph TB  POW[上电] --&gt; TPCM[TPCM 优先启动]  TPCM --&gt; CHECK[校验 BIOS 完整性]  CHECK -- 通过 --&gt; RUN[允许 BIOS 执行]  CHECK -- 不通过 --&gt; BLK[阻止系统启动 / 告警]  RUN --&gt; MON[运行时持续监督&lt;br/&gt;主动度量]  MON -- 发现异常 --&gt; ACTION[报警 / 隔离 / 重启]</code></pre><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs text">关键差异：     <br>  - TPM 等&quot;度量后请求&quot;的方式：     CPU 主动询问 TPM 是否 OK<br>  - TPCM 等&quot;主动控制&quot;：     TPCM 自己决定 CPU 能不能跑<br>  <br>理论上 TPCM 比 TPM 更安全——硬件级&quot;看门狗&quot;。<br><br>实际部署：     <br>  - 政府 / 国央企 / 关基系统<br>  - 等保 2.0 / 3.0 三级及以上<br>  - 部分电网 / 银行 / 军方<br>  <br>争议：     <br>  - 与国际 TCG 标准不同<br>  - 国际生态较弱<br>  - 但在国内信创市场是确定的需求<br></code></pre></td></tr></table></figure><h2 id="海光-CSV（China-Secure-Virtualization）"><a href="#海光-CSV（China-Secure-Virtualization）" class="headerlink" title="海光 CSV（China Secure Virtualization）"></a>海光 CSV（China Secure Virtualization）</h2><p>8.3 已介绍——海光 EPYC 衍生 CPU 的 SEV 国密版：</p><pre><code class=" mermaid">graph LR  S1[CSV1&lt;br/&gt;2020&lt;br/&gt;仅内存加密] --&gt; S2[CSV2&lt;br/&gt;2021&lt;br/&gt;+ 寄存器加密]  S2 --&gt; S3[CSV3&lt;br/&gt;2023&lt;br/&gt;+ 完整性 + 防回滚]</code></pre><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs text">CSV 系列：     <br>  CSV1：    SM4 加密 DRAM，对应 SEV<br>  CSV2：    + 寄存器加密，对应 SEV-ES<br>  CSV3：    + 完整性 + 嵌套页表保护，对应 SEV-SNP<br><br>用 SM4 不是 AES：     <br>  - DRAM 内存加密用 SM4-128<br>  - 满足国密要求<br>  - 性能与 AES 相当（硬件实现）<br><br>应用：     <br>  - 海光 + 麒麟 / 欧拉 / UOS：信创机密计算<br>  - 与海光 DCU 配合做 GPU TEE<br>  - 阿里 / 腾讯云国产化区域使用<br></code></pre></td></tr></table></figure><blockquote><p>待补充：海光 CSV 实际部署规模和案例。</p></blockquote><h2 id="鲲鹏-iTrustee"><a href="#鲲鹏-iTrustee" class="headerlink" title="鲲鹏 iTrustee"></a>鲲鹏 iTrustee</h2><p>华为 &#x2F; 海思系：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs text">鲲鹏 iTrustee：     <br>  - ARM TrustZone 上的 Secure World OS<br>  - 华为自研<br>  - 与昇腾 / 鲲鹏 / 麒麟深度集成<br>  <br>secGear SDK：     <br>  - 华为开源 confidential computing 编程框架<br>  - 抽象 Intel SGX / TrustZone / 鲲鹏 / 海光<br>  - 跨 TEE 应用编程<br>  <br>应用：     <br>  - 华为云机密计算服务<br>  - 政企 / 金融 / 运营商<br>  - 鲲鹏 + 麒麟 V10 标配<br></code></pre></td></tr></table></figure><h2 id="飞腾-PSPA"><a href="#飞腾-PSPA" class="headerlink" title="飞腾 PSPA"></a>飞腾 PSPA</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">飞腾 PSPA（Phytium Security Processing Architecture）：     <br>  - 飞腾自家&quot;可信路线&quot;<br>  - 基于 ARM TrustZone<br>  - 与麒麟 / UOS 配套<br>  - PSPA 协处理器集成在 SoC 内<br></code></pre></td></tr></table></figure><blockquote><p>待补充：飞腾 PSPA 详细规格和成熟度。</p></blockquote><h2 id="龙芯安全方案"><a href="#龙芯安全方案" class="headerlink" title="龙芯安全方案"></a>龙芯安全方案</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">龙芯（LoongArch 架构）：     <br>  - 自研可信计算扩展<br>  - 与中科方德 / 麒麟适配<br>  - GUKI 安全 OS（中科方德）<br>  - 国产可信芯片<br><br>特点：     从指令集到 OS 全栈自主<br>应用：     军方 / 关基核心系统<br></code></pre></td></tr></table></figure><blockquote><p>待补充：龙芯可信计算具体实现细节。</p></blockquote><h2 id="申威-兆芯"><a href="#申威-兆芯" class="headerlink" title="申威 &#x2F; 兆芯"></a>申威 &#x2F; 兆芯</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">申威（SW64）：     <br>  - 国防 / 关基<br>  - 全自主指令集<br>  - 自带可信扩展<br><br>兆芯（x86）：     <br>  - 通过 VIA x86 授权<br>  - 部分通用 + 国密扩展<br></code></pre></td></tr></table></figure><h2 id="国产可信计算的标准体系"><a href="#国产可信计算的标准体系" class="headerlink" title="国产可信计算的标准体系"></a>国产可信计算的标准体系</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs text">GB/T 29827-2013：     可信计算规范——TCM<br>GB/T 29828-2013：     可信连接架构（TCA）<br>GB/T 29829-2013：     TCM 服务模块（TSM）<br>GB/T 36639-2018：     可信计算规范——服务器可信支撑平台<br>GB/T 41388-2022：     机密计算技术框架<br>GB/T 39786-2021：     信息系统密码应用基本要求<br><br>等保 2.0 / 3.0：     <br>  - 三级以上要求&quot;可信验证&quot;<br>  - 启动时验证 BIOS / Bootloader<br>  - 运行时验证关键应用<br>  - 可信验证记录留存<br><br>关键信息基础设施保护条例（2021）：     <br>  - &quot;关基&quot;必须有可信验证<br>  - 涵盖电力 / 金融 / 交通 / 政务等<br></code></pre></td></tr></table></figure><h2 id="信创可信计算栈"><a href="#信创可信计算栈" class="headerlink" title="信创可信计算栈"></a>信创可信计算栈</h2><pre><code class=" mermaid">graph TB  L1[硬件层]  L1 --&gt; H1[CPU：海光 / 鲲鹏 / 飞腾 / 龙芯]  L1 --&gt; H2[TCM / TPCM 芯片]  L1 --&gt; H3[GPU：海光 DCU / 昇腾]    L2[固件层]  L2 --&gt; F1[国产 BIOS / UEFI]  L2 --&gt; F2[Secure Boot 国密签名]    L3[OS 层]  L3 --&gt; O1[麒麟 V10 / openEuler / UOS / 龙蜥]  L3 --&gt; O2[IMA + 国密验证]    L4[应用层]  L4 --&gt; A1[国密 OpenSSL（GmSSL）]  L4 --&gt; A2[国产数据库 / 中间件]    L5[监管面]  L5 --&gt; M1[CCRC 认证]  L5 --&gt; M2[国密局认证]  L5 --&gt; M3[等保测评]</code></pre><h2 id="国密算法在可信计算"><a href="#国密算法在可信计算" class="headerlink" title="国密算法在可信计算"></a>国密算法在可信计算</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs text">SM2：     椭圆曲线公钥（256-bit），对应 ECDSA<br>SM3：     哈希（256-bit），对应 SHA-256<br>SM4：     对称加密（128-bit），对应 AES-128<br>SM9：     标识密码（基于双线性对），无国际等价<br><br>可信启动用法：     <br>  - SM3 哈希 PCR Extend<br>  - SM2 签名 attestation<br>  - SM4 加密 LUKS / DRAM<br><br>TPM 2.0 标准支持自定义 hash 算法：     <br>  → TPM 厂家可以做&quot;国密版 TPM&quot;（也叫 TCM 升级版）<br>  → 同一颗芯片支持 SHA-256 + SM3 双 PCR bank<br></code></pre></td></tr></table></figure><h2 id="国产-OS-中的可信适配"><a href="#国产-OS-中的可信适配" class="headerlink" title="国产 OS 中的可信适配"></a>国产 OS 中的可信适配</h2><h3 id="openEuler"><a href="#openEuler" class="headerlink" title="openEuler"></a>openEuler</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">openEuler 22.03 LTS：     <br>  - secGear（机密计算 SDK）<br>  - shimx64.efi 国密签名<br>  - GRUB / kernel 适配 SM2/SM3<br>  - IMA + EVM 国密版本<br>  - 与海光 CSV / 鲲鹏 iTrustee 集成<br>  <br>工具链：     <br>  - tpm2-tss + 国密扩展<br>  - keylime 国密版<br></code></pre></td></tr></table></figure><h3 id="麒麟-V10"><a href="#麒麟-V10" class="headerlink" title="麒麟 V10"></a>麒麟 V10</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">银河麒麟 V10 SP3：     <br>  - 默认启用国密 Secure Boot<br>  - TCM / TPCM 标配<br>  - 等保 3 级合规<br>  - 国密 OpenSSL（GmSSL）<br>  - 国密 SSH<br><br>与 PKI 集成：     <br>  - SM2 数字证书<br>  - 与中国电子签名服务对接<br></code></pre></td></tr></table></figure><h3 id="统信-UOS"><a href="#统信-UOS" class="headerlink" title="统信 UOS"></a>统信 UOS</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">UOS Server V20 / V21：     <br>  - 部分支持 TCM<br>  - 与海光 / 鲲鹏 / 飞腾全适配<br>  - 等保 / 国密合规<br></code></pre></td></tr></table></figure><h2 id="应用场景"><a href="#应用场景" class="headerlink" title="应用场景"></a>应用场景</h2><h3 id="党政信息系统"><a href="#党政信息系统" class="headerlink" title="党政信息系统"></a>党政信息系统</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">要求：     <br>  - 等保 3 级及以上<br>  - TCM / TPCM 启用<br>  - 全栈国产 + 国密<br>  <br>典型部署：     <br>  - 海光 + 麒麟 V10 + TPCM<br>  - openEuler + 鲲鹏 + iTrustee<br>  - 飞腾 + UOS + TCM<br></code></pre></td></tr></table></figure><h3 id="央国企生产系统"><a href="#央国企生产系统" class="headerlink" title="央国企生产系统"></a>央国企生产系统</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">银行核心系统：     <br>  - 国密 SSL（OpenSSL → GmSSL）<br>  - 数据库国密（GaussDB / OceanBase 国密版）<br>  - HSM 用国密<br>  - 部分用 TEE（海光 CSV / 鲲鹏）<br>  <br>电力调度系统：     <br>  - TPCM 主动可信<br>  - 电网信创目录<br>  - 边界网关国密<br></code></pre></td></tr></table></figure><h3 id="军方-关基"><a href="#军方-关基" class="headerlink" title="军方 &#x2F; 关基"></a>军方 &#x2F; 关基</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">要求：     <br>  - 等保 4 级<br>  - 自主可控（指令集 + 全栈）<br>  - 龙芯 / 申威优先<br>  - 自研可信芯片<br>  <br>典型部署：     <br>  - 龙芯 + 中科方德 + 自研可信<br>  - 申威 + 凝思 / 麒麟信安<br></code></pre></td></tr></table></figure><h2 id="国产可信计算的挑战"><a href="#国产可信计算的挑战" class="headerlink" title="国产可信计算的挑战"></a>国产可信计算的挑战</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 国际生态弱：     <br>   - TCM / TPCM 与 TCG 不完全兼容<br>   - 跨厂家工具少<br>   - 学术研究少<br>   <br>2. 应用兼容：     <br>   - 国密 OpenSSL 替代国际版<br>   - 国产中间件 / 数据库适配<br>   - 应用层移植成本<br><br>3. 性能：     <br>   - SM2 / SM4 性能稍逊 RSA / AES（差距小）<br>   - SM3 与 SHA-256 相当<br>   - 国密硬件加速覆盖度不如 AES-NI<br><br>4. 工具链：     <br>   - 调试 / profiling 工具少<br>   - 与开源社区互动有限<br>   - 标准更新慢<br><br>5. 主动可信路线分歧：     <br>   - TPCM 仅国内推<br>   - 国际厂家不实现<br>   - 跨国企业落地难<br></code></pre></td></tr></table></figure><h2 id="国产可信计算的优势"><a href="#国产可信计算的优势" class="headerlink" title="国产可信计算的优势"></a>国产可信计算的优势</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 监管确定性：     <br>   - 信创目录 / 等保 2.0 / 关基保护条例<br>   - 一定数量的政企采购&quot;必带&quot;<br>   <br>2. 全栈自主：     <br>   - 从指令集到 TEE 全栈自研<br>   - 不被外部&quot;卡脖子&quot;<br><br>3. 与国密深度结合：     <br>   - SM2 / SM3 / SM4 / SM9 硬件加速<br>   - 国密合规直接达成<br><br>4. 主动可信创新：     <br>   - TPCM 是国内创新点<br>   - 未来可能反向输出<br></code></pre></td></tr></table></figure><h2 id="工具与命令"><a href="#工具与命令" class="headerlink" title="工具与命令"></a>工具与命令</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 看 TCM 支持</span><br><span class="hljs-built_in">ls</span> /dev/tcm*<br><span class="hljs-built_in">cat</span> /sys/class/tcm/tcm0/version<br><br><span class="hljs-comment"># 国密 OpenSSL（GmSSL）</span><br>gmssl version<br>gmssl sm3 -<span class="hljs-keyword">in</span> file.txt<br>gmssl sm2sign -<span class="hljs-keyword">in</span> file.txt -inkey sm2.pem<br><br><span class="hljs-comment"># 海光 CSV 检测</span><br>dmesg | grep -i csv<br><span class="hljs-built_in">ls</span> /dev/csv-guest<br><br><span class="hljs-comment"># 鲲鹏 iTrustee（OP-TEE 衍生）</span><br>optee-supplicant status<br><br><span class="hljs-comment"># secGear（华为机密计算 SDK）</span><br>secgear-cli list-tee<br></code></pre></td></tr></table></figure><h2 id="一些查询"><a href="#一些查询" class="headerlink" title="一些查询"></a>一些查询</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 看 CPU 是否支持国密扩展</span><br>grep -E <span class="hljs-string">&quot;sm3|sm4|sm9&quot;</span> /proc/cpuinfo<br><br><span class="hljs-comment"># 看 TPM 是否双 bank（SHA-256 + SM3）</span><br>tpm2_pcrread sha256:0,1,2<br>tpm2_pcrread sm3_256:0,1,2<br><br><span class="hljs-comment"># 安装国密支持</span><br><span class="hljs-comment"># openEuler：     </span><br>dnf install GmSSL openssl-gmssl<br><span class="hljs-comment"># 麒麟 V10：     </span><br>yum install GmSSL kysec<br></code></pre></td></tr></table></figure><h2 id="业界进展"><a href="#业界进展" class="headerlink" title="业界进展"></a>业界进展</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs text">2022-2024：     <br>  - 信创采购爆发期<br>  - TCM / TPCM 上量<br>  - 海光 CSV 商用化<br>  - 鲲鹏 iTrustee 进入华为云<br><br>2024-2026：     <br>  - 万节点级国产可信集群<br>  - 与机密计算 / 多方计算结合<br>  - GPU TEE（海光 DCU + CSV）<br><br>2026+：     <br>  - 全栈机密计算（海光 / 鲲鹏 + 国密）<br>  - 国密 + 国际标准互认<br>  - 信创 + 关基的可信网络（TNC）<br></code></pre></td></tr></table></figure><blockquote><p>待补充：实际项目国产可信计算选型经验。</p></blockquote><h2 id="与国际方案对比"><a href="#与国际方案对比" class="headerlink" title="与国际方案对比"></a>与国际方案对比</h2><table><thead><tr><th>国际</th><th>国产对应</th><th>现状</th></tr></thead><tbody><tr><td>TPM 2.0</td><td>TCM 2.0（GB&#x2F;T 29827-2024 进化中）</td><td>TCM 已成熟</td></tr><tr><td>Intel TDX</td><td>海光 CSV3</td><td>海光 CSV 已商用</td></tr><tr><td>AMD SEV-SNP</td><td>海光 CSV3</td><td>兼容 SEV</td></tr><tr><td>Intel SGX</td><td>鲲鹏 iTrustee（不同模型）</td><td>进程级 vs VM 级</td></tr><tr><td>ARM TrustZone</td><td>鲲鹏 iTrustee &#x2F; 飞腾 PSPA</td><td>同根 ARM</td></tr><tr><td>ARM CCA</td><td>鲲鹏 + 国密版 CCA（探索）</td><td>未量产</td></tr><tr><td>TPM Quote</td><td>国密 attestation</td><td>标准化进行中</td></tr></tbody></table><h2 id="一些”国产可信”的真实落地"><a href="#一些”国产可信”的真实落地" class="headerlink" title="一些”国产可信”的真实落地"></a>一些”国产可信”的真实落地</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs text">国家电网调度系统：     <br>  - 全栈国产 + TPCM 主动可信<br>  - 等保 4 级<br>  - 千节点级<br><br>中国银联：     <br>  - 海光 + 麒麟 + 国密<br>  - 部分核心系统<br><br>某省级政务云：     <br>  - 鲲鹏 + 麒麟 + iTrustee<br>  - 与机密计算结合<br><br>军工 / 国防系统：     <br>  - 龙芯 / 申威 + 自研可信<br>  - 全脱网部署<br></code></pre></td></tr></table></figure><blockquote><p>待补充：你公司或项目的国产可信选型实际情况。</p></blockquote><h2 id="一些数字直觉"><a href="#一些数字直觉" class="headerlink" title="一些数字直觉"></a>一些数字直觉</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs text">TPCM 启动：     <br>  +1-3 秒（主动验证 BIOS）<br>  <br>海光 CSV 启动：     <br>  类似 SEV，+2-3 秒<br><br>国密 vs 国际：     <br>  SM2 签名 vs ECDSA：    几乎相同<br>  SM3 哈希 vs SHA-256：    几乎相同<br>  SM4 加密 vs AES-128：    硬件加速后接近<br><br>实际部署成本：     <br>  TCM 芯片：    单颗几十元 RMB<br>  TPCM 模块：    数百元 RMB<br>  海光 CSV：    随海光 CPU 免费<br>  鲲鹏 iTrustee：    随 SoC 免费<br></code></pre></td></tr></table></figure><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>国产可信计算分两条路线：TPM 2.0 + 国密 &#x2F; TCM-TPCM 主动可信</li><li>TCM 是国密版 TPM，TPCM 是”主动可信”创新</li><li>海光 CSV 是国密版 SEV，鲲鹏 iTrustee 基于 ARM TrustZone</li><li>国密算法 SM2&#x2F;3&#x2F;4&#x2F;9 全栈替换 RSA&#x2F;SHA&#x2F;AES</li><li>信创 &#x2F; 等保 &#x2F; 关基是主要驱动力</li><li>全栈自主优势 + 国际生态弱势是当前现状</li><li>应用：     党政、央国企、银行、电力、军方</li></ul><p>下一篇是第八章收口——可信计算选型与第八章小结。</p>]]>
    </content>
    <id>http://localhost:4000/posts/3e88b025/</id>
    <link href="http://localhost:4000/posts/3e88b025/"/>
    <published>2026-03-29T08:30:00.000Z</published>
    <summary>中国可信计算 2.0 路线和国际 TPM / TEE 不完全一样——主动可信、国密算法、TPCM 主控。本文盘点国产可信计算的硬件、软件、标准。</summary>
    <title>国产可信计算 —— TCM、TPCM、海光 CSV、鲲鹏</title>
    <updated>2026-06-15T02:37:52.334Z</updated>
  </entry>
  <entry>
    <category term="08-可信计算" scheme="http://localhost:4000/categories/08-%E5%8F%AF%E4%BF%A1%E8%AE%A1%E7%AE%97/"/>
    <category term="Confidential Computing" scheme="http://localhost:4000/tags/Confidential-Computing/"/>
    <category term="机密计算" scheme="http://localhost:4000/tags/%E6%9C%BA%E5%AF%86%E8%AE%A1%E7%AE%97/"/>
    <category term="CVM" scheme="http://localhost:4000/tags/CVM/"/>
    <category term="CoCo" scheme="http://localhost:4000/tags/CoCo/"/>
    <content>
      <![CDATA[<p>第 8.3 讲了 TEE 技术（SGX &#x2F; TDX &#x2F; SEV &#x2F; TrustZone）。本篇讲它们的”产品形态”——云上的 <strong>Confidential VM</strong>、<strong>Confidential Container</strong>，以及实际业务应用。</p><!-- more --><h2 id="Confidential-Computing-的定义"><a href="#Confidential-Computing-的定义" class="headerlink" title="Confidential Computing 的定义"></a>Confidential Computing 的定义</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">Confidential Computing Consortium 定义：     <br>  &quot;Protection of data in use by performing <br>   computation in a hardware-based, <br>   attested Trusted Execution Environment.&quot;<br><br>核心三要素：     <br>  1. 硬件 TEE<br>  2. 远程证明（attested）<br>  3. 运行时数据保护（data in use）<br></code></pre></td></tr></table></figure><h3 id="数据三种状态"><a href="#数据三种状态" class="headerlink" title="数据三种状态"></a>数据三种状态</h3><pre><code class=" mermaid">graph TB  D[数据]  D --&gt; R1[At Rest 静态&lt;br/&gt;磁盘加密 LUKS / S3]  D --&gt; R2[In Transit 传输&lt;br/&gt;TLS / IPsec]  D --&gt; R3[In Use 使用&lt;br/&gt;过去无解 → 现在 TEE]</code></pre><p>数据”使用中”加密——这是机密计算填补的空白。</p><h2 id="Confidential-VM（CVM）"><a href="#Confidential-VM（CVM）" class="headerlink" title="Confidential VM（CVM）"></a>Confidential VM（CVM）</h2><h3 id="主流云的-CVM-产品"><a href="#主流云的-CVM-产品" class="headerlink" title="主流云的 CVM 产品"></a>主流云的 CVM 产品</h3><table><thead><tr><th>云</th><th>产品</th><th>底层</th></tr></thead><tbody><tr><td>Microsoft Azure</td><td>DCe &#x2F; DCa &#x2F; ECe &#x2F; ECa 系列</td><td>Intel TDX &#x2F; AMD SEV-SNP</td></tr><tr><td>Google Cloud</td><td>Confidential VM C2D &#x2F; N2D</td><td>AMD SEV &#x2F; SEV-SNP &#x2F; TDX</td></tr><tr><td>AWS</td><td>Nitro Enclaves（限制版本）</td><td>Nitro 自家 + SEV</td></tr><tr><td>阿里云</td><td>ECS 安全增强型</td><td>TDX &#x2F; SEV &#x2F; 海光 CSV</td></tr><tr><td>腾讯云</td><td>TKE 机密计算</td><td>SEV &#x2F; 海光 CSV</td></tr><tr><td>华为云</td><td>鲲鹏 + iTrustee</td><td>TrustZone</td></tr></tbody></table><h3 id="启动-Confidential-VM-的流程"><a href="#启动-Confidential-VM-的流程" class="headerlink" title="启动 Confidential VM 的流程"></a>启动 Confidential VM 的流程</h3><pre><code class=" mermaid">graph LR  U[用户提交 VM 模板] --&gt; H[CSP Hypervisor]  H --&gt; CR[创建加密 VM&lt;br/&gt;注入 vTPM / TDX module]  CR --&gt; BOOT[VM 启动 + Measured Boot]  BOOT --&gt; AT[VM 调 Quote API&lt;br/&gt;得到 Attestation Report]  AT --&gt; US[用户拿到 Report]  US --&gt; VER[用户验证签名 + PCR]  VER --&gt; KEY[确认可信 → 注入业务密钥]  KEY --&gt; APP[业务运行]</code></pre><p>关键点：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 用户不信任 CSP / Hypervisor<br>2. CSP 看不到 VM 内存<br>3. 用户先验证 attestation，再决定是否注入数据 / 密钥<br>4. 整个流程&quot;硬件 + 协议&quot;保证<br></code></pre></td></tr></table></figure><h3 id="简单-Demo：Azure-Confidential-VM"><a href="#简单-Demo：Azure-Confidential-VM" class="headerlink" title="简单 Demo：Azure Confidential VM"></a>简单 Demo：Azure Confidential VM</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># Azure CLI 创建 Confidential VM</span><br>az vm create \<br>  --resource-group myRG \<br>  --name myCVM \<br>  --image Ubuntu2204 \<br>  --size Standard_DC4ads_v5 \  <span class="hljs-comment"># SEV-SNP</span><br>  --security-type ConfidentialVM \<br>  --enable-vtpm <span class="hljs-literal">true</span> \<br>  --enable-secure-boot <span class="hljs-literal">true</span><br><br><span class="hljs-comment"># 在 VM 内取 attestation</span><br><span class="hljs-built_in">sudo</span> apt install snp-guest-tools<br>snp-guest-report report.bin<br><br><span class="hljs-comment"># 验证</span><br>snp-guest verify report.bin<br></code></pre></td></tr></table></figure><h2 id="Confidential-Container（CoCo）"><a href="#Confidential-Container（CoCo）" class="headerlink" title="Confidential Container（CoCo）"></a>Confidential Container（CoCo）</h2><p>容器粒度的机密计算：</p><pre><code class=" mermaid">graph TB  K8S[K8s API]  K8S --&gt; CC[Confidential Container]  CC --&gt; KATA[Kata Container 运行时]  KATA --&gt; TDX_VM[TDX / SEV-SNP VM]  TDX_VM --&gt; POD[Pod 容器]</code></pre><h3 id="CoCo-项目（CNCF）"><a href="#CoCo-项目（CNCF）" class="headerlink" title="CoCo 项目（CNCF）"></a>CoCo 项目（CNCF）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">Confidential Containers（CoCo）：     <br>  - K8s 上跑机密容器的开源项目<br>  - 基于 Kata Containers 改造<br>  - 支持 SGX / TDX / SEV-SNP / CCA<br>  - 红帽 / Intel / IBM / Microsoft 共同推动<br>  <br>工作流：     <br>  1. K8s 调度 Pod<br>  2. CoCo 运行时启动加密 VM<br>  3. VM 内 kata-agent 启动容器<br>  4. 远程证明触发<br>  5. 业务镜像解密 + 运行<br></code></pre></td></tr></table></figure><h3 id="CoCo-与普通容器对比"><a href="#CoCo-与普通容器对比" class="headerlink" title="CoCo 与普通容器对比"></a>CoCo 与普通容器对比</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">普通容器：     <br>  - 共享内核<br>  - Host root 能 dump 进程内存<br>  - 不可信<br><br>CoCo（基于 TDX/SEV-SNP）：     <br>  - 每 Pod 一个加密 VM<br>  - 内核独立<br>  - Host 看不到 VM 内存<br>  - 远程证明<br>  - 启动比普通容器慢 2-5 秒<br>  - 资源占用比普通容器多一些<br></code></pre></td></tr></table></figure><h3 id="镜像保护"><a href="#镜像保护" class="headerlink" title="镜像保护"></a>镜像保护</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">普通容器镜像：     公开（registry 直接拉）<br>CoCo 加密镜像：     <br>  - 用密钥加密 layer<br>  - 远程证明通过后才下发解密 key<br>  - 镜像层只在 enclave 内解密<br>  <br>工具：     <br>  Skopeo + ocicrypt：    加密 OCI 镜像<br>  KBS（Key Broker Service）：    远程证明 + key 分发<br></code></pre></td></tr></table></figure><h2 id="Nitro-Enclaves（AWS）"><a href="#Nitro-Enclaves（AWS）" class="headerlink" title="Nitro Enclaves（AWS）"></a>Nitro Enclaves（AWS）</h2><p>AWS 走的是不一样的路线：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs text">Nitro Enclaves：     <br>  - 不基于 SGX / TDX / SEV<br>  - 基于 AWS Nitro 自研 Hypervisor<br>  - 隔离 vCPU + RAM 给 enclave<br>  - 无网络、无持久化（只 vsock）<br>  - 通过 Nitro 远程证明 API<br><br>应用：     <br>  - 金融业（合规要求高）<br>  - 区块链私钥<br>  - DRM 内容保护<br><br>特点：     不需要特殊 CPU，只要 EC2<br></code></pre></td></tr></table></figure><blockquote><p>待补充：Nitro Enclaves 与 SEV-SNP 实测对比。</p></blockquote><h2 id="NVIDIA-Confidential-Computing（GPU-TEE）"><a href="#NVIDIA-Confidential-Computing（GPU-TEE）" class="headerlink" title="NVIDIA Confidential Computing（GPU TEE）"></a>NVIDIA Confidential Computing（GPU TEE）</h2><p>H100 引入的 GPU 机密计算：</p><pre><code class=" mermaid">graph LR  CVM[Confidential VM&lt;br/&gt;TDX/SEV-SNP] -.- |加密 PCIe| GPU[H100/B200&lt;br/&gt;Confidential Mode]  GPU --&gt; ENC[GPU 显存加密]</code></pre><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs text">H100 Confidential Mode：     <br>  - GPU 内存加密<br>  - PCIe 总线密文<br>  - 与 TDX VM 配合<br>  - vGPU 内 attest GPU 状态<br>  - 性能损失 ~5-10%<br><br>应用：     <br>  - 多方训练（数据所有者不信 CSP）<br>  - 模型权重保护<br>  - 监管 / 合规 AI<br><br>支持栈：     <br>  CUDA 12.x+<br>  NVIDIA Driver R535+<br>  与 Microsoft Azure / GCP 联动<br></code></pre></td></tr></table></figure><h2 id="业务应用"><a href="#业务应用" class="headerlink" title="业务应用"></a>业务应用</h2><h3 id="1-多方计算（MPC）-联邦学习"><a href="#1-多方计算（MPC）-联邦学习" class="headerlink" title="1. 多方计算（MPC）&#x2F; 联邦学习"></a>1. 多方计算（MPC）&#x2F; 联邦学习</h3><pre><code class=" mermaid">graph TB  P1[参与方 A 数据]  P2[参与方 B 数据]  P3[参与方 C 数据]    P1 --&gt; CVM[Confidential VM&lt;br/&gt;多方都不信任的 CSP]  P2 --&gt; CVM  P3 --&gt; CVM    CVM --&gt; RESULT[联合训练结果]</code></pre><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">传统 MPC：     全密文计算（HE / 秘密分享），慢<br>TEE 替代：     明文进 enclave，性能近原生<br>应用：     <br>  - 银行间联合反欺诈<br>  - 医院联合医疗 AI<br>  - 跨集团 / 跨国数据合作<br></code></pre></td></tr></table></figure><h3 id="2-数据安全屋（Data-Clean-Room）"><a href="#2-数据安全屋（Data-Clean-Room）" class="headerlink" title="2. 数据安全屋（Data Clean Room）"></a>2. 数据安全屋（Data Clean Room）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">广告主 + 媒体方：     <br>  - 双方都有用户数据<br>  - 想合并分析但不公开各自数据<br>  - 把数据进 Confidential VM<br>  - 在里面联合查询 / 建模<br>  - 输出仅汇总结果<br>  <br>代表产品：     <br>  AWS Clean Rooms<br>  Snowflake Data Clean Room<br>  Google Ads Data Hub<br>  阿里云 / 腾讯云的 Privacy-Preserving Computing<br></code></pre></td></tr></table></figure><h3 id="3-区块链-Web3-私钥"><a href="#3-区块链-Web3-私钥" class="headerlink" title="3. 区块链 &#x2F; Web3 私钥"></a>3. 区块链 &#x2F; Web3 私钥</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">传统区块链节点：     私钥在内存 → 攻击面大<br>TEE 节点：     <br>  - 私钥永远不出 enclave<br>  - 签交易在 enclave 内<br>  - 即使 root 也偷不到<br><br>代表：     <br>  - Hyperledger Avalon<br>  - Microsoft Confidential Consortium Framework (CCF)<br>  - 各家区块链的&quot;硬件钱包&quot;<br></code></pre></td></tr></table></figure><h3 id="4-监管合规"><a href="#4-监管合规" class="headerlink" title="4. 监管合规"></a>4. 监管合规</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">GDPR / HIPAA / 金融数据保护法：     <br>  - &quot;数据所有者不信任云&quot;是常见诉求<br>  - Confidential VM 提供&quot;我可以用云但不让 CSP 看见&quot;<br>  - 部分行业法规已认可 Confidential Computing 为合规手段<br>  <br>中国：     <br>  - 个人信息保护法（PIPL）<br>  - 关键信息基础设施保护<br>  - 信创 + 等保对机密计算有要求<br></code></pre></td></tr></table></figure><h3 id="5-大模型推理保护"><a href="#5-大模型推理保护" class="headerlink" title="5. 大模型推理保护"></a>5. 大模型推理保护</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs text">场景：     <br>  - 客户上传数据用 LLM 推理<br>  - 不希望 CSP / 服务商看到 prompt 和结果<br>  - 也不希望模型被偷<br>  <br>解决：     <br>  - Confidential VM + Confidential GPU<br>  - prompt / model / output 全程加密<br>  - 远程证明保证<br><br>代表：     <br>  Microsoft Azure Confidential AI<br>  NVIDIA Confidential AI<br>  阿里云、华为云类似产品<br></code></pre></td></tr></table></figure><h2 id="CoCo-与-Service-Mesh"><a href="#CoCo-与-Service-Mesh" class="headerlink" title="CoCo 与 Service Mesh"></a>CoCo 与 Service Mesh</h2><pre><code class=" mermaid">graph TB  CL[客户端]  CL --&gt;|TLS| GW[网关]  GW --&gt;|mTLS| SVC1[CoCo Pod 1]  GW --&gt;|mTLS| SVC2[CoCo Pod 2]    SVC1 -.- AT[Attestation Service]  SVC2 -.- AT</code></pre><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">机密计算 + Service Mesh：     <br>  - 每个微服务跑在 CoCo<br>  - 服务间 mTLS + attestation 双重验证<br>  - 端到端加密 + 端到端可信<br>  <br>挑战：     <br>  - 启动慢（每 Pod 一 VM）<br>  - 资源开销<br>  - 调试困难<br></code></pre></td></tr></table></figure><h2 id="远程证明的”两层”"><a href="#远程证明的”两层”" class="headerlink" title="远程证明的”两层”"></a>远程证明的”两层”</h2><pre><code class=" mermaid">graph TB  L1[第一层：硬件 attestation]  L1 --&gt; Q1[Intel TDX Quote / AMD SEV-SNP Report]  Q1 --&gt; CPU[CPU 厂家签名]  CPU --&gt; ROOT[Intel / AMD 根证书]    L2[第二层：业务 attestation]  L2 --&gt; Q2[包含业务公钥 / hash]  Q2 --&gt; APP[应用层验证]</code></pre><p>第一层硬件证明 + 第二层业务证明 &#x3D; 端到端可信。</p><h2 id="标准化进展"><a href="#标准化进展" class="headerlink" title="标准化进展"></a>标准化进展</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><code class="hljs text">IETF RATS（Remote ATtestation procedureS）：     <br>  - 跨厂家 attestation 协议<br>  - EAT（Entity Attestation Token）<br>  - CWT / JWT 风格<br><br>CCC（Confidential Computing Consortium）：     <br>  - Open Enclave SDK<br>  - Veracruz<br>  - Confidential Containers<br>  - 跨平台 SDK<br><br>Linux Kernel：     <br>  - kvm/coco：    内核 CoCo 子系统<br>  - tdx-guest / sev-guest 驱动<br><br>国内标准：     <br>  - GB/T 41388（机密计算技术框架）<br>  - 工信部、信通院推<br>  - 国家可信云体系<br></code></pre></td></tr></table></figure><h2 id="部署的几个老坑"><a href="#部署的几个老坑" class="headerlink" title="部署的几个老坑"></a>部署的几个老坑</h2><h3 id="坑-1：性能预期错位"><a href="#坑-1：性能预期错位" class="headerlink" title="坑 1：性能预期错位"></a>坑 1：性能预期错位</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">Confidential VM：     <br>  - 内存加密：    带宽降 5-10%<br>  - 启动慢：     +几秒<br>  - 适合稳态业务，不适合频繁启停<br>  <br>CoCo（每 Pod 一 VM）：     <br>  - 启动 2-5 秒<br>  - 资源占用比普通 Pod 多<br>  - 大规模 Job 调度成本高<br></code></pre></td></tr></table></figure><h3 id="坑-2：迁移复杂"><a href="#坑-2：迁移复杂" class="headerlink" title="坑 2：迁移复杂"></a>坑 2：迁移复杂</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">普通 VM → Confidential VM：     <br>  - 部分老镜像不兼容（缺驱动）<br>  - kernel 要支持 TDX guest / SEV guest<br>  - GRUB / initrd 要支持 attestation 流程<br>  <br>建议：     用 CSP 提供的官方镜像起步<br></code></pre></td></tr></table></figure><h3 id="坑-3：远程证明实现门槛高"><a href="#坑-3：远程证明实现门槛高" class="headerlink" title="坑 3：远程证明实现门槛高"></a>坑 3：远程证明实现门槛高</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">要正确实现：     <br>  - Attestation 库（rats / ratls）<br>  - 签名链验证<br>  - 撤销列表查询<br>  - TCB 版本管理<br>  - Nonce 防重放<br>  <br>开源工具：     <br>  Veraison（Linux Foundation）<br>  Microsoft Maa<br>  Intel Trust Authority<br>  阿里 vSGX / 龙蜥 attestation<br></code></pre></td></tr></table></figure><h3 id="坑-4：密钥分发服务（KBS）"><a href="#坑-4：密钥分发服务（KBS）" class="headerlink" title="坑 4：密钥分发服务（KBS）"></a>坑 4：密钥分发服务（KBS）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">&quot;远程证明通过 → 给密钥&quot;——这个 KBS 怎么部署？     <br>  - 自建：     高可用 + 安全（KBS 本身要 TEE）<br>  - 用 CSP 服务：    依赖 CSP<br><br>正确实现：     <br>  - KBS 自己跑在 Confidential VM<br>  - 密钥分级（root key 在 HSM，业务 key 派生）<br>  - 严格审计<br></code></pre></td></tr></table></figure><h3 id="坑-5：调试困难"><a href="#坑-5：调试困难" class="headerlink" title="坑 5：调试困难"></a>坑 5：调试困难</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">Confidential VM 内：     <br>  - 无法 console attach<br>  - 无法 strace / gdb（attestation 不通过会拒）<br>  - dmesg 看不到内核启动<br>  <br>调试模式：     <br>  - SEV-SNP / TDX 都有 &quot;debug&quot; 选项<br>  - 但 attestation TCB level 不一样<br>  - 不能用于生产<br></code></pre></td></tr></table></figure><h2 id="监控与可观测"><a href="#监控与可观测" class="headerlink" title="监控与可观测"></a>监控与可观测</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">传统 VM：     <br>  Hypervisor 看 / IPMI / cAdvisor<br><br>Confidential VM：     <br>  - Hypervisor 看不到内部<br>  - 必须从内部上报 metrics<br>  - 但要保护 metrics 不被监控泄露<br><br>实践：     <br>  - Prometheus 客户端跑在 CVM 内<br>  - 加密上报到外部存储<br>  - 业务侧分析<br></code></pre></td></tr></table></figure><h2 id="CSP-信任假设"><a href="#CSP-信任假设" class="headerlink" title="CSP 信任假设"></a>CSP 信任假设</h2><pre><code class=" mermaid">graph TB  T1[传统 VM]  T1 --&gt; N1[Trust 链：你 → CSP → 物理机]    T2[Confidential VM]  T2 --&gt; N2[Trust 链：你 → CPU 厂家 → 物理机硬件]  T2 -.- |不 trust| CSP[CSP 软件 / Hypervisor / Host OS]</code></pre><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs text">Confidential Computing 不能：     <br>  - 防御 CPU 厂家后门<br>  - 防御 Quote 服务被劫持<br>  - 防御侧信道（理论上）<br>  - 抵抗物理 / 实验室级攻击<br>  <br>能做的：     <br>  - 防御 CSP 内部威胁（恶意管理员）<br>  - 防御 Hypervisor 入侵<br>  - 防御 Host OS 入侵<br>  - 满足合规要求<br></code></pre></td></tr></table></figure><h2 id="监管-合规中的位置"><a href="#监管-合规中的位置" class="headerlink" title="监管 &#x2F; 合规中的位置"></a>监管 &#x2F; 合规中的位置</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs text">中国：     <br>  - 关基设施保护：     等保 3+ 鼓励 TEE<br>  - 个保法：    敏感数据处理推荐<br>  - 信创目录：    部分项目要求<br><br>欧洲：     <br>  - GDPR：    Confidential Computing 是隐私技术<br>  - eIDAS 2.0：    欧盟数字身份<br>  <br>美国：     <br>  - HIPAA / SOC2：    医疗 / 金融<br>  - FedRAMP：    政府云<br>  - DoD IL5/IL6：    国防场景<br></code></pre></td></tr></table></figure><h2 id="价格"><a href="#价格" class="headerlink" title="价格"></a>价格</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs text">Microsoft Azure Confidential VM：     <br>  - 标准 VM 价格 + 10-20% 溢价<br>  <br>Google Confidential VM：     <br>  - 标准 VM 价格 + 5-15%<br>  <br>阿里云 / 腾讯云：     <br>  - 类似溢价<br><br>CoCo 容器：     <br>  - 同价但资源占用多<br></code></pre></td></tr></table></figure><blockquote><p>待补充：实际项目机密计算的成本预算。</p></blockquote><h2 id="一些查询命令"><a href="#一些查询命令" class="headerlink" title="一些查询命令"></a>一些查询命令</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># Confidential VM 内部：     </span><br><span class="hljs-comment"># AMD SEV-SNP</span><br><span class="hljs-built_in">sudo</span> dmesg | grep -i sev<br><span class="hljs-built_in">ls</span> /dev/sev-guest<br>snp-guest-report report.bin<br><br><span class="hljs-comment"># Intel TDX</span><br><span class="hljs-built_in">sudo</span> dmesg | grep -i tdx<br><span class="hljs-built_in">ls</span> /dev/tdx_guest<br><br><span class="hljs-comment"># CoCo 项目</span><br>kubectl get nodes -L node.kubernetes.io/instance-type<br>kubectl get runtimeclass<br><br><span class="hljs-comment"># Pod yaml 用 CoCo：     </span><br>spec:<br>  runtimeClassName: kata-qemu-tdx<br>  containers:<br>  - image: &lt;encrypted-image&gt;<br><br><span class="hljs-comment"># 远程证明</span><br>veraison-verify report.bin<br></code></pre></td></tr></table></figure><h2 id="几个权威资源"><a href="#几个权威资源" class="headerlink" title="几个权威资源"></a>几个权威资源</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs text">Confidential Computing Consortium：     <br>  https://confidentialcomputing.io/<br><br>Linux Kernel CoCo 文档：     <br>  Documentation/virt/coco/<br><br>Project documentation：     <br>  - Intel TDX：    intel.com/sgx<br>  - AMD SEV：     developer.amd.com/sev/<br>  - ARM CCA：     developer.arm.com/cca<br><br>学术论文：     <br>  IEEE S&amp;P / USENIX Security 上每年都有 TEE 攻击 / 防御论文<br></code></pre></td></tr></table></figure><h2 id="一些数字直觉"><a href="#一些数字直觉" class="headerlink" title="一些数字直觉"></a>一些数字直觉</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><code class="hljs text">Confidential VM 启动：     <br>  Azure DCa：    +3-5 秒（attestation）<br>  GCP C2D：     +2-3 秒<br>  <br>CoCo Pod 启动：     <br>  +5-10 秒（VM + attestation + 解密镜像）<br>  <br>性能：     <br>  纯 CPU 业务：    &lt; 5% 损失<br>  内存密集：     5-10% 损失<br>  IO 密集：     可能更高（vsock）<br>  GPU 业务（H100 confidential）：    +5-10%<br><br>实际可用规模（2026）：     <br>  Confidential VM：    数十万节点（Azure / GCP / 阿里）<br>  CoCo：              小规模（几千 Pod）<br>  Confidential GPU：    刚起步<br></code></pre></td></tr></table></figure><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>机密计算 &#x3D; TEE 的产品形态</li><li>Confidential VM 是主流方向（TDX &#x2F; SEV-SNP）</li><li>Confidential Container 是 K8s 上的探索（CoCo）</li><li>远程证明 + KBS 是核心信任链</li><li>多方计算 &#x2F; 联邦学习 &#x2F; 数据安全屋是主要业务场景</li><li>NVIDIA H100 Confidential Mode 是 GPU TEE 起点</li><li>性能开销 &lt; 10%，启动慢几秒</li><li>满足 GDPR &#x2F; HIPAA &#x2F; 信创 等合规需求</li></ul><p>下一篇讲国产可信计算——海光 CSV、鲲鹏 iTrustee、TPCM、TCM 等国密路线。</p>]]>
    </content>
    <id>http://localhost:4000/posts/4abfd450/</id>
    <link href="http://localhost:4000/posts/4abfd450/"/>
    <published>2026-03-22T12:40:00.000Z</published>
    <summary>TEE 是技术，机密计算是产品形态。本文讲云上 Confidential VM、Confidential Container 的实际部署方式，以及多方计算 / 联邦学习等&quot;业务为先&quot;的应用。</summary>
    <title>机密计算 —— Confidential VM 与 Confidential Container</title>
    <updated>2026-06-15T02:37:52.334Z</updated>
  </entry>
  <entry>
    <category term="08-可信计算" scheme="http://localhost:4000/categories/08-%E5%8F%AF%E4%BF%A1%E8%AE%A1%E7%AE%97/"/>
    <category term="TEE" scheme="http://localhost:4000/tags/TEE/"/>
    <category term="SGX" scheme="http://localhost:4000/tags/SGX/"/>
    <category term="TDX" scheme="http://localhost:4000/tags/TDX/"/>
    <category term="SEV" scheme="http://localhost:4000/tags/SEV/"/>
    <category term="TrustZone" scheme="http://localhost:4000/tags/TrustZone/"/>
    <content>
      <![CDATA[<p>TPM 解决的是”启动可信”，但启动后内存仍然透明——OS、Hypervisor、root 用户都能 dump 内存。<strong>TEE（Trusted Execution Environment）</strong> 在 CPU 内开辟”加密飞地”，让运行时数据也”硬件加密”。本文展开各家 TEE。</p><!-- more --><h2 id="TEE-的核心思想"><a href="#TEE-的核心思想" class="headerlink" title="TEE 的核心思想"></a>TEE 的核心思想</h2><pre><code class=" mermaid">graph TB  subgraph WITHOUT[&quot;传统模式&quot;]    OS[OS / Hypervisor / root&lt;br/&gt;都能看 / 改 进程内存]  end    subgraph WITH[&quot;TEE 模式&quot;]    TEE[加密飞地内存]    TEE -.- |&quot;只有 enclave 内代码能访问&quot;| OUT[OS / 攻击者看不到]  end</code></pre><p>TEE 的目标：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 内存加密：     enclave 内存硬件级加密，OS 看不到明文<br>2. 完整性保护：    enclave 代码 / 数据被改 → CPU 拒绝执行<br>3. 远程证明：     远端可验证 &quot;我在某个 TEE 里跑了某段代码&quot;<br>4. 隔离：     不同租户 / 进程的 enclave 互相隔离<br></code></pre></td></tr></table></figure><h2 id="TEE-的几种主流路线"><a href="#TEE-的几种主流路线" class="headerlink" title="TEE 的几种主流路线"></a>TEE 的几种主流路线</h2><pre><code class=" mermaid">graph TB  TEE[TEE 路线]  TEE --&gt; P1[进程级&lt;br/&gt;一个进程内的飞地]  TEE --&gt; P2[VM 级&lt;br/&gt;整个 VM 加密]  TEE --&gt; P3[安全世界级&lt;br/&gt;独立&quot;安全 OS&quot;]    P1 --&gt; SGX[Intel SGX]    P2 --&gt; TDX[Intel TDX]  P2 --&gt; SEV[AMD SEV / SEV-SNP]  P2 --&gt; CCA[ARM CCA]  P2 --&gt; CSV[海光 CSV]    P3 --&gt; TZ[ARM TrustZone]  P3 --&gt; SE[Apple Secure Enclave]</code></pre><h2 id="Intel-SGX（Software-Guard-Extensions）"><a href="#Intel-SGX（Software-Guard-Extensions）" class="headerlink" title="Intel SGX（Software Guard Extensions）"></a>Intel SGX（Software Guard Extensions）</h2><p>最早商用的进程级 TEE，2015 年 Skylake 引入：</p><pre><code class=" mermaid">graph TB  PROC[用户进程]  PROC --&gt; EN[Enclave 飞地]  EN --&gt; EPC[EPC 加密内存]    OS[OS 内核]  OS -.- |看不到 Enclave 内存| EN</code></pre><h3 id="SGX-工作机制"><a href="#SGX-工作机制" class="headerlink" title="SGX 工作机制"></a>SGX 工作机制</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 应用启动：     普通进程<br>2. 创建 Enclave：    <br>   - ECREATE 指令分配加密内存（EPC）<br>   - 加载 Enclave 代码 + 数据<br>   - EINIT 锁定，从此 OS 看不到内存<br><br>3. 进入 Enclave：    <br>   - EENTER 指令切入 enclave<br>   - 在 enclave 内执行受保护代码<br>   <br>4. 退出：     EEXIT 回到普通模式<br><br>EPC 内存：     <br>  - CPU 访问时 MEE（Memory Encryption Engine）解密<br>  - DRAM 中存的是密文<br>  - DMA / 总线嗅探拿不到明文<br></code></pre></td></tr></table></figure><h3 id="SGX-的限制"><a href="#SGX-的限制" class="headerlink" title="SGX 的限制"></a>SGX 的限制</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs text">EPC 大小：     <br>  - SGX1：128 MB（Skylake/Coffee Lake，物理上限）<br>  - SGX2：512 MB - 1 GB（Ice Lake Server）<br>  - SGX 3rd gen：    几十到几百 GB（Sapphire Rapids，2023+）<br><br>性能开销：     <br>  - 加密 / 完整性校验：    内存访问慢 30-50%<br>  - 进入 / 退出 Enclave：    几千 CPU cycles<br>  - 不适合大数据集计算<br>  <br>攻击：     <br>  - Foreshadow（2018）：    侧信道泄露<br>  - LVI / Plundervolt：    其他 CVE<br>  - 这些已修复但生态信心受损<br></code></pre></td></tr></table></figure><h3 id="SGX-的应用"><a href="#SGX-的应用" class="headerlink" title="SGX 的应用"></a>SGX 的应用</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><code class="hljs text">密钥管理 KMS：     <br>  - 在 enclave 内做加密 / 签名<br>  - 即使 root 也偷不到密钥<br>  <br>区块链 / Confidential Computing：     <br>  - Microsoft Azure Confidential Containers（早期）<br>  - Hyperledger Avalon<br>  - Intel ISV 生态<br><br>数据库加密：     <br>  - SQL Server Always Encrypted<br>  - Microsoft Azure SQL Confidential<br>  <br>SDK：     <br>  - Intel SGX SDK<br>  - Open Enclave SDK（Microsoft）<br>  - Gramine（项目）：    把整个 Linux 应用塞进 SGX<br><br>2022+ Intel 缩减消费级 SGX：     <br>  - 11th gen 桌面 CPU 起取消 SGX<br>  - 服务器仍然支持<br>  - 重心转向 TDX<br></code></pre></td></tr></table></figure><h2 id="Intel-TDX（Trust-Domain-Extensions）"><a href="#Intel-TDX（Trust-Domain-Extensions）" class="headerlink" title="Intel TDX（Trust Domain Extensions）"></a>Intel TDX（Trust Domain Extensions）</h2><p>TDX 是 SGX 的”VM 级”继任者，2023 年 Sapphire Rapids 商用：</p><pre><code class=" mermaid">graph TB  HV[Hypervisor / Host OS&lt;br/&gt;不可信]    HV --&gt; TD1[TD 1&lt;br/&gt;Trust Domain VM]  HV --&gt; TD2[TD 2]  HV --&gt; TD3[TD 3]    TD1 -.- HV</code></pre><h3 id="TDX-工作机制"><a href="#TDX-工作机制" class="headerlink" title="TDX 工作机制"></a>TDX 工作机制</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs text">1. TDX Module：     CPU 内的固件，管理 TD<br>2. Trust Domain：     一台加密 VM<br>   - VM 内存全部加密（MK-TME）<br>   - VM 寄存器在切换时加密保存<br>   - Hypervisor 不能读 VM 内存<br>   <br>3. 远程证明：     <br>   - TDX Quote 包含 TD 启动哈希<br>   - 远端验证 TD 是真 TDX 且内容正确<br><br>整个 VM 是 TEE：     <br>  - 应用不需要重写<br>  - Linux / Windows / 数据库 等都能跑<br>  - 性能开销 &lt; 5%（内存加密硬件级）<br></code></pre></td></tr></table></figure><h3 id="TDX-的优势-vs-SGX"><a href="#TDX-的优势-vs-SGX" class="headerlink" title="TDX 的优势 vs SGX"></a>TDX 的优势 vs SGX</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs text">SGX：     <br>  - 应用要拆 enclave 部分<br>  - EPC 大小受限<br>  - 编程复杂<br><br>TDX：     <br>  - 整 VM 加密<br>  - 应用无需修改<br>  - 大内存友好<br>  - 可跑大模型推理 / 训练<br>  - 客户场景普适<br></code></pre></td></tr></table></figure><h3 id="TDX-在云上"><a href="#TDX-在云上" class="headerlink" title="TDX 在云上"></a>TDX 在云上</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">Azure DCe / DCa（2024+）：    Confidential VM 用 TDX<br>GCP Confidential VM：         TDX 选项<br>阿里云 ACK Confidential：      TDX 适配中<br><br>应用：     <br>  - 多方计算 / 联邦学习<br>  - 数据安全房 (Data Clean Room)<br>  - 监管合规（GDPR / HIPAA）<br></code></pre></td></tr></table></figure><blockquote><p>待补充：TDX 实际生产部署规模 2025-2026 数据。</p></blockquote><h2 id="AMD-SEV-SEV-ES-SEV-SNP"><a href="#AMD-SEV-SEV-ES-SEV-SNP" class="headerlink" title="AMD SEV &#x2F; SEV-ES &#x2F; SEV-SNP"></a>AMD SEV &#x2F; SEV-ES &#x2F; SEV-SNP</h2><p>AMD 的”VM 级 TEE”路线，比 TDX 早：</p><pre><code class=" mermaid">graph LR  S1[SEV&lt;br/&gt;2017&lt;br/&gt;仅内存加密] --&gt; S2[SEV-ES&lt;br/&gt;2019&lt;br/&gt;+ 寄存器加密]  S2 --&gt; S3[SEV-SNP&lt;br/&gt;2021&lt;br/&gt;+ 完整性 + 防回滚]</code></pre><h3 id="SEV（2017）"><a href="#SEV（2017）" class="headerlink" title="SEV（2017）"></a>SEV（2017）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">- AMD EPYC 第 1 代 Naples 起<br>- AES-128 加密 DRAM<br>- 每 VM 一个 VEK（VM Encryption Key）<br>- Hypervisor 看到密文<br>- 但寄存器 / 中断未加密<br></code></pre></td></tr></table></figure><h3 id="SEV-ES（Encrypted-State，2019）"><a href="#SEV-ES（Encrypted-State，2019）" class="headerlink" title="SEV-ES（Encrypted State，2019）"></a>SEV-ES（Encrypted State，2019）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">- VM 进出时 CPU 寄存器也加密保存<br>- 防止 Hypervisor 通过 vmexit 偷状态<br>- AMD EPYC 第 2 代 Rome 起<br></code></pre></td></tr></table></figure><h3 id="SEV-SNP（Secure-Nested-Paging，2021）"><a href="#SEV-SNP（Secure-Nested-Paging，2021）" class="headerlink" title="SEV-SNP（Secure Nested Paging，2021）"></a>SEV-SNP（Secure Nested Paging，2021）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">- 加完整性保护：     防止 Hypervisor 改 VM 内存<br>- RMP（Reverse Map Table）：    每页归属验证<br>- 防回滚攻击<br>- 远程证明完整支持<br>- AMD EPYC 第 3 代 Milan 起<br><br>最完整的 AMD VM-level TEE 方案<br></code></pre></td></tr></table></figure><h3 id="SEV-SNP-在云上"><a href="#SEV-SNP-在云上" class="headerlink" title="SEV-SNP 在云上"></a>SEV-SNP 在云上</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">Microsoft Azure DCasv5（基于 SEV-SNP）：     已大规模部署<br>GCP Confidential VM（C2D / N2D）：           SEV<br>AWS：                                         自家 Nitro 等价能力<br>阿里云 / 腾讯云：                             SEV-SNP 选项<br><br>SEV 比 TDX 早 6 年商用——AMD 在 Confidential VM 市场领先。<br></code></pre></td></tr></table></figure><h2 id="ARM-TrustZone"><a href="#ARM-TrustZone" class="headerlink" title="ARM TrustZone"></a>ARM TrustZone</h2><p>ARM 的”安全世界”路线，2003 年起：</p><pre><code class=" mermaid">graph TB  ARM[ARM CPU]  ARM --&gt; NW[Normal World&lt;br/&gt;普通 OS]  ARM --&gt; SW[Secure World&lt;br/&gt;独立安全 OS]    NW --&gt; NS_OS[Linux / Android]  SW --&gt; S_OS[OP-TEE / Trusty / 国产 TEE]</code></pre><h3 id="TrustZone-工作模式"><a href="#TrustZone-工作模式" class="headerlink" title="TrustZone 工作模式"></a>TrustZone 工作模式</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs text">CPU 双世界：     <br>  - Normal World（NS）：    Linux / Android<br>  - Secure World（S）：     一个完全独立的安全 OS<br><br>切换：     SMC 指令进入 Secure Monitor<br><br>Secure World 内：     <br>  - 独立内核（OP-TEE / TrustyTEE / 国产 TEE）<br>  - 独立 RAM 区域<br>  - 独立外设访问<br><br>应用：     <br>  - 移动支付（Apple Pay / Samsung Pay）<br>  - 指纹 / 人脸数据<br>  - DRM 视频<br>  - 部分服务器场景<br></code></pre></td></tr></table></figure><h3 id="服务器场景"><a href="#服务器场景" class="headerlink" title="服务器场景"></a>服务器场景</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">ARM 服务器（Ampere / Graviton / 鲲鹏 / 飞腾）：     <br>  - TrustZone 仍存在<br>  - 但服务器 TEE 主要看 CCA<br>  <br>TrustZone 在服务器侧用得少——主要是嵌入式 / 移动场景。<br></code></pre></td></tr></table></figure><h2 id="ARM-CCA（Confidential-Compute-Architecture）"><a href="#ARM-CCA（Confidential-Compute-Architecture）" class="headerlink" title="ARM CCA（Confidential Compute Architecture）"></a>ARM CCA（Confidential Compute Architecture）</h2><p>ARM 在服务器市场对位 TDX &#x2F; SEV-SNP 的方案：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">ARM CCA（v9 引入，2021）：     <br>  - Realm 模式（VM 级 TEE）<br>  - RMM（Realm Management Monitor）<br>  - 类似 TDX 思路<br>  - Realm VM 内存加密 + 完整性<br>  <br>状态（2026）：     <br>  - ARM v9 服务器 CPU 商用<br>  - 软件生态成熟中<br>  - 主流云厂家适配中<br></code></pre></td></tr></table></figure><blockquote><p>待补充：ARM CCA 实际商用部署案例。</p></blockquote><h2 id="海光-CSV（China-Secure-Virtualization）"><a href="#海光-CSV（China-Secure-Virtualization）" class="headerlink" title="海光 CSV（China Secure Virtualization）"></a>海光 CSV（China Secure Virtualization）</h2><p>海光 DCU 时讲过——这里重点讲 CSV：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">海光 CSV：     <br>  - AMD SEV 国产授权 + 加密算法替换<br>  - SM4 加密 DRAM（不是 AES）<br>  - 与 SEV API 兼容<br>  - 海光 C86 / 7000 系列起支持<br><br>CSV1 / CSV2 / CSV3：     与 SEV / SEV-ES / SEV-SNP 对应<br><br>应用：     <br>  - 信创云<br>  - 国产机密计算<br>  - 政企客户<br></code></pre></td></tr></table></figure><blockquote><p>待补充：海光 CSV 实际部署规模。</p></blockquote><h2 id="鲲鹏-ITrustee"><a href="#鲲鹏-ITrustee" class="headerlink" title="鲲鹏 ITrustee"></a>鲲鹏 ITrustee</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">华为鲲鹏 / 麒麟 / 海思的 TEE：     <br>  - 基于 ARM TrustZone<br>  - 自研 Secure World OS（iTrustee）<br>  - 与昇腾 / 昇思深度集成<br>  <br>华为云 TEE：     <br>  - 鲲鹏 + iTrustee<br>  - 支持机密计算 SDK（secGear）<br></code></pre></td></tr></table></figure><h2 id="TEE-编程模型"><a href="#TEE-编程模型" class="headerlink" title="TEE 编程模型"></a>TEE 编程模型</h2><h3 id="Open-Enclave-SDK（跨平台）"><a href="#Open-Enclave-SDK（跨平台）" class="headerlink" title="Open Enclave SDK（跨平台）"></a>Open Enclave SDK（跨平台）</h3><figure class="highlight c"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs c"><span class="hljs-comment">// 编译为 enclave</span><br>oe_create_enclave(<span class="hljs-string">&quot;my_enclave.signed&quot;</span>);<br>oe_call_enclave(enclave, <span class="hljs-string">&quot;func&quot;</span>, args);<br></code></pre></td></tr></table></figure><p>支持 SGX &#x2F; TrustZone &#x2F; OP-TEE。</p><h3 id="Gramine-LibOS（容器化）"><a href="#Gramine-LibOS（容器化）" class="headerlink" title="Gramine LibOS（容器化）"></a>Gramine LibOS（容器化）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">Gramine（前身 Graphene）：     <br>  - 把整个 Linux 应用塞进 SGX enclave<br>  - 不需要改代码<br>  - 性能损失但可用性好<br><br>graphene-direct：     非 SGX 也能跑（用于开发）<br></code></pre></td></tr></table></figure><h3 id="Confidential-Computing-Consortium（CCC）"><a href="#Confidential-Computing-Consortium（CCC）" class="headerlink" title="Confidential Computing Consortium（CCC）"></a>Confidential Computing Consortium（CCC）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">Linux Foundation 旗下：     <br>  - Open Enclave SDK<br>  - Veracruz<br>  - Confidential Containers<br>  - SPDM 标准<br>  - 跨厂家 TEE 抽象层<br></code></pre></td></tr></table></figure><h2 id="远程证明（Attestation）的演进"><a href="#远程证明（Attestation）的演进" class="headerlink" title="远程证明（Attestation）的演进"></a>远程证明（Attestation）的演进</h2><pre><code class=" mermaid">graph TB  TPM[TPM 远程证明&lt;br/&gt;启动状态]  TPM --&gt; SGX_AT[SGX 远程证明&lt;br/&gt;Enclave 状态]  SGX_AT --&gt; TDX_AT[TDX/SEV-SNP 远程证明&lt;br/&gt;VM 状态]  TDX_AT --&gt; CCA_AT[ARM CCA 远程证明&lt;br/&gt;Realm 状态]</code></pre><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs text">SGX 远程证明：     <br>  - Intel Attestation Service（IAS）<br>  - 后来改 DCAP（Data Center Attestation Primitives）<br>  <br>TDX 远程证明：     <br>  - Intel Trust Authority<br>  - 跨云通用<br><br>SEV-SNP 远程证明：     <br>  - AMD KDS（Key Distribution Service）<br>  - SNP_REPORT 命令<br><br>工业标准趋同：     <br>  - IETF RATS（Remote ATtestation procedureS）<br>  - 跨厂家可互验<br></code></pre></td></tr></table></figure><h2 id="TEE-的性能数字"><a href="#TEE-的性能数字" class="headerlink" title="TEE 的性能数字"></a>TEE 的性能数字</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs text">SGX：     <br>  Enclave 内 CPU 性能：     ~95%（小数据）<br>  大数据 / 跨 enclave IO：    50-70%<br>  Enclave 切换：             几千 cycles（~ μs 级）<br><br>TDX / SEV-SNP：     <br>  整 VM 性能损失：    &lt; 5%（内存加密硬件级）<br>  启动 + 远程证明：    +几秒<br>  <br>TrustZone：     <br>  Secure World 切换：    几百 cycles<br>  适合短计算（密钥操作 / 验证）<br><br>CCA Realm：     <br>  类似 TDX，性能开销 &lt; 5%（待实测验证）<br></code></pre></td></tr></table></figure><h2 id="TEE-的几个安全”老坑”"><a href="#TEE-的几个安全”老坑”" class="headerlink" title="TEE 的几个安全”老坑”"></a>TEE 的几个安全”老坑”</h2><h3 id="坑-1：侧信道攻击"><a href="#坑-1：侧信道攻击" class="headerlink" title="坑 1：侧信道攻击"></a>坑 1：侧信道攻击</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">SGX 历史：     Foreshadow / LVI / SGAxe / Plundervolt<br>TDX：          一些早期理论攻击<br>SEV：         Cipherleaks / Crossline<br><br>教训：     <br>  - TEE 不是&quot;绝对安全&quot;<br>  - 仍有侧信道 / 故障注入风险<br>  - 应用层仍需防护<br></code></pre></td></tr></table></figure><h3 id="坑-2：远程证明实现复杂"><a href="#坑-2：远程证明实现复杂" class="headerlink" title="坑 2：远程证明实现复杂"></a>坑 2：远程证明实现复杂</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">正确实现 attestation：     <br>  - 验证签名链（厂家根 → CPU 证书 → Quote）<br>  - 验证 PCR / MR 哈希匹配预期<br>  - 验证 nonce 防重放<br>  - 验证 TCB level 不旧<br>  - 验证撤销列表<br><br>错误实现：     <br>  - 跳过签名验证<br>  - 不验 nonce<br>  - 不查 TCB<br>  → 攻击者可重放或冒充<br></code></pre></td></tr></table></figure><h3 id="坑-3：性能预期错位"><a href="#坑-3：性能预期错位" class="headerlink" title="坑 3：性能预期错位"></a>坑 3：性能预期错位</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">SGX 大内存应用：     性能崩<br>TDX 内存加密：       带宽降 5-10%<br>SEV-SNP：           类似<br><br>设计：     先 PoC 实测，再上生产<br></code></pre></td></tr></table></figure><h3 id="坑-4：CPU-错失支持"><a href="#坑-4：CPU-错失支持" class="headerlink" title="坑 4：CPU 错失支持"></a>坑 4：CPU 错失支持</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">不是所有 CPU 都支持：     <br>  - SGX：Skylake+ 服务器<br>  - TDX：Sapphire Rapids+<br>  - SEV：EPYC 全系<br>  - SEV-SNP：Milan+<br>  - CCA：ARM v9<br>  - 桌面 / 老服务器：不支持<br><br>→ 采购前确认 CPU 支持<br></code></pre></td></tr></table></figure><h3 id="坑-5：CSP-与租户信任假设"><a href="#坑-5：CSP-与租户信任假设" class="headerlink" title="坑 5：CSP 与租户信任假设"></a>坑 5：CSP 与租户信任假设</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">TDX / SEV-SNP 实际信任假设：     <br>  - 租户 trust：CPU 厂家（Intel / AMD）<br>  - 不 trust：    Hypervisor / Host OS / CSP<br><br>但：     <br>  - CPU 厂家有后门? <br>  - CPU 厂家 KMS 被入侵?<br>  - Quote 服务被劫持?<br>  <br>→ 现实中是&quot;减少信任面&quot;，不是&quot;零信任&quot;<br></code></pre></td></tr></table></figure><h2 id="TEE-与-GPU"><a href="#TEE-与-GPU" class="headerlink" title="TEE 与 GPU"></a>TEE 与 GPU</h2><p>GPU TEE 是新前沿：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs text">NVIDIA Confidential Computing（H100+）：     <br>  - GPU 内存加密<br>  - PCIe 总线密文<br>  - 需配 TDX / SEV-SNP CPU<br>  - VM 与 GPU 端到端加密<br>  - 2024+ 量产<br><br>应用：     <br>  - 多方训练（数据所有者不信任 CSP）<br>  - 模型权重保护（推理服务防偷模）<br>  - 监管合规 AI 训练<br></code></pre></td></tr></table></figure><blockquote><p>待补充：NVIDIA H100 &#x2F; B200 Confidential Computing 实际部署案例。</p></blockquote><h2 id="一些查询命令"><a href="#一些查询命令" class="headerlink" title="一些查询命令"></a>一些查询命令</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 看 SGX 支持</span><br>cpuid -1 | grep -i sgx<br><span class="hljs-built_in">ls</span> /dev/sgx_enclave<br><br><span class="hljs-comment"># 看 TDX 支持（CPU）</span><br><span class="hljs-built_in">cat</span> /proc/cpuinfo | grep -i tdx<br>dmesg | grep -i tdx<br><br><span class="hljs-comment"># 看 SEV 支持（AMD）</span><br>dmesg | grep -i sev<br><span class="hljs-built_in">ls</span> /dev/sev<br><br><span class="hljs-comment"># 看 TEE（ARM TrustZone）</span><br><span class="hljs-built_in">ls</span> /dev/tee*<br><span class="hljs-built_in">ls</span> /dev/teepriv*<br>optee-toolchain status<br><br><span class="hljs-comment"># CPU 加密能力</span><br>grep -E <span class="hljs-string">&quot;aes|sha_ni|gfni|vaes&quot;</span> /proc/cpuinfo<br><br><span class="hljs-comment"># 启动参数验证</span><br><span class="hljs-built_in">cat</span> /proc/cmdline | grep -E <span class="hljs-string">&quot;kvm_intel.tdx|kvm_amd.sev&quot;</span><br></code></pre></td></tr></table></figure><h2 id="几个-TEE-选型场景"><a href="#几个-TEE-选型场景" class="headerlink" title="几个 TEE 选型场景"></a>几个 TEE 选型场景</h2><table><thead><tr><th>场景</th><th>选什么</th><th>理由</th></tr></thead><tbody><tr><td>密钥保护 &#x2F; KMS</td><td>SGX 或 HSM</td><td>小内存，强隔离</td></tr><tr><td>Confidential VM 大模型</td><td>TDX 或 SEV-SNP</td><td>整 VM 加密，无修改</td></tr><tr><td>数据库 Always Encrypted</td><td>SGX（部分操作）</td><td>进程级精细控制</td></tr><tr><td>移动应用支付</td><td>TrustZone</td><td>嵌入式 + 已成熟</td></tr><tr><td>多方计算 &#x2F; 联邦学习</td><td>TDX &#x2F; SEV-SNP + Confidential GPU</td><td>端到端加密</td></tr><tr><td>国产化机密计算</td><td>海光 CSV &#x2F; 鲲鹏 iTrustee</td><td>信创要求</td></tr></tbody></table><h2 id="一些数字直觉"><a href="#一些数字直觉" class="headerlink" title="一些数字直觉"></a>一些数字直觉</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs text">TEE 启动时间：     <br>  TDX VM：     比普通 VM 多 3-5 秒（attestation）<br>  SEV VM：     +2-4 秒<br>  SGX Enclave：    100-500 ms<br><br>价格溢价：     <br>  Confidential VM vs 普通 VM：    +10-20%<br>  Confidential GPU：              价格暂未公开，预计溢价显著<br><br>部署规模（2026）：     <br>  TDX / SEV-SNP：    主流公有云已量产<br>  海光 CSV：         国内信创规模化<br>  ARM CCA：         初始<br>  GPU TEE：         小规模<br></code></pre></td></tr></table></figure><h2 id="信任模型对比"><a href="#信任模型对比" class="headerlink" title="信任模型对比"></a>信任模型对比</h2><pre><code class=" mermaid">graph TB  M1[传统模式]  M1 --&gt; T1[trust：硬件 + 固件 + Hypervisor + OS + 应用]    M2[Confidential Computing]  M2 --&gt; T2[trust：CPU 厂家硬件 + 固件 + 应用代码]  M2 --&gt; NT2[不 trust：CSP / Hypervisor / Host OS]</code></pre><p>TEE 把信任面<strong>从”整个云栈”缩到”CPU 硬件 + 固件”</strong>——这是机密计算的根本价值。</p><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>TEE 让运行时数据”硬件加密”，连 OS &#x2F; 攻击者也看不到</li><li>进程级 TEE：    Intel SGX，灵活但 EPC 受限</li><li>VM 级 TEE：    Intel TDX、AMD SEV-SNP、ARM CCA、海光 CSV，主流方向</li><li>安全世界：    ARM TrustZone，移动 &#x2F; 嵌入式</li><li>远程证明是 TEE 价值的关键</li><li>TDX &#x2F; SEV-SNP 性能开销 &lt; 5%</li><li>GPU TEE（NVIDIA Confidential Computing）是新前沿</li><li>国产路线：    海光 CSV、鲲鹏 iTrustee</li></ul><p>下一篇讲机密计算（Confidential Computing）—— TEE 在云上的实际产品形态。</p>]]>
    </content>
    <id>http://localhost:4000/posts/d850c454/</id>
    <link href="http://localhost:4000/posts/d850c454/"/>
    <published>2026-03-15T06:55:00.000Z</published>
    <summary>TEE（Trusted Execution Environment）让 CPU 在内存里开辟一块&quot;加密飞地&quot;，连 OS / Hypervisor 都看不见。本文讲 Intel SGX/TDX、AMD SEV、ARM TrustZone/CCA 的差异。</summary>
    <title>TEE —— SGX、TDX、SEV、TrustZone</title>
    <updated>2026-06-15T02:37:52.334Z</updated>
  </entry>
  <entry>
    <category term="08-可信计算" scheme="http://localhost:4000/categories/08-%E5%8F%AF%E4%BF%A1%E8%AE%A1%E7%AE%97/"/>
    <category term="Secure Boot" scheme="http://localhost:4000/tags/Secure-Boot/"/>
    <category term="Measured Boot" scheme="http://localhost:4000/tags/Measured-Boot/"/>
    <category term="IMA" scheme="http://localhost:4000/tags/IMA/"/>
    <category term="UEFI" scheme="http://localhost:4000/tags/UEFI/"/>
    <content>
      <![CDATA[<p>第 8.1 讲了 TPM 和 PCR——本篇讲怎么把它用起来。<strong>Secure Boot</strong>（验签防篡改）+ <strong>Measured Boot</strong>（度量记录）+ <strong>IMA</strong>（运行时完整性）&#x3D; Linux 完整可信启动链。</p><!-- more --><h2 id="三个机制对比"><a href="#三个机制对比" class="headerlink" title="三个机制对比"></a>三个机制对比</h2><pre><code class=" mermaid">graph TB  M1[Secure Boot]  M1 --&gt; R1[启动时验签&lt;br/&gt;签名错就拒绝执行]    M2[Measured Boot]  M2 --&gt; R2[启动时记录&lt;br/&gt;哈希进 TPM PCR]    M3[IMA]  M3 --&gt; R3[运行时验证&lt;br/&gt;读文件时检查]</code></pre><table><thead><tr><th>机制</th><th>时机</th><th>动作</th><th>失败后果</th></tr></thead><tbody><tr><td>Secure Boot</td><td>启动</td><td>验签</td><td>拒绝启动</td></tr><tr><td>Measured Boot</td><td>启动</td><td>度量记录</td><td>不阻止启动，但 PCR 不同</td></tr><tr><td>IMA</td><td>运行</td><td>验签 &#x2F; 度量</td><td>拒绝执行 &#x2F; 报警</td></tr></tbody></table><h2 id="UEFI-Secure-Boot"><a href="#UEFI-Secure-Boot" class="headerlink" title="UEFI Secure Boot"></a>UEFI Secure Boot</h2><pre><code class=" mermaid">graph LR  PK[Platform Key&lt;br/&gt;主板厂家]  KEK[Key Exchange Key&lt;br/&gt;OS 厂家]  DB[DB&lt;br/&gt;允许的签名 / 哈希]  DBX[DBX&lt;br/&gt;禁用的签名 / 哈希]    PK --&gt; KEK --&gt; DB  KEK --&gt; DBX</code></pre><p>UEFI Secure Boot 的密钥层次：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">PK（Platform Key）：     主板厂家，根<br>KEK（Key Exchange Key）：     OS 厂家用，可签 DB / DBX<br>DB（Allowed DB）：     允许执行的签名 / 哈希列表<br>DBX（Forbidden DB）：     禁用的签名（吊销列表）<br><br>启动时验签流程：     <br>  1. UEFI 加载 Bootloader<br>  2. 检查 Bootloader 签名是否在 DB 中<br>  3. 是 → 加载执行<br>  4. 否 → 拒绝，停止启动<br></code></pre></td></tr></table></figure><h3 id="Microsoft-主导的-DB"><a href="#Microsoft-主导的-DB" class="headerlink" title="Microsoft 主导的 DB"></a>Microsoft 主导的 DB</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">默认 DB 包含：     <br>  Microsoft Windows Production CA<br>  Microsoft UEFI CA（用于第三方 OS）<br>  <br>Linux Bootloader（shim）签名：     <br>  shim 由 Microsoft UEFI CA 签<br>  shim 内嵌 Linux 厂家公钥<br>  shim 加载 GRUB → GRUB 验签 kernel → kernel 验 module<br></code></pre></td></tr></table></figure><p>shim 是 Linux 在 Secure Boot 下的”信任桥梁”——所有发行版（RHEL &#x2F; Ubuntu &#x2F; SUSE）都用它。</p><h3 id="自管-Secure-Boot"><a href="#自管-Secure-Boot" class="headerlink" title="自管 Secure Boot"></a>自管 Secure Boot</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 装 shim 后看 Secure Boot 状态</span><br>mokutil --sb-state<br><br><span class="hljs-comment"># 看 MOK 列表（用户级密钥）</span><br>mokutil --list-enrolled<br><br><span class="hljs-comment"># 加自定义证书到 MOK</span><br>mokutil --import my_cert.crt<br><span class="hljs-comment"># 重启时设密码确认</span><br><br><span class="hljs-comment"># 完全清空 / 替换 PK / KEK / DB（高级用法）</span><br>sbkeysync --pk          <span class="hljs-comment"># 设 PK</span><br>sbkeysync --keystore /etc/secureboot/keys<br></code></pre></td></tr></table></figure><h3 id="shim-→-GRUB-→-kernel-的验签"><a href="#shim-→-GRUB-→-kernel-的验签" class="headerlink" title="shim → GRUB → kernel 的验签"></a>shim → GRUB → kernel 的验签</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs text">shim 启动后：     <br>  1. 检查 grubx64.efi 签名（用 shim 内嵌的发行版公钥）<br>  2. 通过 → 加载 GRUB<br>  <br>GRUB 启动后：     <br>  1. 检查 vmlinuz 签名<br>  2. 通过 → 加载 kernel<br>  <br>kernel 启动后：     <br>  1. 检查 .ko 模块签名（kernel 模块也要验签）<br>  2. 通过 → 允许加载<br>  <br>任何一步不通过 → 拒绝执行 → 启动失败<br></code></pre></td></tr></table></figure><h3 id="Secure-Boot-的几个重要实践"><a href="#Secure-Boot-的几个重要实践" class="headerlink" title="Secure Boot 的几个重要实践"></a>Secure Boot 的几个重要实践</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 启用 / 禁用 Secure Boot：BIOS 中</span><br><span class="hljs-comment"># 看当前状态</span><br>bootctl status<br><br><span class="hljs-comment"># 看 EFI 变量</span><br>mokutil --sb-state<br>efivar -l<br><br><span class="hljs-comment"># 自己签 kernel 模块</span><br>sbsign --key MOK.priv --cert MOK.crt --output module.ko.signed module.ko<br></code></pre></td></tr></table></figure><h2 id="Measured-Boot"><a href="#Measured-Boot" class="headerlink" title="Measured Boot"></a>Measured Boot</h2><p>Secure Boot 是”二选一”——通过或不通过。Measured Boot 是”完整记录”——把每一步都哈希进 TPM。</p><pre><code class=" mermaid">graph TB  CRTM[CRTM] --&gt;|度量并 Extend| PCR0[PCR 0]  BIOS[BIOS] --&gt;|度量 Bootloader| PCR4[PCR 4]  GRUB[GRUB] --&gt;|度量 kernel/initrd| PCR8[PCR 8]  GRUB --&gt;|度量 cmdline| PCR9[PCR 9]  KER[Kernel] --&gt;|度量初始化| PCR10[PCR 10]  IMA[IMA] --&gt;|度量文件| PCR10b[PCR 10]</code></pre><h3 id="启动度量事件日志"><a href="#启动度量事件日志" class="headerlink" title="启动度量事件日志"></a>启动度量事件日志</h3><p>UEFI 实现把每次”度量”事件记到日志，开机后 OS 可以看：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 看 measured boot 事件日志</span><br><span class="hljs-built_in">sudo</span> tpm2_eventlog /sys/kernel/security/tpm0/binary_bios_measurements<br><br><span class="hljs-comment"># 输出例：</span><br><span class="hljs-comment"># Event:     EV_S_CRTM_VERSION</span><br><span class="hljs-comment"># PCR:       0</span><br><span class="hljs-comment"># Digest:    sha256: ...</span><br><span class="hljs-comment"># Data:      &quot;BIOS Vendor v3.5&quot;</span><br><span class="hljs-comment"># </span><br><span class="hljs-comment"># Event:     EV_EFI_VARIABLE_DRIVER_CONFIG</span><br><span class="hljs-comment"># PCR:       7</span><br><span class="hljs-comment"># Digest:    sha256: ...</span><br><span class="hljs-comment"># Data:      Secure Boot State=1</span><br></code></pre></td></tr></table></figure><p>事件日志 + 当前 PCR 值 &#x3D; “可重放”——验证方可以独立验证启动链。</p><h3 id="用-PCR-7-还是-PCR-0-4？"><a href="#用-PCR-7-还是-PCR-0-4？" class="headerlink" title="用 PCR 7 还是 PCR 0-4？"></a>用 PCR 7 还是 PCR 0-4？</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">PCR 0-4：     度量具体的 BIOS / Bootloader / kernel 哈希<br>  → 任何 BIOS / kernel 升级都改值<br>  → 灵活性差<br>  <br>PCR 7：     仅度量 Secure Boot 状态（PK / KEK / DB / DBX 等）<br>  → 升级 kernel 时 PCR 7 不变<br>  → 推荐用 PCR 7 + Secure Boot 组合<br></code></pre></td></tr></table></figure><h3 id="LUKS-Measured-Boot-实战"><a href="#LUKS-Measured-Boot-实战" class="headerlink" title="LUKS + Measured Boot 实战"></a>LUKS + Measured Boot 实战</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 把 LUKS 密钥密封到 PCR 7（推荐）</span><br>systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=7 /dev/sda3<br><br><span class="hljs-comment"># 重启后自动解密：     </span><br><span class="hljs-comment">#   - Secure Boot 状态没变 → PCR 7 不变 → 解封成功</span><br><span class="hljs-comment">#   - Secure Boot 被禁 → PCR 7 变了 → 解封失败 → 提示输 fallback 密码</span><br><br><span class="hljs-comment"># 配合 dracut / mkinitcpio：     </span><br><span class="hljs-comment">#   /etc/crypttab：</span><br><span class="hljs-comment">#   root  UUID=...  none  tpm2-device=auto</span><br><br><span class="hljs-comment"># 紧急情况：备用恢复 key</span><br>cryptsetup luksAddKey /dev/sda3 recovery_key.txt<br></code></pre></td></tr></table></figure><h2 id="IMA：Linux-文件完整性"><a href="#IMA：Linux-文件完整性" class="headerlink" title="IMA：Linux 文件完整性"></a>IMA：Linux 文件完整性</h2><p>IMA（Integrity Measurement Architecture）是 Linux 内核的运行时完整性子系统：</p><pre><code class=" mermaid">graph TB  EXEC[执行 / mmap / open]  EXEC --&gt; IMA[IMA Hook]  IMA --&gt; CHECK&#123;检查策略&#125;  CHECK --&gt; M[度量：写入 measurement list + Extend PCR 10]  CHECK --&gt; A[Appraisal：验证签名 / 哈希]  CHECK --&gt; AUDIT[审计：仅记录]    A --&gt; R&#123;验证通过?&#125;  R -- 是 --&gt; RUN[允许执行]  R -- 否 --&gt; DENY[拒绝]</code></pre><p>IMA 的三种模式：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 度量（Measurement）：     <br>   - 把文件哈希写入 /sys/kernel/security/ima/ascii_runtime_measurements<br>   - 同时 Extend PCR 10<br>   - 不阻止执行<br>   - 用于审计和远程证明<br>   <br>2. 评估（Appraisal）：     <br>   - 验证文件的扩展属性签名<br>   - 不通过 → 拒绝执行<br>   - 严格但需要预先签名<br><br>3. 审计（Audit）：     <br>   - 仅写日志<br></code></pre></td></tr></table></figure><h3 id="IMA-启用"><a href="#IMA-启用" class="headerlink" title="IMA 启用"></a>IMA 启用</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 启动参数（GRUB）</span><br>GRUB_CMDLINE_LINUX=<span class="hljs-string">&quot;ima_policy=tcb ima_template=ima-ng ima_hash=sha256&quot;</span><br><br><span class="hljs-comment"># 重启后看 measurements</span><br><span class="hljs-built_in">cat</span> /sys/kernel/security/ima/ascii_runtime_measurements | <span class="hljs-built_in">head</span><br><br><span class="hljs-comment"># 例：</span><br><span class="hljs-comment"># 10 4d29...  ima-ng  sha256:abc...  /usr/bin/ls</span><br><span class="hljs-comment"># 10 8def...  ima-ng  sha256:def...  /usr/lib/libc.so.6</span><br><br><span class="hljs-comment"># 看当前 PCR 10</span><br>tpm2_pcrread sha256:10<br></code></pre></td></tr></table></figure><p>IMA 度量后<strong>每个文件首次访问时</strong>都会哈希入 PCR 10——这就让”系统启动以来所有访问的文件”都被记录。</p><h3 id="IMA-策略"><a href="#IMA-策略" class="headerlink" title="IMA 策略"></a>IMA 策略</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># /etc/ima/ima-policy 例：</span><br>dont_measure fsmagic=0x9fa0           <span class="hljs-comment"># 不度量 procfs</span><br>dont_measure fsmagic=0x62656572        <span class="hljs-comment"># 不度量 sysfs</span><br>measure func=BPRM_CHECK                 <span class="hljs-comment"># 度量 execve</span><br>measure func=FILE_MMAP mask=MAY_EXEC   <span class="hljs-comment"># 度量可执行 mmap</span><br>measure func=MODULE_CHECK               <span class="hljs-comment"># 度量内核模块</span><br>appraise func=POLICY_CHECK              <span class="hljs-comment"># 验签策略文件</span><br></code></pre></td></tr></table></figure><h3 id="EVM：扩展属性签名"><a href="#EVM：扩展属性签名" class="headerlink" title="EVM：扩展属性签名"></a>EVM：扩展属性签名</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">EVM（Extended Verification Module）：     <br>  - 验证文件的扩展属性 xattr（IMA 哈希、SELinux 标签等）<br>  - 防止单独篡改 xattr<br><br>启用：     <br>  GRUB_CMDLINE_LINUX=&quot;... evm=fix&quot;  # 第一次自动签<br>  之后 evm=enforce<br></code></pre></td></tr></table></figure><h2 id="完整可信启动链的搭建"><a href="#完整可信启动链的搭建" class="headerlink" title="完整可信启动链的搭建"></a>完整可信启动链的搭建</h2><pre><code class=" mermaid">graph TB  S1[BIOS Secure Boot]  S1 --&gt; S2[Bootloader 验签 kernel]  S2 --&gt; S3[Kernel 验签 module]  S3 --&gt; S4[IMA 度量 + Appraisal]  S4 --&gt; S5[远程证明可达]    S6[Measured Boot 同步进行]  S6 -.- S1 &amp; S2 &amp; S3 &amp; S4</code></pre><p>实际部署：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">1. BIOS：     启用 Secure Boot + Measured Boot<br>2. Bootloader：     shim + GRUB 签名<br>3. Kernel：     发行版签的 kernel + 自签 module<br>4. initrd：     生成时签<br>5. IMA：     启动 ima_policy=appraise_tcb<br>6. EVM：     启用 evm<br>7. LUKS：     密封到 PCR 7<br>8. 应用：     按需 IMA 度量<br></code></pre></td></tr></table></figure><h2 id="实战案例：金融业可信服务器"><a href="#实战案例：金融业可信服务器" class="headerlink" title="实战案例：金融业可信服务器"></a>实战案例：金融业可信服务器</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">某银行核心交易系统：     <br>  - 物理 TPM 2.0 + Secure Boot<br>  - kernel + initrd 内部签<br>  - LUKS 全盘加密 + TPM 密封 PCR 7<br>  - IMA Appraisal 模式<br>  - 远程证明每天定时到中心化平台<br>  - 启动状态异常 → 自动告警 + 隔离<br><br>效果：     <br>  - 任何 BIOS / Bootloader / Kernel 篡改 → 启动失败<br>  - 任何关键二进制篡改 → 拒绝执行<br>  - 物理拆机偷盘 → 数据无法解密（PCR 不对）<br></code></pre></td></tr></table></figure><h2 id="远程证明实战"><a href="#远程证明实战" class="headerlink" title="远程证明实战"></a>远程证明实战</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 服务端：建立 attestation 服务（开源 keylime）</span><br><span class="hljs-comment"># 客户端：装 keylime agent</span><br>apt install keylime-agent<br><br><span class="hljs-comment"># Agent 注册到 verifier：     </span><br>keylime_register --addr &lt;verifier&gt; --uuid &lt;uuid&gt;<br><br><span class="hljs-comment"># Verifier 周期发起 Quote 检查</span><br><span class="hljs-comment"># Agent 调 TPM_Quote 返回</span><br><span class="hljs-comment"># Verifier 比对 PCR 是否匹配预期</span><br><br><span class="hljs-comment"># 不匹配 → 隔离机器</span><br></code></pre></td></tr></table></figure><p>主流远程证明方案：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><code class="hljs text">keylime（NCC 出品，CNCF 项目）：     <br>  - 开源<br>  - Bootstrap + Periodic attest<br>  - 集成 IMA 度量列表<br><br>Microsoft Attestation Service：     <br>  - Windows Defender Device Health<br>  - Azure Attestation Service<br>  <br>Intel Trust Authority：     <br>  - Intel 官方<br>  - 服务化远程证明<br><br>国产：     <br>  - 公安部一所 / 中电科 等可信认证体系<br>  - 工信部&quot;可信云&quot;标准<br>  - 各家 OEM 自家方案<br></code></pre></td></tr></table></figure><h2 id="几个老坑"><a href="#几个老坑" class="headerlink" title="几个老坑"></a>几个老坑</h2><h3 id="坑-1：Secure-Boot-第三方驱动"><a href="#坑-1：Secure-Boot-第三方驱动" class="headerlink" title="坑 1：Secure Boot + 第三方驱动"></a>坑 1：Secure Boot + 第三方驱动</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">NVIDIA / Mellanox 等内核模块：     <br>  - shim 信任的是发行版公钥<br>  - 第三方模块需要单独签<br>  - 用 mokutil 加用户证书<br><br>正确流程：     <br>  1. 生成 MOK 密钥对<br>  2. mokutil --import 加证书<br>  3. 装第三方驱动时用 dkms 自动签<br></code></pre></td></tr></table></figure><h3 id="坑-2：Kernel-升级-PCR-0-4-改变"><a href="#坑-2：Kernel-升级-PCR-0-4-改变" class="headerlink" title="坑 2：Kernel 升级 PCR 0&#x2F;4 改变"></a>坑 2：Kernel 升级 PCR 0&#x2F;4 改变</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">LUKS 密封 PCR 0/4 → kernel 升级 → PCR 不一样 → 启动后无法解密<br><br>防御：     <br>  - 升级前 systemd-cryptenroll 重新封装<br>  - 或一直只用 PCR 7（推荐）<br>  - 留一把 fallback 密码<br></code></pre></td></tr></table></figure><h3 id="坑-3：IMA-性能开销"><a href="#坑-3：IMA-性能开销" class="headerlink" title="坑 3：IMA 性能开销"></a>坑 3：IMA 性能开销</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">IMA 默认全度量：     <br>  - 每次 execve / mmap 都要哈希<br>  - 4 KB 文件哈希 ~10 μs<br>  - 大量小文件应用受影响 5-15%<br><br>调优：     <br>  - 用 dont_measure 排除不必要路径<br>  - 用 ima-buf 替代 ima-ng（buffer 模式）<br>  - SHA-1 比 SHA-256 快但安全性弱<br></code></pre></td></tr></table></figure><h3 id="坑-4：BIOS-升级清密钥"><a href="#坑-4：BIOS-升级清密钥" class="headerlink" title="坑 4：BIOS 升级清密钥"></a>坑 4：BIOS 升级清密钥</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">BIOS 升级有时候清空 PK / KEK / DB<br>   → Secure Boot 关闭<br>   → mokutil 之前导入的全没<br><br>防御：     <br>  - 升级前导出 PK / KEK / DB 备份<br>  - 升级后用 sbkeysync 恢复<br></code></pre></td></tr></table></figure><h3 id="坑-5：vTPM-状态"><a href="#坑-5：vTPM-状态" class="headerlink" title="坑 5：vTPM 状态"></a>坑 5：vTPM 状态</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">KVM vTPM 默认 swtpm 持久化：     <br>  /var/lib/swtpm/&lt;uuid&gt;<br>  <br>迁移 VM：     vTPM 状态要同步迁移<br>否则：     新宿主机的 vTPM 是新的 → PCR 全空 → LUKS 解不开<br></code></pre></td></tr></table></figure><h3 id="坑-6：IMA-Appraisal-启用前没签好"><a href="#坑-6：IMA-Appraisal-启用前没签好" class="headerlink" title="坑 6：IMA Appraisal 启用前没签好"></a>坑 6：IMA Appraisal 启用前没签好</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">appraisal=enforce 时：     未签的文件不能执行<br>   → 突然启用 → 大量应用启动失败<br><br>正确：     <br>  1. 先 ima_appraise=fix 一次（自动签）<br>  2. 验证一切正常<br>  3. 再 ima_appraise=enforce<br></code></pre></td></tr></table></figure><h3 id="坑-7：远程证明引用值管理"><a href="#坑-7：远程证明引用值管理" class="headerlink" title="坑 7：远程证明引用值管理"></a>坑 7：远程证明引用值管理</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">万级集群每机 PCR 值不同（kernel / 配置略差异）：     <br>  - 集中维护&quot;已知好&quot;哈希列表<br>  - 每次升级都要更新基线<br>  - 大集群运维成本高<br><br>→ 这是为什么互联网厂启用率低<br></code></pre></td></tr></table></figure><h2 id="TPM-与-BIOS-的协议"><a href="#TPM-与-BIOS-的协议" class="headerlink" title="TPM 与 BIOS 的协议"></a>TPM 与 BIOS 的协议</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">TCG PC Client Profile：     <br>  - 度量哪些事件（PCR mapping）<br>  - 事件日志格式<br>  - 厂家必须遵循<br><br>每家 BIOS 实现略有差别：     <br>  - 同款服务器换 BIOS 厂 PCR 不一样<br>  - 跨厂家集群 PCR 基线管理头疼<br></code></pre></td></tr></table></figure><h2 id="一些查询命令"><a href="#一些查询命令" class="headerlink" title="一些查询命令"></a>一些查询命令</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># Secure Boot 状态</span><br>mokutil --sb-state<br><br><span class="hljs-comment"># 已注册 MOK</span><br>mokutil --list-enrolled<br><br><span class="hljs-comment"># UEFI 变量</span><br>efivar -l<br>efibootmgr -v<br><br><span class="hljs-comment"># Measured Boot 事件</span><br>tpm2_eventlog /sys/kernel/security/tpm0/binary_bios_measurements<br>tpm2_pcrread sha256:0,1,2,3,4,5,6,7,8,9,10<br><br><span class="hljs-comment"># IMA 度量列表</span><br><span class="hljs-built_in">cat</span> /sys/kernel/security/ima/ascii_runtime_measurements | <span class="hljs-built_in">wc</span> -l<br><br><span class="hljs-comment"># 看 IMA 策略</span><br><span class="hljs-built_in">cat</span> /sys/kernel/security/ima/policy<br><br><span class="hljs-comment"># 内核 lockdown 模式（与 Secure Boot 关联）</span><br><span class="hljs-built_in">cat</span> /sys/kernel/security/lockdown<br></code></pre></td></tr></table></figure><h2 id="一些数字直觉"><a href="#一些数字直觉" class="headerlink" title="一些数字直觉"></a>一些数字直觉</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs text">启动时间影响：     <br>  Secure Boot：     +50-200 ms<br>  Measured Boot：    +500-1000 ms<br>  IMA 度量：        +1-5 秒（按文件数）<br>  TPM 解 LUKS：     +200-500 ms<br>  <br>运行时性能：     <br>  IMA Measurement：    5% 性能损失<br>  IMA Appraisal：      10-15% 性能损失<br>  EVM 启用：           额外 5-10%<br>  <br>存储：     <br>  Measurement 列表：    小集群每天几十 MB<br>  Event log：          每机几 MB<br></code></pre></td></tr></table></figure><h2 id="不同发行版默认情况"><a href="#不同发行版默认情况" class="headerlink" title="不同发行版默认情况"></a>不同发行版默认情况</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><code class="hljs text">RHEL 9：     <br>  - Secure Boot 默认启用<br>  - shim 已签<br>  - IMA 配置可选<br>  - TPM 工具齐全<br><br>Ubuntu 24.04：     <br>  - Secure Boot 默认启用<br>  - LUKS + TPM 通过 systemd-cryptenroll<br>  - IMA 不默认<br><br>openEuler 22.03 LTS：     <br>  - 信创目录默认启用 Secure Boot + Measured Boot<br>  - IMA 政企版默认启用<br>  - 与 TCM 集成<br><br>麒麟 V10：     <br>  - 等保 3+ 默认 Secure Boot + IMA<br>  - 国密签名（SM2/SM3）<br>  - 与 TCM / TPCM 适配<br></code></pre></td></tr></table></figure><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>Secure Boot &#x3D; 启动验签，不通过就拒绝</li><li>Measured Boot &#x3D; 启动度量记录到 TPM PCR</li><li>IMA &#x3D; 运行时文件完整性验证</li><li>三者配合形成完整可信启动链</li><li>远程证明把启动状态送到验证方</li><li>LUKS + TPM PCR 7 是最常用的全盘加密方案</li><li>互联网厂启用率低，政企 &#x2F; 金融 &#x2F; 关基启用率高</li></ul><p>下一篇讲 TEE——SGX、TDX、SEV、TrustZone 等”可信执行环境”。</p>]]>
    </content>
    <id>http://localhost:4000/posts/5c30e812/</id>
    <link href="http://localhost:4000/posts/5c30e812/"/>
    <published>2026-03-08T14:45:00.000Z</published>
    <summary>TPM 是&quot;度量&quot;的根，但要让系统真正&quot;可信&quot;，必须把度量贯穿启动链。本文讲 UEFI Secure Boot、Measured Boot、Linux IMA 三件套。</summary>
    <title>Secure Boot、Measured Boot 与 IMA</title>
    <updated>2026-06-15T02:37:52.334Z</updated>
  </entry>
  <entry>
    <category term="08-可信计算" scheme="http://localhost:4000/categories/08-%E5%8F%AF%E4%BF%A1%E8%AE%A1%E7%AE%97/"/>
    <category term="TPM" scheme="http://localhost:4000/tags/TPM/"/>
    <category term="TCM" scheme="http://localhost:4000/tags/TCM/"/>
    <category term="可信启动" scheme="http://localhost:4000/tags/%E5%8F%AF%E4%BF%A1%E5%90%AF%E5%8A%A8/"/>
    <category term="PCR" scheme="http://localhost:4000/tags/PCR/"/>
    <content>
      <![CDATA[<p>第八章讲可信计算。可信不是”加密”也不是”防火墙”——是”用硬件证明系统在某个状态”。本文从 TPM 这颗小芯片讲起。</p><!-- more --><h2 id="为什么需要可信计算"><a href="#为什么需要可信计算" class="headerlink" title="为什么需要可信计算"></a>为什么需要可信计算</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">传统安全：     防火墙 / 杀毒 / 加密 / 权限<br>缺陷：     <br>  - 软件防御软件，攻击者一旦进系统就能改一切<br>  - 没有&quot;硬件级根&quot;<br>  - 系统启动时无法验证 BIOS / Bootloader / Kernel 是否被篡改<br>  - 加密密钥放在内存里 → 内存 dump 就泄露<br><br>可信计算的核心思想：     <br>  1. 硬件根：     一颗独立芯片，物理隔离，不可被软件篡改<br>  2. 度量启动链：    每一层启动时哈希下一层，记录到芯片<br>  3. 远程证明：    把启动状态送到远端，远端判断是否可信<br>  4. 密封：     用启动状态作为&quot;密钥派生因子&quot;，状态错就解不开<br></code></pre></td></tr></table></figure><h2 id="TPM：可信平台模块"><a href="#TPM：可信平台模块" class="headerlink" title="TPM：可信平台模块"></a>TPM：可信平台模块</h2><p>TPM（Trusted Platform Module）是一颗独立小芯片：</p><pre><code class=" mermaid">graph TB  CPU[CPU]  CHIPSET[Chipset / PCH]  TPM[TPM Chip&lt;br/&gt;独立芯片]  MB[主板]    CPU --- CHIPSET  CHIPSET --- TPM  TPM --- MB</code></pre><p>TPM 的物理形态：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">独立芯片（dTPM）：     主板焊一颗<br>固件 TPM（fTPM）：     CPU 内 TEE 模拟（Intel PTT、AMD fTPM）<br>虚拟 TPM（vTPM）：     VM 用的软件模拟<br>集成 TPM：             有些 SoC 内集成<br></code></pre></td></tr></table></figure><h3 id="TPM-的内部架构"><a href="#TPM-的内部架构" class="headerlink" title="TPM 的内部架构"></a>TPM 的内部架构</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">TPM 内部：     <br>  - 处理器（小 CPU）<br>  - 非易失存储（NVRAM）<br>  - 易失存储（PCR、密钥句柄）<br>  - 加密引擎（RSA / ECC / SHA / AES）<br>  - 随机数发生器（RNG）<br>  - 唯一身份（EK）<br><br>接口：     <br>  TPM 1.2：    LPC（Low Pin Count）<br>  TPM 2.0：    SPI / I²C / LPC<br>  fTPM：       内部接口<br></code></pre></td></tr></table></figure><h2 id="TPM-1-2-vs-2-0"><a href="#TPM-1-2-vs-2-0" class="headerlink" title="TPM 1.2 vs 2.0"></a>TPM 1.2 vs 2.0</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">TPM 1.2（2003）：     <br>  - 仅 SHA-1<br>  - 单 hash 算法<br>  - 难升级<br>  - 已淘汰<br><br>TPM 2.0（2014）：     <br>  - SHA-256 / SHA-384 / SHA-512<br>  - SM3（中国国密）支持<br>  - 算法可扩展<br>  - PCR 数量可配置<br>  - 已是当前标准<br></code></pre></td></tr></table></figure><p>Windows 11 强制要求 TPM 2.0——这是 2024 年 TPM 2.0 普及的主要推动力。</p><h2 id="TCM：国密版-TPM"><a href="#TCM：国密版-TPM" class="headerlink" title="TCM：国密版 TPM"></a>TCM：国密版 TPM</h2><p>中国”可信计算 2.0”路线推出的：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><code class="hljs text">TCM（Trusted Cryptography Module）：     <br>  - 中国主导<br>  - 算法用国密：     SM2 / SM3 / SM4 / SM9<br>  - GM/T 0011-2012 等国标<br>  - 与 TPM 1.2 类似的接口<br>  - 兼容 TCG 部分协议<br><br>TPCM（Trusted Platform Control Module）：     <br>  - &quot;主动可信&quot;<br>  - TCM + 主控制器，可主动度量 / 干预系统<br>  - 不只是被动度量<br>  - 国内独有，类似&quot;安全协处理器&quot;<br><br>实现：     <br>  - 主板 TCM 芯片<br>  - 沈昌祥院士主推<br><br>应用：     <br>  - 党政信创<br>  - 等保 2.0 三级 / 四级<br>  - 关基设施<br></code></pre></td></tr></table></figure><h2 id="PCR：平台配置寄存器"><a href="#PCR：平台配置寄存器" class="headerlink" title="PCR：平台配置寄存器"></a>PCR：平台配置寄存器</h2><p>PCR（Platform Configuration Register）是 TPM 的核心：</p><pre><code class=" mermaid">graph TB  PCR[PCR 寄存器组&lt;br/&gt;每个 32 字节]  PCR --&gt; PCR0[PCR 0：BIOS]  PCR --&gt; PCR1[PCR 1：BIOS 配置]  PCR --&gt; PCR2[PCR 2：Option ROM]  PCR --&gt; PCR3[PCR 3：Option ROM 配置]  PCR --&gt; PCR4[PCR 4：MBR / Bootloader]  PCR --&gt; PCR5[PCR 5：Bootloader 配置]  PCR --&gt; PCR6[PCR 6：状态变更]  PCR --&gt; PCR7[PCR 7：Secure Boot 状态]  PCR --&gt; PCR8[PCR 8-15：OS 用]  PCR --&gt; PCR16[PCR 16-23：debug / 应用]</code></pre><p>PCR 的核心特性：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 不能直接写：     只能 Extend<br>2. Extend 操作：    PCR_new = SHA256( PCR_old || measurement )<br>3. 不可逆：     一旦写入，无法撤回<br>4. 重置：     只在系统重启时清零<br><br>→ 任何篡改都会改变最终的 PCR 值<br>→ 启动链状态被&quot;哈希链&quot;忠实记录<br></code></pre></td></tr></table></figure><p>PCR 的 24 个寄存器各有约定（TCG 规范）：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">PCR 0-7：     固件（BIOS / Boot 等）<br>PCR 8-15：    OS 层度量<br>PCR 16-22：   debug / 自定义<br>PCR 23：     应用 / 临时<br></code></pre></td></tr></table></figure><h2 id="度量启动链"><a href="#度量启动链" class="headerlink" title="度量启动链"></a>度量启动链</h2><pre><code class=" mermaid">graph LR  CRTM[CRTM&lt;br/&gt;核心可信根&lt;br/&gt;BIOS 内只读] --&gt; B[BIOS]  B --&gt; B2[BIOS 度量 Bootloader]  B2 --&gt; BOOT[Bootloader&lt;br/&gt;GRUB]  BOOT --&gt; BOOT2[Bootloader 度量 Kernel]  BOOT2 --&gt; KER[Kernel + initrd]  KER --&gt; APP[OS / 应用]    CRTM -.-&gt; TPM[TPM PCR]  B2 -.-&gt; TPM  BOOT2 -.-&gt; TPM  KER -.-&gt; TPM</code></pre><p>整个启动过程：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 上电 → CRTM（Core Root of Trust for Measurement）开始执行<br>   CRTM 是 BIOS 中的一段不可变代码 / 不可变 mask ROM<br>   它度量自己 + 度量 BIOS 的剩余部分 → Extend PCR 0<br>   <br>2. BIOS 度量 Option ROM（PCI 卡 firmware）→ Extend PCR 2/3<br>   <br>3. BIOS 度量 Bootloader（GRUB）→ Extend PCR 4/5<br>   把控制权交给 Bootloader<br><br>4. Bootloader 度量 Kernel + initrd → Extend PCR 8/9<br>   把控制权交给 Kernel<br>   <br>5. Kernel IMA 度量重要文件 → Extend PCR 10<br>   挂载文件系统，启动应用<br><br>最终：     PCR 0-10 反映了整个启动链的&quot;哈希状态&quot;<br></code></pre></td></tr></table></figure><p>任意环节被篡改：     PCR 就会和”已知好的状态”不一样。</p><h2 id="TPM-的密钥层次"><a href="#TPM-的密钥层次" class="headerlink" title="TPM 的密钥层次"></a>TPM 的密钥层次</h2><pre><code class=" mermaid">graph TB  EK[EK&lt;br/&gt;Endorsement Key&lt;br/&gt;制造时烧死，唯一身份]  SRK[SRK&lt;br/&gt;Storage Root Key&lt;br/&gt;用户拥有，加密其他密钥]  AIK[AIK&lt;br/&gt;Attestation Identity Key&lt;br/&gt;身份证明用]  CHK[Child Keys&lt;br/&gt;用户密钥]    EK -.- AIK  SRK --&gt; CHK</code></pre><table><thead><tr><th>密钥</th><th>用途</th></tr></thead><tbody><tr><td>EK（Endorsement Key）</td><td>出厂烧入，证明这是真 TPM</td></tr><tr><td>SRK（Storage Root Key）</td><td>用户绑定的根密钥</td></tr><tr><td>AIK（Attestation Identity Key）</td><td>远程证明时用，避免泄露 EK</td></tr><tr><td>Child Keys</td><td>用户业务密钥</td></tr></tbody></table><p>EK 由 TPM 厂家签发——内置一张”出厂证书”。这是远程证明能信任 TPM 的根。</p><h2 id="远程证明（Remote-Attestation）"><a href="#远程证明（Remote-Attestation）" class="headerlink" title="远程证明（Remote Attestation）"></a>远程证明（Remote Attestation）</h2><pre><code class=" mermaid">graph LR  CL[客户端机器]  CL --&gt; Q[Quote 操作&lt;br/&gt;TPM 签名 PCR 状态]  Q --&gt; SR[发到验证方]  SR --&gt; SRV[验证服务器]  SRV --&gt; CMP[比对预期 PCR]  CMP --&gt; RES[可信 / 不可信]</code></pre><p>远程证明流程：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 验证方发起挑战（Nonce）<br>2. 客户端调用 TPM_Quote(PCRs, Nonce)<br>3. TPM 用 AIK 签名 PCR 哈希 + Nonce → Quote<br>4. 客户端把 Quote + AIK 证书发给验证方<br>5. 验证方：     <br>   a. 验证 AIK 证书链（来自 EK 厂家）<br>   b. 验证 Quote 签名<br>   c. 比对 PCR 值是否匹配预期&quot;好的状态&quot;<br>   d. 通过 → 这台机器在可信状态<br></code></pre></td></tr></table></figure><p>应用场景：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">- 网络准入：     设备进网前要 attest<br>- 云租户：     租户验证云上 VM 是真 TEE<br>- 软件更新：     更新前验证当前状态<br>- 数据访问控制：     PCR 错就解密失败<br></code></pre></td></tr></table></figure><h2 id="密封（Sealing）"><a href="#密封（Sealing）" class="headerlink" title="密封（Sealing）"></a>密封（Sealing）</h2><p>TPM 可以把数据”密封”到某个 PCR 状态：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs text">密封 = 用 PCR 当前值作为派生因子加密数据：     <br>  TPM_Seal(data, PCR_target_values)<br>  <br>解封：     <br>  TPM_Unseal(sealed_blob)<br>  → 仅当 PCR 当前值 == 密封时的值，才能解出<br>  <br>应用：     <br>  - 全盘加密密钥密封到启动状态<br>  - 业务密钥密封到应用代码<br>  - 任何篡改 → 解封失败 → 数据无法访问<br></code></pre></td></tr></table></figure><p>LUKS 全盘加密 + TPM 密封是 Linux 上最常用的安全启动方案。</p><h2 id="DRTM-与-SRTM"><a href="#DRTM-与-SRTM" class="headerlink" title="DRTM 与 SRTM"></a>DRTM 与 SRTM</h2><p>度量根的两种类型：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">SRTM（Static Root of Trust for Measurement）：     <br>  - 系统启动时建立<br>  - 从 CRTM 一路度量<br>  - 大部分场景<br><br>DRTM（Dynamic Root of Trust for Measurement）：     <br>  - 系统运行时动态建立&quot;信任岛&quot;<br>  - Intel TXT / AMD SKINIT<br>  - 不需要从开机度量<br>  - 用于安全敏感任务的&quot;临时可信环境&quot;<br></code></pre></td></tr></table></figure><p>DRTM 应用：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">- 启动 hypervisor 时建立 measure<br>- 银行 / 政务 / 军方关键操作前 DRTM<br>- 现在 TEE 已经吸收大部分 DRTM 场景<br></code></pre></td></tr></table></figure><h2 id="TPM-的实战命令"><a href="#TPM-的实战命令" class="headerlink" title="TPM 的实战命令"></a>TPM 的实战命令</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 看 TPM 是否存在</span><br><span class="hljs-built_in">ls</span> /dev/tpm*<br><span class="hljs-comment"># /dev/tpm0</span><br><span class="hljs-comment"># /dev/tpmrm0</span><br><br><span class="hljs-comment"># TPM 版本</span><br><span class="hljs-built_in">cat</span> /sys/class/tpm/tpm0/tpm_version_major<br><span class="hljs-built_in">cat</span> /sys/class/tpm/tpm0/device/description<br><br><span class="hljs-comment"># 看 PCR 值</span><br>tpm2_pcrread sha256:0,1,2,3,4,5,6,7<br><br><span class="hljs-comment"># 输出例：</span><br><span class="hljs-comment"># sha256:</span><br><span class="hljs-comment">#   0: 0x...64-hex</span><br><span class="hljs-comment">#   1: 0x...</span><br><span class="hljs-comment">#   ...</span><br><br><span class="hljs-comment"># 取个随机数</span><br>tpm2_getrandom 32 | xxd<br><br><span class="hljs-comment"># 创建主密钥</span><br>tpm2_createprimary -c primary.ctx<br><br><span class="hljs-comment"># 创建子密钥</span><br>tpm2_create -C primary.ctx -u key.pub -r key.priv<br><br><span class="hljs-comment"># 加密 / 解密</span><br>tpm2_rsaencrypt -c key.ctx -o cipher.bin plain.txt<br>tpm2_rsadecrypt -c key.ctx -o plain.bin cipher.bin<br><br><span class="hljs-comment"># 密封</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;secret&quot;</span> | tpm2_create -C primary.ctx -u sealed.pub -r sealed.priv -i -<br><br><span class="hljs-comment"># Quote（远程证明）</span><br>tpm2_quote -c key.ctx -l sha256:0,1,2,3 -q <span class="hljs-string">&quot;challenge_nonce&quot;</span><br></code></pre></td></tr></table></figure><h2 id="TPM-在系统中的角色"><a href="#TPM-在系统中的角色" class="headerlink" title="TPM 在系统中的角色"></a>TPM 在系统中的角色</h2><pre><code class=" mermaid">graph TB  TPM[TPM 2.0]  TPM --&gt; SB[Secure Boot 验证]  TPM --&gt; BOOT[Measured Boot 度量]  TPM --&gt; LUKS[LUKS 密封]  TPM --&gt; SSH[SSH 密钥保护]  TPM --&gt; CERT[X.509 证书 / mTLS]  TPM --&gt; WIN[Windows BitLocker / Hello]  TPM --&gt; RA[远程证明]</code></pre><p>TPM 不直接做”业务”——它是给上层各种安全子系统提供根。</p><h3 id="LUKS-TPM"><a href="#LUKS-TPM" class="headerlink" title="LUKS + TPM"></a>LUKS + TPM</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs text">传统 LUKS：     用户输密码解密<br>TPM 密封 LUKS：    密码绑定 PCR<br>                启动状态正确 → 自动解密<br>                启动被篡改 → 解密失败<br><br>systemd-cryptenroll：     2021+ Linux 标准工具<br>  systemd-cryptenroll --tpm2-device=auto /dev/sda3<br>  <br>GRUB 加 measured boot：     <br>  → BIOS / GRUB / kernel / initrd 哈希都进 PCR<br>  → 任何篡改 → 解不开<br></code></pre></td></tr></table></figure><h3 id="Windows-BitLocker"><a href="#Windows-BitLocker" class="headerlink" title="Windows BitLocker"></a>Windows BitLocker</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">Windows 用 TPM：     <br>  - BitLocker 全盘加密自动解（密钥密封到 PCR）<br>  - Hello 生物识别（密钥保护）<br>  - Defender Credential Guard<br>  - Win 11 强制 TPM 2.0<br></code></pre></td></tr></table></figure><h2 id="服务器-TPM-的现状"><a href="#服务器-TPM-的现状" class="headerlink" title="服务器 TPM 的现状"></a>服务器 TPM 的现状</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs text">2026 年现状：     <br>  - 几乎所有数据中心服务器都带 TPM 2.0<br>  - 政府 / 金融 / 关基采购&quot;必带&quot;<br>  - 互联网厂商：     多数采购带 TPM，但实际启用率低（&lt; 20%）<br>  - 信创目录：     强制 TPM 2.0 或 TCM<br>  <br>为什么互联网启用率低：     <br>  1. 配置复杂<br>  2. 大规模运维难（每机 PCR 不同）<br>  3. 业务团队不熟<br>  4. 收益不明显<br></code></pre></td></tr></table></figure><h2 id="TPM-的几个老坑"><a href="#TPM-的几个老坑" class="headerlink" title="TPM 的几个老坑"></a>TPM 的几个老坑</h2><h3 id="坑-1：fTPM-bug-导致系统卡顿"><a href="#坑-1：fTPM-bug-导致系统卡顿" class="headerlink" title="坑 1：fTPM bug 导致系统卡顿"></a>坑 1：fTPM bug 导致系统卡顿</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">2022 年 AMD fTPM 在某些主板上偶发卡死<br>   → 鼠标 / 键盘卡顿几百毫秒<br>   → 桌面用户大量抱怨<br>   → AMD 后续 BIOS 修复<br><br>教训：     fTPM 性能不如 dTPM 稳定<br></code></pre></td></tr></table></figure><h3 id="坑-2：BIOS-升级清除-PCR"><a href="#坑-2：BIOS-升级清除-PCR" class="headerlink" title="坑 2：BIOS 升级清除 PCR"></a>坑 2：BIOS 升级清除 PCR</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">BIOS 升级 → CRTM 改变 → PCR 0 改变<br>   → LUKS 密封基于 PCR 0 → 解不开<br>   → 全盘加密的服务器锁死<br><br>防御：     <br>  - 升级前重新封装密钥<br>  - 用 TPM Recovery Key 备用<br>  - PCR 选择只用 7（Secure Boot 状态）而非 0<br></code></pre></td></tr></table></figure><h3 id="坑-3：vTPM-状态不持久"><a href="#坑-3：vTPM-状态不持久" class="headerlink" title="坑 3：vTPM 状态不持久"></a>坑 3：vTPM 状态不持久</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">KVM vTPM 默认存在内存：     <br>  - VM 重启状态丢失<br>  - 必须用 SWTPM 持久化<br>  <br>正确：     swtpm + libvirt 标准模式<br></code></pre></td></tr></table></figure><h3 id="坑-4：TPM-命令排队"><a href="#坑-4：TPM-命令排队" class="headerlink" title="坑 4：TPM 命令排队"></a>坑 4：TPM 命令排队</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">TPM 是慢芯片：     单核单队列<br>  → 多并发可能卡 100+ ms<br>  → 高并发应用不要频繁调 TPM<br><br>应用：     一次启动取出密钥后缓存到 kernel keyring<br></code></pre></td></tr></table></figure><h3 id="坑-5：TPM-与-Secure-Boot-混淆"><a href="#坑-5：TPM-与-Secure-Boot-混淆" class="headerlink" title="坑 5：TPM 与 Secure Boot 混淆"></a>坑 5：TPM 与 Secure Boot 混淆</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">TPM ≠ Secure Boot：     <br>  Secure Boot = UEFI 验签<br>  TPM = 度量记录<br><br>可以独立：     <br>  - 只 Secure Boot，无 TPM：能验签，但没有&quot;启动状态记录&quot;<br>  - 只 TPM，无 Secure Boot：度量记录但允许任何启动<br>  - 两个都开：完整方案<br></code></pre></td></tr></table></figure><h2 id="TCG-标准"><a href="#TCG-标准" class="headerlink" title="TCG 标准"></a>TCG 标准</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs text">TCG（Trusted Computing Group）：     <br>  TPM 标准制定者<br>  AMD / IBM / Intel / HP / Microsoft 等创立<br>  <br>  规范：     <br>    TPM 2.0 Library Spec<br>    TCG PC Client Profile<br>    Storage Spec（SED）<br>    DICE（Device Identifier Composition Engine）<br>    SPDM（Security Protocol and Data Model）<br>    <br>中国对应：     <br>  TCG 中国分会<br>  GB/T 29827-2013 系列国标<br></code></pre></td></tr></table></figure><h2 id="一些查询命令"><a href="#一些查询命令" class="headerlink" title="一些查询命令"></a>一些查询命令</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># TPM 设备</span><br><span class="hljs-built_in">ls</span> /dev/tpm*<br><span class="hljs-built_in">cat</span> /sys/class/tpm/tpm0/tpm_version_major<br><br><span class="hljs-comment"># TPM 设备字符</span><br>dmesg | grep -i tpm<br><br><span class="hljs-comment"># 启用 / 禁用（GRUB）</span><br>tpm_tis.driver_args=...<br><br><span class="hljs-comment"># tpm2-tools 安装</span><br>apt install tpm2-tools         <span class="hljs-comment"># Ubuntu</span><br>dnf install tpm2-tools         <span class="hljs-comment"># RHEL</span><br><br><span class="hljs-comment"># 看 measured boot 事件日志</span><br><span class="hljs-built_in">sudo</span> tpm2_eventlog /sys/kernel/security/tpm0/binary_bios_measurements<br><br><span class="hljs-comment"># 安装 swtpm（vTPM）</span><br>apt install swtpm swtpm-tools<br><br><span class="hljs-comment"># vTPM 给 KVM</span><br>qemu-system-x86_64 ... \<br>  -chardev socket,<span class="hljs-built_in">id</span>=chrtpm,path=/tmp/swtpm-sock \<br>  -tpmdev emulator,<span class="hljs-built_in">id</span>=tpm0,chardev=chrtpm \<br>  -device tpm-tis,tpmdev=tpm0<br></code></pre></td></tr></table></figure><h2 id="一些数字直觉"><a href="#一些数字直觉" class="headerlink" title="一些数字直觉"></a>一些数字直觉</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs text">TPM 2.0 性能：     <br>  生成 RSA 2048 密钥：     500-1000 ms<br>  RSA 签名：              50-100 ms<br>  PCR Extend：            1-5 ms<br>  Quote：                 50-150 ms<br>  RNG 32 字节：           5-10 ms<br><br>启动时间影响：     <br>  完整 measured boot：     +1-3 秒<br>  TPM unseal LUKS：        +200-500 ms<br>  <br>价格：     <br>  dTPM 芯片单颗：          $1-3 美元<br>  服务器主板支持：          通常含<br>  fTPM 启用：               免费<br></code></pre></td></tr></table></figure><h2 id="第八章-Roadmap"><a href="#第八章-Roadmap" class="headerlink" title="第八章 Roadmap"></a>第八章 Roadmap</h2><p>接下来会展开：</p><ul><li>Secure Boot &#x2F; Measured Boot &#x2F; IMA（怎么用 TPM）</li><li>TEE：SGX &#x2F; TDX &#x2F; SEV &#x2F; TrustZone</li><li>机密计算 Confidential VM&#x2F;Container</li><li>国产可信计算（海光 CSV &#x2F; 鲲鹏 &#x2F; TPCM）</li><li>选型与小结</li></ul><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>TPM 是可信计算的硬件根，提供度量、密封、远程证明能力</li><li>TPM 1.2 仅 SHA-1，已淘汰；TPM 2.0 多算法可扩展</li><li>TCM 是中国国密版本，TPCM 是”主动可信”扩展</li><li>PCR 是核心数据结构——用 Extend 操作记录哈希链</li><li>度量启动链从 CRTM 到应用层，PCR 0-10 各有约定</li><li>Quote 是远程证明，Seal 是状态绑定</li><li>LUKS + TPM、Win BitLocker 是常见的应用</li><li>数据中心服务器普遍配 TPM 2.0，但启用率有限</li></ul><p>下一篇讲 Secure Boot &#x2F; Measured Boot &#x2F; IMA——怎么把 TPM 用起来。</p>]]>
    </content>
    <id>http://localhost:4000/posts/4f3ad33e/</id>
    <link href="http://localhost:4000/posts/4f3ad33e/"/>
    <published>2026-03-01T13:30:00.000Z</published>
    <summary>TPM 是可信计算的&quot;硬件根&quot;——一颗独立小芯片，负责度量、密封、远程证明。本文讲清 TPM 1.2 / 2.0 演进、TCM 国密路线，以及 PCR 这个核心概念。</summary>
    <title>TPM / TCM 基础与可信启动链</title>
    <updated>2026-06-15T02:37:52.333Z</updated>
  </entry>
  <entry>
    <category term="07-操作系统" scheme="http://localhost:4000/categories/07-%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/"/>
    <category term="OS 选型" scheme="http://localhost:4000/tags/OS-%E9%80%89%E5%9E%8B/"/>
    <category term="第七章小结" scheme="http://localhost:4000/tags/%E7%AC%AC%E4%B8%83%E7%AB%A0%E5%B0%8F%E7%BB%93/"/>
    <content>
      <![CDATA[<p>第七章前面 6 篇分别讲了 Linux 发行版、虚拟化、容器&#x2F;K8s、内核内部、AI OS 适配、国产 OS。本篇收口。</p><!-- more --><h2 id="OS-选型的”四层决策”"><a href="#OS-选型的”四层决策”" class="headerlink" title="OS 选型的”四层决策”"></a>OS 选型的”四层决策”</h2><pre><code class=" mermaid">graph TD  Q1[第 1 层: 业务类型?]  Q1 --&gt; Q2[第 2 层: 虚拟化方案?]  Q2 --&gt; Q3[第 3 层: 容器栈?]  Q3 --&gt; Q4[第 4 层: 国产化要求?]  Q4 --&gt; A[最终选型]</code></pre><h2 id="第-1-层：业务类型"><a href="#第-1-层：业务类型" class="headerlink" title="第 1 层：业务类型"></a>第 1 层：业务类型</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">传统单机应用：     RHEL / Ubuntu LTS / 麒麟 / 欧拉<br>云原生 / K8s：     Ubuntu / Rocky / 龙蜥 / Bottlerocket / Talos<br>数据库专用：       RHEL（Oracle 认证）/ Ubuntu / 龙蜥<br>AI 训练：         Ubuntu 22.04 + 内核 5.15+<br>HPC：             RHEL / Rocky / openEuler<br>边缘 / 嵌入式：     Yocto / Buildroot / Alpine<br>桌面 / VDI：       Windows / Ubuntu / 麒麟桌面 / UOS<br></code></pre></td></tr></table></figure><h2 id="第-2-层：虚拟化方案"><a href="#第-2-层：虚拟化方案" class="headerlink" title="第 2 层：虚拟化方案"></a>第 2 层：虚拟化方案</h2><table><thead><tr><th>场景</th><th>推荐</th></tr></thead><tbody><tr><td>公有云 IaaS</td><td>KVM + 自研管理面（参考 AWS Nitro &#x2F; 阿里神龙）</td></tr><tr><td>私有云</td><td>OpenStack + KVM 或国产替代（华为 &#x2F; 深信服 &#x2F; H3C）</td></tr><tr><td>VMware 替换</td><td>Proxmox VE &#x2F; OpenStack &#x2F; 国产虚拟化</td></tr><tr><td>桌面虚拟化</td><td>VMware Horizon &#x2F; Citrix &#x2F; 国产 VDI</td></tr><tr><td>AI 训练 VM</td><td>KVM + GPU 直通 + SR-IOV</td></tr><tr><td>容器优先</td><td>直接 K8s + containerd（无 VM 层）</td></tr></tbody></table><h2 id="第-3-层：容器栈"><a href="#第-3-层：容器栈" class="headerlink" title="第 3 层：容器栈"></a>第 3 层：容器栈</h2><pre><code class=" mermaid">graph TD  Q1&#123;规模和需求?&#125;  Q1 -- &quot;&lt;10 节点&quot; --&gt; S1[Docker Compose / 单机 K8s]  Q1 -- &quot;10-100 节点&quot; --&gt; S2[K8s + Rancher / KubeSphere]  Q1 -- &quot;100+ 节点&quot; --&gt; S3[K8s + 自建 / 云厂家 K8s]  Q1 -- &quot;AI 训练集群&quot; --&gt; S4[K8s + Volcano / KAI]  Q1 -- &quot;Serverless&quot; --&gt; S5[Knative / Lambda / Fargate]</code></pre><h2 id="第-4-层：国产化要求"><a href="#第-4-层：国产化要求" class="headerlink" title="第 4 层：国产化要求"></a>第 4 层：国产化要求</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">强国产化（党政 / 央企）：     麒麟 V10 / openEuler / UOS<br>中等国产化（国央企互联网）：    龙蜥 / openEuler / 阿里 Alinux<br>弱国产化（互联网商业）：       Ubuntu LTS / Rocky / RHEL<br></code></pre></td></tr></table></figure><h2 id="几个典型场景的清单"><a href="#几个典型场景的清单" class="headerlink" title="几个典型场景的清单"></a>几个典型场景的清单</h2><h3 id="场景-1：传统企业-IT"><a href="#场景-1：传统企业-IT" class="headerlink" title="场景 1：传统企业 IT"></a>场景 1：传统企业 IT</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">OS：           RHEL 9（订阅）或 Rocky Linux 9（免费）<br>虚拟化：        VMware vSphere（已有）或 Proxmox VE（替代）<br>容器：         少量（基本用 VM）<br>管理：         vCenter / Ansible<br>预算：         订阅 + 服务约 ¥几百万 / 年<br></code></pre></td></tr></table></figure><h3 id="场景-2：互联网中型"><a href="#场景-2：互联网中型" class="headerlink" title="场景 2：互联网中型"></a>场景 2：互联网中型</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">宿主机 OS：     Ubuntu 22.04 LTS / 龙蜥 8<br>虚拟化：        KVM + libvirt + OpenStack（或自研）<br>容器：         containerd + K8s 1.30+<br>CNI：          Cilium 或 Calico<br>存储：         Ceph + 本地 NVMe<br>监控：         Prometheus + Grafana + Loki<br>预算：         开源为主，运维团队 + 商业支持<br></code></pre></td></tr></table></figure><h3 id="场景-3：AI-训练集群"><a href="#场景-3：AI-训练集群" class="headerlink" title="场景 3：AI 训练集群"></a>场景 3：AI 训练集群</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">OS：           Ubuntu 22.04 LTS（NVIDIA 官方支持最好）<br>内核：         6.x（GPU 驱动 + IB 模块）<br>容器：         containerd + K8s + nvidia-device-plugin<br>调度：         Volcano / KAI Scheduler / Run.ai<br>存储：         WekaFS / Lustre + 本地 NVMe<br>训练框架：      PyTorch + DeepSpeed / Megatron / FSDP<br>监控：         Prometheus + DCGM Exporter<br></code></pre></td></tr></table></figure><h3 id="场景-4：信创私有云"><a href="#场景-4：信创私有云" class="headerlink" title="场景 4：信创私有云"></a>场景 4：信创私有云</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">OS：           麒麟 V10 SP3 + openEuler 22.03 LTS<br>虚拟化：        华为 FusionCompute / 深信服 aSV / 新华三 UIS<br>容器：         iSulad + K8s（华为 CCE 衍生）<br>存储：         华为 OceanStor / 浪潮分布式<br>安全：         凝思安全 OS + 国密<br>管理：         国产 IaaS / PaaS 平台<br></code></pre></td></tr></table></figure><h3 id="场景-5：边缘-IoT"><a href="#场景-5：边缘-IoT" class="headerlink" title="场景 5：边缘 &#x2F; IoT"></a>场景 5：边缘 &#x2F; IoT</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">OS：           Alpine Linux（容器）/ Yocto（嵌入式）/ Talos<br>容器：         containerd + KubeEdge / K3s<br>更新：         OTA 不可变镜像<br>监控：         轻量化（Prometheus 缩减）<br></code></pre></td></tr></table></figure><h2 id="几个常见的”OS-坑”"><a href="#几个常见的”OS-坑”" class="headerlink" title="几个常见的”OS 坑”"></a>几个常见的”OS 坑”</h2><h3 id="坑-1：选-EOL-的-OS"><a href="#坑-1：选-EOL-的-OS" class="headerlink" title="坑 1：选 EOL 的 OS"></a>坑 1：选 EOL 的 OS</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">新部署上 CentOS 7（EOL 2024-06）：     1 年后无补丁<br>新部署上 RHEL 7：     2024-06 EOL<br>新部署上 Ubuntu 18.04：     已 EOL<br><br>正确：     选最新 LTS（RHEL 9 / Ubuntu 24.04 / Rocky 9）<br></code></pre></td></tr></table></figure><h3 id="坑-2：内核过旧不支持新硬件"><a href="#坑-2：内核过旧不支持新硬件" class="headerlink" title="坑 2：内核过旧不支持新硬件"></a>坑 2：内核过旧不支持新硬件</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">H100 GPU 需要 NVIDIA driver 535+：     <br>  RHEL 7 内核 3.10 → 装不上<br>  Ubuntu 18.04 内核 4.x → 部分功能不可<br>  <br>NVMe 5.0 SSD：     <br>  需要 5.x+ 内核<br>  <br>ConnectX-7 400G：     <br>  MOFED 25.x+，需要新内核<br></code></pre></td></tr></table></figure><h3 id="坑-3：systemd-不熟"><a href="#坑-3：systemd-不熟" class="headerlink" title="坑 3：systemd 不熟"></a>坑 3：systemd 不熟</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">开发用 supervisord 启服务，生产环境过时：     <br>  - 用 systemd unit<br>  - 资源限制 / 重启策略 / 日志都是 systemd<br>  <br>journalctl 不会用：     运维效率低<br></code></pre></td></tr></table></figure><h3 id="坑-4：忽视-NUMA"><a href="#坑-4：忽视-NUMA" class="headerlink" title="坑 4：忽视 NUMA"></a>坑 4：忽视 NUMA</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">8 GPU 服务器跨 NUMA 不绑定：     <br>  - DataLoader 性能损失 30%<br>  - Database 性能损失 20%<br>  - 网卡跨 socket 损失 30-50%<br><br>调优：     Topology Manager / numactl / taskset 三件套<br></code></pre></td></tr></table></figure><h3 id="坑-5：cgroup-v1-v2-混用"><a href="#坑-5：cgroup-v1-v2-混用" class="headerlink" title="坑 5：cgroup v1 &#x2F; v2 混用"></a>坑 5：cgroup v1 &#x2F; v2 混用</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">RHEL 8 / Ubuntu 22.04 默认 v2：     <br>  - K8s 1.25+ 需要 v2<br>  - 老的 Docker 可能不兼容<br>  <br>迁移：     <br>  - GRUB 加 systemd.unified_cgroup_hierarchy=1<br>  - Docker / containerd 升级<br></code></pre></td></tr></table></figure><h3 id="坑-6：默认-ulimit-太低"><a href="#坑-6：默认-ulimit-太低" class="headerlink" title="坑 6：默认 ulimit 太低"></a>坑 6：默认 ulimit 太低</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">默认 nofile 1024：     高并发立刻崩<br>默认 nproc：           容器多 worker 不够<br>默认 memlock：         RDMA / NCCL 报错<br><br>修复：     /etc/security/limits.conf 调大<br></code></pre></td></tr></table></figure><h3 id="坑-7：把所有应用塞到一台-OS"><a href="#坑-7：把所有应用塞到一台-OS" class="headerlink" title="坑 7：把所有应用塞到一台 OS"></a>坑 7：把所有应用塞到一台 OS</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">单台物理机 → 一个 OS → 跑很多应用：     <br>  - 资源争用<br>  - 升级困难<br>  - 故障爆炸半径大<br>  <br>正确：     <br>  - 物理机 → 一个 Hypervisor / 容器 host<br>  - 应用跑容器或 VM 里<br></code></pre></td></tr></table></figure><h2 id="一些性能直觉数字"><a href="#一些性能直觉数字" class="headerlink" title="一些性能直觉数字"></a>一些性能直觉数字</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><code class="hljs text">启动时间：     <br>  RHEL 9 + systemd：     30 秒<br>  Ubuntu 22.04：         20 秒<br>  K8s Pod 启动（含调度）： 1-3 秒<br>  Firecracker μVM：       125 ms<br>  OCI 容器：             100-500 ms<br><br>资源占用：     <br>  RHEL 9 最小安装：       1.5 GB<br>  Alpine：               5-10 MB<br>  K8s 控制面（小集群）：    1-2 vCPU / 4 GB<br>  K8s 控制面（万节点）：    16+ vCPU / 64 GB<br><br>性能损失：     <br>  KVM 虚拟化：           &lt;2-5%<br>  KVM + virtio：         &lt;5%（IO）<br>  容器：                 &lt;1%<br>  KVM + SR-IOV：         &lt;5%<br>  Kata Container：        ~5%<br>  gVisor：               20-30%（用户态内核）<br></code></pre></td></tr></table></figure><h2 id="OS-升级的实战建议"><a href="#OS-升级的实战建议" class="headerlink" title="OS 升级的实战建议"></a>OS 升级的实战建议</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 升级前评估：     <br>   - 应用依赖（glibc / Python / Java 等）<br>   - 第三方驱动（NVIDIA / Mellanox）<br>   - 老的内核模块（kABI 兼容）<br>   <br>2. 测试环境先验证：     <br>   - 同 OS 同硬件克隆<br>   - 完整业务功能测试<br>   - 性能回归测试<br>   <br>3. 滚动升级：     <br>   - 不要全量升级<br>   - 一个机柜先升，观察 1 周<br>   - 然后下一批<br>   <br>4. 回滚预案：     <br>   - 保留旧镜像<br>   - 备份配置<br>   - 文档化升级步骤<br></code></pre></td></tr></table></figure><h2 id="第七章整体小结"><a href="#第七章整体小结" class="headerlink" title="第七章整体小结"></a>第七章整体小结</h2><p>回看第七章覆盖：</p><ol><li><strong>Linux 服务器 OS 演进</strong> — RHEL &#x2F; Debian &#x2F; SUSE 三大家族 + systemd</li><li><strong>虚拟化</strong> — KVM &#x2F; Xen &#x2F; Hyper-V + SR-IOV &#x2F; vGPU</li><li><strong>容器与 K8s</strong> — namespace + cgroup，K8s 调度模型</li><li><strong>内核内部</strong> — 调度器 &#x2F; 网络栈 &#x2F; 文件系统 &#x2F; 内存管理</li><li><strong>AI 时代 OS 适配</strong> — GPU 调度 &#x2F; NUMA &#x2F; 大模型训练</li><li><strong>国产服务器 OS</strong> — 欧拉 &#x2F; 麒麟 &#x2F; 龙蜥 &#x2F; 统信</li><li><strong>OS 选型与小结</strong>（本篇）</li></ol><p>几条贯穿全章的主线：</p><pre><code class=" mermaid">graph LR  HW[硬件]  HV[Hypervisor / 容器引擎]  HOST[Host OS]  ORCH[K8s / 调度器]  APP[应用]    HW --&gt; HOST  HOST --&gt; HV --&gt; ORCH --&gt; APP</code></pre><p><strong>核心认知</strong>：</p><ul><li>Linux 是服务器市场绝对主流</li><li>systemd &#x2F; cgroup v2 &#x2F; eBPF &#x2F; io_uring 是近 10 年最重要的内核新特性</li><li>KVM + containerd + K8s 是事实标准 stack</li><li>AI 时代 OS 要管 GPU &#x2F; NUMA 拓扑 &#x2F; 大 IO</li><li>国产 OS（欧拉 + 麒麟 + 龙蜥）已能完整覆盖政企 + 互联网</li></ul><h2 id="OS-未来-2-3-年趋势"><a href="#OS-未来-2-3-年趋势" class="headerlink" title="OS 未来 2-3 年趋势"></a>OS 未来 2-3 年趋势</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">1. RHEL 10 引入（2025-2026）—— ARM64 第一公民<br>2. Linux 内核 6.x LTS 取代 5.15 LTS<br>3. EEVDF 完全取代 CFS<br>4. cgroup v2 全面普及<br>5. eBPF + Cilium 取代 iptables<br>6. io_uring 在数据库 / 存储成为默认<br>7. Confidential VM（机密计算）从研究走向生产<br>8. 不可变 OS（Talos / Bottlerocket / NixOS）增长<br>9. 国产 OS（openEuler / 龙蜥）海外影响力提升<br>10. AI 集群专用 OS 镜像逐步标准化<br></code></pre></td></tr></table></figure><h2 id="不可变-OS-的兴起"><a href="#不可变-OS-的兴起" class="headerlink" title="不可变 OS 的兴起"></a>不可变 OS 的兴起</h2><p>值得单独提一句：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs text">传统 OS：     可读写根文件系统，apt/dnf 装包<br>不可变 OS：     根文件系统只读，整体镜像更新<br><br>代表：     <br>  Container Optimized OS（GCP）<br>  Bottlerocket（AWS）<br>  Talos（K8s 专用）<br>  Flatcar Linux（前 CoreOS）<br>  NixOS（声明式）<br>  openEuler 镜像版（探索中）<br><br>优势：     <br>  - 故障状态可预测<br>  - 升级 = 替换镜像<br>  - 适合 K8s / 大规模车队管理<br></code></pre></td></tr></table></figure><h2 id="给读者的实战建议"><a href="#给读者的实战建议" class="headerlink" title="给读者的实战建议"></a>给读者的实战建议</h2><p>如果你在公司负责 OS 标准化：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 选好 LTS 版本，不要追新（RHEL 9 / Ubuntu 24.04）<br>2. 标准化基础镜像（包 + 配置 + 监控 agent）<br>3. 内核参数 / limits 用 Ansible / Salt 推送<br>4. 定期 CVE 扫描和补丁<br>5. 容器化业务，VM 只跑基础设施<br>6. K8s 集群 &lt; 5000 节点，超就上联邦<br>7. 国产化按业务等级分层<br>8. AI 集群单独标准化（与传统业务隔离）<br>9. 监控 + 日志 + tracing 三件套不能省<br>10. 备份和灾难恢复演练 1 次 / 季度<br></code></pre></td></tr></table></figure><blockquote><p>待补充：你公司或项目内的 OS 选型决策。</p></blockquote><h2 id="第七章结束"><a href="#第七章结束" class="headerlink" title="第七章结束"></a>第七章结束</h2><p>下一章进入<strong>第八章 可信计算</strong>。会重点讲：</p><ul><li>TPM &#x2F; TCM 基础</li><li>Secure Boot &#x2F; Measured Boot &#x2F; IMA</li><li>TEE（Intel SGX &#x2F; TDX、AMD SEV &#x2F; SEV-SNP、ARM TrustZone &#x2F; CCA、海光 CSV）</li><li>机密计算（Confidential VM &#x2F; Confidential Container）</li><li>国产可信计算（TCM &#x2F; TPCM &#x2F; 海光 CSV &#x2F; 鲲鹏）</li><li>DICE &#x2F; SPDM &#x2F; Attestation</li></ul><p>Chapter 7 done.</p>]]>
    </content>
    <id>http://localhost:4000/posts/974693c6/</id>
    <link href="http://localhost:4000/posts/974693c6/"/>
    <published>2026-02-22T03:15:00.000Z</published>
    <summary>把第七章 6 篇连起来——按业务实际怎么选 OS、虚拟化、容器栈。本篇是第七章收口。</summary>
    <title>OS 选型实战与第七章小结</title>
    <updated>2026-06-15T02:37:52.333Z</updated>
  </entry>
  <entry>
    <category term="07-操作系统" scheme="http://localhost:4000/categories/07-%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/"/>
    <category term="信创" scheme="http://localhost:4000/tags/%E4%BF%A1%E5%88%9B/"/>
    <category term="openEuler" scheme="http://localhost:4000/tags/openEuler/"/>
    <category term="麒麟" scheme="http://localhost:4000/tags/%E9%BA%92%E9%BA%9F/"/>
    <category term="龙蜥" scheme="http://localhost:4000/tags/%E9%BE%99%E8%9C%A5/"/>
    <category term="统信" scheme="http://localhost:4000/tags/%E7%BB%9F%E4%BF%A1/"/>
    <content>
      <![CDATA[<p>CentOS 8 提前 EOL（2021）+ 信创需求 &#x3D; 国产服务器 OS 的爆发期。本文盘点主流国产 Linux 发行版及其差异。</p><!-- more --><h2 id="一张全景"><a href="#一张全景" class="headerlink" title="一张全景"></a>一张全景</h2><pre><code class=" mermaid">graph TB  CN[国产服务器 OS]  CN --&gt; EU[openEuler 系&lt;br/&gt;华为主导]  CN --&gt; KY[麒麟系&lt;br/&gt;麒麟软件]  CN --&gt; AN[龙蜥系&lt;br/&gt;阿里 + OpenAnolis]  CN --&gt; UO[统信系&lt;br/&gt;统信软件 UOS]  CN --&gt; DP[深度系&lt;br/&gt;Deepin]  CN --&gt; OT[其他]    EU --&gt; EU1[openEuler&lt;br/&gt;开源社区版]  EU --&gt; EU2[EulerOS&lt;br/&gt;华为商业版]    KY --&gt; KY1[银河麒麟&lt;br/&gt;桌面 + 服务器]  KY --&gt; KY2[中标麒麟&lt;br/&gt;原中标软件]  KY --&gt; KY3[开放麒麟 openKylin&lt;br/&gt;2023 开源社区]    AN --&gt; AN1[Anolis OS&lt;br/&gt;开源社区版]  AN --&gt; AN2[Alinux&lt;br/&gt;阿里云内部]  AN --&gt; AN3[腾讯 OS / 龙蜥衍生]    UO --&gt; UO1[UOS V20 / V21&lt;br/&gt;商业]  UO --&gt; UO2[Deepin → 统信 Deepin]    DP --&gt; DP1[Deepin OS&lt;br/&gt;桌面起家]    OT --&gt; OT1[红旗 Linux&lt;br/&gt;历史]  OT --&gt; OT2[中科方德]  OT --&gt; OT3[凝思安全 OS]</code></pre><h2 id="openEuler（欧拉）"><a href="#openEuler（欧拉）" class="headerlink" title="openEuler（欧拉）"></a>openEuler（欧拉）</h2><p>华为 2019 年开源的 Linux 发行版：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><code class="hljs text">背景：     <br>  - 起源于华为 EulerOS（华为内部 / 服务器）<br>  - 2019 年 12 月开源<br>  - 2021 年捐给开放原子开源基金会<br><br>特点：     <br>  - 内核基于 Linux 5.10（22.03 LTS）/ 6.6（24.03 LTS）<br>  - 多架构：x86_64 / ARM64 / RISC-V / LoongArch / Power<br>  - 鲲鹏 / 昇腾深度优化<br>  - 全栈虚拟化（StratoVirt）<br>  - 容器（iSulad）<br>  - openGauss 数据库适配<br><br>商业版：     <br>  EulerOS（华为）<br>  麒麟 V10（兼容欧拉）<br>  统信 UOS 部分版本<br>  绿盟 / 麒麟信安 / 中科方德等<br><br>22.03 LTS：     2022 年发布，长期支持<br>24.03 LTS：     2024 年发布<br></code></pre></td></tr></table></figure><h3 id="openEuler-的版本节奏"><a href="#openEuler-的版本节奏" class="headerlink" title="openEuler 的版本节奏"></a>openEuler 的版本节奏</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">22.03 LTS：     2022-03，5.10 内核，长期支持到 2026<br>22.03 SP1/2/3：  21-22 年继续 SP 更新<br>24.03 LTS：     2024-03，6.6 内核，长期支持到 2028+<br>26.03 LTS：     预计 2026-03<br><br>每 2 年一个 LTS，与 Ubuntu LTS 节奏类似<br></code></pre></td></tr></table></figure><h3 id="openEuler-的差异化"><a href="#openEuler-的差异化" class="headerlink" title="openEuler 的差异化"></a>openEuler 的差异化</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><code class="hljs text">鲲鹏 / 昇腾原生：     <br>  - 内核优化（NUMA、调度）<br>  - 工具链：     毕昇编译器（BiSheng Compiler，基于 LLVM）<br>  - 与 ARM64 服务器 + 昇腾 GPU 紧密集成<br><br>iSulad：     <br>  - 华为开源的轻量级容器引擎<br>  - 启动比 Docker 快<br>  - 与 Kata 集成<br><br>A-Tune：     <br>  - 智能调优系统<br>  - 自动分析负载，推荐参数<br>  <br>secGear / occlum：     <br>  - 机密计算 SDK<br>  - SGX / TrustZone / 海光 CSV 适配<br></code></pre></td></tr></table></figure><h2 id="麒麟（Kylin）系"><a href="#麒麟（Kylin）系" class="headerlink" title="麒麟（Kylin）系"></a>麒麟（Kylin）系</h2><h3 id="银河麒麟（Kylin-V10）"><a href="#银河麒麟（Kylin-V10）" class="headerlink" title="银河麒麟（Kylin V10）"></a>银河麒麟（Kylin V10）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs text">出品方：     麒麟软件（中国电科子公司，原天津麒麟 + 中标软件合并）<br>定位：       商业发行版，等保 / 政企信创主流<br>版本：       V10 SP1 / SP2 / SP3 / SP4 (2024)<br><br>特点：     <br>  - 基于 CentOS / Ubuntu 双线<br>  - 华为鲲鹏 / 飞腾 / 海光 / 兆芯 / 龙芯 / 申威 全适配<br>  - 国密算法支持（SM2/3/4/9）<br>  - 等保 2.0 三级<br>  - 与 GooseFS / GBase / 华为云 / 阿里云适配<br><br>商业模式：     卖订阅 + 服务<br>客户：       政府 / 国央企 / 银行 / 军方<br></code></pre></td></tr></table></figure><h3 id="中标麒麟"><a href="#中标麒麟" class="headerlink" title="中标麒麟"></a>中标麒麟</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">原中标软件出品，2019 年与天津麒麟合并：     <br>  - 中标麒麟 V7 仍在很多政府部门使用<br>  - 已合并到银河麒麟统一品牌<br></code></pre></td></tr></table></figure><h3 id="openKylin（开放麒麟）"><a href="#openKylin（开放麒麟）" class="headerlink" title="openKylin（开放麒麟）"></a>openKylin（开放麒麟）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">2023 年 6 月发布的社区开源版：     <br>  - 麒麟软件主导<br>  - 完全开源<br>  - 桌面为主<br>  - 服务器版逐步建设<br></code></pre></td></tr></table></figure><h2 id="龙蜥（OpenAnolis）"><a href="#龙蜥（OpenAnolis）" class="headerlink" title="龙蜥（OpenAnolis）"></a>龙蜥（OpenAnolis）</h2><p>阿里云 2020 年发起的开源社区：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs text">背景：     <br>  - CentOS 8 风波后阿里推出 Anolis OS<br>  - 邀请龙蜥社区成员<br>  - 主要由阿里云 / 龙芯 / 统信 / 浪潮 / 中兴等参与<br><br>版本：     <br>  - Anolis OS 7：     CentOS 7 兼容<br>  - Anolis OS 8：     RHEL 8 兼容<br>  - Anolis OS 23（2023）：     6.6 内核<br>  - 24+ ：     最新<br><br>特点：     <br>  - RHEL 兼容（迁移容易）<br>  - 龙蜥 Cloud Kernel 优化<br>  - 阿里云原生：     容器、K8s、OS 协同<br>  - 多 ISA：     x86_64 / ARM64 / 龙芯 LoongArch<br></code></pre></td></tr></table></figure><h3 id="阿里-Alinux"><a href="#阿里-Alinux" class="headerlink" title="阿里 Alinux"></a>阿里 Alinux</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">Alinux：     <br>  - 阿里云内部用版本<br>  - 基于 Anolis OS<br>  - 自家服务器 / ECS 默认<br></code></pre></td></tr></table></figure><h3 id="腾讯-OS（TencentOS-Server）"><a href="#腾讯-OS（TencentOS-Server）" class="headerlink" title="腾讯 OS（TencentOS Server）"></a>腾讯 OS（TencentOS Server）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">腾讯系：     <br>  - 基于龙蜥 / RHEL<br>  - 腾讯云内部<br>  - 部分对外发布<br></code></pre></td></tr></table></figure><h2 id="统信-UOS"><a href="#统信-UOS" class="headerlink" title="统信 UOS"></a>统信 UOS</h2><p>统信软件 2019 年成立（中国电子集团子公司）：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">UOS：     <br>  - 桌面 + 服务器双产品线<br>  - 桌面：     UOS Desktop（基于 Deepin）<br>  - 服务器：    UOS Server V20 / V21<br>  - 多架构：     x86_64 / ARM64 / 龙芯 / 海光 / 飞腾 / 申威<br>  - 等保 / 国密支持<br><br>定位：     政企信创桌面 + 服务器<br>背景：     国资背景，央企渠道<br>对手：     麒麟（也是央企背景）<br></code></pre></td></tr></table></figure><h2 id="Deepin（深度）"><a href="#Deepin（深度）" class="headerlink" title="Deepin（深度）"></a>Deepin（深度）</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">深度社区：     2008 起，桌面 Linux<br>2019 年起被统信收购：     <br>  - Deepin 仍开源<br>  - 同时统信 UOS 商业版基于 Deepin<br>  - DDE（Deepin Desktop Environment）国际口碑好<br><br>服务器版：     主要桌面，服务器市场不强<br></code></pre></td></tr></table></figure><h2 id="其他国产-OS"><a href="#其他国产-OS" class="headerlink" title="其他国产 OS"></a>其他国产 OS</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs text">凝思安全 OS（ENISC）：     <br>  - 等保安全方向<br>  - 政府客户<br><br>中科方德：     <br>  - 中科院系<br>  - 龙芯适配优势<br><br>红旗 Linux：     <br>  - 历史品牌（2000 年代）<br>  - 多次易主<br>  - 现仍在卖<br>  <br>其他小众：     微步、欧拉派生等<br></code></pre></td></tr></table></figure><h2 id="国产-OS-的”两条路线”"><a href="#国产-OS-的”两条路线”" class="headerlink" title="国产 OS 的”两条路线”"></a>国产 OS 的”两条路线”</h2><pre><code class=" mermaid">graph TB  RHEL[RHEL 兼容路线&lt;br/&gt;RPM]  RHEL --&gt; R1[openEuler]  RHEL --&gt; R2[麒麟 V10]  RHEL --&gt; R3[龙蜥 OS]  RHEL --&gt; R4[统信 UOS Server]    DEB[Debian 兼容路线&lt;br/&gt;DEB]  DEB --&gt; D1[Deepin]  DEB --&gt; D2[麒麟桌面]  DEB --&gt; D3[UOS Desktop]</code></pre><p>服务器主流是 <strong>RHEL 路线</strong>——因为政企客户原本用 CentOS，迁移路径短。</p><h2 id="国产-OS-的”必备特性”"><a href="#国产-OS-的”必备特性”" class="headerlink" title="国产 OS 的”必备特性”"></a>国产 OS 的”必备特性”</h2><pre><code class=" mermaid">graph TB  CN[国产 OS 必备]  CN --&gt; ARCH[多架构支持]  CN --&gt; SEC[国密算法]  CN --&gt; COMP[兼容认证]  CN --&gt; EQ[等保合规]  CN --&gt; SUP[商业服务]    ARCH --&gt; A1[x86_64&lt;br/&gt;海光 / 兆芯]  ARCH --&gt; A2[ARM64&lt;br/&gt;鲲鹏 / 飞腾]  ARCH --&gt; A3[LoongArch&lt;br/&gt;龙芯]  ARCH --&gt; A4[SW64&lt;br/&gt;申威]  ARCH --&gt; A5[RISC-V&lt;br/&gt;未来]    SEC --&gt; S1[SM2 椭圆曲线]  SEC --&gt; S2[SM3 哈希]  SEC --&gt; S3[SM4 对称]  SEC --&gt; S4[SM9 标识密码]</code></pre><p>国产 OS 都要支持：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 至少 5-6 种 CPU 架构<br>2. 国密算法（SM2/3/4/9）<br>3. 等保 / GB 18030 / 中文显示<br>4. 信创目录 / CNAS 认证<br>5. 商业服务 / 7×24 支持<br></code></pre></td></tr></table></figure><h2 id="国产-OS-的兼容性"><a href="#国产-OS-的兼容性" class="headerlink" title="国产 OS 的兼容性"></a>国产 OS 的兼容性</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs text">应用兼容：     <br>  - 大多数 Linux 应用直接跑（同 RHEL/Debian 上游）<br>  - 国产数据库（GaussDB / OceanBase / TDSQL）原生<br>  - 国产中间件 / 中间层<br><br>驱动兼容：     <br>  - x86_64 NVIDIA：     可装驱动，但官方支持差<br>  - 鲲鹏 + 昇腾：     openEuler 最完整<br>  - 海光 DCU：     需要 ROCm 适配<br>  - 摩尔线程 / 寒武纪：     按厂家适配<br><br>包管理：     <br>  - DNF / YUM（RHEL 系）<br>  - APT（Debian 系）<br>  - 国产仓库（mirrors.huaweicloud.com / aliyun.com 等）<br></code></pre></td></tr></table></figure><h2 id="装机命令对比"><a href="#装机命令对比" class="headerlink" title="装机命令对比"></a>装机命令对比</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># openEuler / 麒麟 V10 / 龙蜥（RPM）</span><br>dnf install nginx<br>dnf update<br>dnf list installed<br><br><span class="hljs-comment"># UOS / Deepin（DEB 桌面）</span><br>apt install nginx<br><br><span class="hljs-comment"># 看版本</span><br><span class="hljs-built_in">cat</span> /etc/os-release        <span class="hljs-comment"># 通用</span><br><span class="hljs-built_in">cat</span> /etc/openEuler-release<br><span class="hljs-built_in">cat</span> /etc/kylin-release<br><span class="hljs-built_in">cat</span> /etc/anolis-release<br></code></pre></td></tr></table></figure><h2 id="国产-OS-选型实战"><a href="#国产-OS-选型实战" class="headerlink" title="国产 OS 选型实战"></a>国产 OS 选型实战</h2><pre><code class=" mermaid">graph TD  Q1&#123;业务场景&#125;  Q1 -- &quot;全栈华为生态&quot; --&gt; S1[openEuler / EulerOS]  Q1 -- &quot;央国企政企&quot; --&gt; S2[银河麒麟 V10]  Q1 -- &quot;云原生 / 互联网&quot; --&gt; S3[龙蜥 / 阿里 Alinux]  Q1 -- &quot;桌面 + 服务器一体&quot; --&gt; S4[统信 UOS]  Q1 -- &quot;等保 / 安全&quot; --&gt; S5[凝思 / 麒麟信安]</code></pre><table><thead><tr><th>场景</th><th>推荐</th><th>原因</th></tr></thead><tbody><tr><td>鲲鹏服务器 + 昇腾</td><td>openEuler</td><td>原生集成</td></tr><tr><td>党政机关、央国企</td><td>麒麟 V10</td><td>政府认可度最高</td></tr><tr><td>阿里云 &#x2F; 腾讯云 ECS</td><td>龙蜥 &#x2F; Alinux</td><td>云原生优化</td></tr><tr><td>飞腾 + 麒麟桌面统一</td><td>麒麟 &#x2F; UOS</td><td>全套国产</td></tr><tr><td>信创 + 数据库国产</td><td>麒麟 &#x2F; 欧拉</td><td>与 GaussDB 兼容</td></tr><tr><td>中小企业 + 节省成本</td><td>Rocky Linux 9（非国产） &#x2F; 龙蜥</td><td>免费稳定</td></tr></tbody></table><h2 id="国产-OS-的”老坑”"><a href="#国产-OS-的”老坑”" class="headerlink" title="国产 OS 的”老坑”"></a>国产 OS 的”老坑”</h2><h3 id="坑-1：版本标注不一致"><a href="#坑-1：版本标注不一致" class="headerlink" title="坑 1：版本标注不一致"></a>坑 1：版本标注不一致</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">&quot;麒麟 V10&quot; 实际可能是不同 SP / 不同上游：     <br>  Kylin V10 SP1：     基于 CentOS 7<br>  Kylin V10 SP2：     基于 CentOS 8 衍生<br>  Kylin V10 SP3：     基于 RHEL 9 衍生<br><br>→ 选包要明确 SP 版本<br></code></pre></td></tr></table></figure><h3 id="坑-2：硬件兼容性"><a href="#坑-2：硬件兼容性" class="headerlink" title="坑 2：硬件兼容性"></a>坑 2：硬件兼容性</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">NVIDIA GPU 驱动：     <br>  - openEuler / 麒麟较新版本基本 OK<br>  - 老版本可能要自己编译<br>  - 新型号（B200）官方滞后<br>  <br>国产 GPU 驱动：     <br>  - 国产 OS 适配相对完整（昇腾 → openEuler）<br>  - 但跨家组合（海光 + 麒麟）需要厂家联合验证<br></code></pre></td></tr></table></figure><h3 id="坑-3：第三方软件支持"><a href="#坑-3：第三方软件支持" class="headerlink" title="坑 3：第三方软件支持"></a>坑 3：第三方软件支持</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">商业软件（Oracle / SAP / Splunk 等）：     <br>  - 部分认证 RHEL / SLES 后才能跑<br>  - 国产 OS 上&quot;能跑但官方不支持&quot;是常态<br>  - 重要业务要求厂家明确支持<br></code></pre></td></tr></table></figure><h3 id="坑-4：内核与上游差异"><a href="#坑-4：内核与上游差异" class="headerlink" title="坑 4：内核与上游差异"></a>坑 4：内核与上游差异</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">国产 OS 自带补丁 / patch：     <br>  - 修复 CVE 时序与上游不一致<br>  - 某些性能补丁是定制的<br>  - 升级时要小心 ABI 兼容<br></code></pre></td></tr></table></figure><h3 id="坑-5：包仓库稳定性"><a href="#坑-5：包仓库稳定性" class="headerlink" title="坑 5：包仓库稳定性"></a>坑 5：包仓库稳定性</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">某些国产 OS 仓库不稳定：     <br>  - 镜像同步延迟<br>  - 包签名问题<br>  - 需要本地缓存仓库（apt-mirror / dnf-reposync）<br></code></pre></td></tr></table></figure><h2 id="国产-OS-的市场份额（估算）"><a href="#国产-OS-的市场份额（估算）" class="headerlink" title="国产 OS 的市场份额（估算）"></a>国产 OS 的市场份额（估算）</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs text">2026 年估算（信创市场）：     <br>  银河麒麟：     30-40%<br>  openEuler 系（EulerOS / 麒麟欧拉版）：     30-40%<br>  龙蜥 / 阿里 Alinux：     10-15%<br>  统信 UOS：     10-15%<br>  其他：     5%<br>  <br>互联网市场：     <br>  仍以 CentOS 衍生（Rocky / Anolis）+ Ubuntu 为主<br>  阿里 / 腾讯：     主用龙蜥 / Alinux<br>  字节 / 百度 / 美团：     混合，部分自研<br><br>云市场：     <br>  阿里云 / 腾讯云：     龙蜥 / TencentOS 默认<br>  华为云：     openEuler / EulerOS 默认<br>  AWS / Azure 中国：     主要 Linux 发行版<br></code></pre></td></tr></table></figure><blockquote><p>待补充：2025-2026 国产 OS 实际市场份额数据。</p></blockquote><h2 id="与开源社区的关系"><a href="#与开源社区的关系" class="headerlink" title="与开源社区的关系"></a>与开源社区的关系</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><code class="hljs text">openEuler：     <br>  - 完全开源，公开 git<br>  - 上游补丁回馈 kernel.org<br>  - 已是 Linux Foundation 重要贡献者<br><br>龙蜥：     <br>  - 完全开源，公开 git<br>  - 阿里云 / 腾讯主要 PR 提交者<br>  - &quot;Cloud Kernel&quot;是 Linux 内核明显贡献<br><br>麒麟：     <br>  - 部分开源（openKylin 社区）<br>  - 商业 V10 不公开 git<br>  - 内核修改与上游差异多<br><br>统信：     <br>  - Deepin 完全开源<br>  - UOS Server 部分开源<br><br>整体：     openEuler 和龙蜥的开源透明度最高<br></code></pre></td></tr></table></figure><h2 id="信创采购清单的-OS-选型"><a href="#信创采购清单的-OS-选型" class="headerlink" title="信创采购清单的 OS 选型"></a>信创采购清单的 OS 选型</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs text">党政信创目录：     <br>  - 银河麒麟 V10<br>  - 统信 UOS<br>  - openKylin<br><br>央企采购：     <br>  - 麒麟 / 欧拉双轨<br>  - 部分企业用龙蜥<br><br>国企：     <br>  - 多家共存<br>  - 麒麟 + 欧拉占多数<br><br>军方 / 关基：     <br>  - 银河麒麟 + 凝思 / 麒麟信安<br>  - 等保 4 级要求<br></code></pre></td></tr></table></figure><blockquote><p>待补充：你公司或项目内的国产 OS 实际选型。</p></blockquote><h2 id="一些查询命令"><a href="#一些查询命令" class="headerlink" title="一些查询命令"></a>一些查询命令</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 看版本</span><br><span class="hljs-built_in">cat</span> /etc/os-release<br><br><span class="hljs-comment"># 麒麟特有</span><br><span class="hljs-built_in">cat</span> /etc/.kylin-release<br><span class="hljs-built_in">cat</span> /etc/kylin-build<br><br><span class="hljs-comment"># 欧拉特有  </span><br><span class="hljs-built_in">cat</span> /etc/openEuler-release<br><span class="hljs-built_in">cat</span> /etc/issue<br><br><span class="hljs-comment"># 龙蜥</span><br><span class="hljs-built_in">cat</span> /etc/anolis-release<br><br><span class="hljs-comment"># 统信</span><br><span class="hljs-built_in">cat</span> /etc/uos-release<br><br><span class="hljs-comment"># 内核 / 架构</span><br><span class="hljs-built_in">uname</span> -mr<br><br><span class="hljs-comment"># CPU</span><br><span class="hljs-built_in">cat</span> /proc/cpuinfo | grep <span class="hljs-string">&quot;model name&quot;</span> | <span class="hljs-built_in">head</span> -1<br><span class="hljs-comment"># 鲲鹏：HUAWEI Kunpeng 920</span><br><span class="hljs-comment"># 飞腾：FT-2000+/64</span><br><span class="hljs-comment"># 海光：Hygon C86 7185</span><br><span class="hljs-comment"># 龙芯：Loongson-3A5000</span><br><span class="hljs-comment"># 兆芯：ZHAOXIN KX-U6580</span><br><span class="hljs-comment"># 申威：sw_64</span><br></code></pre></td></tr></table></figure><h2 id="国产-OS-的几个特色工具"><a href="#国产-OS-的几个特色工具" class="headerlink" title="国产 OS 的几个特色工具"></a>国产 OS 的几个特色工具</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><code class="hljs text">A-Tune（openEuler）：     <br>  - 智能调优<br>  - atune-adm define / set / list<br><br>iSulad（openEuler）：     <br>  - 轻量容器<br>  - 类似 containerd<br><br>KMI（Kylin Management Interface）：     <br>  - 麒麟管理工具<br>  - 类似 cockpit<br>  <br>龙蜥 SysAK：     <br>  - 系统运维工具集<br>  - 类似 BCC 工具的国产版<br><br>LoongArch 工具链：     <br>  - GCC / glibc 已上游<br>  - LLVM 在适配<br></code></pre></td></tr></table></figure><h2 id="国产-OS-的发展趋势"><a href="#国产-OS-的发展趋势" class="headerlink" title="国产 OS 的发展趋势"></a>国产 OS 的发展趋势</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs text">2024-2026 趋势：     <br>  1. openEuler 与麒麟 V10 路线持续融合（同源）<br>  2. 信创市场 OS 国产化率 &gt; 50%<br>  3. AI 适配成为新战场（昇腾 / 海光 DCU）<br>  4. RISC-V 支持成为差异化点<br>  5. 云原生 OS（轻量 + 不可变）开始出现<br>  6. 桌面国产化（UOS / 麒麟桌面）持续渗透<br><br>2027+ 看点：     <br>  1. RHEL 10 引入 ARM64 第一公民 → 影响国产 OS<br>  2. 龙芯 LoongArch 持续完善<br>  3. AI 加速器原生 OS 集成<br>  4. 与 Anduril / 国密 / 关基生态融合<br></code></pre></td></tr></table></figure><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>国产服务器 OS 主流四家：openEuler、麒麟 V10、龙蜥、统信</li><li>都基于 RHEL &#x2F; CentOS 上游，但各自有内核优化</li><li>openEuler 和龙蜥开源透明度最高</li><li>麒麟在政府 &#x2F; 央企认可度最高</li><li>信创市场国产 OS 已超 50%，互联网仍以 CentOS 衍生 + Ubuntu 为主</li><li>国产 GPU（昇腾、海光、寒武纪）与国产 OS 深度集成</li></ul><p>下一篇是第七章收口——OS 选型与第七章小结。</p>]]>
    </content>
    <id>http://localhost:4000/posts/7f383b8e/</id>
    <link href="http://localhost:4000/posts/7f383b8e/"/>
    <published>2026-02-15T15:25:00.000Z</published>
    <summary>CentOS Stream 风波 + 信创 = 国产服务器 OS 的爆发期。本文盘点 openEuler、麒麟、龙蜥、统信、深度等主流国产 Linux 发行版。</summary>
    <title>国产服务器 OS —— 欧拉、麒麟、龙蜥、统信</title>
    <updated>2026-06-15T02:37:52.333Z</updated>
  </entry>
  <entry>
    <category term="07-操作系统" scheme="http://localhost:4000/categories/07-%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/"/>
    <category term="GPU 调度" scheme="http://localhost:4000/tags/GPU-%E8%B0%83%E5%BA%A6/"/>
    <category term="vGPU" scheme="http://localhost:4000/tags/vGPU/"/>
    <category term="NPU" scheme="http://localhost:4000/tags/NPU/"/>
    <category term="AI 集群 OS" scheme="http://localhost:4000/tags/AI-%E9%9B%86%E7%BE%A4-OS/"/>
    <content>
      <![CDATA[<p>服务器 OS 过去 20 年都是为 CPU + 网卡 + 磁盘设计的。AI 时代加进来了 GPU、NPU、HBM、NVLink 这些新东西——OS 需要适配。本文从 GPU 调度讲到大模型训练 OS 优化。</p><!-- more --><h2 id="AI-时代-OS-的新挑战"><a href="#AI-时代-OS-的新挑战" class="headerlink" title="AI 时代 OS 的新挑战"></a>AI 时代 OS 的新挑战</h2><pre><code class=" mermaid">graph TB  TRAD[传统服务器 OS]  TRAD --&gt; T1[CPU 调度]  TRAD --&gt; T2[内存管理]  TRAD --&gt; T3[文件 / 网络 IO]    AI[AI 时代追加]  AI --&gt; A1[GPU / NPU 调度]  AI --&gt; A2[HBM 内存管理]  AI --&gt; A3[GPUDirect / NVLink]  AI --&gt; A4[NUMA + GPU 拓扑]  AI --&gt; A5[大量 IO（数据集 / checkpoint）]  AI --&gt; A6[超大进程地址空间]</code></pre><h2 id="GPU-设备文件"><a href="#GPU-设备文件" class="headerlink" title="GPU 设备文件"></a>GPU 设备文件</h2><p>NVIDIA GPU 在 Linux 下表现为字符设备：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-built_in">ls</span> -la /dev/nvidia*<br><span class="hljs-comment"># /dev/nvidia0</span><br><span class="hljs-comment"># /dev/nvidia1</span><br><span class="hljs-comment"># /dev/nvidiactl</span><br><span class="hljs-comment"># /dev/nvidia-uvm</span><br><span class="hljs-comment"># /dev/nvidia-uvm-tools</span><br><span class="hljs-comment"># /dev/nvidia-modeset</span><br><br><span class="hljs-comment"># 设备权限和容器：</span><br><span class="hljs-built_in">ls</span> /dev/dri/<br><span class="hljs-comment"># /dev/dri/card0          # DRM 设备</span><br><span class="hljs-comment"># /dev/dri/renderD128     # 渲染节点</span><br></code></pre></td></tr></table></figure><p>容器里要把这些设备 mount 进去——<strong><code>nvidia-container-toolkit</code></strong> 自动做这件事：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># Docker 用</span><br>docker run --gpus all nvidia/cuda:12.4-base nvidia-smi<br>docker run --gpus <span class="hljs-string">&#x27;&quot;device=0,1&quot;&#x27;</span> ...<br><br><span class="hljs-comment"># K8s 用 nvidia-device-plugin</span><br>kubectl describe node &lt;node&gt;<br><span class="hljs-comment"># Allocatable: nvidia.com/gpu: 8</span><br><br><span class="hljs-comment"># Pod 申请</span><br>resources:<br>  limits:<br>    nvidia.com/gpu: 1<br></code></pre></td></tr></table></figure><h2 id="GPU-资源在-K8s-里的模型"><a href="#GPU-资源在-K8s-里的模型" class="headerlink" title="GPU 资源在 K8s 里的模型"></a>GPU 资源在 K8s 里的模型</h2><pre><code class=" mermaid">graph TB  PLUGIN[nvidia-device-plugin&lt;br/&gt;DaemonSet]  PLUGIN --&gt; EXPOSE[暴露 nvidia.com/gpu 资源]  EXPOSE --&gt; SCHED[K8s Scheduler&lt;br/&gt;按 GPU 数量调度]  SCHED --&gt; POD[Pod 申请 GPU]  POD --&gt; RUNTIME[nvidia-container-runtime&lt;br/&gt;映射设备]</code></pre><p>这个模型有几个<strong>根本问题</strong>：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">1. 整数粒度：     一个 Pod 只能要 1/2/4/8 个 GPU<br>   → 小模型推理浪费 GPU 资源<br><br>2. 单 GPU 不可分享：     <br>   → 一个 Pod 占整张卡<br>   <br>3. 没有拓扑感知：     <br>   → 8 GPU Pod 可能跨 NUMA<br>   → NCCL 性能受影响<br></code></pre></td></tr></table></figure><h2 id="GPU-资源细分：MIG-vGPU-Time-Slicing"><a href="#GPU-资源细分：MIG-vGPU-Time-Slicing" class="headerlink" title="GPU 资源细分：MIG &#x2F; vGPU &#x2F; Time-Slicing"></a>GPU 资源细分：MIG &#x2F; vGPU &#x2F; Time-Slicing</h2><p>第 7.2 已经讲过——这里讲 K8s 层适配：</p><pre><code class=" mermaid">graph TB  GPU[GPU 资源细分]  GPU --&gt; MIG[NVIDIA MIG&lt;br/&gt;硬件级]  GPU --&gt; VGPU[NVIDIA vGPU&lt;br/&gt;软件许可]  GPU --&gt; TS[Time-Slicing&lt;br/&gt;K8s 软件]  GPU --&gt; MPS[CUDA MPS&lt;br/&gt;进程级]</code></pre><h3 id="MIG（A100-H100）"><a href="#MIG（A100-H100）" class="headerlink" title="MIG（A100&#x2F;H100）"></a>MIG（A100&#x2F;H100）</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 启用 MIG</span><br>nvidia-smi -i 0 -mig 1<br>nvidia-smi mig -cgi 9,9,9   <span class="hljs-comment"># 创建 3 个 1g.10gb</span><br><br><span class="hljs-comment"># K8s 看到</span><br>nvidia.com/mig-1g.10gb<br>nvidia.com/mig-2g.20gb<br>nvidia.com/mig-3g.40gb<br></code></pre></td></tr></table></figure><p>MIG 后每个实例独立显存、SM、L2 缓存——<strong>真正的硬件隔离</strong>。</p><h3 id="Time-Slicing"><a href="#Time-Slicing" class="headerlink" title="Time-Slicing"></a>Time-Slicing</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">nvidia-device-plugin 配置：<br>  sharing:<br>    timeSlicing:<br>      replicas: 4           # 每张 GPU 切成 4 份<br><br>K8s 看到：     8 GPU 节点 → 32 个 nvidia.com/gpu<br><br>适合：     推理 / 开发<br>不适合：    训练（互相抢，性能不可预测）<br></code></pre></td></tr></table></figure><h3 id="CUDA-MPS（Multi-Process-Service）"><a href="#CUDA-MPS（Multi-Process-Service）" class="headerlink" title="CUDA MPS（Multi-Process Service）"></a>CUDA MPS（Multi-Process Service）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">MPS：     多个 CUDA 进程共享一张 GPU<br>启用：     nvidia-cuda-mps-control -d<br>应用：     HPC 多进程任务<br><br>K8s 集成：     部分插件支持<br></code></pre></td></tr></table></figure><h3 id="NVIDIA-GPU-Operator"><a href="#NVIDIA-GPU-Operator" class="headerlink" title="NVIDIA GPU Operator"></a>NVIDIA GPU Operator</h3><p>K8s 上 GPU 全栈管理：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">nvidia-gpu-operator 包含：     <br>  - Driver Container（容器化驱动）<br>  - Device Plugin<br>  - DCGM Exporter（监控）<br>  - GPU Feature Discovery（标签）<br>  - MIG Manager<br>  - Network Operator（GPUDirect）<br></code></pre></td></tr></table></figure><p>一键部署整个 GPU stack——<strong>但有性能开销和 license 复杂度</strong>。</p><h2 id="NUMA-aware-调度：GPU-拓扑"><a href="#NUMA-aware-调度：GPU-拓扑" class="headerlink" title="NUMA-aware 调度：GPU 拓扑"></a>NUMA-aware 调度：GPU 拓扑</h2><p>8 GPU 服务器 GPU ↔ CPU 的拓扑：</p><pre><code class=" mermaid">graph TB  CPU0[CPU Socket 0&lt;br/&gt;NUMA 0] --- PCIe0[PCIe Switch 0]  CPU1[CPU Socket 1&lt;br/&gt;NUMA 1] --- PCIe1[PCIe Switch 1]    PCIe0 --- G0[GPU 0] &amp; G1[GPU 1] &amp; G2[GPU 2] &amp; G3[GPU 3]  PCIe1 --- G4[GPU 4] &amp; G5[GPU 5] &amp; G6[GPU 6] &amp; G7[GPU 7]    G0 ---|NVLink| G4  G1 ---|NVLink| G5  ...</code></pre><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 看 GPU NUMA 关联</span><br>nvidia-smi topo -m<br><br><span class="hljs-comment"># 输出矩阵：</span><br><span class="hljs-comment"># X = self</span><br><span class="hljs-comment"># NV1-18 = NVLink 链路数</span><br><span class="hljs-comment"># PXB = PCIe Switch</span><br><span class="hljs-comment"># PIX = PCIe Adjacent</span><br><span class="hljs-comment"># SYS = 跨 NUMA / 跨 CPU</span><br><span class="hljs-comment"># NODE = 同 NUMA</span><br></code></pre></td></tr></table></figure><p>调度的智慧：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">- DataLoader 进程绑到 GPU 同侧 NUMA 的 CPU 上<br>- 内存分配也要 NUMA-bind<br>- 否则 PCIe 跨 socket 性能崩 30-50%<br></code></pre></td></tr></table></figure><h2 id="CPU-pinning-for-AI"><a href="#CPU-pinning-for-AI" class="headerlink" title="CPU pinning for AI"></a>CPU pinning for AI</h2><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs python"><span class="hljs-comment"># PyTorch DataLoader</span><br><span class="hljs-keyword">import</span> os<br><span class="hljs-keyword">import</span> torch<br><br><span class="hljs-comment"># DataLoader workers 绑核</span><br>os.sched_setaffinity(<span class="hljs-number">0</span>, &#123;<span class="hljs-number">0</span>, <span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">5</span>, <span class="hljs-number">6</span>, <span class="hljs-number">7</span>&#125;)<br><br><span class="hljs-comment"># 也可以用 numactl</span><br><span class="hljs-comment"># numactl --cpunodebind=0 --membind=0 python train.py</span><br></code></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 容器层面 NUMA 绑定</span><br>docker run --cpuset-cpus=0-15 --cpuset-mems=0 ...<br><br><span class="hljs-comment"># K8s 通过 Topology Manager</span><br>kubelet --topology-manager-policy=single-numa-node<br></code></pre></td></tr></table></figure><p>K8s 1.18+ 支持 <strong>Topology Manager</strong>——同时考虑 CPU + GPU + 网卡的 NUMA 亲和。</p><h2 id="GPUDirect-在-OS-层"><a href="#GPUDirect-在-OS-层" class="headerlink" title="GPUDirect 在 OS 层"></a>GPUDirect 在 OS 层</h2><p>GPUDirect RDMA 让网卡直接读写 GPU 显存——OS 要做的事：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">1. peer_mem 模块加载：     <br>   modprobe nvidia_peermem<br>   <br>2. GPU BAR 暴露给 PCIe peer-to-peer：     <br>   # nvidia-smi -q | grep -i bar<br>   <br>3. PCIe ACS 关闭：     <br>   # 否则 ACS 阻断 P2P<br>   setpci -s &lt;BDF&gt; ECAP_ACS+0x6.w=0:1f0<br><br>4. IOMMU 设置：     <br>   intel_iommu=on iommu=pt    # passthrough 模式<br></code></pre></td></tr></table></figure><h3 id="GPUDirect-Storage（GDS）"><a href="#GPUDirect-Storage（GDS）" class="headerlink" title="GPUDirect Storage（GDS）"></a>GPUDirect Storage（GDS）</h3><p>GPU 直接读 NVMe：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">GDS：     <br>  - cuFile API<br>  - 绕过 CPU 内存<br>  - 大数据集训练加速<br>  - PyTorch / NVIDIA DALI 支持<br><br>要求：     <br>  - NVIDIA MOFED 驱动<br>  - GPU + NVMe 在同一 PCIe Switch（理想）<br>  - 内核 5.x+<br></code></pre></td></tr></table></figure><h2 id="OS-对-HBM-的态度"><a href="#OS-对-HBM-的态度" class="headerlink" title="OS 对 HBM 的态度"></a>OS 对 HBM 的态度</h2><p>GPU 显存（HBM）是<strong>不归 Linux 内核管的</strong>：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">Linux 看到：     主机 DRAM<br>GPU 显存：       由 NVIDIA driver / CUDA Runtime 管<br>  - cudaMalloc<br>  - 不在 vmstat / free 里显示<br>  - nvidia-smi 看<br>  <br>Unified Memory（CUDA UM）：     <br>  - 假装 CPU/GPU 共用内存<br>  - 实际是 driver 在背后搬数据<br>  - 大模型训练用得少（性能不可控）<br></code></pre></td></tr></table></figure><p>CXL 时代会改变这个——<strong>未来 GPU 显存可能”挂到 CPU 主存空间”</strong>：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">CXL Type 3 远端内存设备：     <br>  - 暴露成普通 NUMA 节点<br>  - Linux 直接 mmap<br><br>CXL 上挂 HBM：     <br>  - 实验性，B200 后可能<br>  - 会改变 OS 对显存的认知<br></code></pre></td></tr></table></figure><h2 id="大文件-大内存：调优"><a href="#大文件-大内存：调优" class="headerlink" title="大文件 &#x2F; 大内存：调优"></a>大文件 &#x2F; 大内存：调优</h2><p>大模型训练对 OS 的特殊压力：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><code class="hljs text">模型权重文件：     <br>  Llama 70B FP16 = 140 GB<br>  GPT-3 175B = 350 GB<br>  → 单文件超过 100 GB 是常态<br>  <br>   ext4 / XFS 都没问题，但读写要：<br>  - 大块 IO（≥ 1 MB）<br>  - O_DIRECT 跳过 page cache<br>  - 多线程并行<br><br>进程地址空间：     <br>  PyTorch 训练进程：     1-2 TB 虚拟内存<br>  Linux 默认 64 TB 上限够用<br>  <br>mmap 支持：     <br>  CUDA Runtime 用 mmap 管 page-locked memory<br>  vm.max_map_count 要调大：<br>  sysctl vm.max_map_count=1048576<br></code></pre></td></tr></table></figure><h2 id="训练专用的-K8s-调度"><a href="#训练专用的-K8s-调度" class="headerlink" title="训练专用的 K8s 调度"></a>训练专用的 K8s 调度</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">普通 K8s scheduler 缺陷：     <br>  - 不懂 gang scheduling（几十个 Pod 要&quot;全部启动 OR 不启动&quot;）<br>  - 不懂拓扑（同 Pod 的 GPU 应该 NVLink 互联）<br>  - 不懂训练队列优先级<br><br>AI 专用调度器：     <br>  Volcano（华为 + 社区）：     gang scheduling<br>  Yunikorn：                  Apache 的多租户<br>  KAI Scheduler（NVIDIA Run.ai）：    GPU 池化<br>  Kueue（K8s 官方）：          Job Queueing<br></code></pre></td></tr></table></figure><h3 id="Gang-Scheduling"><a href="#Gang-Scheduling" class="headerlink" title="Gang Scheduling"></a>Gang Scheduling</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">传统 K8s：     一次调一个 Pod<br>Gang：         一组 Pod 必须同时调度<br><br>应用：     <br>  - 分布式训练（128 个 worker 必须一起启）<br>  - MPI 作业<br>  - RAY / Dask 集群<br><br>不 gang scheduling 时：     <br>  - 部分 Pod 已启动，等其他<br>  - 占资源不释放<br>  - 集群死锁<br></code></pre></td></tr></table></figure><h2 id="训练相关的内核参数"><a href="#训练相关的内核参数" class="headerlink" title="训练相关的内核参数"></a>训练相关的内核参数</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 共享内存（PyTorch DataLoader 用）</span><br>sysctl kernel.shmmax=1099511627776   <span class="hljs-comment"># 1 TB</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;16G&quot;</span> &gt; /sys/fs/cgroup/&lt;group&gt;/shm.size<br><br><span class="hljs-comment"># 文件描述符</span><br><span class="hljs-built_in">ulimit</span> -n 1048576<br><span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;* soft nofile 1048576&quot;</span> &gt;&gt; /etc/security/limits.conf<br><span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;* hard nofile 1048576&quot;</span> &gt;&gt; /etc/security/limits.conf<br><br><span class="hljs-comment"># 进程数</span><br><span class="hljs-built_in">ulimit</span> -u unlimited<br><span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;* soft nproc unlimited&quot;</span> &gt;&gt; /etc/security/limits.conf<br><br><span class="hljs-comment"># 内存锁定（GPUDirect 需要）</span><br><span class="hljs-built_in">ulimit</span> -l unlimited<br><span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;* soft memlock unlimited&quot;</span> &gt;&gt; /etc/security/limits.conf<br><span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;* hard memlock unlimited&quot;</span> &gt;&gt; /etc/security/limits.conf<br><br><span class="hljs-comment"># 大页</span><br>vm.nr_hugepages = 8192<br><br><span class="hljs-comment"># 网络（NCCL / IB）</span><br>net.core.rmem_max = 268435456<br>net.core.wmem_max = 268435456<br>net.core.netdev_max_backlog = 30000<br></code></pre></td></tr></table></figure><h2 id="NPU-调度：昇腾-寒武纪等"><a href="#NPU-调度：昇腾-寒武纪等" class="headerlink" title="NPU 调度：昇腾 &#x2F; 寒武纪等"></a>NPU 调度：昇腾 &#x2F; 寒武纪等</h2><p>国产 NPU 的 OS 适配：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><code class="hljs text">华为昇腾（Ascend）：     <br>  - /dev/davinci0 ~ N<br>  - npu-smi 工具<br>  - K8s ascend-device-plugin<br>  - resources.limits: huawei.com/Ascend910<br><br>寒武纪（Cambricon）：     <br>  - /dev/cambricon_dev*<br>  - cnmon 工具<br>  - K8s cambricon-device-plugin<br>  - resources.limits: cambricon.com/mlu<br><br>摩尔线程：     <br>  - /dev/mtgpu*<br>  - mthreads-gmi<br>  - K8s mthreads-device-plugin<br><br>各家 device-plugin 仿照 NVIDIA 风格，但生态成熟度差异大。<br></code></pre></td></tr></table></figure><h2 id="checkpoint-断点续训"><a href="#checkpoint-断点续训" class="headerlink" title="checkpoint &#x2F; 断点续训"></a>checkpoint &#x2F; 断点续训</h2><p>大模型训练常见操作——<strong>对 OS IO 子系统的考验</strong>：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs text">checkpoint 写入：     <br>  - 70B FP16 模型：     ~140 GB<br>  - 训练优化器状态：     280-400 GB<br>  - 激活值 / 元数据：     几十 GB<br>  - 总：     500 GB - 1 TB / checkpoint<br>  - 频率：     每 1-2 小时一次<br><br>要求：     <br>  - 高速文件系统：     Lustre / WekaFS / GPFS<br>  - 网络足够（万卡级用 InfiniBand 写）<br>  - 所有 GPU 同时写 → 集合 IO<br><br>故障恢复：     <br>  - 节点挂了 → 训练框架自动从最近 checkpoint 恢复<br>  - PyTorch FSDP / DeepSpeed 都有此能力<br>  - SLA：     一次故障 &lt; 30 分钟恢复<br></code></pre></td></tr></table></figure><h2 id="监控：DCGM-Prometheus"><a href="#监控：DCGM-Prometheus" class="headerlink" title="监控：DCGM &#x2F; Prometheus"></a>监控：DCGM &#x2F; Prometheus</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs text">DCGM（Data Center GPU Manager）：     <br>  - NVIDIA 官方 GPU 监控<br>  - dcgm-exporter 暴露 Prometheus 格式<br>  - 关键指标：     <br>    GPU 利用率、显存、温度、功耗、ECC 错误<br>    <br>Prometheus + Grafana：     <br>  - dcgm-exporter<br>  - node-exporter<br>  - kube-state-metrics<br>  - 一图看全集群<br><br>DCGM 监控万卡集群：     <br>  - 每秒几万 metric<br>  - 异常自动告警<br>  - 故障节点自动隔离<br></code></pre></td></tr></table></figure><h2 id="容器与-GPU-的几个老坑"><a href="#容器与-GPU-的几个老坑" class="headerlink" title="容器与 GPU 的几个老坑"></a>容器与 GPU 的几个老坑</h2><h3 id="坑-1：容器里看不到-nvidia-smi"><a href="#坑-1：容器里看不到-nvidia-smi" class="headerlink" title="坑 1：容器里看不到 nvidia-smi"></a>坑 1：容器里看不到 nvidia-smi</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 没装 nvidia-container-toolkit</span><br>apt install nvidia-container-toolkit<br><span class="hljs-comment"># 或 RHEL：</span><br>dnf install nvidia-container-toolkit<br><br><span class="hljs-comment"># 重启 Docker</span><br>systemctl restart docker<br></code></pre></td></tr></table></figure><h3 id="坑-2：CUDA-版本不匹配"><a href="#坑-2：CUDA-版本不匹配" class="headerlink" title="坑 2：CUDA 版本不匹配"></a>坑 2：CUDA 版本不匹配</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">Host driver 版本必须 ≥ Container 内 CUDA 版本<br>查看：     nvidia-smi（看左上角 CUDA Version）<br><br>Host driver 535 → 兼容 CUDA 12.x<br>Host driver 470 → 仅兼容 CUDA 11.x<br></code></pre></td></tr></table></figure><h3 id="坑-3：MIG-实例不可见"><a href="#坑-3：MIG-实例不可见" class="headerlink" title="坑 3：MIG 实例不可见"></a>坑 3：MIG 实例不可见</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">MIG 启用后，容器要明确请求 MIG 实例：<br>  resources.limits:<br>    nvidia.com/mig-1g.10gb: 1<br>    <br>不能再用 nvidia.com/gpu: 1（除非禁 MIG）<br></code></pre></td></tr></table></figure><h3 id="坑-4：训练-Pod-OOM"><a href="#坑-4：训练-Pod-OOM" class="headerlink" title="坑 4：训练 Pod OOM"></a>坑 4：训练 Pod OOM</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs text">显存 OOM：     batch size / sequence length 太大<br>主机内存 OOM：     DataLoader workers 太多<br>SHM 不够：     /dev/shm 默认 64 MB，DataLoader 经常需要更大<br><br>K8s 调大 SHM：     <br>  spec:<br>    containers:<br>    - volumeMounts:<br>      - mountPath: /dev/shm<br>        name: dshm<br>    volumes:<br>    - name: dshm<br>      emptyDir:<br>        medium: Memory<br>        sizeLimit: 16Gi<br></code></pre></td></tr></table></figure><h3 id="坑-5：跨-NUMA-性能损失"><a href="#坑-5：跨-NUMA-性能损失" class="headerlink" title="坑 5：跨 NUMA 性能损失"></a>坑 5：跨 NUMA 性能损失</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">8 GPU Pod 没有 numa-aware 调度：     <br>  - 跨 socket PCIe 通信<br>  - DataLoader CPU 在另一个 NUMA<br>  - 实测性能损失 20-40%<br><br>解决：     <br>  - 启用 K8s Topology Manager<br>  - 训练框架显式 numactl<br></code></pre></td></tr></table></figure><h3 id="坑-6：NCCL-启动失败"><a href="#坑-6：NCCL-启动失败" class="headerlink" title="坑 6：NCCL 启动失败"></a>坑 6：NCCL 启动失败</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs text">症状：     &quot;NCCL WARN Failed to open socket&quot;<br>常见原因：     <br>  - SHM 太小<br>  - ulimit -l（memlock）太小<br>  - IB 设备不可见<br>  - PCIe ACS 没关<br>  - Container 没 IPC=host<br></code></pre></td></tr></table></figure><h3 id="坑-7：GPU-假性死机"><a href="#坑-7：GPU-假性死机" class="headerlink" title="坑 7：GPU 假性死机"></a>坑 7：GPU 假性死机</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">GPU &quot;stuck&quot; 但 nvidia-smi 还能查：     <br>  - dmesg | grep &quot;Xid&quot;  → 看 NVIDIA Xid 错误<br>  - Xid 13/31/63/79：通常硬件 / 散热问题<br>  - 重启 GPU：nvidia-smi --gpu-reset -i &lt;id&gt;<br>  - 持续：     更换 GPU<br></code></pre></td></tr></table></figure><h2 id="大模型训练时-OS-实战清单"><a href="#大模型训练时-OS-实战清单" class="headerlink" title="大模型训练时 OS 实战清单"></a>大模型训练时 OS 实战清单</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># /etc/sysctl.d/99-ai-training.conf</span><br>fs.file-max = 2097152<br>fs.aio-max-nr = 1048576<br>kernel.shmmax = 1099511627776<br>kernel.shmall = 268435456<br>vm.max_map_count = 1048576<br>vm.swappiness = 10<br>vm.dirty_ratio = 5<br>vm.dirty_background_ratio = 2<br>net.core.rmem_max = 268435456<br>net.core.wmem_max = 268435456<br>net.core.netdev_max_backlog = 30000<br><br><span class="hljs-comment"># /etc/security/limits.conf</span><br>* soft nofile 1048576<br>* hard nofile 1048576<br>* soft <span class="hljs-built_in">nproc</span> unlimited<br>* hard <span class="hljs-built_in">nproc</span> unlimited<br>* soft memlock unlimited<br>* hard memlock unlimited<br><br><span class="hljs-comment"># 启动参数（GRUB）</span><br>intel_iommu=on iommu=pt<br>default_hugepagesz=2M hugepagesz=2M hugepages=8192<br>nohz_full=8-31 isolcpus=8-31         <span class="hljs-comment"># 隔离训练用 CPU</span><br>nosoftlockup<br>mitigations=off                       <span class="hljs-comment"># 关 spectre 等（性能优先）</span><br></code></pre></td></tr></table></figure><h2 id="OS-在-AI-集群的角色变化"><a href="#OS-在-AI-集群的角色变化" class="headerlink" title="OS 在 AI 集群的角色变化"></a>OS 在 AI 集群的角色变化</h2><pre><code class=" mermaid">graph TB  OLD[传统 OS]  OLD --&gt; O1[管理 CPU/MEM/IO]    NEW[AI 集群 OS]  NEW --&gt; N1[GPU 调度 + 拓扑]  NEW --&gt; N2[NUMA + GPU 联合调度]  NEW --&gt; N3[大文件 IO + checkpoint]  NEW --&gt; N4[InfiniBand + RDMA]  NEW --&gt; N5[BPF observability]  NEW --&gt; N6[Container + K8s 集成]</code></pre><h2 id="一些数字直觉"><a href="#一些数字直觉" class="headerlink" title="一些数字直觉"></a>一些数字直觉</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs text">nvidia-driver 升级：     <br>  - 大版本（535→555）：     需重启<br>  - 同版本小修：     有时 modprobe 即可<br><br>GPU &quot;ready&quot; 时间：     <br>  - 节点重启：     5-10 分钟（初始化）<br>  - 容器调度后启动：     5-30 秒<br><br>GPU 利用率监控：     <br>  - dcgm 1 秒采样<br>  - K8s prometheus 15 秒间隔<br>  - 8 GPU 节点：     生成 ~50 个 metric / 秒<br><br>万卡集群 OS 配置一致性：     <br>  - Ansible / Salt：     5-30 分钟<br>  - 配置漂移检测：     必备<br></code></pre></td></tr></table></figure><h2 id="国产-OS-的-AI-适配"><a href="#国产-OS-的-AI-适配" class="headerlink" title="国产 OS 的 AI 适配"></a>国产 OS 的 AI 适配</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">openEuler：     <br>  - 与昇腾深度集成<br>  - npu-smi、ascend-device-plugin 已包<br>  - &quot;openEuler AI 版&quot;<br><br>龙蜥（Anolis OS）：     <br>  - 与寒武纪 / 摩尔线程适配<br>  - SIG-AI 工作组<br><br>麒麟（Kylin）：     <br>  - 商用支持华为昇腾<br>  - 政企信创主流<br></code></pre></td></tr></table></figure><blockquote><p>待补充：国产 OS 在大模型训练集群的实际部署。</p></blockquote><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>AI 时代 OS 要管的多了：     GPU&#x2F;NPU 调度、NUMA + GPU 拓扑、大 IO</li><li>nvidia-device-plugin + GPU Operator 是 K8s 标配</li><li>MIG &#x2F; vGPU &#x2F; Time-Slicing 是 GPU 资源细分手段</li><li>Volcano &#x2F; KAI Scheduler 是训练专用调度器</li><li>GPUDirect &#x2F; GDS 让网卡 &#x2F; 存储直接访问 GPU 显存</li><li>大模型训练对 OS 内核参数（SHM &#x2F; memlock &#x2F; file-max）有特殊要求</li><li>国产 OS 已与昇腾 &#x2F; 寒武纪深度适配</li></ul><p>下一篇讲国产服务器 OS——欧拉、麒麟、龙蜥、统信、深度等。</p>]]>
    </content>
    <id>http://localhost:4000/posts/4562cc58/</id>
    <link href="http://localhost:4000/posts/4562cc58/"/>
    <published>2026-02-08T08:45:00.000Z</published>
    <summary>AI 训练让操作系统面对新的诉求——GPU 资源管理、NUMA-aware 调度、CPU/GPU 数据搬运。本文讲清当前 OS 在 AI 集群里要做的事。</summary>
    <title>AI 时代的 OS 适配 —— GPU 调度、NUMA 与大模型训练</title>
    <updated>2026-06-15T02:37:52.333Z</updated>
  </entry>
  <entry>
    <category term="07-操作系统" scheme="http://localhost:4000/categories/07-%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/"/>
    <category term="内核" scheme="http://localhost:4000/tags/%E5%86%85%E6%A0%B8/"/>
    <category term="调度器" scheme="http://localhost:4000/tags/%E8%B0%83%E5%BA%A6%E5%99%A8/"/>
    <category term="网络栈" scheme="http://localhost:4000/tags/%E7%BD%91%E7%BB%9C%E6%A0%88/"/>
    <category term="文件系统" scheme="http://localhost:4000/tags/%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/"/>
    <content>
      <![CDATA[<p>服务器运维的”硬核”调优都落在内核子系统上——CPU 调度、网络协议栈、文件系统。本文按三大子系统展开。</p><!-- more --><h2 id="一张全景"><a href="#一张全景" class="headerlink" title="一张全景"></a>一张全景</h2><pre><code class=" mermaid">graph TB  K[Linux Kernel]  K --&gt; SCH[进程调度&lt;br/&gt;CFS / EEVDF / sched_ext]  K --&gt; NET[网络栈&lt;br/&gt;TCP/IP / XDP / eBPF]  K --&gt; FS[文件系统&lt;br/&gt;ext4 / XFS / Btrfs / ZFS]  K --&gt; MM[内存管理&lt;br/&gt;NUMA / Page / Huge Page]  K --&gt; IO[IO 子系统&lt;br/&gt;blk-mq / io_uring]  K --&gt; SEC[安全&lt;br/&gt;SELinux / Seccomp / capabilities]</code></pre><h2 id="进程调度"><a href="#进程调度" class="headerlink" title="进程调度"></a>进程调度</h2><h3 id="CFS（Completely-Fair-Scheduler）"><a href="#CFS（Completely-Fair-Scheduler）" class="headerlink" title="CFS（Completely Fair Scheduler）"></a>CFS（Completely Fair Scheduler）</h3><p>Linux 默认调度器（2.6.23+，2007）：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">设计：     基于&quot;虚拟运行时间&quot;的红黑树<br>目标：     公平分配 CPU 时间<br>关键数据结构：     红黑树 / 任务的 vruntime<br><br>调度决策：<br>  - 选 vruntime 最小的任务运行<br>  - 周期性 tick 更新 vruntime<br>  - 抢占点检查<br></code></pre></td></tr></table></figure><p>CFS 的几个调优参数：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># /proc/sys/kernel/</span><br>sched_min_granularity_ns        <span class="hljs-comment"># 最小调度粒度，默认 750000 ns</span><br>sched_wakeup_granularity_ns     <span class="hljs-comment"># 唤醒抢占粒度，默认 1000000 ns</span><br>sched_migration_cost_ns         <span class="hljs-comment"># 迁移成本，默认 500000 ns</span><br>sched_latency_ns                <span class="hljs-comment"># 调度周期，默认 6000000 ns</span><br><br><span class="hljs-comment"># 调优</span><br>sysctl -w kernel.sched_migration_cost_ns=5000000   <span class="hljs-comment"># 不轻易迁核</span><br></code></pre></td></tr></table></figure><h3 id="EEVDF（2023-）"><a href="#EEVDF（2023-）" class="headerlink" title="EEVDF（2023+）"></a>EEVDF（2023+）</h3><p>Linux 6.6 默认替代 CFS：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">EEVDF（Earliest Eligible Virtual Deadline First）：<br>  - 借鉴 1995 年学术论文<br>  - 比 CFS 在低延迟场景表现更好<br>  - 适配现代多核多 NUMA 工作负载<br>  - 6.6 LTS 默认<br></code></pre></td></tr></table></figure><p>CFS vs EEVDF 是 Linux 调度器 16 年来最大变化。</p><h3 id="sched-ext（可插拔调度器）"><a href="#sched-ext（可插拔调度器）" class="headerlink" title="sched_ext（可插拔调度器）"></a>sched_ext（可插拔调度器）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">sched_ext（6.12+）：<br>  - 用 BPF 实现自定义调度器<br>  - 不需要重新编译内核<br>  - 实验性，Meta 主推<br><br>应用：     <br>  - 数据库专用调度器<br>  - 游戏低延迟调度器<br>  - AI 训练调度器<br></code></pre></td></tr></table></figure><h3 id="实时调度"><a href="#实时调度" class="headerlink" title="实时调度"></a>实时调度</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">SCHED_NORMAL（默认）：     CFS<br>SCHED_FIFO：              先进先出实时<br>SCHED_RR：                轮转实时<br>SCHED_DEADLINE：          截止时间调度<br>SCHED_IDLE：              低优先级<br>SCHED_BATCH：             批处理任务<br></code></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 设置实时优先级</span><br>chrt -f 99 ./mysql            <span class="hljs-comment"># FIFO 99</span><br>chrt -p &lt;pid&gt;                 <span class="hljs-comment"># 查看</span><br>chrt -p -f 50 &lt;pid&gt;           <span class="hljs-comment"># 改</span><br><br><span class="hljs-comment"># nice 调度</span><br><span class="hljs-built_in">nice</span> -n 10 ./batch_job<br>renice -n 5 -p &lt;pid&gt;<br></code></pre></td></tr></table></figure><h3 id="调度域和-NUMA"><a href="#调度域和-NUMA" class="headerlink" title="调度域和 NUMA"></a>调度域和 NUMA</h3><p>第二章已经讲过 NUMA——内核通过 <strong>scheduling domain</strong> 知道拓扑：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 看调度域</span><br><span class="hljs-built_in">cat</span> /proc/sys/kernel/sched_domain/cpu0/domain*/name<br><br><span class="hljs-comment"># NUMA 信息</span><br>numactl -H<br>numactl --cpunodebind=0 --membind=0 ./app<br></code></pre></td></tr></table></figure><p>CPU 亲和力工具：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs bash">taskset -c 0-7 ./app             <span class="hljs-comment"># 绑核 0-7</span><br>taskset -p -c 0-7 &lt;pid&gt;          <span class="hljs-comment"># 改进程绑定</span><br></code></pre></td></tr></table></figure><h2 id="网络协议栈"><a href="#网络协议栈" class="headerlink" title="网络协议栈"></a>网络协议栈</h2><pre><code class=" mermaid">graph TB  APP[应用]  APP --&gt; SOCKET[socket layer]  SOCKET --&gt; TCP[TCP / UDP / SCTP]  TCP --&gt; IP[IPv4 / IPv6]  IP --&gt; NETF[netfilter / nftables]  NETF --&gt; QDISC[Qdisc / Traffic Control]  QDISC --&gt; NIC[NIC driver]  NIC --&gt; HW[硬件网卡]    XDP[XDP] -.- NIC</code></pre><h3 id="TCP-拥塞控制"><a href="#TCP-拥塞控制" class="headerlink" title="TCP 拥塞控制"></a>TCP 拥塞控制</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">Linux 支持的拥塞控制算法：<br>  reno：     最早，已过时<br>  cubic：     Linux 默认（2007 起）<br>  bbr：      Google 出品（2016），延迟感知<br>  bbr2：     改进版<br>  bbr3：     最新<br>  dctcp：     数据中心专用<br>  westwood：     改进 reno<br></code></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 看可用算法</span><br>sysctl net.ipv4.tcp_available_congestion_control<br><br><span class="hljs-comment"># 当前用</span><br>sysctl net.ipv4.tcp_congestion_control<br><br><span class="hljs-comment"># 改成 BBR</span><br>modprobe tcp_bbr<br>sysctl -w net.ipv4.tcp_congestion_control=bbr<br>sysctl -w net.core.default_qdisc=fq<br></code></pre></td></tr></table></figure><p>BBR 在长肥管道（LFN）上表现更好——视频流 &#x2F; 跨地域传输的标配。</p><h3 id="TCP-调优参数"><a href="#TCP-调优参数" class="headerlink" title="TCP 调优参数"></a>TCP 调优参数</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 缓冲区大小（10G+ 网卡建议调大）</span><br>sysctl -w net.core.rmem_max=134217728<br>sysctl -w net.core.wmem_max=134217728<br>sysctl -w net.ipv4.tcp_rmem=<span class="hljs-string">&quot;4096 87380 134217728&quot;</span><br>sysctl -w net.ipv4.tcp_wmem=<span class="hljs-string">&quot;4096 65536 134217728&quot;</span><br><br><span class="hljs-comment"># 连接队列</span><br>sysctl -w net.core.somaxconn=65535<br>sysctl -w net.ipv4.tcp_max_syn_backlog=65535<br><br><span class="hljs-comment"># TIME_WAIT 复用</span><br>sysctl -w net.ipv4.tcp_tw_reuse=1<br><br><span class="hljs-comment"># Fast Open</span><br>sysctl -w net.ipv4.tcp_fastopen=3<br><br><span class="hljs-comment"># 持久化</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;net.ipv4.tcp_congestion_control=bbr&quot;</span> &gt;&gt; /etc/sysctl.d/99-tuning.conf<br>sysctl --system<br></code></pre></td></tr></table></figure><h3 id="XDP：高速包处理"><a href="#XDP：高速包处理" class="headerlink" title="XDP：高速包处理"></a>XDP：高速包处理</h3><p>XDP（eXpress Data Path）让 BPF 程序在网卡驱动层就处理包——<strong>包没进网络栈就被处理</strong>：</p><pre><code class=" mermaid">graph LR  NIC[网卡] --&gt; XDP[XDP BPF]  XDP --&gt; D1&#123;决策&#125;  D1 -- DROP --&gt; X[丢弃]  D1 -- TX --&gt; NIC  D1 -- REDIRECT --&gt; NIC2[其他网卡]  D1 -- PASS --&gt; NS[正常网络栈]</code></pre><p>性能：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">XDP_DROP（DDoS 防护）：     20+ Mpps / 核<br>XDP_TX（负载均衡）：        10-15 Mpps / 核<br>传统 iptables：             几百 Kpps / 核<br></code></pre></td></tr></table></figure><p>应用：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">- DDoS 防护（Cloudflare、Facebook）<br>- 负载均衡（Katran）<br>- 抓包（xdpdump）<br>- 加速容器网络（Cilium）<br></code></pre></td></tr></table></figure><h3 id="netfilter-nftables"><a href="#netfilter-nftables" class="headerlink" title="netfilter &#x2F; nftables"></a>netfilter &#x2F; nftables</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs text">iptables（传统）：<br>  - 规则线性匹配，N 条规则 O(N) 性能<br>  - 内核已不主推<br><br>nftables（现代）：<br>  - 哈希表匹配，性能 O(1)<br>  - 命令更简洁<br>  - RHEL 8+ / Ubuntu 20.04+ 默认<br>  - iptables 命令可作为 nftables 兼容层<br><br>iptables → nftables 迁移：<br>  iptables-translate &quot;iptables -A INPUT ...&quot;<br></code></pre></td></tr></table></figure><h3 id="IPVS"><a href="#IPVS" class="headerlink" title="IPVS"></a>IPVS</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">IPVS（IP Virtual Server）：<br>  - 内核 L4 负载均衡<br>  - 比 iptables 快很多<br>  - K8s kube-proxy 支持 IPVS 模式<br>  - LVS（Linux Virtual Server）项目核心<br></code></pre></td></tr></table></figure><h2 id="文件系统"><a href="#文件系统" class="headerlink" title="文件系统"></a>文件系统</h2><pre><code class=" mermaid">graph TB  FS[Linux 文件系统]  FS --&gt; LOCAL[本地]  FS --&gt; NETWORK[网络]  FS --&gt; SPECIAL[特殊]    LOCAL --&gt; EXT[ext2/3/4]  LOCAL --&gt; XFS[XFS]  LOCAL --&gt; BTRFS[Btrfs]  LOCAL --&gt; ZFS[ZFS]  LOCAL --&gt; F2FS[F2FS]    NETWORK --&gt; NFS[NFS]  NETWORK --&gt; CIFS[CIFS/SMB]  NETWORK --&gt; CEPHFS[CephFS]  NETWORK --&gt; GLUSTER[GlusterFS]    SPECIAL --&gt; PROC[/proc]  SPECIAL --&gt; SYS[/sys]  SPECIAL --&gt; TMPFS[tmpfs]  SPECIAL --&gt; OVERLAY[OverlayFS&lt;br/&gt;容器用]</code></pre><h3 id="ext4"><a href="#ext4" class="headerlink" title="ext4"></a>ext4</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">ext4：     <br>  - Linux 默认（多数发行版）<br>  - 经久耐用<br>  - 单文件最大 16 TB<br>  - 单卷最大 1 EB<br>  - 不支持原生压缩 / 快照<br><br>仍是企业 Linux 服务器最常用的根文件系统。<br></code></pre></td></tr></table></figure><h3 id="XFS"><a href="#XFS" class="headerlink" title="XFS"></a>XFS</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">XFS：     <br>  - SGI 1993 年 IRIX 移植到 Linux<br>  - 大文件性能好<br>  - 默认延迟分配<br>  - 单卷最大 8 EB<br>  - RHEL 7+ 默认根文件系统<br>  - 不支持 shrink（缩容）<br><br>适用：     大文件场景，数据库，存储节点<br></code></pre></td></tr></table></figure><h3 id="Btrfs"><a href="#Btrfs" class="headerlink" title="Btrfs"></a>Btrfs</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs text">Btrfs：     <br>  - &quot;B-tree FS&quot;<br>  - 写时复制（COW）<br>  - 原生快照、子卷、压缩、RAID<br>  - 单卷最大 16 EB<br>  - SUSE 默认（openSUSE / SLES）<br><br>历史问题：     <br>  - 早期 RAID 5/6 不稳<br>  - 大量碎片场景性能差<br>  - Red Hat 已不再支持<br><br>适用：     SUSE 系，桌面，开发机<br></code></pre></td></tr></table></figure><h3 id="ZFS"><a href="#ZFS" class="headerlink" title="ZFS"></a>ZFS</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">ZFS：     <br>  - Sun 1995 起开发，开源<br>  - 写时复制 + 校验和 + 压缩 + 去重<br>  - 软件 RAID（RAIDZ）<br>  - 单池可达 256 ZiB<br>  - License 问题不能合入 Linux 内核<br>  - Ubuntu 通过 DKMS 模块支持<br>  - 数据完整性最强<br><br>适用：     存储节点、备份、文件服务器<br></code></pre></td></tr></table></figure><h3 id="NFS"><a href="#NFS" class="headerlink" title="NFS"></a>NFS</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs text">NFS（Network File System）：     <br>  - Sun 1984 起，跨平台<br>  - NFSv3：无状态，老但稳<br>  - NFSv4：有状态，加密<br>  - NFSv4.1 / pNFS：     并行 NFS<br>  - NFSv4.2：     新特性<br><br>调优：     <br>  - mount -o rsize=1048576,wsize=1048576,vers=4.2<br>  - 异步 / 同步选择<br>  - 端口 2049<br></code></pre></td></tr></table></figure><h3 id="CephFS-GlusterFS"><a href="#CephFS-GlusterFS" class="headerlink" title="CephFS &#x2F; GlusterFS"></a>CephFS &#x2F; GlusterFS</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">CephFS：     <br>  - Ceph 存储集群提供 POSIX 文件系统<br>  - 元数据服务器（MDS）<br>  - 客户端 ceph-fuse 或内核 cephfs<br><br>GlusterFS：     <br>  - Red Hat 主推，已下马<br>  - 不需要专门元数据服务器<br></code></pre></td></tr></table></figure><p>第四章已介绍。</p><h3 id="OverlayFS"><a href="#OverlayFS" class="headerlink" title="OverlayFS"></a>OverlayFS</h3><p>容器镜像分层的核心：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">OverlayFS：     <br>  - lowerdir：镜像层（只读）<br>  - upperdir：容器写入层<br>  - merged：合并视图<br><br>Docker / containerd 默认 storage driver<br></code></pre></td></tr></table></figure><h3 id="tmpfs"><a href="#tmpfs" class="headerlink" title="tmpfs"></a>tmpfs</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs text">tmpfs：     <br>  - 内存中的文件系统<br>  - 关机消失<br>  - /tmp / /run / /dev/shm 默认<br>  - 大小可指定（默认半内存）<br></code></pre></td></tr></table></figure><h2 id="内存管理"><a href="#内存管理" class="headerlink" title="内存管理"></a>内存管理</h2><pre><code class=" mermaid">graph TB  MM[Memory Management]  MM --&gt; PG[Page Allocator&lt;br/&gt;buddy system]  MM --&gt; SLAB[SLAB / SLUB&lt;br/&gt;对象缓存]  MM --&gt; VMA[VMA / mmap]  MM --&gt; SWAP[Swap]  MM --&gt; OOM[OOM Killer]  MM --&gt; NUMA[NUMA Allocator]  MM --&gt; THP[Transparent Huge Pages]</code></pre><h3 id="Huge-Pages"><a href="#Huge-Pages" class="headerlink" title="Huge Pages"></a>Huge Pages</h3><p>减少 TLB miss，对大内存应用很重要：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 看大页配置</span><br><span class="hljs-built_in">cat</span> /proc/meminfo | grep -i huge<br><br><span class="hljs-comment"># 静态大页 2 MB</span><br><span class="hljs-built_in">echo</span> 8192 &gt; /proc/sys/vm/nr_hugepages<br><span class="hljs-built_in">mkdir</span> /mnt/hugepages<br>mount -t hugetlbfs none /mnt/hugepages<br><br><span class="hljs-comment"># 1 GB 大页（启动参数）</span><br>GRUB_CMDLINE_LINUX=<span class="hljs-string">&quot;default_hugepagesz=1G hugepagesz=1G hugepages=64&quot;</span><br><br><span class="hljs-comment"># Transparent Huge Pages（动态）</span><br><span class="hljs-built_in">cat</span> /sys/kernel/mm/transparent_hugepage/enabled<br><span class="hljs-built_in">echo</span> madvise &gt; /sys/kernel/mm/transparent_hugepage/enabled<br><br><span class="hljs-comment"># THP 三选项：</span><br><span class="hljs-comment"># always：     自动用大页（数据库可能慢）</span><br><span class="hljs-comment"># madvise：     应用主动 madvise 才用（推荐）</span><br><span class="hljs-comment"># never：     禁用</span><br></code></pre></td></tr></table></figure><p>数据库（Oracle &#x2F; PostgreSQL &#x2F; MongoDB）建议关 THP 改静态大页。</p><h3 id="Swap"><a href="#Swap" class="headerlink" title="Swap"></a>Swap</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 看 swap</span><br>swapon -s<br>free -h<br><br><span class="hljs-comment"># swappiness（0-100，越高越爱用 swap）</span><br><span class="hljs-built_in">cat</span> /proc/sys/vm/swappiness            <span class="hljs-comment"># 默认 60</span><br>sysctl -w vm.swappiness=10             <span class="hljs-comment"># 服务器一般调小</span><br><br><span class="hljs-comment"># swap 文件</span><br>fallocate -l 16G /swapfile<br>mkswap /swapfile<br>swapon /swapfile<br><span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;/swapfile none swap sw 0 0&quot;</span> &gt;&gt; /etc/fstab<br></code></pre></td></tr></table></figure><p>数据库 &#x2F; 大内存机器通常 swap &#x3D; 0 或很小——<strong>别让 swap 拖累性能</strong>。</p><h3 id="OOM-Killer"><a href="#OOM-Killer" class="headerlink" title="OOM Killer"></a>OOM Killer</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">内存耗尽时杀进程：<br>  - OOM Score 计算（/proc/&lt;pid&gt;/oom_score）<br>  - 优先杀大的、可恢复的<br>  - 重要进程 echo -1000 &gt; /proc/&lt;pid&gt;/oom_score_adj 不被杀<br><br>调整：     <br>  - vm.overcommit_memory = 0/1/2<br>  - vm.overcommit_ratio = 50（百分比）<br></code></pre></td></tr></table></figure><h2 id="IO-子系统"><a href="#IO-子系统" class="headerlink" title="IO 子系统"></a>IO 子系统</h2><pre><code class=" mermaid">graph TB  APP[应用 read/write]  APP --&gt; VFS[VFS 抽象层]  VFS --&gt; FS[具体文件系统]  FS --&gt; BIO[block IO 层]  BIO --&gt; SCHED[IO 调度器]  SCHED --&gt; DRV[块设备驱动]  DRV --&gt; HW[硬件 SSD/HDD]</code></pre><h3 id="IO-调度器（blk-mq）"><a href="#IO-调度器（blk-mq）" class="headerlink" title="IO 调度器（blk-mq）"></a>IO 调度器（blk-mq）</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs text">现代 Linux blk-mq 多队列：<br>  none：     无调度，对 NVMe 默认<br>  mq-deadline：     deadline 改进<br>  bfq：     公平调度<br>  kyber：     低延迟<br><br>NVMe 用 none：     <br>  cat /sys/block/nvme0n1/queue/scheduler<br>  <br>  原因：硬件已经多队列，软件调度反而拖累<br></code></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 改 IO 调度器</span><br><span class="hljs-built_in">echo</span> none &gt; /sys/block/nvme0n1/queue/scheduler<br><span class="hljs-built_in">echo</span> mq-deadline &gt; /sys/block/sda/queue/scheduler<br></code></pre></td></tr></table></figure><h3 id="io-uring"><a href="#io-uring" class="headerlink" title="io_uring"></a>io_uring</h3><p>7.1 已介绍——异步 IO 革命。配套 API：</p><figure class="highlight c"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs c">io_uring_queue_init();<br>io_uring_get_sqe();<br>io_uring_prep_read();<br>io_uring_submit();<br>io_uring_wait_cqe();<br></code></pre></td></tr></table></figure><p>应用：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs text">PostgreSQL 17+：     io_uring 后端<br>ScyllaDB：           原生 io_uring<br>Tokio（Rust 异步）：     io_uring 支持<br></code></pre></td></tr></table></figure><h2 id="安全子系统"><a href="#安全子系统" class="headerlink" title="安全子系统"></a>安全子系统</h2><h3 id="SELinux-AppArmor"><a href="#SELinux-AppArmor" class="headerlink" title="SELinux &#x2F; AppArmor"></a>SELinux &#x2F; AppArmor</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">SELinux（Red Hat）：     <br>  - 标签 / 类型强制<br>  - 默认严格<br>  - RHEL / Fedora 默认 enforcing<br><br>AppArmor（Ubuntu）：     <br>  - 路径基础<br>  - 比 SELinux 简单<br>  - Ubuntu / Debian 默认<br></code></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># SELinux</span><br>getenforce<br>setenforce 0       <span class="hljs-comment"># 临时关</span><br>semanage / restorecon<br><br><span class="hljs-comment"># AppArmor</span><br>aa-status<br>aa-enforce / aa-complain<br></code></pre></td></tr></table></figure><h3 id="Seccomp"><a href="#Seccomp" class="headerlink" title="Seccomp"></a>Seccomp</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs text">Seccomp：     系统调用白名单<br>  - 进程限制只能调几个 syscall<br>  - 容器逃逸防护<br>  - Docker 默认 seccomp profile<br><br>应用：     <br>  - 容器（Docker / K8s）<br>  - 沙箱（Chromium、Firefox）<br>  - 不可信代码执行<br></code></pre></td></tr></table></figure><h3 id="capabilities"><a href="#capabilities" class="headerlink" title="capabilities"></a>capabilities</h3><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs text">传统 root：     全权或全无权<br>capabilities：     细粒度<br>  CAP_NET_ADMIN：     管网络<br>  CAP_SYS_ADMIN：     管系统（万能）<br>  CAP_NET_BIND_SERVICE：     绑端口 &lt; 1024<br>  ...<br>  <br>容器默认 drop ALL，再 add 必需的几个。<br></code></pre></td></tr></table></figure><h2 id="内核参数总览"><a href="#内核参数总览" class="headerlink" title="内核参数总览"></a>内核参数总览</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 看所有 sysctl</span><br>sysctl -a<br><br><span class="hljs-comment"># 常用调优文件</span><br>/etc/sysctl.conf<br>/etc/sysctl.d/*.conf<br><br><span class="hljs-comment"># 临时改</span><br>sysctl -w net.core.somaxconn=65535<br><br><span class="hljs-comment"># 持久化</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;net.core.somaxconn=65535&quot;</span> &gt;&gt; /etc/sysctl.d/99-tuning.conf<br>sysctl --system<br></code></pre></td></tr></table></figure><h3 id="服务器一般调优起点"><a href="#服务器一般调优起点" class="headerlink" title="服务器一般调优起点"></a>服务器一般调优起点</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># /etc/sysctl.d/99-server.conf</span><br><br><span class="hljs-comment"># 网络</span><br>net.core.somaxconn = 65535<br>net.core.rmem_max = 134217728<br>net.core.wmem_max = 134217728<br>net.ipv4.tcp_congestion_control = bbr<br>net.core.default_qdisc = fq<br>net.ipv4.tcp_tw_reuse = 1<br>net.ipv4.tcp_fin_timeout = 30<br><br><span class="hljs-comment"># 内存</span><br>vm.swappiness = 10<br>vm.dirty_ratio = 10<br>vm.dirty_background_ratio = 5<br><br><span class="hljs-comment"># 文件</span><br>fs.file-max = 2097152<br>fs.nr_open = 1048576<br><br><span class="hljs-comment"># 进程</span><br>kernel.pid_max = 4194304<br></code></pre></td></tr></table></figure><h2 id="内核-BPF-工具"><a href="#内核-BPF-工具" class="headerlink" title="内核 BPF 工具"></a>内核 BPF 工具</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># bpftrace 一行命令</span><br>bpftrace -e <span class="hljs-string">&#x27;tracepoint:syscalls:sys_enter_open &#123; printf(&quot;%s\n&quot;, str(args-&gt;filename)); &#125;&#x27;</span><br><br><span class="hljs-comment"># 常见 BCC 工具</span><br>opensnoop      <span class="hljs-comment"># 看打开文件</span><br>execsnoop      <span class="hljs-comment"># 看进程执行</span><br>biolatency     <span class="hljs-comment"># 看 IO 延迟分布</span><br>tcpconnect     <span class="hljs-comment"># 看 TCP 连接</span><br>runqlat        <span class="hljs-comment"># 看运行队列延迟</span><br></code></pre></td></tr></table></figure><p>BPF 工具是排障神器——<strong>比 strace 快几十倍</strong>。</p><h2 id="一些查询命令"><a href="#一些查询命令" class="headerlink" title="一些查询命令"></a>一些查询命令</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># CPU</span><br>mpstat -P ALL 1<br>top / htop / btop<br>pidstat 1<br>perf top<br>perf <span class="hljs-built_in">stat</span> / perf record<br><br><span class="hljs-comment"># 内存</span><br>free -h<br>vmstat 1<br><span class="hljs-built_in">cat</span> /proc/meminfo<br>slabtop<br><br><span class="hljs-comment"># 网络</span><br>ss -s                        <span class="hljs-comment"># socket 总览</span><br>ss -tnp                      <span class="hljs-comment"># TCP 连接</span><br>iftop / nethogs              <span class="hljs-comment"># 流量</span><br>ethtool -S eth0              <span class="hljs-comment"># 网卡统计</span><br>tcpdump -i eth0 -w cap.pcap<br><br><span class="hljs-comment"># 磁盘</span><br>iostat -x 1<br>iotop<br>dstat                        <span class="hljs-comment"># 综合</span><br>fio                          <span class="hljs-comment"># 性能测试</span><br><br><span class="hljs-comment"># 内核日志</span><br>dmesg<br>journalctl -k                <span class="hljs-comment"># kernel logs</span><br>journalctl --since <span class="hljs-string">&quot;1 hour ago&quot;</span><br></code></pre></td></tr></table></figure><h2 id="内核调优的方法论"><a href="#内核调优的方法论" class="headerlink" title="内核调优的方法论"></a>内核调优的方法论</h2><pre><code class=" mermaid">graph TD  M[Measure 测量]  M --&gt; A[Analyze 分析瓶颈]  A --&gt; H[Hypothesize 假设]  H --&gt; C[Change 改一项]  C --&gt; V[Verify 验证]  V --&gt; M</code></pre><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs text">Brendan Gregg 的&quot;USE 方法&quot;：     <br>  Utilization：     利用率<br>  Saturation：     饱和度（队列、等待）<br>  Errors：     错误数<br><br>每次只改一项 → 测量对比 → 不要改&quot;一堆&quot;。<br></code></pre></td></tr></table></figure><h2 id="内核版本与新特性查询"><a href="#内核版本与新特性查询" class="headerlink" title="内核版本与新特性查询"></a>内核版本与新特性查询</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-built_in">uname</span> -r                              <span class="hljs-comment"># 内核版本</span><br><br><span class="hljs-comment"># 新特性查询（编译开关）</span><br>zcat /proc/config.gz | grep &lt;FEATURE&gt;<br><span class="hljs-comment"># 或</span><br><span class="hljs-built_in">cat</span> /boot/config-$(<span class="hljs-built_in">uname</span> -r) | grep &lt;FEATURE&gt;<br><br><span class="hljs-comment"># 模块管理</span><br>lsmod | grep &lt;module&gt;<br>modprobe &lt;module&gt;<br>modinfo &lt;module&gt;<br></code></pre></td></tr></table></figure><h2 id="一些数字直觉"><a href="#一些数字直觉" class="headerlink" title="一些数字直觉"></a>一些数字直觉</h2><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><code class="hljs text">syscall 开销：     <br>  read/write：    几十 ns<br>  socket：        几百 ns<br>  fork：          几十 μs<br>  exec：          几百 μs<br><br>内存访问：     <br>  L1 cache：       1 ns<br>  L2 cache：       5 ns<br>  L3 cache：       30 ns<br>  本地 DRAM：     100 ns<br>  远端 NUMA：     200 ns<br>  HBM：           ~50 ns<br><br>文件系统：     <br>  ext4 顺序读：    &gt;5 GB/s（NVMe）<br>  XFS 大文件：     &gt;10 GB/s<br>  本地 NVMe 4K 随机读：     500K-1M IOPS<br>  <br>网络：     <br>  本地 ping：      几十 μs<br>  同机房 ping：    &lt; 1 ms<br>  跨城 ping：      ~10-50 ms<br>  跨国 ping：      ~100-200 ms<br></code></pre></td></tr></table></figure><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><ul><li>Linux 内核三大子系统：调度（CFS&#x2F;EEVDF）、网络（TCP&#x2F;IP&#x2F;XDP）、文件系统（ext4&#x2F;XFS&#x2F;Btrfs&#x2F;ZFS）</li><li>io_uring + eBPF 是近年内核最重要新特性</li><li>TCP BBR 是长肥管道的拥塞控制选择</li><li>nftables 已替代 iptables</li><li>THP 在数据库要谨慎用</li><li>BPF &#x2F; bpftrace 是排障神器</li><li>调优要”测量-假设-改一项-验证”循环</li></ul><p>下一篇讲 AI 时代 OS 适配——vGPU、NPU 调度、大模型训练 OS 优化。</p>]]>
    </content>
    <id>http://localhost:4000/posts/c679d850/</id>
    <link href="http://localhost:4000/posts/c679d850/"/>
    <published>2026-02-01T12:35:00.000Z</published>
    <summary>Linux 内核三大子系统：进程调度、网络协议栈、文件系统。本文按子系统讲清各自的演进、关键参数和调优要点。</summary>
    <title>内核内部 —— 调度器、网络栈、文件系统</title>
    <updated>2026-06-15T02:37:52.333Z</updated>
  </entry>
</feed>
