Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(bgs): add strong anti-recomendation for running ext4 + document dir_index #747

Open
nepeat opened this issue Sep 5, 2024 · 1 comment

Comments

@nepeat
Copy link

nepeat commented Sep 5, 2024

I've attempted to create a self hosted BGS and did not stand by the recommendation to use XFS instead of ext4. As a result of this, I likely have hit a hash collision due to the dir_index hashing feature of ext3 + ext4.

image

src: https://blog.merovius.de/posts/2013-10-20-ext4-mysterious-no-space-left-on/#do-you-have-dir_index-enabled

Suggestions

  1. Update the filesystem recommendation to recommend against ext4 explicitly for folks trying to self host a relay.
  2. Call out tune2fs -O "^dir_index" /dev/device as an option to disable this feature due to the millions of files that relay creates.
# tune2fs -O "^dir_index"  /dev/device
tune2fs 1.47.0 (5-Feb-2023)
Disabling directory index on filesystem with checksums could take some time.
Proceed anyway (or wait 5 seconds to proceed) ? (y,N) y
#

I'm not really a good document writer but the general ideas I hope to push in the relay README are these two.

@bnewbold
Copy link
Collaborator

bnewbold commented Sep 8, 2024

Wow! did not know of that particular failure mode, thanks for reporting.

How is relay self-hosting going otherwise? We have pushed some small performance optimizations in the last week or so to help keep up with network traffic growth. The current relay codebase should continue to work (especially if the number of subscribers is smaller), but we are actively considering ways to refactor and scale the service, as well as any protocol tweaks that might make it easier/cheaper to run relays.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants