跳到主要内容

文件系统

选择文件系统类型

为您的 Unraid arraycache pool 选择正确的文件系统至关重要。它有助于实现性能、数据保护和高级功能之间的平衡。Unraid 支持多种现代 Linux 文件系统,每种都有其独特的优势和特定的使用场景:

文件系统数据保护空间效率高级功能最佳使用案例
XFS没有内置冗余100%抵御损坏能力强默认用于阵列驱动器;高可靠性
ZFSRAIDZ1/RAIDZ2/RAIDZ3、镜像等根据RAID级别而有所不同Checksums, Snapshots, RAID多设备池,虚拟机,Docker,高级用户
BTRFSRAID 0/RAID 1/10/5/6、镜像根据RAID级别而有所不同Checksums, Snapshots, RAID多设备池,混合SSD/HDD,灵活的池

XFS 是 Unraid 中 array 驱动器的默认文件系统。它以其稳健性和在意外关机或崩溃后恢复损坏文件系统的能力而闻名。每个用 XFS 格式化的驱动器都作为一个独立的文件系统运行,这使得在任何 Linux 系统上的数据恢复都很简单。

  • 数据保护: 没有内建冗余;依赖 Unraid 的 parity 进行保护。
  • **性能:**一致且可靠。
  • **最适合:**特别是当稳定性和数据恢复易用性优先时的Array驱动器。
Additional 笔记
  • Mixing different file system types in your Unraid system is perfectly acceptable; the Unraid parity system works independently of the file system used.
  • 始终在 Unraid 内格式化和分区驱动器以确保兼容性。
  • Linux 系统可以原生读取这些文件系统;然而,Windows 和 macOS 将需要额外的软件来访问。
  • 你可以对驱动器进行加密以增强安全性,但请记住,加密驱动器可能会给发生损坏时的恢复带来挑战。
  • 对于传输驱动器或外部设备,建议使用支持额外文件系统的 Unassigned Devices 插件。
Still 需要帮助选择吗?
  • 对于数组驱动器: XFS通常是大多数用户的最佳选择。
  • 对于高性能或高级功能: 选择ZFSBTRFS用于cache pools或多设备设置。
  • 对于混合或扩展池: 如果你想使用不同的驱动器大小或轻松地添加或删除设备,BTRFS 是理想选择。

如果不确定,开始默认设置是一种好的方法:对于array驱动器使用 XFS ,对于 cache pools 使用 BTRFS


设定文件系统类型

在向 Unraid 添加新驱动器时,您可以选择最适合您需求的文件系统类型。文件系统决定了数据在磁盘上的组织和保护方式。

设定文件系统类型:

  1. 全局设定默认值:

    • 导航到 设置 → 磁盘设置 ,仅为新 array 驱动器设定默认文件系统。
    • Unraid 默认使用 XFS 作为 array 驱动器。
    • Note: There is currently no global default setting for cache pools. They will always default to BTRFS if left to "auto".
  2. 为单个驱动器设定文件系统:

    • 停止array
    • 点击主标签上的驱动器。
    • 从下拉菜单中选择你想要的文件系统类型。
    • 如果选择 自动 ,Unraid 会使用全局默认值。
    • 对于多设备 cache pools ,仅支持 BTRFSZFS

创建文件系统(格式化)

在 Unraid 中使用新磁盘之前,必须用所选的文件系统格式化它。请记住,格式化将擦除驱动器上所有现有内容。

开始格式化:

  1. 启动array
  2. 识别无法挂载的驱动器:未被识别的驱动器将显示为不可挂载的
  3. **验证驱动器选择:**验证所有无法挂载的驱动器是否是你想要格式化的驱动器。
  4. **确认并格式化:**勾选确认框,仔细阅读警告对话框,然后点击 格式化
  5. 监控过程:格式化过程将开始。对于新盘,Unraid 首先会重写分区表。
  6. 等待完成:格式化通常需要几分钟。如果您未看到进度,请刷新标签。

格式化完成后,驱动器即可存储文件。


更改文件系统类型

你可能想更改特定设备上的文件系统类型以利用新功能或确保与其他设备兼容。

警告

更改文件系统类型将擦除驱动器上的所有现有数据。在继续之前,务必备份任何重要文件。

