新手教程
🌎新手教程:unRAID 存储目录结构说明
00 分钟
2023-10-14
2024-8-17
type
status
date
slug
summary
tags
category
icon
password
如需技术支持,请点击 👉 联系方式
Unraid 本质上是一个 Linux 系统(基于 Slackware Linux 定制而来),所以在系统的目录结构上与其他的 Linux 发行版系统并没有太大的差异,本文着重于向新手朋友们介绍 Unraid 存储目录结构的相关知识,让大家能够更好的去在 Unraid 上面去管理文件。
Linux 发行版(Linux distribution 或 distro)也被叫做 GNU/Linux 发行版,是为一般用户预先集成好的 Linux 操作系统及各种应用软件,一般用户不需要重新编译,在直接安装之后,只需要小幅度更改设置就可以使用,通常以软件包管理系统来进行应用软件的管理。
常见的 Linux 发行版系统有 Ubuntu、CentOS 以及 Arch 等。
本文所涉及到的相关挂载目录如下:
notion image

1、/mnt/diskX 阵列硬盘的挂载目录

与 Windows 系统不同,Linux 系统中如果你需要使用一个存储设备,例如 U 盘、移动硬盘、机械硬盘或者固态硬盘等等,那么你首先需要将这些存储设备在系统中进行”挂载(Mount)“之后才能使用这些存储设备(文件的读取或者写入)。
例如在 Linux 系统中将一个存储设备使用 mount 命令进行挂载:
在 Unraid 中也是一样的,只不过我们不需要去人为的使用 Linux 命令来实现存储设备的挂载(毕竟需要一定的 Linux 门槛),而只需要在 WebUI 界面中去将一个个硬盘添加到阵列并启动之后,就可以实现存储设备的挂载。
添加硬盘并启动阵列之后,Unraid 就会在后台自动调用 mount 命令将阵列中的硬盘一个个进行挂载。
notion image
所有阵列中的硬盘都会被挂载到 /mnt 目录下,如下图所示:
mntmount 单词的缩写,这个目录也是 Linux 系统下通用的挂载目录(虽说是通用目录,但对于用户来说挂载到哪里可以由用户自行决定,Linux 系统只是提供了一个默认的选择)。
notion image
这个目录下的 disk1disk2disk3disk4 就对应了阵列中的 磁盘 1磁盘 2磁盘 3磁盘 4
notion image
知道了这一点之后,如果你需要将 磁盘1 换成一个更大的硬盘,并且你还掌握了一点 Linux 系统的操作命令,那么你就可以手动的将硬盘里的数据转移到别的盘(比如说使用 Rsync 命令),这样你就可以放心的将硬盘进行替换。
关于硬盘数据转移,你可以参考《unBALANCE 文件转移工具使用方法和应用案例介绍》文章去利用插件来更便捷的将硬盘数据进行转移,毕竟使用命令行的方式对用户有一定的门槛。

2、/mnt/user|user0 共享文件夹(Shares)的挂载目录

用户共享文件夹
用户共享文件夹
在博主的《为什么unRAID下载/拷贝文件时CPU占用高:详解FUSE-SHFS、I/O问题和解决办法》文章中,我介绍了 unRAID 官方对用户共享(User Shares)的定义:
它们的作用是提供一个聚合视图,跨缓存和阵列驱动器的所有具有相同名称的顶级文件夹。该顶级文件夹的名称被用作共享名称。从用户的角度来看,在网络级别上,这提供了一个可以跨多个驱动器的视图。请注意,没有任何单个文件会跨越多个驱动器-只有目录级别获得了统一的视图。
简单来说就是 unRAID 提供了一种用户共享文件夹“聚合视图”的功能 —— 可以将阵列以及缓存池中的所有根目录文件夹进行聚合展示 。
比如说在磁盘 disk3 根目录下有一个叫做 movie 的文件夹,unRAID 将会借助“聚合试图”功能将其展示在“共享”页面。
聚合试图的功能只能聚合阵列以及缓存池里面的文件夹,不存在阵列或者缓存池的文件不会进行聚合。
这里做个演示,在 unRAID 中使用命令在 disk2 中根目录下创建一个叫做 tv 的文件夹:
当创建完成之后,在“共享”页面即可看到新创建的 tv 文件夹,这就是聚合试图功能的效果(向缓存池根目录创建文件夹也是同样的效果):
notion image
那么实际上你在“共享”页面所看到的一个个共享文件夹也是挂载在 mnt 目录下,此目录就是聚合视图功能将共享文件夹进行“聚合”的目录
notion image
图片中的 user 文件夹就是所有用户共享文件夹的挂载位置,里面的文件夹与“共享”界面下的用户共享一一对应:
notion image
除了 user ,还有一个叫做 user0 的目录,它与 user 一样也包含阵列的文件,但是其特点在于它不包含缓存池的文件,也就是说这个文件夹只包含阵列中的用户共享,而 user 包含阵列以及缓存池中的所有用户共享。如果你的 unRAID 没有创建缓存池,那么就不会存在 user0 目录。
作者先前在 unRAID 论坛处理过一个因在 user0 文件夹创建虚拟机 libvirt.img 镜像文件而导致虚拟机服务无法启动的情况,其原因是由于在没有缓存池的情况下将虚拟机的 libvirt.img 存储位置设置为 /mnt/user0 ,导致 libvirt.img 无法创建,进而导致了虚拟机服务无法开启的情况,帖子: 求助!! 求助!! UNRAID VMS 一直無法啟動 LIBVIRT 服務?
得益于 unRAID 的聚合视图功能,用户无需考虑文件应该写入哪一个硬盘或者从哪一个硬盘中读取文件,因为用户只需要与用户共享打交道而不是与硬盘分区打交道,这极大的方便了用户对文件的管理和存储空间的扩展。
我在《为什么unRAID下载/拷贝文件时CPU占用高:详解FUSE-SHFS、I/O问题和解决办法》文章将这一特性与 Windows 系统做了对比,大家看了之后会更明白其中的逻辑。
notion image

