Configuration reference
Parameter tables for the main LeilFS configuration files. All live in /etc/saunafs/ and are read by their component at startup; most changes need a service restart, though some can be reloaded with SIGHUP. Values below are defaults from the LeilFS man pages — always confirm against man <file> on your installed version.
Configuration files
| File | Component | Purpose |
|---|---|---|
leil-master.cfg | Master metadata server | Personality, ports, chunk management |
leil-chunkserver.cfg | Chunkserver | Master connection, storage, performance |
leil-mount.cfg | Client mount defaults | Master address, password, mount options |
leil-exports.cfg | Export access control | Which clients may mount, with what restrictions |
leil-goals.cfg | Replication goals / EC | Named replication and erasure‑coding policies |
leil-hdd.cfg | Chunkserver disk list | Storage directories, metadata/data separation |
leil-topology.cfg | Network topology | Rack‑awareness for replication decisions |
leil-metalogger.cfg | Metalogger | Master connection, metadata backup retention |
leil-uraft.cfg | uRaft HA daemon | Consensus nodes, election timing, floating IP |
leil-goals.cfg is documented in Replication, leil-hdd.cfg in Storage device setup, leil-topology.cfg in Network setup, and leil-uraft.cfg in High availability.
Master — leil-master.cfg
| Option | Meaning | Default |
|---|---|---|
PERSONALITY | master, shadow, or ha-cluster-managed | master |
DATA_PATH | Metadata and lock‑file location | — |
MATOCL_LISTEN_HOST / MATOCL_LISTEN_PORT | Client listener | * / 9421 |
MATOCS_LISTEN_HOST / MATOCS_LISTEN_PORT | Chunkserver listener | * / 9420 |
MATOML_LISTEN_HOST / MATOML_LISTEN_PORT | Metalogger listener | * / 9419 |
CHUNKS_LOOP_MAX_CPS | Max chunks checked per second | 100000 |
CHUNKS_LOOP_MIN_TIME | Seconds to check all chunks | 300 |
CHUNKS_SOFT_DEL_LIMIT / CHUNKS_HARD_DEL_LIMIT | Deletions per server (soft/hard) | 10 / 25 |
CHUNKS_WRITE_REP_LIMIT / CHUNKS_READ_REP_LIMIT | Replications to / from one server | 2 / 10 |
SESSION_SUSTAIN_TIME | Client session retention after disconnect (s) | 86400 |
ENABLE_PROMETHEUS | Enable Prometheus metrics (0/1) | 0 |
PROMETHEUS_HOST | Metrics listen address | 0.0.0.0:9499 |
TLS_CERT_FILE / TLS_KEY_FILE / TLS_CA_CERT_FILE | TLS material (see TLS) | — |
Chunkserver — leil-chunkserver.cfg
| Option | Meaning | Default |
|---|---|---|
MASTER_HOST | Master address | sfsmaster |
MASTER_PORT | Master chunkserver port (MATOCS) | 9420 |
MASTER_TIMEOUT | Master connection timeout (s) | 60 |
MASTER_RECONNECTION_DELAY | Reconnect delay (s) | 5 |
CSSERV_LISTEN_HOST / CSSERV_LISTEN_PORT | Client data listener (CSTOCL) | * / 9422 |
NR_OF_NETWORK_WORKERS | Threads for client connections | 4 |
HDD_CONF_FILENAME | Path to the disk list | leil-hdd.cfg |
HDD_LEAVE_SPACE_DEFAULT | Free‑space threshold marking a disk full | 4GiB |
HDD_CHECK_CRC_WHEN_READING / HDD_CHECK_CRC_WHEN_WRITING | CRC verification on read / write | 1 / 1 |
READ_AHEAD_KB | posix_fadvise prefetch (KiB) | 0 |
PERFORM_FSYNC | fsync() after each chunk modification | 1 |
REPLICATION_BANDWIDTH_LIMIT_KBPS | Replication rate cap (KiB/s) | unlimited |
REPLICATION_TOTAL_TIMEOUT_MS | Total replication timeout (ms) | 60000 |
TLS_CERT_FILE / TLS_KEY_FILE / TLS_CA_CERT_FILE | TLS material (experimental) | — |
Metalogger — leil-metalogger.cfg
| Option | Meaning | Default |
|---|---|---|
MASTER_HOST | Master to back up | sfsmaster |
MASTER_PORT | Master metalogger port (MATOML) | 9419 |
DATA_PATH | Storage for downloaded metadata and changelogs | — |
BACK_LOGS | Changelog files to retain | 50 |
BACK_META_KEEP_PREVIOUS | Previous metadata images to keep | 3 |
META_DOWNLOAD_FREQ | Hours between full downloads (≤ BACK_LOGS/2) | 24 |
MASTER_RECONNECTION_DELAY | Reconnect delay (s) | 30 |
MASTER_TIMEOUT | Master connection timeout (s) | 60 |
TLS_CERT_FILE / TLS_KEY_FILE / TLS_CA_CERT_FILE | TLS material | — |
See Metaloggers.
Exports — leil-exports.cfg
Line format: ADDRESS DIRECTORY [OPTIONS]. Default options for an export are ro,maproot=999:999.
| Option | Effect |
|---|---|
ro / readonly, rw / readwrite | Read‑only or read‑write |
maproot=USER[:GROUP] | Map remote root to this user/group |
mapall=USER[:GROUP] | Map all non‑privileged users to this user/group |
password=PASS, md5pass=MD5 | Require a password (plaintext / MD5) |
alldirs | Allow mounting any subdirectory |
dynamicip | Allow reconnect from a different IP after authentication |
ignoregid | Skip group‑access testing at the master |
minversion=VER | Require a minimum client version |
mingoal=N / maxgoal=N | Constrain the settable goal range |
mintrashtime=T / maxtrashtime=T | Constrain the settable trashtime range |
Address formats: * (any), n.n.n.n (single), n.n.n.n/b (CIDR), n.n.n.n/m.m.m.m (mask), f.f.f.f-t.t.t.t (range). See Access control.