MogileFS
# MogileFS

MogileFS est un système de fichiers distribué open source. Il permet de sauvegarder des fichiers automatiquement.

MogileFS a été créé par la société Danga Interactive, et puis acquis par Six Apart.

## Introduction

MogileFS est un système de fichiers distribués open source en mode user. Néanmoins il n'est pas conforme au standard POSIX, il est complètement redondant offrant un mécanisme de réplication de fichiers, sans contraintes de systèmes de fichiers locaux, où le mécanisme est constitué d'un mode shared-nothing par simple agrégation de machines indépendantes.

L'approche est asymétrique avec la notion de nœuds de stockages, des machines dites trackers et des machines database, sachant que certaines de ces fonctions peuvent résider sur le même système.

MogileFS est donc une solution simple, gratuite et facile à mettre en place sans risques de planter le système.

## Architecture

En fait, il y a certaines conceptions très importantes au niveau de son architecture (Tracker, Base de données, Nœuds de stockages et Outils).

### Tracker

Tracker est l'entrée de Mogilefs, il gère toutes les communications des clients depuis des applications. Toutes les opérations du système sont faites par un processus du Tracker, ce qui constitue de Tracker l’élément le plus important de Mogilefs. Il contient plusieurs processus:

* Replication -- Copie des fichiers entre différentes machines
* Deletion -- Sachant que la suppression depuis namespaces est immédiate et Suppression depuis le système de fichiers est asynchrone.
* Query -- Réponse aux requêtes qui viennent du client.
* Reaper -- Recopie des fichiers après un échoue sur le disque
* Monitor -- Surveillance de l'état des hosts et des devices

### Base de données

La base de données enregistre toutes les métadonnées de MogileFS (le namespace et le lieu d'un fichier).

Le tracker n'utilise qu'une seule base de données, il est donc important d'utiliser une architecture Haute disponibilité.

### Nœuds de stockage

Les nœuds de stockage constituent juste des serveurs HTTP qui traitent les requêtes de DELETE, PUT, etc.

Une machine peut avoir plusieurs nœuds de stockages (l'application mogstored).

### Outil

Les deux outils mogadm，mogtool qui permettent de gérer le système Mogilefs en ligne de commande.

## Installation et configuration

Mogilefs est multi plates-formes, il utilise MySql comme base de données.

## Utilisation

Les outils pour gérer Mogilefs sont dans le paquet MogileFS::Utils, et tous sont en ligne de commandes.

