Unraid文件系统管理

2020-02-23 11:22:26    Unraid官网-tmtony翻译    12166

文件系统管理

选择文件系统类型

Unraid系统中的每个阵列驱动器均设置为独立文件系统。Unraid当前支持以下文件系统类型:

  • XFS:这是新系统上阵列驱动器的默认格式。这是一个久经考验的Linux文件系统,被认为是最强大的。
    • XFS比BTRFS更能从文件系统损坏中恢复(这种情况可能在不正常的关机或系统崩溃后发生)。
  • BTRFS:这是一个较新的文件系统,支持XFS不提供的高级功能。它被认为不如XFS稳定,但是许多Unraid用户报告说,在阵列驱动器(每个驱动器均为独立文件系统)上使用时,其稳定性与XFS一样。它的一些功能是:
    • 它支持通过内部使用校验和技术来检测文件内容损坏(通常俗称比特腐烂)
    • 它可以支持跨多个驱动器的单个文件系统,在这种情况下,不必使所有驱动器都具有相同的大小。
    • 在多驱动器模式下,可以支持各种级别的RAID(尽管这些是BTRFS特定的实现,不一定是预期的实现)。在Unraid中,缓存池的默认值为RAID1,以便冗余存储数据以防止驱动器发生故障。
    • 当使用缓存池跨越多个需要作为单个逻辑驱动器运行的驱动器时,它是唯一受支持的选项,因为这需要多驱动器支持。
    • 在高速缓存池中的多驱动器模式下,总会有多少可用空间并不总是很明显。BTRFS空间计算器可以帮助这一点。
  • ReiserFS:由于旧的原因而支持该功能,因为那些原因是从Unraid的较早版本迁移的,而Unraid是唯一受支持的文件系统类型。
    • 最初的开发商因谋杀妻子而入狱。结果,Linux内核开发人员只需要很少的精力就可以在新的Linux内核版本上维护ReiserFS驱动程序,因此,新内核引起ReiserFS问题的机会要比其他Linux优良系统类型高。
    • ReiserFS文件系统上的硬盘限制为16TB,现在商业级硬盘驱动器已达到此限制。
    • 随着文件系统开始变满,写入性能可能会大大降低。
    • 它非常擅长从极端的文件系统损坏中恢复。
    • 现在已不建议将其与Unraid一起使用,并且不应由新用户使用。

这些格式是标准Linux格式,因此我们可以轻松地从阵列中删除任何阵列驱动器并在任何Linux系统上读取它们。这在任何数据恢复方案中都非常有用。但是请注意,初始格式需要在Unraid系统上完成,因为Unraid对如何分区磁盘有特定要求,如果未在Unraid上进行分区,则磁盘将很难满足该要求。不幸的是,在Windows或MacOS系统上,这些格式无法轻易读取,因为在未安装无法免费获得的其他软件的情况下,这些操作系统无法识别文件系统格式。

用户可以在其Unraid系统中混合使用这些文件系统类型,而不会引起任何特定问题。特别是Unraid奇偶校验系统与文件系统无关,因为它在物理扇区级别工作,甚至不知道任何特定驱动器上正在使用的文件系统。

另外,驱动器可以加密

如果使用高速缓存池(即多个驱动器),则唯一支持的类型是BTRFS,并且该池被格式化为单个实体。默认情况下,它将是RAID1的BTRFS版本,以提供冗余,但是其他BTRFS选项可以通过运行适当的 btrfs命令来实现

设置文件系统类型

可以通过两种方式设置新驱动器的文件系统类型:

  1. 设置->磁盘设置下,可以设置阵列驱动器和缓存池的默认类型。
    • 在新的Unraid系统上,这将是用于阵列驱动器的XFS和用于缓存的BTRFS。
  2. 通过单击“主”选项卡上的驱动器(阵列已停止)并从提供的驱动器中选择一种类型,可以显式地显示单个驱动器。
    • 首次添加驱动器时,文件系统类型将显示为 自动,这意味着使用 设置->磁盘设置下指定的 设置
    • 设置显式类型将覆盖全局设置
    • 包含多个驱动器的缓存的唯一受支持格式是BTRFS。


创建文件系统(格式)

必须先在磁盘上创建所需类型的空文件系统,然后才能在Unraid中使用磁盘。这是通常称为“格式化”的操作,它 会擦除磁盘上的所有现有内容。

警告:
如果硬盘已被格式化Unraid然后,如果它现在显示为 无法卸载你可能 希望除非你想重新格式化 擦除其内容。在这种情况下,通常应采取适当的措施而使用稍后详细介绍 文件系统检查/修复过程

