[DOCKER] unBALANCE


Recommended Posts

Great idea for a Docker Container. I had been toying with the idea of moving my drives from RFS to XFS and this will hopefully get me to stop putting it off.

 

I had the same problems listed previously about the container not starting unless I removed /etc from the mount list (the /etc mount is still included in the template .xml for this Docker for new users). Once I removed the /etc mount it started no problem.

 

Is it possible to add folders with spaces in their names? I added my folder "TV Shows" (without quotation marks) and when I click calculate I get errors:

 

Errors: "data is undefined" and "XHR Failed for calculateBestFit"

 

I then tried to add the folder as either "TV Shows" (with quoatation marks) or TV/ Shows, but when I click calculate this time it just tells me "Nothing to do".

 

Any ideas?

 

Thanks a Million

 

Hi Capt.Insano, thanks for your comments!

 

You're right on both accounts.

 

I thought I had amended the xml template, but certainly didn't.  It's fixed now !

 

With regards to folders with spaces, I hadn't thought about that.

 

I will work on it and post an update in a couple of days.

Link to comment
  • Replies 234
  • Created
  • Last Reply

Top Posters In This Topic

I found a bug, if there is a folder with no files in it, then the program just crashes. I've got nothing meaningful in the logs except that it stops on the folder that is empty. I go out to that particular drive and remove the empty folder and it'll continue on it's merry way.

Link to comment

I found a bug, if there is a folder with no files in it, then the program just crashes. I've got nothing meaningful in the logs except that it stops on the folder that is empty. I go out to that particular drive and remove the empty folder and it'll continue on it's merry way.

 

Thanks KaTTdaddY, I will review this scenario.

 

Is the empty folder at the top of the user shares or somewhere within the hierarchy ?

 

/mnt/user/empty_folder

/mnt/user/Movies/High Definition/empty_folder

 

 

Link to comment

I seem to be having an issue moving some files in my movies directory.

 

I had previously moved the same locations/files from one drive to the next, however for whatever reason it won't work this time.

 

The e-mail notification states this:

There was an error when executing

/usr/bin/diskmv -f "Media/Movies/HD/Interstellar.mkv" /mnt/disk5 /mnt/disk8

These are the commands that were executed:

/usr/bin/diskmv -f "Media/Movies/HD/Interstellar.mkv" /mnt/disk5 /mnt/disk8


Started: 2015-05-20 12:56:33.619930363 -0500 CDT
Ended: 2015-05-20 12:56:37.614057383 -0500 CDT

 

The status screen in the docker shows this:

Move operation started ...

/usr/bin/diskmv -f "Media/Movies/HD/Interstellar.mkv" /mnt/disk5 /mnt/disk8

'Media/Movies/HD/Interstellar.mkv' is not a valid user share directory.

usage: diskmv [-t|-f|-k|-l|-c|-s N|-v|-q|-h] directory srcdisk destdisk

Move command was closed prematurely: exit status 1

Move operation completed.

Elapsed: 3.994127154s

 

Maybe it's just a bad file? I believe for whatever reason it starts with this one, so it fails right away.

 

 

I thought about this more...

This particular file is a loose file within the "HD" directory, hence the error "is not a valid user share directory".

So I assume if I put this into a folder it would then work well!.. If so, is it possible to change the move from files within a folder, to files that are loose in a directory also?

Link to comment

I seem to be having an issue moving some files in my movies directory.

 

I had previously moved the same locations/files from one drive to the next, however for whatever reason it won't work this time.

 

The e-mail notification states this:

There was an error when executing

/usr/bin/diskmv -f "Media/Movies/HD/Interstellar.mkv" /mnt/disk5 /mnt/disk8

These are the commands that were executed:

/usr/bin/diskmv -f "Media/Movies/HD/Interstellar.mkv" /mnt/disk5 /mnt/disk8


Started: 2015-05-20 12:56:33.619930363 -0500 CDT
Ended: 2015-05-20 12:56:37.614057383 -0500 CDT

 

The status screen in the docker shows this:

Move operation started ...