要更改特定驱动器上的文件系统类型:

  1. 停止数组: 开始时停止你的array 以确保变更期间没有操作正在进行。
  2. 选择驱动器: 标签中,点击你想要更改格式的驱动器。
  3. 选择新的文件系统:从下拉菜单中选择所需的文件系统格式。如果您有多个驱动器需要更改,请为每个驱动器重复此步骤。
  4. 重新启动数组: 选择新的文件系统后,再次启动你的array
  5. 格式化不可挂载的驱动器标签将显示格式化不可挂载驱动器的选项。请花时间检查列表,确保仅包括您想要更改的驱动器。
  6. 确认并格式化: 勾选确认框以确认更改,然后点击 格式化 按钮继续。
  7. 等待过程完成:格式化通常只需几分钟。如果您发现状态没有更新,可以刷新标签以检查进度。

如果您遇到任何问题,请随时访问 Unraid 论坛。附上您的系统诊断压缩文件(在工具 → 诊断 中找到)以求助。


转换到新的文件系统类型

important

从 Unraid 7.2 开始, 页面会警告如果任何阵列或池驱动器被格式化为旧版文件系统:

  • 任何格式化为 ReiserFS 的驱动器需要尽快迁移到另一个文件系统,因为它们在未来版本的 Unraid(可能是 Unraid 7.3)中不可用。
  • 任何格式化为旧版 XFS 的驱动器需要在 2030 年之前迁移。

要更改驱动器的文件系统类型但保留其数据,您必须在重新格式化之前迁移内容。该过程对于从不再支持的 ReiserFS(在旧版 Unraid 中使用)迁移到 XFSBTRFS 的用户尤为常见,但它适用于任何文件系统转换。

important

This process requires temporarily moving your data to another location. Make sure you have enough free space elsewhere in your array or on an external device before you begin.

要安全地转换为新的文件系统类型:

  1. Copy all data off the drive: Move your files to another location. This could be another drive in your array, a cache pool, or an external backup.
    • 在 Unraid 7.0 之前,您需要手动移动文件。
    • 从 Unraid 7.0 开始,您可以 使用“移动程序”清空阵列磁盘 通过命令行将文件移动到其他阵列驱动器。
    • 从 Unraid 7.2 开始,您可以通过 WebGUI 将一个阵列驱动器清空到其他阵列驱动器中:
      • 导航到 主菜单 → 阵列操作 并停止阵列。
      • 导航到 设置 → 全局共享设置。在清空磁盘区域,选择要清空的磁盘并点击 应用。注意:当阵列停止时,该状态将自动移除。
      • 导航到 主菜单 → 阵列操作 并启动阵列。
      • 主菜单 → 阵列操作 上点击 移动 (或等待移动程序按其正常计划运行)。
      • 移动程序将根据您的共享设置清空磁盘。注意根目录的文件不包括在任何共享内,因此不会被移动。
      • 检查 工具 → 系统日志 查看文件因正在使用或缺乏空闲空间而无法移动的信息。
    • 导航到 主菜单 → 阵列设备 并浏览磁盘以确认其为空。只有在确定磁盘为空时才能继续。
  2. 更改文件系统类型:遵循更改文件系统类型 的步骤。这将格式化驱动器并擦除所有内容,留下一个新的空白驱动器。
  3. 将数据拷回:(可选)根据文件移动的位置,您可能需要将它们移回到新格式化的驱动器。
  4. 根据需要重复: 如果有多个驱动器需要转换,则为每个驱动器重复这些步骤,按照需要转移数据。
Timing

根据数据量和驱动器的速度,整个过程可能需要几个小时。大多数时间花在复制文件上,可以无人值守运行。


重新格式化驱动器

在 Unraid 中重新格式化驱动器将擦除所有数据并创建一个新的空文件系统。此过程有助于解决持久的文件系统错误或开始使用新的格式。

警告

重新格式化将永久擦除驱动器上的所有数据。在开始之前,务必备份任何重要文件。

安全地 重新格式化你的驱动器:

  1. 停止阵列
  2. 更改文件系统类型:
    • 转到 标签并点击你想重新格式化的驱动器。
    • 选择不同的文件系统类型(例如,从XFS更改为BTRFS)。
    • 启动array,驱动器将显示为不可挂载的
    • 在提示时,格式化驱动器。
  3. (可选)更改回原始文件系统类型:
    • 再次停止array
    • 将文件系统改回你首选的类型。
    • 启动array并再次格式化驱动器。

此简单过程可确保驱动器完全擦除并格式化为所需格式。格式化过程通常只需几分钟。

重新格式化缓存驱动器

