cmogstored.git  about / heads / tags
alternative mogstored implementation for MogileFS
blob 701fde936babcfb84278be2c6c6da33e335c85d1 2849 bytes (raw)
$ git show v1.7.2:cmogstored.x	# shows this blob on the CLI

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
[SIGNALS]
SIGQUIT - gracefully shutdown the server
SIGUSR2 - upgrade executable on the fly

[UPGRADING]
Upgrading cmogstored on-the-fly is possible since version 1.2.0.
The procedure is close to the one used by nginx users: send SIGUSR2
followed by SIGQUIT to the old process.  Use of SIGWINCH and SIGHUP
are currently not supported (but may be in the future).
Procedures for the nginx upgrade are documented here:
https://www.nginx.com/resources/wiki/start/topics/tutorials/commandline/#upgrading-to-a-new-binary-on-the-fly

[ENVIRONMENT]
MOG_IOSTAT_CMD - command-line for invoking iostat(1).  This is used
by the sidechannel to report disk utilization to trackers.
Default: "iostat -dx 1 30"

LISTEN_FDS, LISTEN_PID - may be used for systemd-style socket activation
regardless of whether systemd is on the system.  See sd_listen_fds(3)
for more information.  Since cmogstored supports two protocols on
different sockets, the command line or config file must still specify
which addresses to listen on.  This feature is available in cmogstored
1.5.0 and later.

CMOGSTORED_FD - a comma-delimited list of integer file descriptors.
This is used internally for SIGUSR2 upgrades, but may be specified
at startup (e.g. via env(1)) as it is not tied to LISTEN_PID
like LISTEN_FDS is.  Unlike LISTEN_FDS, CMOGSTORED_FD does not rely
on inherited file descriptors being contiguous.

See MALLOC TUNING for environment variables which may affect memory
usage.

[MALLOC TUNING]

malloc(3) implementations tuned for multithreading speed (and not memory
usage) may cause large amounts of metadata overhead in infrequently-used
arenas.  While cmogstored may use many threads for filesystem I/O,
cmogstored is designed to not be dependent on malloc(3) performance nor
scalability.

On GNU/Linux systems with glibc, we recommend setting MALLOC_ARENA_TEST
and MALLOC_ARENA_MAX to low numbers to limit the number arenas.  Setting
the value of each to 1 or 2 should be enough, even.

[REPORTING BUGS]
Only bug reports in plain-text email will be read.

Please email to either the public inbox at (no subscription required):

	<cmogstored-public@yhbt.net>

(archived at <https://yhbt.net/cmogstored-public/>)

or the public MogileFS mailing list (subscription required)

	<mogile@googlegroups.com>

(archived at <https://groups.google.com/forum/#!forum/mogile>).

[COPYRIGHT]
Copyright (C) 2012-2020 all contributors <cmogstored-public@yhbt.net>

License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

[SEE ALSO]
cmogstored website: https://yhbt.net/cmogstored/README
You can learn more about MogileFS at https://github.com/mogilefs/MogileFS-Server

cmogstored source code is available via git:

	git clone https://yhbt.net/cmogstored.git

git clone https://yhbt.net/cmogstored.git