/usr/bin/diskmv -f "Media/Movies/HD/Interstellar.mkv" /mnt/disk5 /mnt/disk8

'Media/Movies/HD/Interstellar.mkv' is not a valid user share directory.

usage: diskmv [-t|-f|-k|-l|-c|-s N|-v|-q|-h] directory srcdisk destdisk

Move command was closed prematurely: exit status 1

Move operation completed.

Elapsed: 3.994127154s

 

Maybe it's just a bad file? I believe for whatever reason it starts with this one, so it fails right away.

 

 

I thought about this more...

This particular file is a loose file within the "HD" directory, hence the error "is not a valid user share directory".

So I assume if I put this into a folder it would then work well!.. If so, is it possible to change the move from files within a folder, to files that are loose in a directory also?

 

Hello bungee91, I'd like to assume you're using the latest version, mostly to make sure there's additional output written to the logfile :)

 

On that note, could please send me the logfile ?

 

It's in the folder set up as /config in the docker volume mappings (by default it's /mnt/user/data).

 

Interstellar.mkv is a file, that's why the underlying diskmv script is taking exception on it (diskmv works with directories only).

 

But I'm not sure why the file is being picked up in the first place.

 

Did you specify Media/Movies/HD or Media/Movies as one of the elegible folders in the Settings page ?

 

Anyway, the logfile would be helpful.

Link to comment

Hello bungee91, I'd like to assume you're using the latest version, mostly to make sure there's additional output written to the logfile :)

 

On that note, could please send me the logfile ?

 

It's in the folder set up as /config in the docker volume mappings (by default it's /mnt/user/data).

 

Interstellar.mkv is a file, that's why the underlying diskmv script is taking exception on it (diskmv works with directories only).

 

But I'm not sure why the file is being picked up in the first place.

 

Did you specify Media/Movies/HD or Media/Movies as one of the elegible folders in the Settings page ?

 

Anyway, the logfile would be helpful.

 

I don't see any notification for an update, so I would assume so, yes (unBALANCE v0.6.8-131.3761bbf).

As for UnRAID I am still on 6 Beta15 at the moment.

I specify Media/Tv & Media/Movies/HD on the settings page.

Log is too big to attach, so I'll PM you the link.

I'll move the movies to a folder (as that is preferred anyhow), however had no idea it would cause it to fail.

Link to comment

I updated and I am getting on the home screen:

 

"The array is not operational. Please start the array first."

 

My array is running. In settings, I have folders

/Media/Movies

/Media/TV

 

That are in:

/mnt/user/Media/Movies

/mnt/user/Media/TV

 

This is what is in Unbalance's log on the Dockers page:

 