有时,你需要重新格式化一个cache驱动器,原因如下:

  • 更改文件系统类型(例如,从BTRFS转换到XFS或反之亦然)
  • 修复持久的文件系统错误
  • 为新的工作负载重新开始

重新格式化缓存驱动器的推荐程序

  1. 停止阵列
  2. 设置禁用 Docker 和VM 服务
  3. 启动数组(这将防止 Docker 和VM 页签出现)。

从缓存移动数据:

  1. Set share storage and Mover action (cache → array): For each share that has files in the cache, set Primary storage to the source cache pool and Secondary storage to the array. Set Mover action to cache → array.
    • 记录下您更改的任何共享及其原始设置。
  2. Run Mover: Run Mover from the Main tab. Wait for it to finish and ensure that the cache is empty.
    • 如果还有文件留存,请停止并在论坛中寻求帮助。

重新格式化缓存驱动器:

  1. 停止阵列
  2. 设置缓存驱动器格式(在 XFSBTRFS 之间选择)。
    • 对于单驱动 cache,推荐选择 XFS
    • 请注意,XFS 仅在您有一个 cache 插槽时可用。
  3. 启动阵列
  4. 格式化缓存驱动器
    • 确认仅有 cache 驱动器列为不可挂载。
    • 继续格式化驱动器。

还原数据和设置:

  1. 恢复共享设置:对于您更改的每个共享,将主要存储次要存储恢复到原始值。
  2. Move data back (array → cache): Set Primary storage to the destination cache pool and Secondary storage to the array for each share you changed. Set Mover action to array → cache, then run the Mover again to move your data back to the cache.
  3. 停止阵列
  4. 重新启用 Docker 和 VM 服务
  5. 启动阵列
Timing

使用 Mover 移动数据和格式化驱动器所需时间可能从几分钟到几小时不等,具体取决于数据量和驱动器速度。


BTRFS 操作

在 Unraid 中维护您的 BTRFS 池对于保持其正常运行和确保您的数据安全至关重要。您需要定期使用的两个关键工具是 平衡清理。这些操作有助于解决空间分配问题,优化存储利用率,并保护数据免受隐藏损坏的影响。

让我们来详细解释每项操作的作用以及何时使用这些操作:

平衡操作在您的BTRFS池中重新分配数据和元数据块。该过程有助于释放空间,解决分配问题,并可以修复“设备上没有剩余空间”错误,即使空间似乎可用。

何时运行平衡

  • 当您遇到“设备上无可用空间”错误,但仍有空闲空间时。
  • 在池中添加或移除驱动器后。
  • 优化空间使用并提升性能。

如何运行平衡

  1. 访问池:在 WebGUI 中,点击“主”选项卡上的池,然后选择 平衡
  2. 添加参数(可选):可选地,添加高级使用参数(有关详细信息,请参考 Unraid 帮助)。
  3. 启动过程:点击 开始 以开始过程。
Timing

平衡操作可能需要几分钟到几小时,具体取决于池的大小和数据量。

提示

平衡清理 都可以在系统在线时进行,但请记住,在这些操作期间性能可能会受到影响。您可以在 WebGUI 中监控进度。

有关高级 BTRFS 功能的更多详细信息,请查阅 官方 BTRFS 文档


未分配的驱动器

Unassigned drives are storage devices connected to your Unraid server that aren't part of the main array or any cache pool. You can use these drives to transfer files, create backups, or provide fast storage for virtual machines.

备注

array 启动时,连接到服务器的所有驱动器即使未分配至 array 或池中,也会计入 Unraid 附加设备许可证限制。

未分配驱动器的常见用途

  • 连接可移动驱动器以便于文件传输或备份。
  • 使用专用驱动器进行高性能任务,如运行 virtual machines 或临时数据存储。

使用未分配设备插件

要充分利用您的未分配驱动器,请考虑从应用程序选项卡安装以下插件:

  • **未分配设备:**此插件允许您挂载、共享和管理具有 Unraid 支持的文件系统(如 XFSBTRFS 或 NTFS)的驱动器。

  • **未分配设备Plus:**此扩展支持额外的文件系统,包括 ExFAT 和 HFS+。

这些插件启用:

  • 使用 Unraid 网页界面轻松挂载和卸载驱动器。
  • 通过网络共享您的未分配驱动器。
  • 在服务器启动时自动挂载。
  • 格式化或擦除驱动器以备将来使用。
  • 安全地断开 USB 或外部驱动器而不产生麻烦。

有关插件安装和管理的详细信息,请查阅 插件


故障排除

