其他资讯
🌡️unBALANCE 文件转移工具使用方法和应用案例介绍
00 分钟
2023-8-16
2024-4-4
type
status
date
slug
summary
tags
category
icon
password
2024-04-04:3 月份的时候 unBALANCE 更新了新版本,UI 界面有变动,但是逻辑和使用方法也还是一样的。

unBALANCE 插件是 unRAID 上一个好用的文件转移工具,可以将一个硬盘内的所有数据转移到另一个硬盘中,也可以将某个共享文件夹内散布在各个硬盘的文件同一进行转移。
利用此工具,可以实现:
  • 整合文件:比如将共享文件夹内的所有文件都转移到某个盘中进行单独存储;
  • 更换硬盘:例如要将某个硬盘进行替换,可以通过此插件将这个盘内的所有文件转移到其他的硬盘中,然后即可放心的更换硬盘而不用担心数据丢失。

1. 插件下载

CA 商店搜索 unbalance 进行安装:
notion image
安装好之后还需要手动开启插件:
notion image
选择 Yes 然后 APPLY
选择 Yes 然后 APPLY
使用 http://UnraidIP:6237 访问:
notion image

2. 使用方法

2024-03:unBALANCE 新版本更新了 UI 界面,但是使用逻辑和方法还是一样的。
unbalanced 2024.03.26 版本
unbalanced 2024.03.26 版本
notion image
插件的主要功能集中在 SCATTERGATHER 。
(1)SCATTER - 硬盘数据转移
此模块的作用是转移盘内一个或多个共享文件夹到另一个硬盘中。
notion image
例如,将 disk1 硬盘内的 acme 文件夹转移到名为 cache 的缓存池中:
  1. FROM 列中勾选需要转移文件的硬盘,如 disk1 ;
  1. 然后在弹出的文件夹列表中勾选需要转移的文件,如 acme 文件夹 ;
  1. TO 列勾选目的硬盘或者存储池,如 cache
  1. 点击左上角的 PLANE
点击 PLANE 之后,插件会计算所需转移的文件容量,并检测文件权限
notion image
  1. 计算所需转移文件的大小。假如目标存储剩余空间不足,无法转移所有的文件,那么插件会告诉你哪些文件或文件夹无法转移,比如:
    1. Downloads/media 文件夹不会被转移
      Downloads/media 文件夹不会被转移
      PLANNING: The following items will not be transferred, because there's not enough space in the target disks(以下项目将不会被转移,因为目标磁盘中没有足够的空间): PLANNING: Downloads/media
  1. 检测文件权限。插件会检测被转移文件的权限,例如文件所属人、所属组和读写权限等,绝大多数情况下你可以无视这里的提示,我自己和帮助别人使用此插件时基本没有遇到因此导致的权限问题。
    1. 假设出现了权限问题,文章末尾会补充一些关于文件权限的解决办法。
      权限检测输出文本
当检测完成之后,下一步你就可以选择将文件进行转移或者复制了:
notion image
💡
注意: 这里的 MOVECOPY 指的是文件转移的结果(即实现文件的转移还是文件的拷贝),而不是采用的方式(即不表示采用剪切或者拷贝的方式去转移文件)。
  • MOVE 表示实现文件转移,点击即会开始转移文件。
  • COPY 表示实现文件拷贝,点击即会开始拷贝文件。
强烈建议大家,不管是转移还是拷贝文件,都勾上 dry run ,然后再执行 MOVE 或者 COPYdry run 的作用是模拟本次文件的转移或者拷贝,比如下图的测试中,可以从模拟的结果中看到一共移了 3.2T 的数据,而且因为是模拟,只用时 14s :
notion image
测试是为了预知最终的结果,以免导致意想不到的问题。
如果模拟出来的结果符合你的要求,再回去重新操作一遍并取消勾选 dry run 进行转移即可。
(2)GATHER - 文件夹转移
此模块的作用是以共享文件夹为单位转移文件,可以将某个共享文件夹内的所有文件进行转移或者拷贝。
此模块的特点在于整合共享共文件夹的内容,因为在 Unraid 的系统上,一个共享文件夹的文件是可能会存储在不同的硬盘中,我们如果要把某个共享问文件夹的所有文件都转移走,那么就需要借助此模块的功能。
可以看到 Downloads 共享文件夹内的文件,分别存储在 cache 和 disk1 中
可以看到 Downloads 共享文件夹内的文件,分别存储在 cachedisk1
选择完之后,点击左上角的 NEXT 进入下一步操作 —— 选择目标存储设备:
同样的,插件会计算所需转移的文件容量,并检测文件权限。
同样的,插件会计算所需转移的文件容量,并检测文件权限。
这里也建议大家勾选上 dry run 进行文件传输模拟,然后点击下一步 NEXT
notion image
最后点击 PROCEED 执行:
notion image
(3)TRANSFER - 实时传输状态
用于展示文件传输时的传输情况。
notion image
(4)HISTORY - 历史记录
此模块用于记录文件传输的历史记录。
notion image
(5)SETTINGS - 插件配置
notion image
  1. SET UP NOTIFICATIONS - 插件消息通知
    1. 默认情况下插件不开启通知消息,如果需要开启首先要保证 Unraid 开启系统通知:
      设置 - 通知设置
      设置 - 通知设置
      插件的消息通知开不开都行,你可以选则 Basic 或者 Detailed
  1. RESERVED SPACE - 最小可用空间
    1. 插件在转移文件时,如果目标存储的剩余空间快满了,那么会以这里所设置的大小(默认 Mb)来保留相应的可用空间,可用单位为百分比 % ,兆 MbGb
  1. CUSTOM RSYNC FLAGS - Rsync 命令自定义参数
    1. 插件本质上是利用 Rsync 命令进行文件传输,默认的命令参数为 -avPRX ,其中 -X 指的是你添加的自定义参数。如果你不清楚 Rsync 命令,那么不需要设置。
  1. SET LOG VERBOSITY - 设置日志文件夹冗余等级
    1. 指的是插件运行过程中的日志信息,你可以设置 Normal 或者 Full 来调整日志输出的细节程度,一般也不需要修改,需要 debug 的时候才调整。
  1. CHECK FOR UPDATES - 检查可用更新
    1. 默认会开启自动检查更新,一般也不用改(这个插件上一次更新是 2021.04.21 )。
(6)LOG - 运行日志
notion image

3. 实际应用案例

3.1 如何将硬盘 A 的共享目录存储到新添加的硬盘 B 中?

notion image
利用插件的 SCATTER 功能,在 FROM 列勾选 disk1 并选择所有的文件夹,TO 勾选 disk2 作为转移目的存储:
图片仅作为演示
图片仅作为演示
然后按步骤执行即可。

3.2 如何将某个共享文件夹的所有数据都转移到一个硬盘中?

由于共享文件夹内的文件可能存储在不同的硬盘中,因此如果需要将所有文件都同一存储到某一个盘中,可以使用插件的 GATHER 功能。
notion image
选择目标硬盘或存储池:
建议勾上 dry run 测试一遍
建议勾上 dry run 测试一遍
最后点击 PROCEED 开始执行:
notion image

3.3 UNRAID 添加新硬盘后,平衡原硬盘使用容量问题

Unraid 官方论坛上有个帖子问添加新的硬盘之后如何平衡各个盘之间的存储空间:
那么这种需求就可以使用 unBALANCE 插件实现。

4. 补充:解决文件权限问题

前面提到,插件在转移文件之前会对被转移文件进行权限进行检测,并提示你留心权限问题:
notion image
大多数情况下可以忽略这个提示,如果你实在担心,你可以下载一个叫做 Fix Common Problem 的插件:
如果你无法通过 CA 应用下载此插件,可以通过这里的方法安装插件。
将以下命令分别粘贴到 unRAID 命令行窗口运行:
notion image
config → plugins
config → plugins
notion image
notion image
当你安装此插件后,在 工具界面会出现一个叫做 Docker Safe New Perms 的工具:
notion image
这个工具的作用是恢复所有共享和文件的标准 unRaid 权限:此工具会启动一个后台进程,去访问每个阵列里的硬盘和缓存盘,将除了 appdata 以外的文件和目录所有权更改为 nobody:users ,因为在 unRAID 上,文件的基础读写权限赋予给了 nobody 用户和 users 用户组,一般情况下文件的权限赋予此用户和用户组即可。
notion image
notion image
notion image

评论