*** Running /etc/rc.local...
*** Booting runit daemon...
*** Runit started as PID 7
cp: cannot stat ‘/root/mdcmd’: No such file or directory
chown: cannot access ‘/usr/bin/mdcmd’: No such file or directory
I: 2015/05/22 09:30:36 boot.go:48: unBALANCE v0.6.8-131.3761bbf starting up ...
I: 2015/05/22 09:30:36 settings.go:124: Config file saved as:
ReservedSpace=450000000
Folders=[Media/Movies]
DryRun=true
Notifications=false
[email protected]
[email protected]
Host=smtp.gmail.com
Port=465
Encrypt=false
User=myaccount
I: 2015/05/22 09:30:36 settings.go:54: Config file loaded from (/config) as:
ReservedSpace=450000000
Folders=[Media/Movies]
DryRun=true
Notifications=false
[email protected]
[email protected]
Host=smtp.gmail.com
Port=465
Encrypt=false
User=myaccount
I: 2015/05/22 09:30:36 socket.go:71: starting service Socket ...
I: 2015/05/22 09:30:36 server.go:30: Starting service Server ...
I: 2015/05/22 09:30:36 server.go:42: Serving files from /usr/local/share/unbalance
I: 2015/05/22 09:30:36 server.go:69: started listening on :6237
I: 2015/05/22 09:30:36 core.go:68: starting service Core ...
I: 2015/05/22 09:30:36 boot.go:63: Press Ctrl+C to stop ...
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:47 [GIN] WARNING. Headers were already written!
I: 2015/05/22 09:30:48 core.go:98: Sending config
I: 2015/05/22 09:30:48 unraid.go:224: Unraid Box Condition: &{NumDisks:0 NumProtected:0 Synced:0001-01-01 00:00:00 +0000 UTC SyncErrs:0 Resync:0 ResyncPrcnt:0 ResyncPos:0 State: Size:0 Free:0 NewFree:0}
I: 2015/05/22 09:30:48 unraid.go:225: Unraid Box SourceDiskName:
I: 2015/05/22 09:30:48 unraid.go:226: Unraid Box BytesToMove: 0
2015/05/22 09:31:02 [GIN] WARNING. Headers were already written!
I: 2015/05/22 09:31:18 unraid.go:224: Unraid Box Condition: &{NumDisks:0 NumProtected:0 Synced:0001-01-01 00:00:00 +0000 UTC SyncErrs:0 Resync:0 ResyncPrcnt:0 ResyncPos:0 State: Size:0 Free:0 NewFree:0}
I: 2015/05/22 09:31:18 unraid.go:225: Unraid Box SourceDiskName:
I: 2015/05/22 09:31:18 unraid.go:226: Unraid Box BytesToMove: 0
I: 2015/05/22 09:34:35 core.go:104: Saving config
I: 2015/05/22 09:34:35 settings.go:124: Config file saved as:
ReservedSpace=450000000
Folders=[Media/Movies Media/TV2]
DryRun=true
Notifications=false
[email protected]
[email protected]
Host=smtp.gmail.com
Port=465
Encrypt=false
User=myaccount
I: 2015/05/22 09:34:44 unraid.go:224: Unraid Box Condition: &{NumDisks:0 NumProtected:0 Synced:0001-01-01 00:00:00 +0000 UTC SyncErrs:0 Resync:0 ResyncPrcnt:0 ResyncPos:0 State: Size:0 Free:0 NewFree:0}
I: 2015/05/22 09:34:44 unraid.go:225: Unraid Box SourceDiskName:
I: 2015/05/22 09:34:44 unraid.go:226: Unraid Box BytesToMove: 0
I: 2015/05/22 09:36:05 unraid.go:224: Unraid Box Condition: &{NumDisks:0 NumProtected:0 Synced:0001-01-01 00:00:00 +0000 UTC SyncErrs:0 Resync:0 ResyncPrcnt:0 ResyncPos:0 State: Size:0 Free:0 NewFree:0}
I: 2015/05/22 09:36:05 unraid.go:225: Unraid Box SourceDiskName:
I: 2015/05/22 09:36:05 unraid.go:226: Unraid Box BytesToMove: 0

 

Any ideas?

 

Many thanks.

 

 

 

Link to comment

I updated and I am getting on the home screen:

 

"The array is not operational. Please start the array first."

 

My array is running. In settings, I have folders

/Media/Movies

/Media/TV

 

That are in:

/mnt/user/Media/Movies

/mnt/user/Media/TV

 

This is what is in Unbalance's log on the Dockers page:

 

