type
status
date
slug
summary
tags
category
icon
password
URL
unBALANCE 插件是 unRAID 上一个好用的文件转移工具,可以将一个硬盘内的所有数据转移到另一个硬盘中,也可以将某个共享文件夹内散布在各个硬盘的文件同一进行转移。
利用此工具,可以实现:
- 整合文件:比如将共享文件夹内的所有文件都转移到某个盘中进行单独存储;
- 更换硬盘:例如要将某个硬盘进行替换,可以通过此插件将这个盘内的所有文件转移到其他的硬盘中,然后即可放心的更换硬盘而不用担心数据丢失。
1、插件下载
CA 商店搜索
unbalance
进行安装:notion image
安装好之后还需要手动开启插件:
notion image
选择 Yes 然后 APPLY
使用
http://UnraidIP:6237
访问:notion image
2、使用方法
notion image
插件的主要功能集中在 SCATTER 和 GATHER 。
(1)SCATTER - 硬盘数据转移
此模块的作用是转移盘内一个或多个共享文件夹到另一个硬盘中。
例如,将
disk1
硬盘内的 acme
文件夹转移到名为 cache
的缓存池中:- 在
FROM
列中勾选需要转移文件的硬盘,如 disk1 ;
- 然后在弹出的文件夹列表中勾选需要转移的文件,如
acme
文件夹 ;
- 在
TO
列勾选目的硬盘或者存储池,如cache
;
- 点击左上角的
PLANE
。
点击
PLANE
之后,插件会计算所需转移的文件容量,并检测文件权限:- 计算所需转移文件的大小。假如目标存储剩余空间不足,无法转移所有的文件,那么插件会告诉你哪些文件或文件夹无法转移,比如:
Downloads/media
文件夹不会被转移PLANNING: The following items will not be transferred, because there's not enough space in the target disks(以下项目将不会被转移,因为目标磁盘中没有足够的空间): PLANNING:Downloads/media
- 检测文件权限。插件会检测被转移文件的权限,例如文件所属人、所属组和读写权限等,绝大多数情况下你可以无视这里的提示,我自己和帮助别人使用此插件时基本没有遇到因此导致的权限问题。
假设出现了权限问题,文章末尾会补充一些关于文件权限的解决办法。
插件会详细的说明被转移文件的权限细节
当检测完成之后,下一步你就可以选择将文件进行转移或者复制了:
💡
注意: 这里的
MOVE
和 COPY
指的是文件转移的结果(即实现文件的转移还是文件的拷贝),而不是采用的方式(即不表示采用剪切或者拷贝的方式去转移文件)。MOVE
表示实现文件转移,点击即会开始转移文件。
COPY
表示实现文件拷贝,点击即会开始拷贝文件。
强烈建议大家,不管是转移还是拷贝文件,都勾上
dry run
,然后再执行 MOVE
或者 COPY
。dry run
的作用是模拟本次文件的转移或者拷贝,比如下图的测试中,可以从模拟的结果中看到一共移了 3.2T 的数据,而且因为是模拟,只用时 14s :测试是为了预知最终的结果,以免导致意想不到的问题。
如果模拟出来的结果符合你的要求,再回去重新操作一遍并取消勾选
dry run
进行转移即可。(2)GATHER - 文件夹转移
此模块的作用是以共享文件夹为单位转移文件,可以将某个共享文件夹内的所有文件进行转移或者拷贝。
此模块的特点在于整合共享共文件夹的内容,因为在 Unraid 的系统上,一个共享文件夹的文件是可能会存储在不同的硬盘中,我们如果要把某个共享问文件夹的所有文件都转移走,那么就需要借助此模块的功能。
可以看到
Downloads
共享文件夹内的文件,分别存储在 cache
和 disk1
中选择完之后,点击左上角的
NEXT
进入下一步操作 —— 选择目标存储设备:同样的,插件会计算所需转移的文件容量,并检测文件权限。
这里也建议大家勾选上
dry run
进行文件传输模拟,然后点击下一步 NEXT
:最后点击
PROCEED
执行:(3)TRANSFER - 实时传输状态
用于展示文件传输时的传输情况。
(4)HISTORY - 历史记录
此模块用于记录文件传输的历史记录。
(5)SETTINGS - 插件配置
- SET UP NOTIFICATIONS - 插件消息通知
设置 - 通知设置
- RESERVED SPACE - 最小可用空间
- CUSTOM RSYNC FLAGS - Rsync 命令自定义参数
- SET LOG VERBOSITY - 设置日志文件夹冗余等级
- CHECK FOR UPDATES - 检查可用更新
(6)LOG - 运行日志
3、实际应用案例
3.1、如何将硬盘 A 的共享目录存储到新添加的硬盘 B 中?
notion image
利用插件的 SCATTER 功能,在
FROM
列勾选 disk1
并选择所有的文件夹,TO
勾选 disk2
作为转移目的存储:图片仅作为演示
然后按步骤执行即可。
3.2、如何将某个共享文件夹的所有数据都转移到一个硬盘中?
由于共享文件夹内的文件可能存储在不同的硬盘中,因此如果需要将所有文件都同一存储到某一个盘中,可以使用插件的 GATHER 功能。
notion image
选择目标硬盘或存储池:
建议勾上 dry run 测试一遍
最后点击
PROCEED
开始执行:notion image
4、补充:解决文件权限问题
前面提到,插件在转移文件之前会对被转移文件进行权限进行检测,并提示你留心权限问题:
大多数情况下可以忽略这个提示,如果你实在担心,你可以下载一个叫做 Fix Common Problem 的插件:
如果你无法通过 CA 应用下载此插件,可以通过这里的方法安装插件。
将以下命令分别粘贴到 unRAID 命令行窗口运行:
config → plugins
notion image
当你安装此插件后,在 “工具”界面会出现一个叫做
Docker Safe New Perms
的工具:notion image
这个工具的作用是恢复所有共享和文件的标准 unRaid 权限:此工具会启动一个后台进程,去访问每个阵列里的硬盘和缓存盘,将除了
appdata
以外的文件和目录所有权更改为 nobody:users
,因为在 unRAID 上,文件的基础读写权限赋予给了 nobody
用户和 users
用户组,一般情况下文件的权限赋予此用户和用户组即可。notion image
notion image
notion image
- 作者:Wilson Zeng
- 链接:https://wilsonzeng.com/article/9d498d69-045a-4c3c-a494-53ab6234fcf2
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。