> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/learn-the-platform/zh/mo-kuai-9-jian-kong-yu-gu-zhang-pai-chu/05-diagnostics-toolkit.md).

# 诊断工具包

## 一个平台中的四种诊断工具包

VergeOS 将诊断工具直接嵌入到每个主要子系统中。管理员无需 SSH 到单个节点或安装第三方工具，而是从 **VergeOS UI** — 每个工具都限定在所调查的组件范围内。

```mermaid
graph LR
    subgraph "VergeOS 诊断"
        A["网络<br/>诊断"] --> E["统一 UI"]
        B["节点<br/>诊断"] --> E
        C["vSAN<br/>诊断"] --> E
        D["NAS<br/>诊断"] --> E
    end
    E --> F["结果与<br/>CLI 导出"]

    style A fill:#4a90d9,color:#fff
    style B fill:#e67e22,color:#fff
    style C fill:#27ae60,color:#fff
    style D fill:#8e44ad,color:#fff
    style E fill:#2c3e50,color:#fff
    style F fill:#34495e,color:#fff
```

每个诊断界面都遵循相同的模式：

1. 导航到组件（网络、节点、NAS 或 vSAN）
2. 单击 **诊断** 左侧菜单中的
3. 从 **查询** 下拉菜单
4. 在右侧配置参数
5. 单击 **发送 →** 执行

{% hint style="success" %}
**显示命令切换**

启用 **“显示命令”** 用于查看任何诊断实际执行的精确命令。这是查看底层语法以进行脚本编写、自动化，或通过 SSH 复现命令的权威方式。
{% endhint %}

***

## 网络诊断

**访问：** 网络 → \[选择网络] → 诊断

网络诊断按 **每个网络** — 你选择要排查的具体网络，所有命令都在该网络上下文中执行。这一点至关重要，因为 VergeOS 网络在设计上是隔离的。

### 连通性与发现

| 命令            | 用途                 |
| ------------- | ------------------ |
| **Ping**      | 基本 ICMP 连通性测试      |
| **路由追踪**      | 映射到目标的网络路径         |
| **ARP 扫描**    | 发现网络上的活动设备         |
| **ARP 表**     | 查看当前 IP 到 MAC 的映射  |
| **TCP 连接测试**  | 验证某个特定 TCP 端口是否可达  |
| **我的 IP 是什么** | 检查网络的外部 IP（NAT 验证） |

### DNS 与名称解析

| 命令         | 用途                     |
| ---------- | ---------------------- |
| **DNS 查找** | 查询 A、AAAA、MX、NS、PTR 记录 |

### 防火墙与安全

| 命令             | 用途            |
| -------------- | ------------- |
| **显示防火墙规则**    | 显示完整的防火墙规则集   |
| **跟踪/调试防火墙规则** | 启用逐条规则日志以进行调试 |
| **NMAP**       | 端口扫描和服务发现     |

### 流量分析

| 命令             | 用途           |
| -------------- | ------------ |
| **TCP 抓包**     | 带 BPF 过滤的抓包  |
| **网络使用峰值**     | 实时带宽消耗者      |
| **最高 CPU 使用率** | 消耗最多 CPU 的进程 |

### 特定服务

| 命令                     | 用途                       |
| ---------------------- | ------------------------ |
| **DHCP 释放/续订**         | 强制刷新 DHCP 租约（DHCP 客户端网络） |
| **IPsec**              | 监控和控制 IPsec VPN 隧道       |
| **FRRouting BGP/OSPF** | 动态路由协议状态                 |
| **日志**                 | 网络容器系统日志                 |

{% hint style="info" %}
**租户访问**

租户可以访问其自己租户网络的网络诊断。这些工具在租户的网络范围内运行——它们无法看到父级网络。
{% endhint %}

***

## 节点诊断

**访问：** 基础设施 → 节点 → \[选择节点] → 诊断

节点诊断提供 **硬件级** 对单个物理服务器的可视性。这些工具直接与服务器的 BMC、驱动器和物理网络接口交互。

