CONFIG-GFARM(8)
π config-gfarm β the manual, but make it make sense π
okay bestie, gather round, because this is CONFIG-GFARM(8) from the Gfarm manual set, and it's literally the glow-up ritual for your metadata server. no cap. π
β¨ NAME β¨
config-gfarm β set up a metadata server of Gfarm. that's it, that's the whole job. π
π¦ SYNOPSIS π¦
config-gfarm [options]
πΈ DESCRIPTION πΈ
so config-gfarm is the utility that sets up a metadata server of the Gfarm file system. the actual server program that runs on a metadata server is called gfmd. (yes, that's its name, iconic.) β¨
heads up: you're required to run config-gfarm with root privilege β unless you're using the file system for private purposes, like development, evaluation, or testing of Gfarm. then you can vibe however you want. π«Ά
here's the tea β config-gfarm does these things, in exactly this order:
- Set up the backend database. ποΈ
- Generate Gfarm configuration files
%%SYSCONFDIR%%/gfarm2.confand%%SYSCONFDIR%%/gfmd.conf. π - Create scripts (or configuration files) to start/stop the backend database and
gfmd. βοΈ
On most systems, config-gfarm puts the start/stop scripts gfmd and gfarm-pgsql onto either /etc/init.d or /etc/rc.d/init.d, according to the operating system. pick your fighter based on your OS, iykyk.
On Linux with systemd such as Red Hat Enterprise Linux 7 or later, config-gfarm puts the unit configuration files gfmd.service and gfarm-pgsql.service onto /etc/systemd/system, and then executes systemctl enable gfmd.service and systemctl enable gfarm-pgsql.service respectively. modern problems, modern solutions. π«
- Start the backend database and
gfmd. π₯ - Put the script
unconfig-gfarm.shon%%SYSCONFDIR%%. this script does the *un*configuration of the metadata server. it stopsgfmdand the backend database, and removes all files created byconfig-gfarmβ includingunconfig-gfarm.shitself. it's giving self-destruct mode, and honestly? respect. π
before you set up a metadata server using config-gfarm, it is highly recommended that you run config-gfarm -t first. with the -t option, the setup is not performed. instead, it shows you the values of all the configurable parameters. a vibe check before the commitment, basically. π
$ config-gfarm -t
prefix [--prefix]:
metadata backend [-b]: postgresql
(available backend: postgresql )
metadata directory [-l]: /var/gfarm-pgsql
metadata log directory [-L]: /var/gfarm-pgsql/pg_xlog
postgresql admin user [-U]: miles
postgresql admin password [-W]: (auto generated)
postgresql user [-u]: gfarm
postgresql password [-w]: (auto generated)
postgresql prefix [-P]: /usr
postgresql version [-V]: 9.2
postgresql XML supported [-X]: no
metadata replication [-r]: no
metaserver hostname [-h]: host1.example.org
matadata admin user [-A]: miles
matadata admin dn [-D]:
portmaster port [-p]: 10602
gfmd port [-m]: 601
auth type [-a]: sharedsecret
rc script for gfmd : /etc/init.d/gfmd
rc script for backend : /etc/init.d/gfarm-pgsql
gfmd conf file : /etc/gfmd.conf
gfarm client conf file : /etc/gfarm2.conf
gfmd pid file : /var/run/gfmd.pid
backend pid file : /var/run/postmaster.pid
and the key to reading that list: the option name surrounded by [ ] means you can specify a value with that option. so if you see [-b], that's your cue that -b is how you set it. π―
more parts incoming, bestie β don't go anywhere π
β¨ OPTIONS β¨
okay bestie, this is where we pick all the knobs and flags. every single one matters, no cap π
--prefixpath β configure some paths related togfmdand the backend database. specifically, these followings are affected:- the directory to put metadata of Gfarm. that is
PREFIX/var/gfarm-pgsqlif the backend database is PostgreSQL. the path can also be changed by-loption. when both options are specified,-loption has preference. - the directory to put log files about metadata. that is
PREFIX/var/gfarm-pgsql/pg_xlogif the backend database is PostgreSQL. the path can also be changed by-Loption. when both options are specified,-Loption has preference. - the directory to put journal files of
gfmd. that isPREFIX/var/gfarm-metadata/journal. the path can also be changed by-joption. when both options are specified,-joption has preference. - the directory to put PID files of
gfmdand the backend database. that isPREFIX/var/run. - the directory to put configuration files. that is
PREFIX/etc. - the directory of start/stop scripts for
gfmdand its backend database. that isPREFIX/etc/init.dorPREFIX/rc.d/init.d/etcwhich is depending on operating systems. - if
systemdis running on the host, there is a special exception. when an empty prefix is given by--prefixoption on such host,config-gfarmdoesn't put unit configuration files forsystemd. instead, it puts traditional start/stop scripts atPREFIX/etc/init.d. - the unconfiguration script
unconfig-gfarm.sh. that isPREFIX/etc/unconfig-gfarm.sh.
- the directory to put metadata of Gfarm. that is
the default is "" (empty).
-bbackend β specify backend database. it currently supports"postgresql"(for PostgreSQL) only."ldap"(for LDAP) was supported in the past, but not maintained any longer.config-gfarm -tlists which backend databases are available.
PostgreSQL is chosen by default if "postgresql" is in the list. if the available backend is "ldap" only, it is still chosen by default. note that you need to recompile Gfarm if you'd like to make Gfarm on your system support a backend database not in the list.
-ddigest_type β enable checksum calculation and specify the digest type of the checksum. the digest_type argument is a lower-case name which is supported by the OpenSSL library on the host, such as"md5".-Uusername β specify administrator's username of the Gfarm file system. since the default value differs depending on operating systems, executeconfig-gfarm -tto confirm the username.-uusername β the configuredgfmdwill connect to the backend database as the specified username. the default is"gfarm".-Pprefix β specify an installation prefix of the backend database (e.g./usr/local). whenconfig-gfarmexecutes an administration command of the backend database, it assumes the command is installed under the given prefix. an example of those commands isinitdbof PostgreSQL. if this option is omitted,config-gfarmsearches directories listed in the environment variablePATHfor the commands.-Vversion β tell version of the backend database toconfig-gfarm. in most cases,config-gfarmcan detect a correct version number by itself. this option should be used only whenconfig-gfarmfails to get the correct version number.-ldirectory β specify a path to the directory where the backend database puts files to store metadata of Gfarm.
if the backend database is PostgreSQL, the directory is commonly called PGDATA directory. the default is PREFIX/var/gfarm-pgsql where PREFIX is a prefix given by --prefix option.
-Ldirectory β specify a path to the directory where the backend database puts log files. if the backend database is PostgreSQL, the default isPREFIX/var/gfarm-pgsql/pg_xlogwherePREFIXis a prefix given by--prefixoption.-hhostname β specify a hostname which is used to identify the metadata server. the default is the fully qualified domainname of the host.-jdirectory β specify a path to the directory wheregfmdputs journal files. this option takes an effect only when metadata replication is enabled by-roption. the default value isPREFIX/var/gfarm-metadata/journalwherePREFIXis a prefix given by--prefixoption.-Ausername β specify administrator of the Gfarm file system. if this option is omitted,config-gfarmgets a username by executingwho am icommand.-Dsubject-dn β specify a subject DN of global administrator. this option is mandatory, in case that the authentication method is GSI,-pport β specify a TCP port number the configured backend database listens on. the default is10602.-mport β specify a TCP port number the configuredgfmdlistens on. the default value is10601in case of the private mode,601otherwise.-amethod β specify an authentication method. it currently recognizes"sharedsecret"or"gsi". the default is"sharedsecret".--helpβ show usage, then exit.-Sβ enable the private mode.config-gfarmsets up the Gfarm file system which can be run without root privilege. specifically,config-gfarmchanges the configuration procedures as follows:- the default listen port of
gfmd(corresponding with-moption) is changed from601to10601. - the user map file
%%SYSCONFDIR%%/usermapis also created. the metadata server reads this file when it starts. in the non-private mode, it is required to create the user accounts for_gfarmmdand_gfarmfson the operating system. with the user map file, the creation of the user accounts is not needed. the file defines mappings of Gfarm system users to actual user accounts. - the configuration file for
gfsd,%%SYSCONFDIR%%/gfsd.confis also created. in the non-private mode,gfsdreads the configuration file%%SYSCONFDIR%%/gfarm2.confinstead, which is read by all Gfarm programs connecting with a metadata server.%%SYSCONFDIR%%/gfsd.confis a configuration file cutomized forgfsdrunning under the private mode.
- the default listen port of
π¨-Soption never changes locations of start/stop scripts and configuration files. since the default locations of those files are usually writable only for privilege users,config-gfarmfails to create them. to avoid this problem, also specify--prefixoption.
-Nβ do not startgfmdor the backend database.-fβ force overwriting an existing set up.-tβ show values of all configurable parameters in human readable format, then exit immediately.-Tβ like-toption, but it shows values inKEY=VALUEformat.-rβ enable metadata replication among metadata servers.-Wpassword β specify administrator's password of backend database. this option corresponds with-Uoption which specifies the username. by default, the password is generated automatically.-wpassword β the configuredgfmdwill connect the backend database with the specified password. this option corresponds with-uoption which specifies the username. by default, the password is generated automatically.-Xβ enable XML Path Language (XPath) support for querying XML extended attributes.-Eβ set up PostgreSQL with the data checksums option.config-gfarmgives--data-checksumsoption toinitdbcommand of PostgreSQL. note that PostgreSQL 9.3 or later is required to use this feature. this option takes an effect only when the backend database is PostgreSQL.
π FILES π
%%SYSCONFDIR%%/gfarm2.confβ configuration file for Gfarm clients%%SYSCONFDIR%%/gfmd.confβ configuration file forgfmd%%SYSCONFDIR%%/gfsd.confβ configuration file forgfsd(used only in the private mode)%%SYSCONFDIR%%/usermapβ user mapping definition file (used only in the private mode)/etc/init.d/gfarm-pgsqlβ start/stop script for PostgreSQL running as backend database of Gfarm/etc/init.d/gfmdβ start/stop script forgfmd/etc/systemd/system/gfarm-pgsql.serviceβ unit configuration file for PostgreSQL running as backend database of Gfarm, read by systemd/etc/systemd/system/gfmd.serviceβ unit configuration file forgfmd, read by systemd
π SEE ALSO π
this iconic little page is from Gfarm, dated 20 Jan 2015, and it's CONFIG-GFARM(8) β periodt π β¨
π¦ where this page comes from
- debian bookworm: gfmd 2.7.20+dfsg-1+b2 Β· BSD-like
- debian trixie: gfmd 2.7.20+dfsg-1.2+b1 Β· BSD-like
- ubuntu jammy: gfmd 2.7.17+dfsg-1build2 Β· BSD-like
- ubuntu noble: gfmd 2.7.20+dfsg-1.1ubuntu1 Β· BSD-like
- ubuntu questing: gfmd 2.7.20+dfsg-1.2
- ubuntu resolute: gfmd 2.7.20+dfsg-1.3 Β· BSD-like
- ubuntu stonking: gfmd 2.7.20+dfsg-1.3build1 Β· BSD-like
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms