#!/usr/bin/perl
#
# MogileFS daemon
#
# Copyright 2004, Danga Interactive
# Copyright 2005-2006, Six Apart Ltd.
#
# See POD at bottom.
use strict;
use warnings;
use lib 'lib';
use MogileFS::Server;
# Rename binary in process list to make init scripts saner
$0 = "mogilefsd";
my $s = MogileFS::Server->server;
$s->run;
1;
# Local Variables:
# mode: perl
# c-basic-indent: 4
# indent-tabs-mode: nil
# End:
__END__
=head1 NAME
mogilefsd -- MogileFS tracker daemon
=head1 USAGE
This is the main MogileFS daemon, mogilefsd, also called the
"tracker". All interaction with a MogileFS installation begins by a
client talking to a tracker (you should run several in parallel for
redundancy).
See L<MogileFS::Client> for a client library.
=head1 ARCHITECTURE
=head2 Processes
The mogilefsd daemon is an event-loop in the parent process, handling
with epoll/kqueue/etc (see L<Danga::Socket>) tons of client
connections, while managing a bunch of worker processes underneath.
The worker processes under mogilefsd include:
=over 4
=item B<Client query processing> -- implements the MogileFS client/server protocol
See L<MogileFS::Worker::Query>.
=item B<Monitoring> -- monitors hosts and devices
See L<MogileFS::Worker::Monitor>.
=item B<Replicate> -- replicates files
See L<MogileFS::Worker::Replicate>.
=item B<Deleter> -- deletes files from storage nodes (protocol deletes from namespace are immediate)
See L<MogileFS::Worker::Delete>.
=item B<Reaper> -- re-enqueues files for replication when disks are marked dead
See L<MogileFS::Worker::Reaper>.
=item B<Fsck> -- background filesystem consistency checker
See L<MogileFS::Worker::Fsck>.
=back
=head2 Data Storage
See L<MogileFS::Store>.
=head1 AUTHORS
Brad Fitzpatrick E<lt>brad@danga.comE<gt>
Mark Smith E<lt>junior@danga.comE<gt>
Brad Whitaker E<lt>whitaker@danga.comE<gt>
=head1 COPYRIGHT
Copyright 2004, Danga Interactive
Copyright 2005-2006, Six Apart Ltd.
=head1 LICENSE
Same terms as Perl itself. Artistic/GPLv2, at your choosing.
=head1 SEE ALSO
L<mogstored> -- MogileFS storage daemon
L<http://danga.com/mogilefs/>