驱动器显示为无法挂载

如果您在 Unraid 中看到驱动器为无法挂载,可能是由于两个主要原因之一:

  1. 添加新驱动器:如果您刚刚将新驱动器添加到设置中,除非格式化,否则它将显示为不可挂载。格式化会创建一个允许驱动器存储文件的文件系统。您可以在这里找到格式化驱动器的步骤。

  2. 文件系统问题:如果之前正常工作的驱动器突然显示为不可挂载,则可能是文件系统问题。这可能由于意外关机、写入数据时的问题或驱动器被标记为禁用(在 WebGUI 中显示为红色“x”)所导致。

important

Do not format an unmountable drive unless you are okay with losing all the data on it. Formatting will erase everything and update the parity information, making recovery impossible. Always try to fix the file system first.

如果您的驱动器无法挂载:

  1. 识别情况:确定这是新驱动器还是先前工作的驱动器。
  2. 对于新驱动器:格式化驱动器以创建一个新的文件系统(查看 格式化步骤)。
  3. 对于之前工作的驱动器:执行文件系统检查或修复(见检查文件系统)。如果您希望保留数据,请避免格式化。
备注

如果驱动器既不可挂载又被禁用(红色“x”),首先对模拟驱动器运行文件系统检查/修复。如果模拟驱动器也不可挂载并尝试重建,新驱动器也将不可挂载。

修复文件系统通常比重建驱动器所需时间更短,让您可以不丢失任何数据地访问它。请记住,重建驱动器无法修复文件系统问题;它仅确保物理驱动器与模拟驱动器相匹配,且将现有问题一同保留。

Why 奇偶校验不足够吗?

While parity helps recover a failed drive, it cannot fix file system problems. If the file system is corrupted, parity will simply replicate that corruption to the new drive.

如果您不确定:

  • 通过导航到 工具 → 诊断 来下载系统日志。
  • 如需专家帮助,请将您的问题连同诊断信息一起发布于 Unraid 论坛
Just 重申一下
  • 仅当他们是全新的或想要擦除所有数据时,才格式化无法挂载的驱动器。
  • 使用文件系统检查/修复来解决损坏文件问题;不要依靠 parity 来解决这些问题。
  • 对于有多个驱动器的 cache pools,可以考虑使用 BTRFSZFS
  • 在格式化或修复驱动器之前,请再次检查以避免意外的数据丢失。

检查文件系统

如果之前正常挂载的磁盘现在显示为不可挂载,这通常表示文件系统损坏。这可能由未清洁的关机、失败的写操作或磁盘在 WebGUI 中被标记为禁用所导致。检查和修复文件系统通常比执行重建更快更安全,因此建议在格式化或重建磁盘之前尝试此操作。

important

If the WebGUI suggests formatting an unmountable drive, do not format unless you intend to erase all data. Formatting will destroy the contents of the drive and update parity, making recovery impossible.

准备检查或修复

  1. 识别文件系统类型

    • 导航到 选项卡并选择您的磁盘(例如:磁盘 3,缓存)。
    • 找到文件系统类型(应为 XFSBTRFSZFS)。
  2. 以正确模式启动阵列:

  3. Handle emulated disks: If the disk is disabled and being emulated, run the check/repair on the emulated disk before attempting a rebuild. If the emulated disk is unmountable, the rebuilt disk will also be unmountable.

常见错误消息

信息含义/行动
超级块有坏的魔数严重损坏;尝试修复文件系统。
文件系统脏未清理的关机;执行文件系统检查。
检测到元数据损坏文件系统结构损坏;启动修复。
没有找到有效的 BTRFS磁盘可能不属于有效池;检查池分配。
挂载:错误的文件系统类型,错误的选项,等。文件系统选择错误或磁盘未经格式化。
无法挂载 /dev/mdX:结构需要清理文件系统损坏;进行修复。

通过 WebGUI

  1. 启动阵列:以正确的模式启动 array (请参阅上面的步骤)。
  2. 选择磁盘:转到 选项卡并选择您要检查的磁盘。
  3. 访问检查选项:滚动至检查文件系统状态
  4. 对于 XFS(Unraid 7.0+): 您将看到一个没有选项可供输入的 检查 按钮。系统会根据检查结果自动确定必要操作。
  5. 对于其他文件系统:输入必要的选项(详细信息请参阅右上角的帮助)。
  6. 启动检查:点击 检查 以开始过程。
  7. 监控进展:在输出框中监控进度。如有需要,使用 刷新
  8. 查看结果:查看结果。如果不确定,复制输出并在 论坛 上发帖咨询意见。

