type
status
date
slug
summary
tags
category
icon
password
如需技术支持,请点击 👉 联系方式
2024-04-04:3 月份的时候 unBALANCE 更新了新版本,UI 界面有变动,但是逻辑和使用方法也还是一样的。
unBALANCE 插件是 unRAID 上一个好用的文件转移工具,可以将一个硬盘内的所有数据转移到另一个硬盘中,也可以将某个共享文件夹内散布在各个硬盘的文件同一进行转移。
利用此工具,可以实现:
- 整合文件:比如将共享文件夹内的所有文件都转移到某个盘中进行单独存储;
- 更换硬盘:例如要将某个硬盘进行替换,可以通过此插件将这个盘内的所有文件转移到其他的硬盘中,然后即可放心的更换硬盘而不用担心数据丢失。
1. 插件下载
CA 商店搜索
unbalance
进行安装:安装好之后还需要手动开启插件:
使用
http://UnraidIP:6237
访问:2. 使用方法
2024-03:unBALANCE 新版本更新了 UI 界面,但是使用逻辑和方法还是一样的。
插件的主要功能集中在 SCATTER 和 GATHER 。
(1)SCATTER - 硬盘数据转移
此模块的作用是转移盘内一个或多个共享文件夹到另一个硬盘中。
例如,将
disk1
硬盘内的 acme
文件夹转移到名为 cache
的缓存池中:- 在
FROM
列中勾选需要转移文件的硬盘,如 disk1 ;
- 然后在弹出的文件夹列表中勾选需要转移的文件,如
acme
文件夹 ;
- 在
TO
列勾选目的硬盘或者存储池,如cache
;
- 点击左上角的
PLANE
。
点击
PLANE
之后,插件会计算所需转移的文件容量,并检测文件权限:- 计算所需转移文件的大小。假如目标存储剩余空间不足,无法转移所有的文件,那么插件会告诉你哪些文件或文件夹无法转移,比如:
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 的系统上,一个共享文件夹的文件是可能会存储在不同的硬盘中,我们如果要把某个共享问文件夹的所有文件都转移走,那么就需要借助此模块的功能。
选择完之后,点击左上角的
NEXT
进入下一步操作 —— 选择目标存储设备:这里也建议大家勾选上
dry run
进行文件传输模拟,然后点击下一步 NEXT
:最后点击
PROCEED
执行:(3)TRANSFER - 实时传输状态
用于展示文件传输时的传输情况。
(4)HISTORY - 历史记录
此模块用于记录文件传输的历史记录。
(5)SETTINGS - 插件配置
- SET UP NOTIFICATIONS - 插件消息通知
默认情况下插件不开启通知消息,如果需要开启首先要保证 Unraid 开启系统通知:
插件的消息通知开不开都行,你可以选则
Basic
或者 Detailed
。- RESERVED SPACE - 最小可用空间
插件在转移文件时,如果目标存储的剩余空间快满了,那么会以这里所设置的大小(默认 Mb)来保留相应的可用空间,可用单位为百分比
%
,兆 Mb
和 Gb
。- CUSTOM RSYNC FLAGS - Rsync 命令自定义参数
插件本质上是利用 Rsync 命令进行文件传输,默认的命令参数为
-avPRX
,其中 -X
指的是你添加的自定义参数。如果你不清楚 Rsync 命令,那么不需要设置。- SET LOG VERBOSITY - 设置日志文件夹冗余等级
指的是插件运行过程中的日志信息,你可以设置
Normal
或者 Full
来调整日志输出的细节程度,一般也不需要修改,需要 debug 的时候才调整。- CHECK FOR UPDATES - 检查可用更新
默认会开启自动检查更新,一般也不用改(这个插件上一次更新是
2021.04.21
)。(6)LOG - 运行日志
3. 实际应用案例
3.1 如何将硬盘 A 的共享目录存储到新添加的硬盘 B 中?
利用插件的 SCATTER 功能,在
FROM
列勾选 disk1
并选择所有的文件夹,TO
勾选 disk2
作为转移目的存储:然后按步骤执行即可。
3.2 如何将某个共享文件夹的所有数据都转移到一个硬盘中?
由于共享文件夹内的文件可能存储在不同的硬盘中,因此如果需要将所有文件都同一存储到某一个盘中,可以使用插件的 GATHER 功能。
选择目标硬盘或存储池:
最后点击
PROCEED
开始执行:3.3 UNRAID 添加新硬盘后,平衡原硬盘使用容量问题
Unraid 官方论坛上有个帖子问添加新的硬盘之后如何平衡各个盘之间的存储空间:
那么这种需求就可以使用 unBALANCE 插件实现。
4. 补充:解决文件权限问题
前面提到,插件在转移文件之前会对被转移文件进行权限进行检测,并提示你留心权限问题:
大多数情况下可以忽略这个提示,如果你实在担心,你可以下载一个叫做
Fix Common Problem
的插件:如果你无法通过 CA 应用下载此插件,可以通过这里的方法安装插件。
将以下命令分别粘贴到 unRAID 命令行窗口运行:
当你安装此插件后,在 “工具”界面会出现一个叫做
Docker Safe New Perms
的工具:这个工具的作用是恢复所有共享和文件的标准 unRaid 权限:此工具会启动一个后台进程,去访问每个阵列里的硬盘和缓存盘,将除了
appdata
以外的文件和目录所有权更改为 nobody:users
,因为在 unRAID 上,文件的基础读写权限赋予给了 nobody
用户和 users
用户组,一般情况下文件的权限赋予此用户和用户组即可。- 作者:JackieWu
- 链接:https://www.jackiewu.top/article/unbalance
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。