*** Running /etc/rc.local...
*** Booting runit daemon...
*** Runit started as PID 7
cp: cannot stat ‘/root/mdcmd’: No such file or directory
chown: cannot access ‘/usr/bin/mdcmd’: No such file or directory
I: 2015/05/22 09:30:36 boot.go:48: unBALANCE v0.6.8-131.3761bbf starting up ...
I: 2015/05/22 09:30:36 settings.go:124: Config file saved as:
ReservedSpace=450000000
Folders=[Media/Movies]
DryRun=true
Notifications=false
[email protected]
[email protected]
Host=smtp.gmail.com
Port=465
Encrypt=false
User=myaccount
I: 2015/05/22 09:30:36 settings.go:54: Config file loaded from (/config) as:
ReservedSpace=450000000
Folders=[Media/Movies]
DryRun=true
Notifications=false
[email protected]
[email protected]
Host=smtp.gmail.com
Port=465
Encrypt=false
User=myaccount
I: 2015/05/22 09:30:36 socket.go:71: starting service Socket ...
I: 2015/05/22 09:30:36 server.go:30: Starting service Server ...
I: 2015/05/22 09:30:36 server.go:42: Serving files from /usr/local/share/unbalance
I: 2015/05/22 09:30:36 server.go:69: started listening on :6237
I: 2015/05/22 09:30:36 core.go:68: starting service Core ...
I: 2015/05/22 09:30:36 boot.go:63: Press Ctrl+C to stop ...
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:46 [GIN] WARNING. Headers were already written!
2015/05/22 09:30:47 [GIN] WARNING. Headers were already written!
I: 2015/05/22 09:30:48 core.go:98: Sending config
I: 2015/05/22 09:30:48 unraid.go:224: Unraid Box Condition: &{NumDisks:0 NumProtected:0 Synced:0001-01-01 00:00:00 +0000 UTC SyncErrs:0 Resync:0 ResyncPrcnt:0 ResyncPos:0 State: Size:0 Free:0 NewFree:0}
I: 2015/05/22 09:30:48 unraid.go:225: Unraid Box SourceDiskName:
I: 2015/05/22 09:30:48 unraid.go:226: Unraid Box BytesToMove: 0
2015/05/22 09:31:02 [GIN] WARNING. Headers were already written!
I: 2015/05/22 09:31:18 unraid.go:224: Unraid Box Condition: &{NumDisks:0 NumProtected:0 Synced:0001-01-01 00:00:00 +0000 UTC SyncErrs:0 Resync:0 ResyncPrcnt:0 ResyncPos:0 State: Size:0 Free:0 NewFree:0}
I: 2015/05/22 09:31:18 unraid.go:225: Unraid Box SourceDiskName:
I: 2015/05/22 09:31:18 unraid.go:226: Unraid Box BytesToMove: 0
I: 2015/05/22 09:34:35 core.go:104: Saving config
I: 2015/05/22 09:34:35 settings.go:124: Config file saved as:
ReservedSpace=450000000
Folders=[Media/Movies Media/TV2]
DryRun=true
Notifications=false
[email protected]
[email protected]
Host=smtp.gmail.com
Port=465
Encrypt=false
User=myaccount
I: 2015/05/22 09:34:44 unraid.go:224: Unraid Box Condition: &{NumDisks:0 NumProtected:0 Synced:0001-01-01 00:00:00 +0000 UTC SyncErrs:0 Resync:0 ResyncPrcnt:0 ResyncPos:0 State: Size:0 Free:0 NewFree:0}
I: 2015/05/22 09:34:44 unraid.go:225: Unraid Box SourceDiskName:
I: 2015/05/22 09:34:44 unraid.go:226: Unraid Box BytesToMove: 0
I: 2015/05/22 09:36:05 unraid.go:224: Unraid Box Condition: &{NumDisks:0 NumProtected:0 Synced:0001-01-01 00:00:00 +0000 UTC SyncErrs:0 Resync:0 ResyncPrcnt:0 ResyncPos:0 State: Size:0 Free:0 NewFree:0}
I: 2015/05/22 09:36:05 unraid.go:225: Unraid Box SourceDiskName:
I: 2015/05/22 09:36:05 unraid.go:226: Unraid Box BytesToMove: 0

 

Any ideas?

 

Many thanks.

 

Hi hernandito, are you running an unRAID version higher than B15, by any chance ?

 

Unless you're not mapping /root:/root in the container settings, that's the only other reason I can think of.

 

I haven't installed any of the RCs, will get to it this weekend.

 

I have a dev version that solves the empty folder issue and I'm discussing with Freddie (diskmv creator) for a solution the issue with single files in the root of user shares.

Link to comment

 

Hi hernandito, are you running an unRAID version higher than B15, by any chance ?

 

Unless you're not mapping /root:/root in the container settings, that's the only other reason I can think of.

 

I haven't installed any of the RCs, will get to it this weekend.

 

I have a dev version that solves the empty folder issue and I'm discussing with Freddie (diskmv creator) for a solution the issue with single files in the root of user shares.

 

Thanks lboregard,

 

I am on RC1... below are my mappings in the container; not sure if this is how /root should be mapped.

 

EG8bRvu.png

Link to comment

It seems that deselecting "To" locations is ignored.

 

I am trying to move files from disk 3 to any other disk than disk 2, however if I deselect disk 2, and since it has the most free space, it still plans to move the contents to disk 2.

It kind of seems as if the "To" isn't really listened to at all regardless, it just plans to move the data to the least filled disk.

I would assume the selection of disks would remove the ones you do not want to include, but it doesn't seem to.

Link to comment

It seems that deselecting "To" locations is ignored.

 

I am trying to move files from disk 3 to any other disk than disk 2, however if I deselect disk 2, and since it has the most free space, it still plans to move the contents to disk 2.

It kind of seems as if the "To" isn't really listened to at all regardless, it just plans to move the data to the least filled disk.

I would assume the selection of disks would remove the ones you do not want to include, but it doesn't seem to.

 

You're right bungee91, it's not working.

 

I'll fix that in the next version.

Link to comment

Does this move the entire contents of a drive over a bunch of other drives? If yes, how do you get the original file structure back onto the drive? I can only install it on my test (laptop) unraid so I really can't use it or play around with it. I've converted all my drives to XFS and about %40 done copying everything back to where it was. This could of come in handy.

 

Link to comment

Does this move the entire contents of a drive over a bunch of other drives? If yes, how do you get the original file structure back onto the drive? I can only install it on my test (laptop) unraid so I really can't use it or play around with it. I've converted all my drives to XFS and about %40 done copying everything back to where it was. This could of come in handy.

 

Hi opentoe,

 

You choose which user share "folders" you want to move around, then select a source disk and it will move these folders to the other disks in the array, as space allows (it has a hard lower limit of no less than 450mb available space on any one disk).

 

Under the hood, it uses rsync (via diskmv script) which recreates the original file structure on each target disk.

 

When you say copy everything back to where it was, I assume you mean to the original disk you converted to XFS.

 

With unBALANCE, you _could_ do the following:

- Set up notifications

- As source, check the disk that currently holds the data you want to move

- As destination, check only the original disk

- Run the app

- Be notified when it finishes (or some other event took place)

 

You can do a dry run, it will send an email with a list of the move operations that would actually take place.

 

Having said that, probably an rsync command would be even easier :)

Link to comment

This isn't what I want if I want to move everything from one disk to another is it?  Seems I have to specify specific folders if I want it to do anything

 

It probably isn't what you want.

 

But you can always specify top-level shares.

 

If the source disk has shares

 

/mnt/user/Movies
/mnt/user/Tv Shows
/mnt/user/Documents
/mnt/user/Backup

 

If you specify Movies, Tv Shows, Documents and Backup as elegible folders, it will move them and everything below them, provided there's enough space in the target disk.

 

If there's not enough space in the target disk, it will not move everything, it will move as many subfolders of those shares as possible without overfilling the target disk.

 

But in your scenario, if you want to move disk to disk, and are sure there's enough space, probably an rsync command would work better.

Link to comment

unBalance is causing Cron errors for me, almost daily.

I didn't used to leave it running, so I didn't have the issue, but lately I have been.

I am getting the following e-mailed to me:

Cron <root@4a098718778e> test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

/etc/cron.daily/logrotate:
invoke-rc.d: policy-rc.d denied execution of reload.

 

This has eluded me for a while, however I have (with help) pinpointed the problem to this docker!

 

The container ID on the docker page is identical to the one in the "root@4a098718778e" part.

Screenshot attached.

 

I was bitching about it plenty in this thread: http://lime-technology.com/forum/index.php?topic=40151.msg378553#msg378553

unBalance.png.422987feec8ad80a084bccd753ede0d6.png

Link to comment

Hi bungee91,

 

It looks like having a mail daemon in the docker container, triggers the email when logrotate fails.

 

The question now is why logrotate is failing and more important, why is it running at all.

 

I'll have a look at the phusion base image to find out more about it.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.