gluster / glusterdocs

This repo contains the source of official Gluster documentation rendered at https://docs.gluster.org
MIT License
353 stars 279 forks source link

Why XFS? #785

Open agowa opened 1 year ago

agowa commented 1 year ago

Hi, I understand that XFS is the a good general purpose filesystem choice, but why exactly is it the recommended one for glusterfand does gluster use some XFS specific optimizations if used? That gluster wouldn't be (able to use) with e.g. ZFS, BTRFS, EXT2, NILFS, F2FS, ...,?

My main reason for asking is that I'd like to understand the corrently stated recommendation and whether or not I'd miss out on some XFS specific optimizations inside of gluster itself by picking a different one.

aravindavk commented 1 year ago

Nothing specific to XFS. Gluster works with any filesystem that supports xattrs.

XFS is used in the most tests, and BTRFS was not stable when Gluster project was started and ZFS was not available in all distributions until recently.

agowa commented 1 year ago

Thanks, so there are no XFS specific optimizations? It just needs xattrs? I'm currently not that familiar with the filesystem APIs. I just know that in the past some projects had way better performance on some filesystems than others because of filesystem specific API calls. Apparently there wasn't any filesystem independent API and one would have had to update the code to use another API endpoint for a different filesystem. It was about creating sparse files if I recall correctly.

Tl;Dr: So what you're saying is Gluster does not have any XFS specific API calls or optimizations?

aravindavk commented 1 year ago

XFS optimisation does help Gluster perform better. For example, inode size and noatime etc.

Many users are already using Gluster with ext4, ZFS, btrfs, XFS or LVM supported backends without any issues.

agowa commented 1 year ago

XFS optimisation does help Gluster perform better. For example, inode size and noatime etc.

I explicitelly don't mean optimizations in XFS's code, I solely ment if there are XFS specific code paths within gluster itself.

Many users are already using Gluster with ext4, ZFS, btrfs, XFS or LVM supported backends without any issues.

Ok, it works, but is it a good option? Am I missing out on anything within Gluster if I choose it? I probably have to benchmark it anyway because of differences within the filesystems themselves, but I'd really like to know if Gluster itself behaves different in these cases and if I need to take that into account too.