ericaltendorf / plotman

Chia plotting manager
Apache License 2.0
909 stars 280 forks source link

adjust 'free space' thresholds on dst and archives. #617

Open syadnom opened 3 years ago

syadnom commented 3 years ago

I'm seeing some contention with multiple plotters and shared storage.

I would like to be able to set an amount of free space to leave on a given destination or archive location.

Ie, dst:

dst AND archive please :)

Gu1Ka commented 3 years ago

I second this, especially when not using archiving.

syadnom commented 3 years ago

There are a few pieces here. I don't mind leaving this as-is if we can get some code in mainline to have tmp and dst the same (ie, no extra copy) and then I'll using archive to move it to local folders. That's fine w/ me

randellhodges commented 3 years ago

There are a few pieces here. I don't mind leaving this as-is if we can get some code in mainline to have tmp and dst the same (ie, no extra copy) and then I'll using archive to move it to local folders. That's fine w/ me

If dst is the same as tmp, there is no extra copy. It is a rename: https://github.com/Chia-Network/chiapos/blob/632c9d70e865f2fdb92c47e4ed3380b5bf92947e/src/plotter_disk.hpp#L373

Now, with plotman there is an issue if you have multiple tmp. There is a PR (not sure if merged into development yet) where you just don't specify dst to ensure the final plot never moves out of tmp. Maybe this was the scenario you were referring to?

syadnom commented 3 years ago

yes, exactly. I want to keep the dst on the same drive it was plotted on and then move it off via archive. for example.

I'm working around this with aufs. I'm using create=mfs ie new files to the device with the most free space. I put all my destination directories in this aufs mount and it handles distributing the files evenly. Then I'm putting just that one aufs mount as dst in plotman. Works great actually. I can also update the mount point via script so if I add a drive I put a folder on it calls 'plots' and my script runs in cron every minute searching the mountpoints for 'plots' and if it finds one it updates aufs.

Downside is I don't see what's happening in plotman interactive.. oh well.