Lazy loaded image
入门系列
4️⃣Unraid 7.0 新手入门系列:使用存储
字数 4024阅读时长 11 分钟
2025-4-18
2025-4-17
type
status
date
slug
summary
tags
category
icon
password
在上一章节,博主简单介绍了 Unraid 上存储池的相关管理方法,在本章节,将介绍在配置好存储池之后,用户应该如何去使用存储池。

1. 文件共享协议

NAS 通过网络进行数据的传输,当我们需要使用 Unraid 上的存储时,我们往往使用相应的文件共享协议去传输文件,Unraid 上最常用的几种文件共享协议如下:
  • SMB(Server Message Block):通常用于 Windows 网络环境中的文件共享。它也支持跨平台,可以在 Linux、macOS 和 Unraid 等系统中使用。Unraid 默认使用 SMB 协议来共享文件和文件夹。
  • NFS(Network File System):主要用于 Unix/Linux 系统之间的文件共享,适合在 Linux 或 macOS 客户端上访问 Unraid 服务器上的文件。NFS 以其高性能和低延迟著称。
  • WebDAV(Web Distributed Authoring and Versioning):基于 HTTP/HTTPS 的文件共享协议,适合通过 Web 浏览器或其他支持 WebDAV 的客户端访问文件。它常用于远程文件管理和协作。
  • FTP(File Transfer Protocol):是最早的文件传输协议之一。FTP 支持匿名访问和用户认证,由于安全性不足,建议在需要加密传输时使用其变种(如 SFTP 或 FTPS)。在 Unraid 中,FTP 可以作为 SMB、NFS 和 WebDAV 的补充协议,满足特定的文件共享需求。
绝大多数情况下,使用 SMB 即可满文件传输的需求。

2. 用户共享(User Shares)介绍

在 Unraid 系统中,用户共享(User Shares)是一个非常重要的功能,它允许你创建和管理文件共享,以便在网络中与其他设备或用户共享数据。因此,用户共享是我们使用 Unraid 存储的基本入口
“共享”页面下的每一个文件夹就叫做用户共享文件夹
“共享”页面下的每一个文件夹就叫做用户共享文件夹

2.1 什么是用户共享?

用户共享是 Unraid 中基于文件系统的逻辑共享文件夹,它可以跨越存储池将文件存放在多个存储设备上。通过用户共享,用户可以将文件组织在不同的文件夹中,并根据需要设置访问权限。简单来说,用户可以不用关心文件具体存放的位置,用户共享会按照一定的规则,帮用户将文件存储在相应的磁盘上。
补充:关于用户共享是逻辑共享文件夹这一概念,我常常会将其与 Windows 进行对比理解
在 Win 系统中,当需去查找或存储一个文件时,我们需要到对应的分区(如 C 盘),只有明确了分区之后才可以找到或存储相应的文件;但在 Unraid 中我们不需要关心具体的某一个分区或者磁盘,我们只需要找到对应的用户共享文件夹即可,因为用户共享文件夹会在逻辑上整合所有磁盘内的文件目录信息。
关于用户共享这一块更细致的说明,读者可以移步此篇文章:《为什么unRAID下载/拷贝文件时CPU占用高:详解FUSE-SHFS、I/O问题和解决办法》
用户共享文件夹的逻辑视图
用户共享文件夹的逻辑视图
Win 系统的存储视图
Win 系统的存储视图
用户共享的特点:
  • 跨磁盘存储:用户共享可以分布在多个磁盘上,Unraid 会自动管理文件的存储位置。
  • 缓存池支持:你可以为共享文件夹指定使用池(例如缓存池),以加速频繁访问的文件。
  • 灵活的权限管理:可以为每个共享文件夹设置不同的访问权限(读/写/禁止访问)。
  • 文件系统透明:用户共享是基于标准的文件系统(如 XFS、BTRFS),因此即使脱离 Unraid 系统,数据仍然可以直接访问。

2.2 默认用户共享文件夹介绍

默认情况下,Unraid 会自动创建以下四个用户共享:
  • appdata :Docker 容器应用配置文件默认存储目录。
  • domains :虚拟机虚拟硬盘默认存储目录。
  • isos :系统安装镜像默认存放目录。
  • system :Docker 和虚拟机的 .img 镜像默认存放位置。