### IPMI / BMC 工具

这些命令与服务器的基板管理控制器通信——即带外管理接口（Dell 上的 iDRAC、HPE 上的 iLO 等）。

| 命令               | 用途          |
| ---------------- | ----------- |
| **IPMI BMC 信息**  | BMC 固件和配置   |
| **IPMI 机箱状态**    | 电源状态、入侵检测   |
| **IPMI FRU 信息**  | 可更换单元标识     |
| **IPMI LAN 信息**  | BMC 网络配置    |
| **IPMI MC 重置**   | 重置无响应的 BMC  |
| **IPMI 传感器**     | 温度、电压、风扇读数  |
| **IPMI 传感器数据仓库** | 完整的传感器数据仓库  |
| **IPMI 系统事件日志**  | 硬件事件历史（SEL） |

{% hint style="warning" %}
**IPMI MC 重置**

重置 BMC 会暂时中断带外管理。主机操作系统会继续运行——这只会影响管理控制器。
{% endhint %}

### 驱动器与存储健康

| 命令                  | 用途                     |
| ------------------- | ---------------------- |
| **S.M.A.R.T. 信息**   | 驱动器健康属性、磨损、温度          |
| **S.M.A.R.T. 诊断测试** | 运行短测、长测或传输测试           |
| **显示块设备**           | 列出节点上的所有块设备            |
| **LED 控制（驱动器）**     | 激活/停用驱动器的定位 LED 以便物理识别 |
| **RAS 查询**          | 内存 ECC 错误报告            |

### 网络与 Fabric

| 命令                 | 用途               |
| ------------------ | ---------------- |
| **以太网工具**          | 链路速度、双工、驱动信息     |
| **Fabric 配置**      | 此节点的核心 Fabric 状态 |
| **网络绑定**           | 绑定接口健康状态和活动从接口   |
| **桥接地址**           | 虚拟交换机 MAC 地址表    |
| **ARP 扫描 / ARP 表** | 节点级网络发现          |
| **Ping / 路由跟踪**    | 来自节点上下文的基本连通性    |

### 系统

| 命令               | 用途                 |
| ---------------- | ------------------ |
| **DMI 表**        | 完整硬件清单（CPU、内存、序列号） |
| **日志**           | 系统和内核日志            |
| **OpenSSL 速度测试** | CPU 加密性能基准测试       |
| **清除持久存储**       | 清除文件系统缓存（仅供支持使用）   |

{% hint style="info" %}
**来自 VMware 或 Nutanix？**
{% endhint %}

| 平台      | 深入硬件检查发生的地方                                                                              |
| ------- | ---------------------------------------------------------------------------------------- |
| VMware  | 通过 SSH/DCUI 登录 ESXi 主机以使用 `esxcli`/`vsish`；vCenter 提供一些 SMART/传感器信息，但深入操作需要离开 vSphere UI |
| Nutanix | Prism Element 硬件页面 + `ncli` 来自 CVM；IPMI/BMC 需单独访问，以控制驱动器 LED 和查看详细传感器                    |
| VergeOS | 单节点诊断面板：IPMI、SMART、驱动器 LED 控制、Fabric 健康状态，无需 SSH 或单独的 BMC 凭据。“显示命令”可显示底层语法。              |

***

## vSAN 诊断

**访问：** 系统 → vSAN 诊断

vSAN 诊断在 **系统级**运行，为分布式存储引擎提供深度可视性。

{% hint style="warning" %}
**仅根/父级**

vSAN 诊断仅在根/父级可用。 **租户无法访问** vSAN 诊断工具——他们通过分配给自己的虚拟磁盘与存储交互。
{% endhint %}

### 关键 vSAN 诊断命令

