> 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-5-cun-chu/05-storage-monitoring.md).

# 存储监控与故障排除

## 存储监控为何重要

存储是 VergeOS 中每个工作负载的基础。一个性能下降的驱动器、已满的层级，或未被注意到的完整性错误，都可能引发虚拟机性能问题、快照失败以及租户投诉。VergeOS 提供 **两个层级的内置诊断工具** ——用于分布式块级存储引擎的 vSAN 诊断，以及用于每个文件共享服务实例的 NAS 诊断——以便你在问题影响生产环境之前发现、诊断并解决它们。

```mermaid
graph LR
    subgraph diagnostics["VergeOS 存储诊断"]
        direction TB
        VSAN["vSAN 诊断<br/>系统 → vSAN 诊断<br/>(仅根级别)"]
        NAS["NAS 诊断<br/>NAS → 服务 → 诊断<br/>(每个 NAS 实例)"]
        SYSDIAG["系统诊断<br/>捆绑诊断导出<br/>用于支持升级"]
    end

    subgraph areas["诊断重点领域"]
        PERF["性能<br/>集群速率、缓存、IOPS"]
        CAP["容量<br/>层级使用率、卷增长"]
        HEALTH["健康<br/>设备状态、修复"]
        SHARES["文件共享<br/>SMB/CIFS、NFS、AD"]
    end

    VSAN --> PERF
    VSAN --> CAP
    VSAN --> HEALTH
    NAS --> SHARES

    style diagnostics fill:#e8edf4,stroke:#2d4a7a
    style areas fill:#e8f4e8,stroke:#2d7a2d
```

## vSAN 诊断

vSAN 诊断界面可实时访问 VergeFS 存储引擎的内部状态。每个诊断都从 vSAN 诊断 UI 中的 **查询** 下拉菜单运行。

### 访问 vSAN 诊断

1. 导航至 **系统 → vSAN 诊断** 从顶部菜单
2. 或者：在主仪表板上，点击 **vSAN 层级** 计数框 → **vSAN 诊断** 左侧菜单中的
3. 从 **查询** 下拉菜单中选择一条命令，在右侧配置参数，然后点击 **发送 →**

{% hint style="warning" %}
**仅限根级别**

vSAN 诊断仅在根/父级可用。租户无法访问 vSAN 诊断工具——他们必须通过提供商请求诊断。
{% endhint %}

### 诊断命令参考

以下诊断可从 vSAN 诊断 UI 中的 **查询** 下拉菜单获取，并按重点领域分组。

#### 集群与性能

| 命令           | 用途                  |
| ------------ | ------------------- |
| **获取集群速率**   | 整个集群范围的吞吐量和 IOPS 指标 |
| **获取集群使用情况** | 总体存储利用率和容量          |
| **获取最高使用率**  | 识别存储 I/O 的主要消费者     |
| **获取使用情况**   | 完整的 vSAN 使用统计信息     |
| **获取缓存信息**   | 缓存命中/未命中比率和内存使用情况   |
| **获取预读**     | 预读缓存配置和统计信息         |
| **获取当前主节点**  | 识别当前的 vSAN 主节点      |

#### 设备与节点

| 命令           | 用途            |
| ------------ | ------------- |
| **获取设备列表**   | vSAN 中的所有存储设备 |
| **获取设备状态**   | 特定设备的健康状况和状态  |
| **获取设备使用情况** | 每个设备的利用率和磨损数据 |
| **获取节点列表**   | 参与 vSAN 的所有节点 |
| **获取节点信息**   | 特定节点的详细信息     |
| **获取节点设备列表** | 连接到特定节点的设备    |

#### 层级与卷

| 命令           | 用途             |
| ------------ | -------------- |
| **获取层级状态**   | 每个存储层级的健康状况和容量 |
| **获取层级设备映射** | 设备如何在各层级之间映射   |
| **获取层级节点映射** | 层级如何分布在各节点之间   |
| **获取卷使用情况**  | 每个卷的存储消耗       |
| **汇总磁盘使用情况** | 整个集群范围的磁盘使用汇总  |

#### 完整性与修复

| 命令            | 用途              |
| ------------- | --------------- |
| **完整性检查**     | 开始完整的完整性检查      |
| **设备完整性检查**   | 对特定设备进行完整性检查    |
| **获取完整性检查状态** | 完整性检查的进度/结果     |
| **获取修复状态**    | 正在进行的修复和重建操作    |
| **获取同步列表**    | 正在进行的站点同步（复制）连接 |

#### 文件系统与配置

| 命令                | 用途                 |
| ----------------- | ------------------ |
| **查找 Inode**      | 定位一个特定的 inode 以供分析 |
| **根据 Inode 获取路径** | 将 inode 编号解析为路径    |
| **获取文件状态**        | 文件的复制和完整性          |
| **获取 FUSE 信息**    | FUSE 挂载和操作详情       |
| **获取日志状态**        | 写前日志状态             |
| **获取运行中的配置**      | 当前正在运行的 vSAN 配置    |
| **获取客户端**         | 正在连接的 vSAN 客户端     |

## 健康监控工作流

在调查存储健康状况时，遵循这一系统化方法——先从宏观开始，再深入到具体组件。

```mermaid
graph TD
    A["1. 系统概览<br/>集群使用情况 + 集群速率"] --> B["2. 性能分析<br/>最高使用率 + 缓存信息"]
    B --> C["3. 健康评估<br/>修复状态 + 完整性检查状态"]
    C --> D["4. 容量规划<br/>汇总磁盘使用情况 + 层级状态"]
    D --> E["5. 定向故障排查<br/>特定设备 + 特定节点命令"]

    style A fill:#e8f4e8,stroke:#2d7a2d
    style B fill:#e8edf4,stroke:#2d4a7a
    style C fill:#fce8e8,stroke:#7a2d2d
    style D fill:#f4f0e8,stroke:#7a6a2d
    style E fill:#e8e8f4,stroke:#4a2d7a
```

### 逐步工作流

1. **系统概览** -- 运行 `获取集群使用情况` 以及 `获取集群速率` 以了解整体健康状况、容量和吞吐量
2. **性能分析** -- 检查 `获取最高使用率` 以找出热点卷，然后 `获取缓存信息` 查看缓存命中率
3. **健康评估** -- 验证 `获取修复状态` 显示全为 0（无正在进行的修复）且 `获取完整性检查状态` 查看最近结果
4. **容量规划** -- 使用 `汇总磁盘使用情况` 查看整个集群的概况以及 `获取层级状态` 查看每个层级的容量
5. **定向故障排查** -- 深入到特定设备（`获取设备状态`) 或节点（`获取节点信息`)，基于调查结果

## 故障排查模式

### 性能问题

**症状：** 虚拟机延迟高、快照操作缓慢、租户抱怨磁盘速度慢。

1. 查看 **获取集群速率** 用于查看总吞吐量——速率是否低于基线？
2. 查看 **获取缓存信息** ——较低的命中率表明工作集超过了可用缓存
3. 检查 **获取最高使用率** 以确定哪些卷消耗了最多的 I/O
4. 查看 **获取设备使用情况** 在单个驱动器上，查看负载分布是否不均
5. 验证 **获取日志状态** ——堆积的日志表示持续的写入压力

{% hint style="info" %}
**存储限速**

VergeOS 会根据容量使用情况实施分级 I/O 限速：91% 以下正常运行，91–95% 时轻度限速（增加 10ms），96% 以上为严重限速（增加 50ms）。如果性能突然下降，请检查层级使用率。
{% endhint %}

### 容量问题

**症状：** “空间不足”警报、无法创建快照、因限速导致写入缓慢。

1. 运行 **获取集群使用情况** 以及 **汇总磁盘使用情况** 用于整体空间分析
2. 查看 **获取层级状态** 用于查看每个层级的容量——即使其他层级有空间，单个已满的层级也可能引发问题
3. 使用 **获取卷使用情况** 在最大的卷上，以识别增长候选项
4. 检查快照保留策略——引用已更改块的旧快照会占用大量空间

### 数据完整性问题

**症状：** 日志中的校验和警告、硬件事件后的疑似损坏。

1. 查看 **获取完整性检查状态** 查看最近的完整性检查结果
2. 查看 **获取修复状态** 查看任何正在进行的数据重建
3. 使用 **获取文件状态** 检查特定文件以验证其复制状态
4. 如有需要，运行 **完整性检查** 以启动完整扫描（请安排在维护窗口期间）

{% hint style="warning" %}
**完整性检查影响**

完整性检查会显著影响系统性能。务必在维护窗口期间安排，并在执行过程中监控系统负载。
{% endhint %}

### 集群健康问题

**症状：** 节点离线警报、意外的主节点故障转移、脑裂问题。

1. 验证 **获取当前主节点** 以确认哪个节点是 vSAN 主节点
2. 查看 **获取节点列表** 以及 **获取节点信息** 查看每个节点的状态
3. 查看 **获取修复状态** 查看活动的块重新复制，这表明某个节点曾暂时断开连接
4. 检查 **获取客户端** 查看异常连接模式

{% hint style="info" %}
**获取同步列表 vs. 获取修复状态**

**获取同步列表** 报告活动的 **站点同步** （复制）连接到远程站点——而不是节点断开后的集群内重新同步。使用 **获取修复状态** 查看集群内重建和重新复制的进度。
{% endhint %}

### 设备问题

**症状：** SMART 警告、单个驱动器错误、各节点之间性能不均。

1. 运行 **获取设备列表** 以及 **获取设备状态** 以识别性能下降或故障设备
2. 查看 **获取节点设备列表** 查看受影响节点的完整设备清单
3. 运行 **设备完整性检查** 在可疑驱动器上
4. 与系统诊断捆绑包中捕获的 SMART 数据交叉参考（由诊断工具按节点收集）

## 预防性维护

主动监控可以避免意外。为这些检查建立定期节奏：

### 每日

* 查看集群使用情况和层级容量 - 检查是否有正在进行的修复（稳态下应为零） - 确认仪表板中没有与存储相关的警报

### 每周

* 运行集群速率以建立性能基线 - 查看最高使用率以了解增长趋势 - 检查缓存命中率并在需要时进行调优

### 每月

* 在维护窗口期间安排完整性检查 - 查看设备健康状况和 SMART 数据 - 分析容量趋势以制定采购计划

## 光纤通道集成

VergeOS vSAN 支持 **将光纤通道（FC）LUN 作为存储设备** 并集成到其分层架构中，从而可与现有 SAN 基础设施集成。

### 关键原则

* **FC LUN 会被视为与物理磁盘完全相同** ——一旦分配到某个层级，VergeOS 就不再区分它们
* **每个节点必须接收自己唯一的 LUN** ——不要将同一个 LUN 提供给多个节点（不同于传统的共享存储集群）
* **Tier 0 仍然需要物理 NVMe/SSD 驱动器** 用于节点中的元数据存储
* **在 SAN 上禁用 RAID 和自动分层** 用于 VergeOS 所使用的 LUN——vSAN 原生处理冗余
* **主备式多路径** ，故障切换超时时间为 7 秒；VergeOS 会自动选择最佳路径

### 何时使用 FC 与物理磁盘

Verge 建议 **直接连接到节点的物理磁盘** 用于大多数部署。当你已有 SAN 投资或有特定合规要求时，FC 集成才更合适。物理磁盘提供更简单的配置、更好的性能（没有 SAN 开销）、更少的故障点以及更低的成本。

{% hint style="info" %}
**核心网络带宽**

vSAN 使用核心网络进行数据复制。如果你的 FC SAN 支持 32 Gb，但核心网络只有 25 Gb，那么写入吞吐量将受核心网络限制。对于写入密集型工作负载，请确保核心网络带宽达到或超过 SAN 带宽。
{% endhint %}

## NAS 诊断

每个 NAS 服务实例都有自己独立的诊断界面，与 vSAN 诊断分开。NAS 诊断重点关注文件共享协议、网络连通性和身份验证。

### 访问 NAS 诊断

1. 导航至 **NAS → 列表** 从顶部菜单
2. 双击所需的 NAS 服务
3. 单击 **诊断** 左侧菜单中的
4. 从 **诊断查询** 下拉菜单并点击 **发送 →**

### 关键 NAS 诊断命令

| 类别                   | 命令                                                | 用途               |
| -------------------- | ------------------------------------------------- | ---------------- |
| **SMB/CIFS**         | `smbstatus`, `testparm`, `smbclient -L localhost` | 活动连接、配置验证、共享列表   |
| **NFS**              | `exportfs -v`, `rpcinfo -p`, `showmount -e`       | 导出列表、RPC 服务、挂载验证 |
| **Active Directory** | `wbinfo -t`, `wbinfo -u`, `wbinfo -g`             | 信任检查、域用户、域组      |
| **网络**               | Ping、Trace Route、ARP 扫描、DNS 查询                    | 连通性、路由、邻居发现      |
| **性能**               | CPU 使用率最高、网络使用率最高、TCP 转储                          | 资源利用率和流量分析       |
| **日志**               | 日志（journalctl、samba 日志）                           | 错误分析和事件监控        |