关于上述这四个用户共享的介绍,博主已经在另一篇文章《新手教程:Unraid 默认共享文件夹的作用以及分配方法的说明》的第一章节做过介绍,此处不再赘述。
创建用户共享文件夹很简单,点击添加共享即可开始创建:
notion image
如下图,配置上无需复杂的设置,只需要填写好 共享名称 后点击最下方的 添加共享 即可完成创建:
notion image
共享文件夹属性说明:关于用户共享文件夹的其他属性,可以通过这里的资料补充资料进行了解,如果看不懂也没关系,这不影响后续的使用。
当我们点击共享界面下的 添加共享 后,就会进入共享文件夹的属性配置界面,共享文件夹的属性配置界面是这样的:
notion image
我们先重点关注 新文件和文件夹的主存储空间 这个选项的相关配置:
1️⃣ 当 新文件和文件夹的主存储空间阵列 时的相关属性说明(分配方法、拆分级别、包含的磁盘、已排除的磁盘)
notion image
  1. 分配方法:此设置确定在创建新文件或目录时,Unraid 如何选择要使用的磁盘,或者说如何确定文件应该写入到哪一个磁盘中。关于分配方法的具体说明,博主已经在另一篇文章《新手教程:Unraid 默认共享文件夹的作用以及分配方法的说明》的第二章节做过介绍,此处不再赘述。
  1. 拆分级别:确定是否允许目录扩展到多个磁盘。此项属性的说明相对会有些困难,博主会另起一篇文章做讲解,此处先略过,因为它的配置不会影响我们的正常使用。
  1. 包含的磁盘:指定这个共享文件夹可以使用的磁盘。默认情况下所有磁盘都包括在内,也就是说,这个共享文件夹里面的文件可以存储在阵列中的所有磁盘中。
  1. 已排除的磁盘:指定这个共享文件夹不能使用哪一些磁盘,被选定的磁盘不会被这个共享文件夹所使用,也就是说,往这个共享文件夹写入文件时,不会存储在对应的磁盘中。
2️⃣ 当 新文件和文件夹的主存储空间 为池时的相关属性说明(辅助存储、Mover)
假设用户当前的存储配置如下(阵列 ➕ 一个池):
同时存在阵列和池存储
同时存在阵列和池存储
如果用户的存储池同时存在阵列和用户自定义池,那么 新文件和文件夹的主存储空间 会有两种选项,分别是阵列和池,如下所示:
Cache 是池的名字,假设你的池名字为 pool,那么这里的第二个选项会显示为 Pool
Cache 是池的名字,假设你的池名字为 pool,那么这里的第二个选项会显示为 Pool
这个设置的作用是,当写入文件到这个用户共享文件夹时,会优先存储在阵列还是优先存储在池。这里以实际的例子来进行讲解:
主存储和辅助存储的概念其实很简单,在实际配置上也很容易,这里写的细一点是为了能覆盖常见的使用场景。
主存储:阵列
选择 阵列 作为主存储空间后,就意味着当这个共享文件夹写入数据时,所有的数据都只会写入到阵列存储,此时不会有 辅助存储 的配置项:
notion image
主存储:池,辅存储:阵列
首先,选择了池作为主存储空间之后,会多出一个叫做 辅助存储 的选项:
notion image
辅助存储 的选项会包含阵列以及所有的池:
notion image
辅助存储有两个作用:
  1. 作为次要存储空间使用:当主存储空间大小不足,那么新产生的文件就会写入到辅助存储,避免因主存储空间不足,造成无法写入数据到用户共享的情况。
  1. 起到文件读写加速作用:最常见的用法就是用作缓存池 —— 先把文件写入到速度更快的缓存池中,然后 Unraid 会借助一个叫做 Mover 的程序,将缓存池中的数据转移到阵列中;或者也可以倒过来,将阵列中那些需要加速读写的文件,通过 Mover 转移到池中。
举例来说,如下图所示,我们选择池(Cache)作为主存储空间,阵列作为辅存储空间:
notion image
那么意味着:
  • 当文件写入到这个用户共享文件夹时,数据会先写入到池存储中,在这里也就是数据会先写入到 Cache 这个存储池;
  • 如果 Cache 这个池的空间不足,那么辅助存储就会发挥作用 —— 文件此时会写入到辅助存储中,在这里也就是会写入到阵列;
主存储:池,辅存储:无
notion image
在没有辅助存储的情况下,也就意味着所有的数据都只会写入到池存储中,在这里也就是所有的数据都只会写入到 Cache 这个存储池;假如 Cache 这个存储池满了,那么就无法再写入文件。
主存储:池,辅存储:池
notion image
如上图所示,当主存储和辅助存储都是池存储,那么也就是说当 Cache 这个池的空间不足,那么文件会写入到另一个叫做 Pool 的池当中。
在上面的说明中可以看到,当 新文件和文件夹的主存储空间 为池的时候,会多出一个叫做 Mover操作 的选项:
notion image
Mover 是一个内置的程序, 它的作用是根据用户共享的 Mover操作 规则,将文件在池和阵列之间、或池和池之间进行移动。
  • Mover操作 的选项设置为 Cache → 阵列 时:那就意味着当 Mover 运行之后,会把这个共享文件夹内所有存储在 Cache 的文件,转移到阵列。对于这种使用场景,往往是将池作为缓存池使用。比如下载一些大文件影视资源时,先把文件下载到高速读写的缓存池中,然后定期执行 Mover 程序,以便将缓存池内的大文件转移到阵列中进行存储;
    • notion image
  • Mover操作 的选项设置为 阵列 → Cache 时:那就意味着当 Mover 运行之后,会把这个共享文件夹内所有存储在阵列的文件,转移到阵列 Cache 池当中。对于这种使用场景,往往是将需要频繁读写的文件转移到高速读写的缓存池中,加速文件的读写。比如将 system 这个共享文件夹里面的 docker.imglibvirt.img 文件夹转移到缓存池中,可以加速 Docker 服务和虚拟机服务的读写。
    • notion image
关于 Mover 相关的更详细说明,博主已经在另一篇文章《新手教程:详解 Unraid 缓存策略及应用案例》中做过详细的讲解,此处不再赘述。

3. 借助文件共享协议使用存储

当我们配置好了用户共享目录,有了存储使用的入口之后,那么此时我们就可以借助相关的文件共享协议去使用 Unraid 存储空间的目的。在这里,博主将介绍如何使用 SMB 文件共享协议去往用户共享中读写文件。
一般情况下,我们直接在用户共享目录的 SMB安全设置 模块中:
  1. 共享 设置为
  1. 然后在 安全性 中选择 公开
这样就可实现将此用户共享文件夹进行共享,所有用户都可以直接访问此文件夹:
notion image
另外需要注意的是,你可以看到在 安全性 右侧有一段警告提示:警告: Windows may require a valid User to be defined even for Public shares. See Help. 。简单来说,这一段提示的目的是提醒用户在 Unraid 的用户模块中去创建一个用户,然后当使用 Windows 系统的用户去通过 SMB 访问这个共享文件夹的时候,就可以通过新创建的这个用户去进行验证并访问:
1️⃣ 所以,接下来我们需要到 Unraid 的用户设置中去创建一个用户;
notion image
notion image
notion image
2️⃣ 创建好用户之后,Windows 系统上既可以通过资源管理器的地址栏访问 Unraid 的用户共享;
格式为 \\IP
格式为 \\IP
在弹出凭据认证窗口中,输入之前新创建的用户和对应的密码:
notion image
然后即可看到所共享的文件夹出现在了列表中,此时即可进行相应的读写:
notion image
3️⃣ 如果你不希望每一个人都可以读写共享文件夹,那么你可以将安全性设置为隐私。
安全性 设置为 私有 之后,那么就可以指定特定的用户可以进行读写,没有对应权限的用户就无法访问此文件夹:
notion image
博主先前写过一篇单独的文章《新手教程:unRAID 开启 SMB 的其他方法》,介绍如何通过高级配置去更好地借助 SMB 协议去使用存储,建议新手朋友的看完本系列的新手入门教程之后,再去单独研究。

上一篇
Unraid 7.0 新手入门系列:使用 Docker
下一篇
Unraid 7.0 新手入门系列:存储配置

评论
Loading...