3、/mnt/remotes 远程共享的挂载目录

在 unRAID 上可以利用 Unassigned DevicesUnassigned Devices Plus (Addon) 插件来实现远程共享文件夹的挂载( SMB 或者 NFS ),你可以应用商店来在线安装:
强烈建议大家安装此插件。
如果无法通过应用市场安装,你可以参照这里的方式手动安装。
复制下面的命令到命令行窗口运行:
下载完成之后,请手动到“插件 - 安装插件”中进行本地安装:
定位到 config - plugins 目录下
定位到 config - plugins 目录下
请先安装 Unassigned Devices 插件之后再安装 Unassigned Devices plus 插件:
notion image
Unassigned Devices 插件安装完成
Unassigned Devices 插件安装完成
Unassigned Devices plus 插件安装完成
Unassigned Devices plus 插件安装完成
notion image
安装好之后在主页面即可以进行远程共享的挂载:
unRAID 挂载其他远程共享的使用方法本文不做讲解,届时会在其他文章中进行介绍。
添加共享
添加共享
挂载成功
挂载成功
当你安装了 Unassigned Devices 插件之后,会在 mnt 目录下出现一个叫做 remotes 的文件夹,这个文件夹里面就会包含所有在 unRAID 上挂载的远程共享:
notion image
里面的文件夹名字即对应了共享的挂载点,如 10.0.0.3_user 文件夹里面就包含了 10.0.0.3 这个远程服务器所共享出来的 user 文件夹:
notion image
你可以点击上图所示的挂载点链接打开文件管理界面:
10.0.0.3 下 user 目录所包含的文件

4、/mnt/disks 外部存储设备(未分配设备)挂载点

外部存储设备指的是没有添加到阵列或者缓存池中的设备,在 unRAID 中统一被称之为“unassign devices” —— 中文翻译为“未分配设备”。
这也是为什么我们上面用到的那个插件要叫做 Unassigned Devices ,因为这一插件的主要作用就是用来管理外部存储设备,所以 Unassigned Devices 和 Unassigned Devices Plus 这两个插件基本上属于必装的插件。
如下图所示,作者的未分配设备有两个,一个是没有添加到阵列中的 4T 硬盘,另一个是外接的东芝 USB 移动硬盘(1T):
notion image
当我把这个东芝的移动硬盘进行挂载之后,它会被挂载到 mnt 目录下的 disks 目录:
notion image
notion image
notion image

5、/mnt/cache 缓存池的挂载点

在 unRAID 中,阵列与缓存池是互相独立的,但缓存池同样也是挂载到 mnt 目录下,其挂载的目录与缓存池的名称一致。
例如作者的缓存池名称叫做 cache (WebUI 界面为了美观显示的是大写的 Cache),那么此缓存池所挂载的目录名称也叫做 cache
缓存池在创建的时候可以自定义名称(不能用中文),如果你在创建时没有手动去修改,那么默认情况下的缓存池名称都叫做 cache
notion image
如果你的缓存池名称叫做 ssd,那么 mnt 目录下所显示的缓存池挂载目录也叫做 ssd 。
如果你的缓存池名称叫做 ssd,那么 mnt 目录下所显示的缓存池挂载目录也叫做 ssd

6、/mnt/addons 挂载保护目录

如果你安装了最新版的 Unassigned Devices 插件,那么你会发现在 mnt 目录下会多出一个叫做 addons 的目录:
notion image
官方的说明如下:
UD adds the folder /mnt/addons where you can mount anything you need mounted.  A protected mount is added to /mnt/addons so a misconfigured app cannot fill the rootfs and crash the system.  FCP will ignore this mount folder so you won't see any warnings.
If you mount something at /mnt/addons before UD is installed, you will see a reboot message over the banner.  If this is the case, you need to delay your mount until after UD installs.
简单来说就是 Unassigned Devices 这个插件为了保护 unRAID 系统,在 mnt 路径下创建了 addons 目录给到高级用户去挂载第三方的设备或者文件系统。
如果你对 Linux 系统比较熟悉且希望挂载第三方的设备或者文件系统(比如说类似于 Rclone、CloudDrive 等可以挂载网盘到本地的工具),你就可以将其挂载到这个 addons 目录下,不然的话请不要挂载到 /mnt 目录下,因为可能会造成系统问题。

7、/mnt/rootshare 根共享挂载目录

addons 目录类似,当你安装了 Unassigned Devices 插件后同样会多出一个叫做 rootshare 的目录:
notion image
此目录用于 Unassigned Devices 的“根共享”挂载:
notion image
“根共享”用于 unRAID 的 SMB 共享,当你添加了根共享之后就会将其挂载到 rootshare 目录,你可以在博主的另一篇关于 SMB 共享的文章《新手教程:unRAID 开启 SMB 的其他方法》了解到更具体的细节,本文不做赘述。
 

评论