| 命令            | 用途                |
| ------------- | ----------------- |
| **获取层级状态**    | 每个层级的健康状况、冗余和容量   |
| **获取集群速率**    | 集群内的读/写吞吐量        |
| **获取集群使用情况**  | 整体存储利用率统计         |
| **获取设备列表**    | vSAN 池中的所有存储设备    |
| **获取设备状态**    | 单个设备健康状况和错误计数     |
| **获取设备使用情况**  | 按设备的容量和 I/O 指标    |
| **获取修复状态**    | 正在进行的重建/修复进度      |
| **获取日志状态**    | 预写日志健康状况          |
| **获取完整性检查状态** | 数据完整性验证进度         |
| **获取缓存信息**    | 缓存命中/未命中比率和内存使用情况 |
| **获取文件状态**    | 特定文件的复制和完整性       |
| **获取最高使用率**   | 识别最大的存储消耗者        |
| **获取运行中的配置**  | 当前 vSAN 配置参数      |
| **获取同步列表**    | 活动同步操作            |
| **获取节点列表**    | 参与 vSAN 的所有节点     |
| **完整性检查**     | 启动完整性检查           |
| **汇总磁盘使用情况**  | 整个集群范围的磁盘使用汇总     |

### vSAN 健康检查工作流

调查存储问题的结构化方法：

```mermaid
flowchart TD
    A["检查层状态"] --> B{所有层<br/>工作 = true？}
    B -->|是| C["检查集群速率"]
    B -->|否| D["检查修复状态"]
    D --> E["检查设备状态<br/>是否有故障驱动器"]
    C --> F{性能<br/>可接受？}
    F -->|是| G["系统健康"]
    F -->|否| H["检查缓存信息"]
    H --> I["检查最高使用率"]
    I --> J["识别瓶颈"]
    E --> K["通过节点诊断检查<br/>SMART 数据"]

    style A fill:#27ae60,color:#fff
    style G fill:#27ae60,color:#fff
    style D fill:#e74c3c,color:#fff
    style E fill:#e74c3c,color:#fff
```

### 要监控的关键指标

* **`working = false`** 任一层级上 → 严重 — 该层级未运行
* **`redundant = false`** → 降级状态，无故障容错
* **`bad_drives > 0`** → 检测到驱动器故障，自动修复进行中
* **修复状态全为零** → 无活动修复（健康状态）
* **写入限流已启用** → 存储容量接近上限（>91% 触发限流）

### 存储空间限流阈值

| 利用率        | 行为                  |
| ---------- | ------------------- |
| **< 91%**  | 正常运行，无限流            |
| **91–95%** | 开始低空间限流（增加 10ms 延迟） |
| **96%+**   | 严重限流（增加 50ms 延迟）    |
| **> 96%**  | 性能严重下降              |

***

## NAS 诊断

**访问：** NAS → \[选择 NAS 服务] → 诊断

NAS 诊断是 **按每个 NAS 服务** — 每个 NAS 实例都有自己的诊断界面。这些工具专注于文件共享协议（SMB/CIFS、NFS）和身份验证。

### 文件共享与身份验证

| 命令          | 用途                                   |
| ----------- | ------------------------------------ |
| **Samba**   | SMB/CIFS 服务状态 — 活动连接和锁定文件、配置验证以及共享列表 |
| **NFS**     | NFS 服务状态 — 当前导出、RPC 注册以及客户端挂载可见性     |
| **Winbind** | Active Directory 检查 — 域信任关系、域用户和域组   |

### 标准网络工具

NAS 诊断还包括标准连通性工具： **Ping**, **路由追踪**, **ARP 扫描/表**, **TCP 抓包**, **TCP 连接测试**, **DNS 查找**, **NTP 查询**, **最高 CPU 使用率**, **网络使用峰值**，以及 **日志**.

### 用户与组诊断

| 命令        | 用途                       |
| --------- | ------------------------ |
| **用户**    | 系统用户账户                   |
| **组**     | 系统组和成员关系                 |
| **日期/时间** | 时间同步（对 Kerberos/AD 至关重要） |
| **服务**    | 所有正在运行的服务                |

