boinc icon indicating copy to clipboard operation
boinc copied to clipboard

Linux: support moving data directory to larger drive

Open RichardHaselgrove opened this issue 5 years ago • 14 comments

Ref: https://boinc.berkeley.edu/forum_thread.php?id=13919&postid=100356#100356

Describe the problem Some users have computers which have small system drives, but wish to run projects with large data requirements.

Describe the solution you'd like User Graeme Hewson has described what appears to be a simple user enhancement under systemd to enable this to happen.

  1. Linux maintainers (@Germano0, @smoe) please assess and confirm if this is viable. In particular, please confirm that the override.conf generated by systemctl edit will be persistent through version upgrades. (The one we're testing in #3715 for idle detection seems to be)
  2. Need to ensure that the automatic gui_rpc_auth.cfg password location detection we're assessing in #4071 will be compatible with this change, if the user chooses to make it.
  3. Also, please consider if this change could be presented as an option during installation.

Additional context It would be helpful to record Graeme Hewson's procedure, once confirmed, in the official documentation.

RichardHaselgrove avatar Nov 17 '20 13:11 RichardHaselgrove

Looks like a duplicate of #2929

@RichardHaselgrove, maybe these two should be merged?

AenBleidd avatar Nov 17 '20 13:11 AenBleidd

Both the solutions you linked in #2929 pre-date systemd, and should be deprecated. Happy to see a merge, but we need to link to a solution for the current implementation.

RichardHaselgrove avatar Nov 17 '20 13:11 RichardHaselgrove

I personally like this. Would you have a patch? And - do you still need config.properties, then?

smoe avatar Nov 17 '20 23:11 smoe

Once again, I'm simply the messenger for another user - I haven't tested this personally. But the suggested override.conf is

[Service]
ProtectHome=tmpfs
BindPaths=/home/boinc-client
ReadWritePaths=-/etc/boinc-client
WorkingDirectory=/home/boinc-client

RichardHaselgrove avatar Nov 18 '20 08:11 RichardHaselgrove

Besides that not being a patch, Debian does not install to /home. And it does not solve the problem of keeping config.properties and above paths in sync.

smoe avatar Nov 18 '20 10:11 smoe

True. It's not a patch, but a 'concept'. That's why I asked the professional repo maintainers to consider and enhance it, for the benefit of the community at large.

RichardHaselgrove avatar Nov 18 '20 10:11 RichardHaselgrove

And I (if you meant me) say "help". And I do not see @LocutusOfBorg saying "no prob", really. Much like config.properties i do not see this fully thought through. And I am not convinced that this is anything critical. I like it if it is working. But it complicates BOINC even further and drags energies away from what is important. I would not fight a patch, but the moving of data directories of a running system is something for upstream. We once had the datadir configurable, IIRC, and will leave answering that part to @LocutusOfBorg should he feel so inclined.

smoe avatar Nov 18 '20 11:11 smoe

The user should simply mount a block device as /var/lib/boinc and check the SELinux context. No action is required from our side

Germano0 avatar Nov 18 '20 11:11 Germano0

There may be more to do on the systemd front, say to help accomodating demands by LHC (https://lhcathome.cern.ch/lhcathome/forum_thread.php?id=4971). The cgroup-tools should possibly be suggested or even recommended by the boinc-client package. I suggest to collect use cases for a while and then maybe evolve a BOINC-systemd interface from there.

smoe avatar Nov 18 '20 17:11 smoe

Sounds like a plan. I'm afraid my personal knowledge of Linux is still at the rudimentary level, but if you want a semi-naive tester, I'll follow along as best I can.

RichardHaselgrove avatar Nov 18 '20 18:11 RichardHaselgrove

Or have the option to simply add multiple directories to BOINC. If one drive is full, just add an extra directory. Maybe even one per project. This would allow certain projects that need fast IO to reside on a smaller SSD and projects that don't need it on slower spinning drives. The BOINC client could even detect the kind of device type for each configured path, and report this to the project server(s), so the project managers could chose to prefer SSD over HDD. One minor issue might be how to calculate the disk usage and the corresponding preferences.

cminnoy avatar Feb 11 '21 17:02 cminnoy

LVM?

smoe avatar Feb 11 '21 17:02 smoe

I suggest to close this issue.

smoe avatar Nov 29 '21 22:11 smoe

Still interesting in this project, @RichardHaselgrove

86ul avatar Feb 03 '22 11:02 86ul