This respository is to enable the use of Stratis on Debian-based GNU/Linux distros. I am currently working on using GitHub Actions to generate a release of stratisd and stratis-cli packages for Debian distros on the AMD64 architecture.
I prefer Debian. There’s ideological differences and tooling that I’m just more comfortable with…but Stratis is an interesting thing and I think it should be available elsewhere. If any of this resonates with you, know that contributions are welcome.
Maintenance of this repository is best-effort. I make no garantees of accuracy, completeness, or suitability for any purpose.
I’ve spent a lot of time (years now) with a misconception of what Stratis is and aims to achieve. Stratis might be for you if all of the following are true:
-
You need the scalability of ZFS
-
You need the performance capability of ZFS, but you don’t quite need the IOPs of Lustre and certainly don’t want or need that kind of infrastructre
-
You need the flexibility of Btrfs
-
You have a sound disaster recovery strategy that includes backups with long-term storage not on Stratis
-
You aren’t willing to wait for Btrfs developers to resolve the write hole problem
-
Bit rot may be a concern but it is not a high priority because of #4 or because data simply isn’t stored long term on your Stratis pool
At the time of writing all modern file systems in public use (APFS, Btrfs, ReFS, ZFS, Stratis, LVM2 + ?) are slightly better than awful. The fact we even made it this far is amazing. The reality is that storage is hard. Safe, performant storage is a gargantuan effort, and one of the most difficult problems for humanity to solve. Do not trust that your primary storage solution will always be trustworthy. Over a long enough time span, the probability of failure is 100%.
-
Clone this repository
-
run dependencies_debian.sh or manually work through each line to make sure it’s right
At this stage, you’ll need to troubleshoot what isn’t working.
Note
|
Debian is not supported by stratis. What follows below is a work in progress as I figure it out. Contributions welcome. |
There are some issues left to be resolved. The script to install dependencies and resolve build issues is a work in progress. The "script" currently provided lacks flow control, error check, dependency resolution and install validation. It is little more than a list of commands you might type in your terminal if trying to do this yourself, and you were in a hurry for a proof-of-concept.
-
After building and installing, reboot.
-
Start the stratisd.service daemon, and ensure it’s running. If so, enable.
-
Create a pool, eg
sudo stratis pool create test-pool /dev/xvdb /dev/xvdc /dev/xvde