boinc
boinc copied to clipboard
Linux: support moving data directory to larger drive
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.
- 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)
- 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.
- 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.
Looks like a duplicate of #2929
@RichardHaselgrove, maybe these two should be merged?
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.
I personally like this. Would you have a patch? And - do you still need config.properties, then?
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
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.
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.
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.
The user should simply mount a block device as /var/lib/boinc and check the SELinux context. No action is required from our side
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.
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.
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.
LVM?
I suggest to close this issue.
Still interesting in this project, @RichardHaselgrove