### NAS 健康监控工作流

1. **服务状态** -- 检查服务和特定协议状态（Samba/NFS）
2. **网络连通性** -- 使用 Ping 和接口配置进行验证
3. **身份验证** -- 测试用户、组和 Winbind（适用于 AD 环境）
4. **性能** -- 监控 CPU 使用率最高和网络使用率最高
5. **日志** -- 查看服务日志中的错误或警告

## 常见 NAS 问题与解决方案

### Windows：无法连接到 CIFS 共享

**原因：** Windows 10/11 和 Server 2016+ 默认禁用不安全的来宾登录，从而阻止访问允许匿名访问的共享。

**修复：** 通过组策略启用不安全的来宾登录：

1. 打开 `gpedit.msc` → **计算机配置 → 管理模板 → 网络 → Lanman Workstation**
2. 设置 **启用不安全的来宾登录** 更改为 **已启用**
3. 重启 Windows 设备

### macOS：SMB 连接失败

**原因：** macOS 的默认设置可能与服务器的 SMB 协议版本冲突，或缺少 Apple 专用扩展。

**修复（客户端侧）：** 在 `/etc/nsmb.conf`:

```ini
[default]
smb_neg=smb3_only
```

清除 SMB 缓存（`sudo rm -rf /var/db/samba/* /var/db/smb/*`）并重启。

**修复（服务器侧）：** 在 **NAS → CIFS → 高级配置选项**:

```ini
ea support = yes
vfs objects = fruit streams_xattr
fruit:metadata = stream
fruit:model = MacSamba
fruit:veto_appledouble = no
fruit:nfs_aces = no
fruit:posix_rename = yes
fruit:zero_file_id = yes
fruit:wipe_intentionally_left_blank_rfork = yes
fruit:delete_empty_adfiles = yes
```

### CIFS 共享权限被拒绝

**原因：** 用户/组权限或共享配置不正确。

**修复：**

1. 验证用户是否在 NAS 服务的用户列表中具有访问权限
2. 检查共享设置：确保 **可浏览** 已启用，并且用户位于 **有效用户** 列表中
3. 如果使用 **强制用户** 或 **强制组** 选项，请确认被强制的身份具有正确的文件系统权限

### CIFS 性能缓慢

**原因：** SMB 协议版本不匹配、网络问题，或配置不佳。

**修复：**

1. 使用 NAS 诊断验证网络稳定性 **Ping** 以及 **路由追踪** 命令
2. 在以下位置检查 SMB 协议版本 **NAS → 卷 → 高级配置选项** -- 确保使用的是 SMB2 或 SMB3
3. 通过以下方式监控 **网络使用峰值** 在 NAS 诊断中查看以检测带宽饱和
4. 如果标准优化不足，请联系 VergeOS 支持以获取高级 Samba 调优参数

{% hint style="info" %}
**VMware 桥接**

来自 VMware？VergeOS 通过以下方式公开相同的诊断数据： **系统 → vSAN 诊断** 任意控制器节点上的 UI——无需单独的管理设备、插件或脚本层。NAS 诊断位于 NAS 服务 VM 内部，而不是集中式控制台中。
{% endhint %}

{% hint style="info" %}
**Nutanix 桥接**

来自 Nutanix？VergeOS 通过以下方式为您提供同类的存储诊断和完整性清理覆盖： **vSAN 诊断** 任意控制器节点上的 UI，NAS 服务健康检查则运行在 NAS 服务 VM 本身内，而不是独立的文件服务控制台中。
{% endhint %}

## 入门

### 探索 vSAN 诊断

导航至 **系统 → vSAN 诊断**，运行 **获取集群使用情况** 以及 **获取集群速率** 以建立基线。

### 检查 NAS 健康状况

打开每个 NAS 服务的诊断页面。运行 **Samba** 以查看活动连接并 **NFS** 以验证导出。查看 **日志** 以查看最近的错误。

### 查看诊断指南

阅读完整的 [vSAN 诊断指南](https://docs.verge.io/product-guide/storage/vsan-diagnostics/) 以及 [NAS 诊断指南](https://docs.verge.io/product-guide/nas/nas-diagnostics/) 请参阅官方文档。


---

# 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-5-cun-chu/05-storage-monitoring.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.