设置文件系统类型后,格式化驱动器的基本过程是:

  • 启动阵列
  • 其中Unraid不承认任何格式的驱动器将显示为 无法卸载,并会出现格式化无法挂载驱动器的选择
  • 检查 所有显示为可卸载的驱动器都是您要格式化的驱动器。您不想意外格式化另一个驱动器并擦除其内容
  • 单击复选框,说您确实要格式化驱动器。
  • 仔细阅读结果对话框,概述后果
  • 现在将启用“  格式”按钮,因此,如果要继续使用格式,请单击它。
  • 格式化过程将针对指定的磁盘开始运行。
    • 如果Unraid以前未使用过该磁盘,则它将首先重写驱动器上的分区表以符合Unraid期望的标准。
  • 格式只需要几分钟,但是如果进度没有自动更新,则可能需要刷新“主要”选项卡。

格式化完成后,驱动器就可以开始用于存储文件了。

检查文件系统

如果先前已正常安装的磁盘突然开始显示为 不可安装,则通常意味着文件系统级别存在某种损坏。最常见的情况是在不正常关机后发生,但可能在写入驱动器文件或驱动器最终被标记为“已 禁用”(即在Unraid GUI中用红色“,”标记)时发生。

重要说明: 此时,Unraid GUI将提供格式化未安装驱动器的选项。这将 擦除驱动器上的所有内容并 更新奇偶校验以反映这一点,从而使恢复数据变得不可能/非常困难,因此除非您乐于丢失驱动器的内容,否则 要这样做。

要从文件系统损坏中恢复,则需要运行适用于磁盘上文件系统的工具。需要注意的是,Unraid的新用户经常会误解以下几点:

  • 重建磁盘 无法修复文件系统损坏
  • 如果磁盘显示为正在仿真,则针对仿真驱动器而不是物理驱动器运行文件系统检查和/或修复。

使用Unraid GUI检查文件系统的过程如下:

  1. 停止阵列
  2. 在维护模式下启动阵列
  3. 在主选项卡中单击驱动器
  4. 转到结果对话框中标有“  检查文件系统状态”的部分
  5. 显示将运行的工具,此时的状态将显示为“  不可用”“  选项”字段可能包含一个参数,该参数使选定的工具以“  仅检查”模式运行,因此实际上不会更改基础驱动器。
  6. 单击检查按钮以运行文件系统检查
  7. 现在显示有关检查进度的信息。您可能需要使用“  刷新”按钮来进行更新。
  8. 如果不确定检查结果意味着什么,则应复制进度信息,以便可以在论坛中提问。当将此信息作为论坛帖子的一部分使用时,请将其标记为 代码(使用 <?>图标)以保留格式,否则将难以阅读。

修复文件系统

您通常在执行上述检查后才运行此程序,但是如果跳过此步骤,请按照步骤1-4进行操作,以准备进行修复。启用GUI中内置的帮助以获取有关此过程的更多信息是一个好主意。

  1. 从“  选项”字段中删除所有会使该工具在 仅检查模式下运行的参数。
  2. 在检查阶段建议的所有其他参数添加到所需的“  选项”字段中。如果不确定,请在论坛中提问。
    • GUI中的“帮助”可以提供有关哪些选项可能适用的指导。
  3. 按检查按钮开始修复过程。现在,您可以定期使用“  刷新”按钮来更新进度信息
  4. 如果维修由于任何原因未能完成,请在论坛中寻求有关如何最好地进行的建议。
    • 当问这样的问题时,以及将修复尝试的输出作为论坛帖子使用 码选项的一部分包含在内时,以保留格式,否则将很难阅读
  5. 如果修复顺利完成,请停止阵列并以正常模式重启。现在,驱动器应正确安装。

如果您在任何时候都不了解发生了什么,请在论坛中提问。

更改文件系统类型

在某些情况下,您可能希望更改特定驱动器上的文件系统类型。步骤概述如下。

重要说明:这些步骤将 擦除驱动器上的 所有现有内容,因此,如果您不想丢失文件系统类型,请确保先尝试将其复制到其他位置,然后再尝试更改文件系统类型。

  1. 停止阵列
  2. 单击要更改其格式的驱动器
  3. 将格式更改为您要使用的新格式。如有必要,请对每个驱动器进行重复操作
  4. 启动阵列
  5. 现在,主选项卡上将提供一个选项,用于格式化无法安装的驱动器并显示这些驱动器。检查仅显示您期望的驱动器。
  6. 选中复选框以确认格式,然后按“格式”按钮。
  7. 现在将开始格式化。通常只需要几分钟。在某些情况下,状态不会更新,但刷新“主要”选项卡通常可以解决此问题。

如果出现任何问题,请在论坛中要求将您的系统诊断zip文件(通过“工具”->“诊断”获得)添加到您的帖子中。

笔记:

  • 对于固态硬盘,您可以使用
 blkdiscard / dev / sdX 
在控制台中,“ X”对应于设备的Unraid GUI中当前显示的内容。请小心以确保正确无误,因为您不想意外擦除错误驱动器中的内容。


转换为新的文件系统类型

在更改文件系统的特殊情况下,您要保留驱动器的内容。这样做的最常见原因是那些运行较早版本的Unraid的用户,其中唯一受支持的文件系统类型为reiserFS(现已弃用),并且他们希望将驱动器切换为使用XFS或BTRFS文件系统。但是,可能有些用户出于其他原因想要在文件系统类型之间进行转换。

简单来说,过程是:

  1. 将数据从有问题的驱动器中复制到另一个位置。这可以在阵列上的其他位置,也可以在其他合适的位置。
    • 您必须有足够的可用空间来临时保存此数据
    • 许多用途是在将新驱动器添加到阵列后立即进行的,因为这为它们提供了所需的可用空间。
  2. 请按照上述步骤更改驱动器的文件系统类型。这将留下一个空驱动器,该驱动器现在具有正确的格式,但是上面没有文件。
  3. 将您在步骤1中保存的文件复制回此驱动器
  4. 如果您有多个需要转换的驱动器,请一次执行一个。

当您复制大量数据时,这是一个耗时的过程。但是,这大部分是 计算机时间,因为用户不需要一直在现场密切观察实际的复印步骤。


重新格式化驱动器

如果您有机会重新格式化驱动器以擦除其内容,以保留现有文件系统类型,那么许多用户会发现从Unraid GUI执行此操作可能并不明显。

为此,请按照上述过程两次更改文件系统类型。首次将其更改为任何其他类型,然后将其格式化为新类型后,请重复此过程,这次将类型设置回为您的开始类型。


BTRFS运营

有许多特定于BTRFS格式的驱动器的操作,在其他格式中没有直接等效的操作。

平衡

与大多数常规文件系统不同,BTRFS使用两阶段分配器。第一阶段为特定类型的数据分配称为块的较大空间区域,然后第二阶段在这些较大区域内分配类似于常规文件系统的块。共有三种不同类型的块:

  • 数据块:这些存储常规文件数据。
  • 元数据块:这些存储有关文件的元数据,其中包括时间戳,校验和,文件名,所有权,权限和扩展属性。
  • 系统块:这是一种特殊的块,用于存储有关所有其他块所处位置的数据。

只能将为块分配的数据类型存储在该块中。这些天来,当您在BTRFS上遇到-ENOSPC错误时,最常见的情况是文件系统中现有数据块中的数据或元数据空间不足,无法分配新的数据块。您可以通过在引发错误的文件系统上运行btrfs fi df来验证是否是这种情况。如果“数据”或“元数据”行显示的“总计”值与“已使用”值明显不同,则可能是原因。

btrfs balance的作用是通过分配器将事物发送回去,这导致压缩块中的空间使用情况。例如,如果您有两个均占40%的元数据块,则余额将导致它们变成一个占80%的元数据块。通过像这样压缩空间使用量,平衡操作便能够删除现在空的块,从而为分配新的块腾出空间。如果您在运行余额后再次运行btrfs fi df,则应该看到Total和Used值彼此更接近,因为balance删除了不再需要的块。

BTRFS平衡操作可以在Unraid GUI中运行,方法是单击“主”选项卡上的驱动器,然后从出现的对话框中运行scrub。显示该卷的当前状态信息。您可以选择添加要传递给平衡操作的参数,然后按“平衡”按钮开始清理。

擦洗

清理涉及从所有磁盘读取所有数据并验证校验和。如果任何值不正确,则可以通过从另一个驱动器读取该块的良好副本来更正数据。清理代码还会在读取时自动进行扫描。建议您每周一次擦洗高可用性文件系统,而每月一次擦洗所有其他文件系统。

您可以通过触发文件系统清理作业来启动对整个文件系统的检查。清理作业会扫描整个文件系统的完整性。它会自动尝试报告和修复沿途发现的任何坏块。清理作业不是处理整个磁盘驱动器,而是仅处理实际分配的数据。根据分配的磁盘空间,这比执行磁盘的整个表面扫描要快得多。

可以从Unraid GUI中运行BTRFS清理操作,方法是单击“主要”选项卡上的驱动器,然后从出现的对话框中运行清理。