***

## 最佳实践故障排查工作流

在调查问题时，遵循从组件特定诊断到系统级分析的结构化升级路径：

```mermaid
flowchart TD
    A["1. 确定范围"] --> B["受影响的是哪个组件？<br/>网络？存储？硬件？NAS？"]
    B --> C["2. 组件诊断"]
    C --> D["使用匹配的工具包：<br/>网络 → 网络诊断<br/>存储 → vSAN 诊断<br/>硬件 → 节点诊断<br/>文件共享 → NAS 诊断"]
    D --> E{"问题<br/>已解决？"}
    E -->|是| F["记录发现"]
    E -->|否| G["3. 系统诊断"]
    G --> H["系统 → 系统诊断<br/>生成完整诊断包"]
    H --> I{"问题<br/>已解决？"}
    I -->|是| F
    I -->|否| J["4. 升级到支持"]
    J --> K["附加诊断包<br/>包含时间线和症状"]

    style A fill:#3498db,color:#fff
    style C fill:#2ecc71,color:#fff
    style G fill:#f39c12,color:#fff
    style J fill:#e74c3c,color:#fff
```

### 工作流指南

1. **从简单开始** — 先 Ping，再抓包。在进行完整性检查之前先检查层状态。
2. **正确设定范围** — 在运行诊断之前选择正确的网络、节点或 NAS 服务。在错误的上下文中运行命令会产生误导性的结果。
3. **边操作边记录** — 使用“显示命令”捕获精确命令。在进入下一项测试前先复制输出。
4. **考虑性能影响** — TCP 抓包、NMAP 扫描和完整性检查可能会影响生产性能。请在维护窗口期间安排高强度诊断。
5. **最后检查日志** — 日志提供上下文，但可能信息过载。先使用有针对性的诊断，然后再与日志条目关联。

### 系统诊断包

对于跨多个组件的问题或需要升级到支持的情况，VergeOS 可以生成一个 **完整诊断包**:

* **访问：** 系统 → 系统诊断
* **输出：** `[SYSTEMNAME]_diags_[YYYYMMDD]_[HHMMSS].tar.gz`
* **内容：** vSAN 状态文件、SMART 报告、网络配置、IPMI 数据、系统日志和内核日志——按节点组织
* **包存储：** 保存为 `文件` 在 vSAN 中的记录；该诊断包会一直保留，直到你将其删除

{% hint style="info" %}
**UI 日志保留 vs. 诊断包保留**

诊断包本身不会自动过期。另一方面，VergeOS 会保留实时 UI **系统日志 45 天** 然后自动删除——如果你需要更长的日志历史，请配置远程 syslog 转发。
{% endhint %}

{% hint style="success" %}
**升级前**

在联系支持之前，务必先生成一个新的系统诊断包。这会提供一个完整的时间点快照，支持工程师无需实时系统访问即可进行分析。
{% endhint %}

***

## 快速参考：使用哪个工具包

### 网络诊断

**何时使用：** 虚拟机无法连接互联网、DNS 无法解析、防火墙阻止流量、DHCP 不分配 IP、VPN 隧道断开

**访问：** 网络 → \[网络] → 诊断

### 节点诊断

**何时使用：** 硬件告警、驱动器故障、温度警告、NIC 链路问题、IPMI 无响应、Fabric 连通性问题

**访问：** 基础设施 → 节点 → \[节点] → 诊断

### vSAN 诊断

**何时使用：** 存储性能下降、层不健康、容量警告、修复卡住、数据完整性问题

**访问：** 系统 → vSAN 诊断

### NAS 诊断

**何时使用：** SMB 共享无法访问、NFS 挂载失败、AD 身份验证故障、文件权限被拒绝、CIFS 性能缓慢

**访问：** NAS → \[NAS 服务] → 诊断


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/learn-the-platform/zh/mo-kuai-9-jian-kong-yu-gu-zhang-pai-chu/05-diagnostics-toolkit.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
