跳到主要内容

共享

Unraid 的一个关键功能是共享的管理。共享是在您的 Unraid 服务器上可以通过网络访问的文件夹或驱动器。您可以在 Unraid 服务器上创建任意多的共享。这些共享可以被保护,并且其配置决定了数据如何在您的 array 或命名的 pool 驱动器中写入和分布。

Unraid 提供两种类型的共享,以优化您的数据管理:

用户共享与磁盘共享

需记住,两种共享类型展示的是同一底层文件系统的不同视图;在 user share 可见的任何文件或文件夹将在其相应的物理驱动器的磁盘共享下也会可见。

When you start services like Docker or VM Manager, Unraid automatically creates a set of default user shares designed to support common plugins, Docker containers, and virtual machines (VMs). You can conveniently create additional shares for your personal data as needed.

备注

To manage your shares, simply navigate to the Shares tab in WebGUI. Here, you can easily enable or disable shares through Settings → Global Share Settings. By default, user shares are enabled, providing a straightforward starting point for your file organization.


用户共享

User shares provide an aggregated view of top-level folders with the same name across cache and array drives. The share name corresponds to the folder name, creating a unified network-accessible view that spans multiple drives. It's important to note that while directories appear merged, individual files remain stored on a single drive.

管理用户共享

您可以在WebGUI中的Shares选项卡访问并管理用户共享。此界面使您能够:

  • 查看所有现有共享
  • 创建新共享
  • 修改或删除现有共享

在驱动器上手动创建的任何顶层文件夹会自动识别为用户共享并分配默认属性。

文件系统结构

At the Linux level, User shares are accessible under /mnt/user, which combines files from both the array and pools. This logical view overlays the physical file system, meaning files are also visible through Disk Shares at the drive level.

警告

已弃用的 /mnt/user0 挂载点(不包括 pool 文件)可能在未来的 Unraid 版本中删除。

存储分配

The physical drive that stores a file is determined by share settings such as Allocation Method, Included/Excluded Disks, and Split Level. Changes to these settings will affect only new files; existing files will remain untouched unless moved manually.

:::caution[Critical]

请勿混用用户共享和磁盘共享

切勿直接在 user sharedisk share 之间复制或移动文件(例如,在 /mnt/user/share/mnt/disk1/share 之间),特别是当文件夹名称相同时。这可能导致文件损坏或永久数据丢失。

有关安全文件管理实践和更多细节,请参见下方的磁盘共享指南

:::

添加共享

在创建共享之前,请考虑如何使用它、您的性能需求、安全性以及文件应存储在哪里。

Share 名称

尽管网络共享(SMB)不区分大小写(例如,MEDIAmedia相同),Linux文件系统却不这样。因此,避免使用名称仅在大小写上有所不同的名称,以防止出现问题。

要添加共享:

  1. 进入Shares选项卡并点击添加共享
  2. 为您的共享选择一个独特的名称,例如MediaDocuments
  3. 配置可选设置:
    • 评论:写一个简短的描述来识别您的共享(例如,“家庭照片”)。
    • 最小空闲空间:决定最小空闲空间数量(例如,对于大文件为50GB)。更多详情请参见最小空闲空间
  4. 选择存储位置:
    • Primary Storage: Choose where the share will initially be stored (e.g., cache, array, or a specific pool).
    • 次要存储:设置一个可在主要存储已满时使用的溢出位置,还作为Mover运行后共享的最终目的地。
    • 更多详情请参见主要和次要存储
  5. 设置数据规则:
  6. 管理驱动器:
    • 包含的磁盘:选择要包含的特定驱动器(例如,disk1,disk2)。
    • 排除的磁盘:指定您要排除的任何驱动器(如旧驱动器)。
    • 更多详情请参见包含或排除的磁盘
  7. (可选)配置Mover设置:
  8. 点击添加共享以完成新共享的设置。
important

默认情况下,新共享将不会通过网络共享。您必须在创建共享后配置网络访问

提示

您可以配置包含的磁盘或排除的磁盘,但不能同时配置两者。

删除共享

important

为防止任何潜在的数据丢失,包含数据的共享无法删除。您必须首先删除或重新定位共享中的所有内容。在删除共享之前,请务必仔细检查以确认共享是空的。

删除包含数据的共享

对于包含数据的共享:

  1. 清空共享:

    • 使用内置的文件管理器,可通过工具→文件管理器访问,或单击右上角的文件管理器图标。
    • Shares 中找到您的共享并点击 浏览 图标。
    • 使用文件管理器删除或移动所有文件。
    替代方法

    您还可以:

    • 使用命令行:打开Web终端工具→终端)或通过SSH连接,然后运行rm -rf /mnt/user/[share_name]/*(将 [share_name]替换为您的共享名)。

    • 使用网络访问:通过Windows 资源管理器 (SMB) 或 macOS 查找器 (AFP/SMB) 连接并手动删除文件。 :::警告 使用 rm -rf 命令将永久删除文件。 在使用它之前仔细检查。 确保在删除共享之前没有 Docker 或 VM 服务正在使用。 :::

  2. 删除共享:

    • 返回Shares并点击现在已空的共享。
    • 选中 删除 框并点击 删除
    • 确认并点击 完成

删除空共享

要删除已空的共享:

  1. 转到Shares 选项卡。
  2. 点击您要删除的共享。
  3. 选中删除旁边的框。按钮会变为删除
  4. 点击 删除
  5. 确认并点击 完成

共享设置

最小空闲空间

The Minimum Free Space setting works in conjunction with the allocation method and split level to determine where new files are stored. This setting specifies the amount of free space that must remain on a drive for it to be considered eligible for new file writes. If a drive's free space falls below this threshold, Unraid will stop placing new data on that drive, provided that the split level permits splitting to another disk.

原理

在传输文件(例如 file.eg)时,Unraid 会根据可用设置选择磁盘,但无法预测文件的最终大小。如果所选磁盘在传输过程中空间不足,操作将失败并出现 "磁盘已满" 错误。为了防止这种情况,请将 最小空闲空间 设置为大于最大文件的值。这确保 Unraid 避免选择无法容纳整个文件的磁盘。

建议

将此值设置为最大文件的两倍。例如:

  • 如果您最大的文件是 8GB,设置最小空闲空间为 16GB。

此缓冲区可解释文件大小差异并有助于防止传输失败。

配置

  • 以 KB、MB、GB 或 TB 为单位输入值(例如,50GB)。
  • 新的 user shares 默认值为磁盘总容量的 10%。
警告

在使用填满 allocation method时,总是配置最小可用空间。如果您不设置它,您可能会在写入操作期间遇到“磁盘满”错误。

注意

There is a separate Minimum Free Space setting for cache pools. You can access this by going to the Main tab and clicking on a pool. Make sure to set this value higher than your largest file to avoid overfilling, especially for shares configured with Yes or Prefer cache modes.

限制

  • Unraid prioritizes split level rules over free space settings. If splitting is not allowed, files may still fill up a disk regardless of the free space threshold.
  • 更新现有文件(例如,扩展备份文件)不会触发重新分配,随着时间的推移可能导致“磁盘已满”错误。

欲获得更详细的指导,请在配置您的共享时使用WebGUI中的帮助图标。


主要和次要存储

Unraid 的存储管理让您可以控制新文件的写入位置以及数据如何在 poolscachearray 之间移动。Unraid 6.12+ 和早期版本的选项和术语不同。

主存储”设置确定新的共享文件的初始写入位置——这可以是**%%cache|缓存%%%%array|阵列%%或任何命名的%%pool|缓存池%%。 如果主存储低于最小空闲空间**阈值,“次级存储”设置指定新的文件和文件夹的备用位置。

Mover 功能根据您的计划自动在主存储和次级存储之间转移文件,确保最佳性能和存储利用。

主存储到次级存储

备注

如果您选择 %%array|阵列%% 作为主要或辅助存储设备,还必须配置其 %%allocation method|分配方式%%%%split level|分层级别%% 以及任何 %%included or excluded disks|包含或排除的磁盘%%。这些设置不适用于 %%pools|缓存池%%。

主存储下拉:

  • 每个共享都需要此设置。
  • 您必须选择主存储设备或 pool(默认是 Cache)。
  • 您可以选择任何命名的 poolarray

次级存储下拉:

  • 无: 未为共享设置次级存储(可选)。
  • 如果主存储是 pool,可用的选项有 阵列另一个池
  • 如果主要存储是 阵列,则 和任何符合条件的 %%pools|缓存池%% 可用。

在缓存和数组之间移动文件

Unraid provides a straightforward way to manage file placement between cache pools and array, allowing you to optimize performance and manage your data effectively. The key is to set up your share settings based on your preferred data flow and let the Mover handle file transfers automatically according to its schedule.

Scheduling the Mover

You can configure the Mover schedule by going to Settings → Scheduler → Mover Settings. Running it automatically during off-peak hours helps move files between the cache and array without requiring manual action.

缓存到数组

使用场景: 将文件从高速 cache 移到 array 以长期存储。

  1. 在共享设置中,将 主要存储 设置为 缓存次要存储 设置为 数组
  2. Mover 操作 设置为 缓存 -> 数组
  3. Mover 根据您的计划自动运行以传输文件。可以手动运行 Mover,但没有必要。

数组到缓存

Use case: Improving performance for Docker containers and VMs by moving files to the cache.

  1. 在共享设置中,将 主要存储 设置为 缓存次要存储 设置为 数组
  2. Mover 操作 设置为 数组 -> 缓存
  3. Mover 将依据您的日程自动运行以移动文件,并可选择手动运行。
Enabling 启用 Mover 日志记录以进行故障排查

如果您遇到文件移动问题,可以通过 Settings → Scheduler → Mover Settings 页面启用 Mover 日志记录。这会记录每个移动的文件,并可在 Tools → System Log 中查看。

Critical 双向关键步骤
  • 确保您的 parity 是有效的,然后将文件从 array 移动到 cache
  • 如果处理大型数据集,请通过日志监控 Mover 活动。
  • 如果文件似乎“卡住”,请考虑暂时禁用Docker和VM管理器,然后通过主界面→阵列操作→移动手动运行Mover

分配方法

当您创建新用户共享或在其中添加任何文件或文件夹时,系统需要决定将数据存储在哪里。通常,它会选择可用空间最多的数据磁盘。不过,您可以调整某些设置来改变这种决策。

您可以选择三种简单的选项来选择系统为您的用户共享分配存储的方式:

高水位(推荐)

原理

高水位 方法通过基于最大驱动器容量的一半的“切换点”逐步填充磁盘。这样可以平衡磁盘使用,同时保持相关文件在一起,并最大限度地减少驱动器的启动频率。

示例:8TB,3TB 和 2TB 驱动器

  1. 第一步: 将 8TB 驱动器填满,直到剩余 4TB 空间(8TB 的一半)。
  2. 第二步: 填满 8TB/3TB 驱动器,直到剩余 2TB 空间。
  3. 第三步: 填满所有驱动器,直到剩余 1TB 空间。

最佳用途:

  • 媒体服务器(例如 Plex)
  • 情境,需要在更少的磁盘上保持文件以提高停转效率
  • 大小混合的数组
备注

高水位是默认方法,适合大多数用户。与“最多空闲”相比,它减少了驱动器的翻转。

Most-Free

原理

最空闲 方法为每个新文件选择空闲空间最多的磁盘。这可以最大化存储效率,但会增加驱动器震荡。

性能影响

  • 频繁的磁盘切换使多个驱动器保持转动
  • 由于交叠的操作可能降低 parity 写入速度

最佳用途:

  • 高通量工作流(例如视频编辑)
  • Temporary or cache-like data
  • 阵列中性能比节能更重要
提示

Combine with split level settings to group related files despite frequent disk switching.

Fill-Up

原理

Fill-up 方法按数字顺序将文件写入磁盘,直到达到 最小剩余空间 阈值,然后转移到下一个磁盘。

要求

  • 始终设置 最小剩余空间(例如 2x 最大文件大小)
  • 配置 分层级别 控制文件分组

最佳用途:

  • 静态数据归档
  • 喜欢手动管理磁盘的用户
  • 具有相同驱动器大小的阵列
注意

未配置 最小剩余空间 "磁盘已满" 错误将会出现,当驱动器容量接近时。


分级水平

Unraid 中的 Split Level 设置有助于管理文件和文件夹在多个磁盘中的组织方式。它决定了文件夹结构在不同磁盘上可以深入的程度,同时保持某些文件在一起。split level 从 1 开始编号,其中顶层(主共享)视为第 1 级。

自动分割任何目录(默认)

行为

Unraid 会在选定磁盘上创建所需的文件夹,而不考虑文件夹的深度。新文件和文件夹基于 allocation method 和可用空间进行放置,即使它们的父目录尚未存在于该磁盘上。

用例

适用于目录结构不关键的一般数据共享,如下载或混合媒体库。允许文件放置和磁盘利用的最大灵活性。

仅自动拆分顶层

行为

Unraid will only create first-level subfolders on a disk if they don't already exist. For deeper folders, new files and folders are placed on the disk where the parent directory exists.

用例

非常适合媒体库(例如,电影/标题),在这种情况下,您希望特定子文件夹的所有文件(如电影或电视节目)保留在同一个磁盘上。

自动拆分顶层“N”级

行为

您可以指定 Unraid 将自动管理的目录级别数(N)。对于等于或高于级别 N 的文件夹,Unraid 可根据需要创建它们。对于更深的级别,新文件放在父目录所在的磁盘上。

用例

适用于复杂的文件夹结构,如嵌套项目目录,您希望将相关内容超越顶层分组在一起。

手动(无自动拆分)

行为

Unraid 仅在父目录已存在的磁盘上放置新文件或文件夹。不会自动创建新目录。

用例

最适合希望完全手动控制文件放置的高级用户,或文件夹结构必须保持固定的归档数据。

important

如果最小空闲空间拆分级别分配方法之间存在冲突,%%拆分级别%%设置将优先。即使其他驱动器有可用空间,这可能会导致“空间不足”错误。


包含或排除的磁盘

这些设置帮助您管理哪些驱动器可以保存您的共享文件。可以包含特定磁盘或排除某些磁盘 - 只是不要同时进行!如果您没有选择特定磁盘,Settings → Global Share Settings 中允许的所有驱动器都将被使用。

Unraid 首先检查任何包含的磁盘,然后查看排除的磁盘以确定存储文件的位置。之后,它利用 split levelallocation method 选择合适的磁盘。

磁盘选择逻辑

important

included 和 excluded disks 的设置仅影响可以保存新文件的位置。即使匹配您的共享名的文件夹上的任何现有文件仍然可以从不同磁盘读取。

包含的磁盘

行为

Unraid 在决定为共享放置新文件时,只会考虑列出的磁盘。除列出的磁盘外,其他所有磁盘均被忽略,但已存在其他磁盘上的文件仍可读取。

用例

如果您希望将共享限制在某些磁盘,例如将重要文件放在较新或更高容量的驱动器上,或将媒体库隔离到特定磁盘以获得性能或组织原因,请使用此设置。

排除的磁盘

行为

Unraid 会使用除此处列出的磁盘以外的所有符合条件的磁盘来为共享放置新文件。与已包含磁盘相同,已存在于已排除磁盘上的文件仍可供读取。

用例

使用此设置可防止共享使用某些磁盘,例如排除旧驱动器、较慢的磁盘或保留给其他数据类型的驱动器。


默认共享

When you use Unraid with Docker or Virtual Machines (VMs), it automatically creates some default shares.

important

这些共享仅在您启动相应的服务(Docker或VM管理器)后创建。如果您没有看到这些共享,请确保Docker和/或VM管理器已启用并正在运行。

如果不想使用这些共享,可以删除它们,但我们通常建议保留它们以方便。这些共享有助于保持组织性,并在遇到问题时更易于获取支持。

以下是每个默认共享的快速概述:

  • appdata:这是您的 Docker 容器的所有工作文件的存储位置。每个 Docker 容器通常在此处都有自己的文件夹。
  • system:此共享保存Docker应用的基本文件和您的VMs的XML模板。
  • domains:此共享用于存储您的VMs使用的虚拟磁盘映像(vdisks)。
  • isos:这是您可以保存要与您的VMs一起使用的CD ISO映像的位置。
important

最好不要更改这些默认共享的大部分权限,因为这样可能导致Docker容器和VMs的工作出现问题。唯一建议更改权限的共享是isos共享,因为这个共享可以通过网络访问,以便为虚拟机添加新的ISO文件。


磁盘共享

磁盘共享只是您的 Unraid 系统中可以通过网络访问的单个驱动器或 pools 驱动器。默认情况下,这些共享是关闭的,但您可以通过 Settings → Global Share Settings 部分轻松启用它们。

为了确保安全,请务必适当地设置这些共享的用户访问权限。如果您的网络有多个用户访问,这一点尤为重要。

要启用磁盘共享:

  1. 导航到 设置
  2. 点击 全局共享设置
  3. 打开磁盘共享,使它们在您的网络中可见。

一旦启用,您将在 Unraid GUI 中 Shares 标签下的 Disk Shares 部分注意到磁盘共享。您的 array 中的每个驱动器都可以这样访问:

  • 个别驱动器: 这些以 /mnt/diskX 形式出现,其中 X 是磁盘编号(例如,disk1disk2 等)。
  • 成组驱动器: 如果您有多个驱动器结合在一起,它们将显示为 /mnt/pool-name。最常见的 pools 叫做 cache,但您可以根据自己的喜好命名您的 pools
important

The Unraid flash device, which stores your Unraid settings, is not treated as a disk share. If you want it to be accessible over the network, you can set it up as a share named 'flash'. This device is mounted at /boot in Linux.

出于安全原因,最好将您的共享保持在私有模式下,仅授予可信用户访问权限。

磁盘共享指南

Important 提醒

切勿直接在用户共享和磁盘共享之间复制文件,如果它们的文件夹名称相同,这可能导致文件被损坏或删除,进而永久丢失数据。

User sharesdisk shares 在界面中可能看起来不同,但可以指向磁盘上的相同文件。Linux 命令如 cprsync 无法总是区分,这可能意外导致文件覆盖或删除。

安全复制提示

  1. 坚持一种类型的共享:

    • 仅在 %%user shares|用户共享%% 或磁盘共享之间复制文件,而不要同时在两者之间。
    • 示例: 将文件从一个用户共享复制到另一个用户共享: cp /mnt/user/share1/file /mnt/user/share2/file
  2. 安全使用外接驱动器:

    • 使用 Unassigned Devices plugin 连接外接驱动器以防止问题。
    • /mnt/disks/ 复制文件,而不是从主要的 %%array|阵列%% 或 %%cache|缓存%% 路径。
  3. **核对副本:**在本地移动文件时,您可以使用 rsync -c 检查文件是否正确复制。

  4. Don't mix share types: Avoid using paths that mix user shares and disk shares, such as /mnt/user/share/ with /mnt/disk1/share/ in the same command.

:::tip[Transferring 从外部网络共享的文件

If you need to transfer files from external Windows or Linux network shares (SMB/CIFS) to your Unraid server using command-line tools, see File transfer operations in the Command line interface documentation.

:::