GlusterFS(8)

πŸ’– GlusterFS β€” the clustered filesystem era πŸ’–

okay bestie, sit down, hydrate, and let me tell you about GlusterFS(8) from the Gluster Inc. girlies. this is the manual page for the big one. the peta-scale one. the way it eats storage bricks for breakfast? iconic. let's get into it. πŸ¦‹


✨ NAME ✨

GlusterFS β€” Clustered Filesystem. that's it. that's the whole vibe. she contains multitudes (and also your bricks). πŸ’…


✨ SYNOPSIS ✨

glusterfsd [options] [mountpoint]

that's the shape of it. options go in, mountpoint goes at the end if you have one. no notes. πŸŽ€


✨ DESCRIPTION ✨

okay so. GlusterFS is a clustered file-system and she is not playing around β€” she's capable of scaling to several petabytes. like. several. peta. bytes. πŸ’€

the way it works is it aggregates various storage bricks over Infiniband RDMA or TCP/IP interconnect into one big large parallel network file system. one filesystem. many bricks. that's the energy. ✨

and the bricks themselves? they can be made of literally any commodity hardware β€” like an x86-64 server with SATA-II RAID and Infiniband HBA. no fancy proprietary nonsense required, we love a budget queen. πŸ‘‘

GlusterFS is a fully POSIX compliant FileSystem. periodt. on the client side, it has a dependency on the FUSE package. on the server side, it works seemlessly on different OSes. (Currently supported on GNU/Linux, Solaris.) 🫢


✨ OPTIONS ✨

quick heads up bestie: mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options. the rules travel with the option, iykyk. πŸ’«

🌸 Basic options 🌸

  • -f, --volfile=VOLUME-FILE β€” the File to use as VOLUME-FILE. [default: /etc/glusterfs/glusterfs.vol] πŸ“
  • -l, --log-file=LOGFILE β€” the File to use for logging. [default: /var/log/glusterfs/glusterfs.log]
  • -L, --log-level=LOGLEVEL β€” Logging severity. the valid options are TRACE, DEBUG, INFO, WARNING, ERROR and CRITICAL. [default: WARNING] choose your drama level wisely πŸ’…
  • -s, --volfile-server=SERVER β€” the Server to get the volume from. lowkey important: this option overrides the --volfile option. no cap. πŸ”₯

🧚 Advanced options 🧚

  • --localtime-logging β€” Enable localtime log timestamps. your logs, your timezone, your rules. ⭐
  • --debug β€” Run in debug mode. this one sets --no-daemon, sets --log-level to DEBUG and sets --log-file to console. she's doing a lot. let her cook. 🫢
  • -N, --no-daemon β€” Run in foreground. main character energy, no backgrounding. πŸ‘‘
  • --read-only β€” Makes the filesystem read-only. look but don't touch, bestie. πŸ™ˆ
  • -p, --pid-file=PIDFILE β€” the File to use as pid file.
  • -S SOCKFILE β€” Socket file to used for inter-process communication. (yes that's how the original says it, we keep the facts exact around here πŸ’–)
  • --brick-name DIRECTORY β€” the Directory to be used as export directory for GlusterFS.
  • --brick-port PORT β€” the Brick Port to be registered with Gluster portmapper.
  • --volfile-id=KEY β€” the KEY of the volume file to be fetched from server.
  • --volfile-server-port=PORT β€” the Port number of volfile server.
  • --volfile-server-transport=TRANSPORT β€” the Transport type to get volume file from server. [default: tcp]
  • --volume-name=VOLUME-NAME β€” the Volume name to be used for MOUNT-POINT. [default: top most volume in VOLUME-FILE]
  • --xlator-option=VOLUME-NAME.OPTION=VALUE β€” Add/override a translator option for a volume with the specified value. yes, the whole VOLUME-NAME.OPTION=VALUE shape, exactly like that. ✨

πŸŽ€ Fuse options πŸŽ€

  • --attribute-timeout=SECONDS β€” Set attribute timeout to SECONDS for inodes in fuse kernel module. [default: 1]
  • --entry-timeout=SECONDS β€” Set entry timeout to SECONDS in fuse kernel module. [default: 1]
  • --direct-io-mode=BOOL β€” Enable/Disable direct-io mode in fuse module. [default: enable]
  • --resolve-gids β€” Resolve all auxiliary groups in fuse translator (max 32 otherwise). thirty-two. that's the limit. remember it. πŸ¦‹
  • --auto-invalidation=BOOL β€” controls whether fuse-kernel can auto-invalidate attribute, dentry and page-cache. Disable this only if same files/directories are not accessed across two different mounts concurrently. [default: on]
not me stressing this one: only turn auto-invalidation off if the same files/directories aren't being accessed across two different mounts at the same time. otherwise? do not. πŸ’€

🌈 Miscellaneous Options 🌈

  • -?, --help β€” Give this help list. the classic. the icon. 🫢
  • --usage β€” Give a short usage message.
  • -V, --version β€” Print program version.

✨ FILES ✨

/etc/glusterfs/*.vol

the vol files live there. that's the spot. 🏠


✨ EXAMPLES ✨

okay so the assignment: Start a GlusterFS server on localhost with volume name foo ✨

glusterfsd -s localhost --volfile-id foo.server.media-disk-1 -p
/var/lib/glusterd/vols/foo/run/server-media-disk-1.pid -S
/tmp/<uniqueid>.socket --brick-name /media/disk-1 -l
/var/log/glusterfs/bricks/media-disk-1.log --brick-port 24009
--xlator-option foo-server.listen-port=24009

copy it, run it, slay it. πŸ’…


✨ SEE ALSO ✨

go read those too bestie, the lore is deep πŸ“š


Copyright(c) 2006-2011 Gluster, Inc. <http://www.gluster.com>


and that's the page, fr fr. this was the Cluster Filesystem manual, page GlusterFS(8) from Gluster Inc., dated 19 March 2010. okay bye bestie, go mount something iconic πŸ’–βœ¨πŸŽ€πŸ¦‹
πŸ“¦ where this page comes from