XFS 自动修复工作流程(Unraid 7.0+)

从 Unraid 7.0 开始,通过 WebGUI 完全自动化 XFS 文件系统修复:

  1. 初始检查: 点击 CHECK 按钮(无需输入选项)
  2. 检查结果:
    • 未检测到损坏:显示“未检测到文件系统损坏”,CHECK 按钮保持不变
    • 检测到损坏:显示“检测到文件系统损坏”,出现 FIX 按钮
  3. 修复过程: 点击 FIX 自动修复文件系统
  4. 其他操作: 如有需要,可能会出现 ZERO LOG 按钮
  5. 完成: 过程完成后显示“文件系统已修复”

此自动系统消除了用户手动输入修复选项的需求,并确保了正确的修复顺序。

通过命令行

通过命令行检查 XFS 文件系统:

  • 维护模式下启动 array
  • 运行以下命令:xfs_repair -v /dev/mdXp1
  • X 替换为磁盘编号(例如 /dev/md1p1)。
  • 对于加密的 XFS,使用 /dev/mapper/mdXp1
  • 对于不在 array 的驱动器: xfs_repair -v /dev/sdX1
  • 确保您使用了正确的设备标识符。
警告

在不处于维护模式array 磁盘上运行此命令将使 parity 无效。

提示
  • 文件系统修复通常比完整重建更快,并能在不丢失数据的情况下恢复访问。
  • 重建磁盘并 不会 解决文件系统损坏;请始终先运行检查或修复。
  • 如果您有疑问,请在 Unraid 论坛 上发布您的诊断和错误信息以获取专家协助。

修复文件系统

如果文件系统检查发现错误,您可能需要进行修复才能再次访问数据。修复通常比完全重建所需的时间少,但重要的是仔细阅读输出,并在不确定任何问题时在 论坛 上寻求帮助。

Timing

修复可能需要从几分钟到几个小时,尤其是对于更大或严重受损的文件系统。进度可能看起来很慢,但您可以通过查看主页上的读/写统计来查看活动。

准备进行修复

  1. 识别文件系统类型: 进入 标签页,点击磁盘,查明其文件系统类型是 XFSBTRFS 还是 ZFS

  2. 以正确模式启动阵列:

  3. Handle emulated disks: If the disk is disabled and being emulated, run the repair on the emulated disk before trying to do a rebuild.

通过 WebGUI

  1. Start the array: Start the array in the correct mode (refer to the section above).
  2. 选择磁盘: 进入 标签页并点击要修复的磁盘。
  3. 访问修复选项: 向下滚动至 检查文件系统状态
  4. 对于 XFS(Unraid 7.0+):修复过程是完全自动化的。单击 检查,如果检测到损坏,则单击 修复,如果提示,则单击 清零日志
  5. 对于其他文件系统: 去除任何会将过程置于仅检查模式的选项(如对于 BTRFS--readonly)。
  6. 添加建议选项: 如果提示,根据检查输出添加建议选项。
  7. 开始修复: 点击 检查 开始修复。
  8. 监控进展:对输出框中进度保持关注。如需使用 刷新
  9. 检查丢失的文件:如果在修复后注意到一个 lost+found 文件夹,它可能包含不能完全恢复的文件或文件夹。如有必要,可使用备份或 Linux 的 file 命令识别内容。
信息

如果对输出不确定,将其复制并分享至 Unraid 论坛 寻求专家帮助。使用代码格式选项以保持可读性。

通过命令行

  • 维护模式下启动 array
  • 运行以下命令:xfs_repair /dev/mdXp1。将X替换为磁盘编号(例如,/dev/md1p1)。
  • 对于加密的 XFS,使用:/dev/mapper/mdXp1
  • 如果系统提示使用-L,请重新运行命令如下:xfs_repair -L /dev/mdXp1。通常,这是完成修复所需且安全的操作。
  • 对于不属于array的驱动器:xfs_repair /dev/sdX1
注意

在未进入 Maintenance Mode 的情况下,对 array 磁盘运行此命令会导致校验和无效。

After 修复
  • Stop and restart the array in Normal mode.
  • 驱动器现在应挂载并可访问。
  • 如果您看到一个 lost+found 文件夹,请检查其内容是否有重要文件。

如果您不理解修复输出或过程失败,请在 Unraid 论坛 上分享您的诊断和修复日志以获得进一步的帮助。