mogadm - MogileFS admin tool
$ mogadm [config options] <argument(s)> [argument options]
$ mogadm
....
(prints contextual help, if missing command/arguments)
...
- --lib=/path/to/lib
- Set this option to a path to include this directory in the module search
path.
- --trackers=10.0.0.117:7001,10.0.0.118:7001,...
- Use these MogileFS trackers for status information.
- check
- Check to ensure that all of the MogileFS system components are functioning
and that we can contact everybody. The quickest way of ensuring that the
entire MogileFS system is functional from the current machine's point of
view.
- host add <host> [host options]
- host modify <host> [host options]
- host mark <host> <status>
- host delete <host>
- host list
- Functions for manipulating hosts. For add and modify, host options is in
the format of normal command line options and can include anything in the
"HOST OPTIONS" section.
- device add <host> <device id>
- device mark <host> <device id> <status>
- device modify <host> <device> [device options]
- device delete <host> <device>
- device list
- device next
- Functions for manipulating devices. For add and modify, device options are
in the format of normal command line options and can include anything in
the "DEVICE OPTIONS" section.
- domain add <domain>
- domain delete <domain>
- domain list
- Simple commands for managing MogileFS domains. Note that you cannot delete
a domain unless it has no classes and is devoid of files.
- class add <domain> <class> [class options]
- class modify <domain> <class> [class options]
- class delete <domain> <class>
- class list
- Commands for working with classes. Please see the "CLASS
OPTIONS" section for the options to use with add/modify. Also, delete
requires that the class have no files in it before it will allow the
deletion.
- slave ...
- Add/remove slaves replicating from MogileFS master database.
TODO: detail this
Run mogadm slave by itself for contextual help.
- fsck printlog
- fsck taillog
- fsck clearlog
- Display or clear the log of fsck events.
- fsck reset [fsck options]
- Reset fsck position back to the beginning. Please see the "FSCK
OPTIONS" section for options to use with fsck.
- fsck start
- Start (or resume) background fsck from the last checked fid. If you want
to check every fid, you must call fsck reset before calling
start.
- fsck status
- Show the status of the presently active (or last if none active) fsck.
This includes what FIDs are being checked, time statistics, check type as
well as a summary of problems encountered so far.
- fsck stop
- Stop (pause) background fsck
- settings list
- Display all present MogileFS settings.
- settings set <key> <value>
- Set the server setting for 'key' to 'value'.
The current settings are <enable_rebalance> (set to 1 to
start rebalance mode to move files to under-used devices) and
<memcache_servers> (enable memcached caching in the tracker).
- --ip=<ip of host>
- --port=<port of mogstored on host>
- Contact information for the host. This is the minimum set of information
needed to setup a host.
- --getport=<alternate retrieval part on host>
- If provided, causes the tracker to use this port for retrieving files.
Uploads are still processed at the standard port.
- --altip=<alternate IP>
- --altmask=<mask to activate alternate IP>
- If a client request comes in from an IP that matches the alternate mask,
then the host IP is treated as the alternate IP instead of the standard
IP. This can be used, for example, if you have two networks and you need
to return one IP to reach the node on one network, but a second IP to
reach it on the alternate network.
- --status=<host status>
- Valid host statuses are one of: alive, down, readonly.
- --status=<device status>
- Valid device statuses are one of: alive, dead, down, drain, readonly.
- --weight=<device weight<gt>
- The weight used in calculation of preferred paths. It must be a positive
integer.
- --mindevcount=<value>
- Number of devices the files in this class should be replicated across. Can
be set to anything >= 1.
- --replpolicy=<value>
- Stringified replication policy. ie "MultipleHosts(3)" is
equivalent to a --mindevcount=3. See documentation or plugins on
alternative policies.
- --hashtype=<value>
- Name of the hash algorithm used for checksumming. "MD5" or
"NONE" for no checksumming.
- --policy-only
- Check replication policy (assumed locations) only; don't stat storage
nodes for actual file presence.
Host manipulation:
$ mogadm host list
$ mogadm host add foo.local
$ mogadm host add foo.local --status=down --ip=10.0.0.34 --port=7900
$ mogadm host mark foo.local down
$ mogadm host modify foo.local --port=7500
$ mogadm host delete foo.local
Device manipulation:
$ mogadm device list
$ mogadm device summary
$ mogadm device summary --status=dead,down
$ mogadm device next
$ mogadm device add foo.local 16
$ mogadm device add foo.local 17 --status=alive
$ mogadm device mark foo.local 17 down
$ mogadm device modify foo.local 17 --status=alive --weight=10
$ mogadm device delete foo.local 17
Domain manipulation:
$ mogadm domain list
$ mogadm domain add first.domain
$ mogadm domain delete first.domain
Class manipulation
$ mogadm class list
$ mogadm class add first.domain my.class
$ mogadm class add first.domain my.class --mindevcount=3
$ mogadm class add first.domain my.class --replpolicy="MultipleHosts(3)"
$ mogadm class modify first.domain my.class --mindevcount=2
$ mogadm class modify first.domain my.class --replpolicy="MultipleHosts(3)"
$ mogadm class delete first.domain my.class
Check the status of your entire MogileFS system:
$ mogadm check
Check every file in the entire MogileFS system:
$ mogadm fsck reset
$ mogadm fsck start
$ mogadm fsck status
$ mogadm fsck printlog
See all the things mogadm can do:
$ mogadm
Get help on a sub-command:
$ mogadm device
It is recommended that you create a configuration file such as
"/etc/mogilefs/mogilefs.conf" (or at
"~/.mogilefs.conf") to be used for
configuration information. Basically all you need is something like:
trackers = 10.0.0.23:7001, 10.0.0.15:7001
# if MogileFS::Admin files aren't installed in standard places:
lib = /home/mogilefs/cgi-bin
Note that these can also be specified on the command line, as per
above.
Brad Fitzpatrick <brad@danga.com>
Mark Smith <junior@danga.com>
Leon Brocard <acme@astray.com>, open sourced permissions
from Foxtons Ltd.
Robin H. Johnson <robbat2@orbis-terrarum.net>
Please report any on the MogileFS mailing list:
<http://groups.google.com/group/mogile/>.
Licensed for use and redistribution under the same terms as Perl itself.