jbrodriguez / unbalance

Go/React/Tailwind app to move folders/files between Unraid disks
MIT License
185 stars 12 forks source link
go react rsync tailwind typescript unraid

unbalanced

tl;dr unbalanced is an Unraid plugin to transfer files/folders between disks in your array.

Support Fund

If you wish to do so, read how to support the developer.

Changelog

Screenshot

Home

Introduction

unbalanced helps you manage space in your Unraid array, via two operating modes:

It's versatile and can serve multiple purposes, based on your needs.

Some of the use cases are:

You'll likely come up with other scenarios as you play around with it.

Core Features

[!IMPORTANT] IMPORTANT: I suggest giving unbalanced exclusive access to disks (disable mover and/or any dockers that write to disks), so that free space calculation are not affected. If you're only reading data (streaming, etc.), it shouldn't be issue, although the operations may run slower.

SCATTER Instructions

Scatter will transfer data from a source disk into one or more target disks, according to your selection, by filling the target disks, sorted by free space available, as much as possible.

[!NOTE] Scatter doesn't distribute data evenly across disks. It will fill up the first disk, then the second, and so on.

It involves the following steps:

1 - Select
Choose the source disk, select the files/folders you want to transfer and choose the target disk(s). Select

2 - Plan
The logic is:

Additionally, it will check files/folders permissions, to warn about potential issues during the transfer stage. Plan

3 - Transfer
You can either MOVE or COPY the files.

Internally, all move operations are handled by diskmv.

Internally, it issues a slight variation of this rsync command.

Check this post for additional information. Transfer

4 - Validate (optional)
VALIDATE will only be enabled for a SCATTER / COPY operation. Just click the Validate button in the History screen and the operation will be replayed, but with checksum comparisons (instead of the simpler size/modification time check).

When using default flags, VALIDATE rsync will be invoked as -rcvPRX.

GATHER Instructions

GATHER will consolidate data from a user share into a single disk.

It involves the following steps:

1 - Select

The 'Shares' column lets you navigate your user shares, to choose a folder to consolidate

When a folder is selected, the current selection and the drives where this folder is located are displayed in the 'Presence' column.

Once you've chosen the folder, click NEXT. Select

2 - Plan The logic is:

Additionally, it will check files/folders permissions, to warn about potential issues during the transfer stage.

Plan

3 - Move

This page shows which drives have enough space to hold the contents of the folder chosen in the previous step.

They are shown in descending order by how little data transfer will be required.

A star next to a drive means that the folder is present there.

Choose a target disk, then click Move to start the transfer operation. Transfer

Installation

There are 2 ways to install this application

Running the app

After installing the plugin, you can access the web UI, via the following methods:

Other Features

Transfer

Here you can monitor the progress of an operation. It shows overall metrics, as well as each invididual command as they unfold.

Transfer

History

unbalanced keeps a history of the operations you have run, showing each command that was executed.

You can replay the most recent operation (excluding dry-runs) or validate the most recent Scatter Copy.

Additionally, you can review operations which contain one or more flagged rsync commands.

If an rsync command has been flagged (applies to Gather and Scatter/Move operations), unbalanced will not delete the source folders/files.

This allows you to check the issue in detail and take any action deemed necessary.

Once you've done that, you can delete the source folders/files through the UI, if you want.

History

Settings

These are pretty much straigthforward.

A word of caution with the custom rsync flags: it's for power users only.

unbalanced is optimized to work with the default flags, you must be VERY knowledgeable in rsync if you want to add any flag.

Settings

Log

Log

Videos

NOTE: this refers to an older version of unbalanced, but the concepts are the same.

Thanks to gridrunner (Unraid forum member), you can watch unbalanced in action !

Must Have Unraid Plugins - Part 3 Disk Utility Plugins

The discussion specific to unbalanced starts here.

Credits

~~This app uses the diskmv script (check the forum thread for additional information).~~

The icon was graciously created by hernandito (fellow Unraid forums member)

It was built with:

Activity

Alt

License

MIT