Skip to the content.

Server Settings Overview

MogileFS supports server settings shared across all trackers. These server settings are stored in the database and not to be confused with the per-tracker configuration files.

Server settings are accessible via the mogadm settings subcommand.

Optimization settings

skip_mkcol

* skip_mkcol=(0|1) default: 0 (false, trackers attempt MKCOL)

Ensures trackers will skip making MKCOL requests entirely. Enable this if your entire storage cluster is capable of creating new directories on PUT requests.

nginx needs the “create_full_put_path on;” option to take take advantage of this setting.

Both mogstored (Perlbal) and cmogstored (v0.2.0+) create directories automatically with PUT requests.

For DAV servers which do not support MKCOL at all (e.g. mogstored and cmogstored), each tracker process will remember MKCOL failures after the first failed requests.

Available since 2.58

skip_devcount

* skip_devcount=(0|1) default: 0 (false, devcount column is updated)

The devcount column is only useful for some statistics but not useful internally to MogileFS. Skipping updates to it will reduce I/O load on the database.

If you’ve disabled devcounts and later want to restore them, setting this back to zero (false) and running fsck (from the beginning) will restore devcounts:

	mogadm settings set skip_devcount 0
	mogadm fsck reset
	mogadm fsck start

Available since 2.58

Compatibility settings

case_sensitive_list_keys

* case_sensitive_list_keys=(0|1) default: 0 (database dependent)

This makes the the “after” and “prefix” parameters of the “list_keys” command behave case-sensitively.

The database dependent defaults are as described below:

MySQL is dependent on the charset of the “file” table, this is usually case-insensitive by default (consult with your DBA).

Postgres is case-sensitive by default. Postgres deployments are completely unaffected by this setting.

SQLite is case-insensitive by default. This server setting is the only way to enable case-sensitive “list_keys” behavior in MogileFS

Available since 2.64

Network Zone settings

Examples for multiple network support

network_zones

* network_zones=comma-delimited list of zone names

See ConfigureMultiNet

zone_${ZONE_NAME} ###_

* zone_${ZONE_NAME}=netmask

See ConfigureMultiNet

Queue/FSCK settings

queue_size_for_fsck

* queue_size_for_fsck=INTEGER (default: 20000)

See FSCK for more information. Available since 2.33

queue_rate_for_fsck

* queue_rate_for_fsck=INTEGER (default: 1000)

See FSCK for more information. Available since 2.30

internal_queue_limit

* internal_queue_limit=INTEGER (default: 500)

This controls the sizes of the internal queue for “fsck”, “delete”, “replicate”, and “rebalance”. Each task has its own internal queue, but this limit governs all of them.

See FSCK for more information. Available since 2.33

queue_size_for_rebal

* queue_size_for_rebal=INTEGER (default: 10000)

Controls the number of rows in the “file_to_queue” database table for rebalance.

Available since 2.40

queue_rate_for_rebal

* queue_rate_for_rebal=INTEGER (default: 500)

Controls the number of FIDs to inject into “file_to_queue” per second for rebalance.

Available since 2.40

fsck_checksum

* fsck_checksum=(MD5|off|class) (default: "class")

See Checksums wiki page for more information. Available since 2.60

Cache settings

Read “doc/memcache-support.txt” in the MogileFS-Server source tree before deciding to enable caching:

https://raw.github.com/mogilefs/MogileFS-Server/master/doc/memcache-support.txt

memcache_servers

* memcache_servers=comma-delimited list of $HOST:$PORT (default: "", none)

memcache_ttl

* memcache_ttl=INTEGER (default: 3600)