GitHub - aozgaa/jbofs: Just Bunch of Filesystems -- management tools for a symlink-manager JBOD setup

1 min read Original article ↗

jbofs is a small CLI for managing files across multiple independent filesystem roots while exposing a separate logical namespace of symlinks. jbofs is not a pooled filesystem; it is an explicit storage workflow built around a symlink farm with independent roots.

$ jbofs init                                                                  # configure roots and logical view, interactively
$ jbofs cp --disk disk-01 movie.mov /srv/jbofs/logical/movies/movie.mov       # explicit placement
$ jbofs cp --policy most-free movie2.mov /srv/jbofs/logical/movies/movie2.mov # policy-driven placement
$ vlc /srv/jbofs/logical/movies/movie.mov                                     # ... use data for something ...
$ jbofs rm /srv/jbofs/logical/movies/movie.mov                                # cleanup symlink and data

Due to its simplicity ("just a bunch of filesystems and symlinks"), jbofs can also be used with regular binutils:

$ rm /srv/jbofs/logical/movies/movie2.mov                                     # orphan data
$ jbofs doctor                                                                # diagnose issues, eg: P0003 -- missing symlink
$ jbofs sync                                                                  # create symlinks to unorphan data
$ rm /mnt/nvme-S5P2NG0R608249J/CLAUDE.md                                      # orphan symlink
$ jbofs doctor                                                                # diagnose again, eg: L0006 -- missing target
$ jbofs prune                                                                 # rm orphaned symlink