FreeNAS

FreeNAS (http://www.freenas.org) est, comme son nom l’indique, un NAS libre. Il est basé sur FreeBSD.

Historiquement, il est parti d’un fork de m0n0wall, dérivé de FreeBSD spécialisé pour un usage de firewall avec une interface web écrite spécialement pour l’occasion. Petit à petit, le principe de réécrire (et maintenir) tous les scripts de démarrage (initscripts) a été abandonné, ensuite l’interface web a été revue, et les deux projets sont assez divergeants aujourd’hui.

Les versions se succèdent à un rythme effréné depuis maintenant plusieurs années. Certaines sont plus réussies que d’autres (il y a encore parfois des régressions par rapport à la précédente).La série des versions 0.6x est basée sur FreeBSD 6.x, tandis que la série des 0.7x est basée sur FreeBSD 7.x.

Le maître-mot de FreeNAS pourrait être: « fonctionnalités ».
Ce qui ne le place pas d’emblée dans la catégorie des NAS pour entreprise, où « performances » et « fiabilité » seraient plus adaptés.

Le développeur qui a lancé le projet (Olivier Cochard-Labbe) est plutôt brouillon (et a une orthographe et une conception de l’anglais particulières), mais aime bien lancer de nouvelles pistes. C’est un fonceur. Un second développeur (qui est maintenant le développeur principal du projet pour diverses raisons), Volker Theile, l’a rejoint et corrige à un rythme soutenu tous les problèmes introduits par le premier ou rapportés par des utilisateurs. Jusqu’ici, la combinaison donne un résultat très intéressant.

Malgré ou grâce à tout cela, les performances en NFS (ce qui nous intéresse principalement), sont excellentes.
Et la facilité de gestion et de restauration de la configuration le replace de nouveau dans le cercle des solutions plus qu’utilisables en entreprise.

Et comme en plus ZFS est disponible à partir de FreeBSD 7.x donc aussi dans FreeNAS 0.7x, c’est un très bon point en sa faveur.
Cela dit, il ne support pas encore les snapshots de ZFS (depuis l’interface web) pour l’instant. Or, pour tout filesystem de volume important (disons au-dessus du TB), seul ZFS permet de faire des snapshots qui n’impactent pas (du tout) les performances de la machine pendant plusieurs minutes.

iSCSI est aussi disponible, ce qui ne gâche rien, mais nous ne l’avons pas encore testé en pratique.

Les performances des dernières versions ont l’air particulièrement impressionnantes.

Comme beaucoup de projets de Logiciel Libre, des Nightly Builds sont disponibles, ici: http://www.freenas.org/index.php?option=com_versions&Itemid=51#Nightly%20Build

Comments

Permalink

Excellente présentation courte de FreeNAS ! J’approuve à 100%.
L’auteur de cet article a vraiment bien compris le mode de développement de FreeNAS et ses lacunes. Je n’aurais pas fait mieux!
On pourrais même préciser que celui qui à lancer ce projet (c’est moi), n’ayant aucune compétences en développement (FreeNAS est mon premier exercice pour découvrir FreeBSD et PHP), a préféré laisser la main à un vrai développeur pour éviter de créer trop de bug.
En effet, les fonctionnalités ajoutées par Volker, devennais de plus en plus difficilement géreable/compréhensible pour un débutant comme moi. Ajouté au manque de temps, a fait que j’ai préféré le lui donner le leadership du projet.

Olivier

PS: Désolé d’avoir ajouté pleins de fautes d’orthographe, sur ce blog 🙂
(Mais je suis dysorthographe)

Permalink

Les présentations que je publie ici sont le plus souvent (et c’est le cas ici) des présentations publiées et discutées en interne chez BeezNest puis publiées ouvertement pour que tout le monde en profite et connaisse nos conclusions.
Parfois (et c’est le cas ici) appararaîssent des critiques personnelles ou qui peuvent le sembler. Le but n’est en aucun cas de fustiger, mais de peser le pour et le contre, objectivement.
Personne ne peut être bon en tout. Et ta force à toi, c’est de bien connaître les outils disponibles (m0n0wall, FreeBSD, PHP) et de savoir comment les assembler pour en faire des outils tout simplement exceptionnels. Les logiciels libres sont des outils formidables pour cela.

Au niveau purement technique (et je ne suis pas développeur PHP non plus, mais nous en avons plusieurs à disposition), Volker aimerait faire des modifications assez importantes dans le code PHP (parmi lesquelles utiliser un système de templates). Si l’interface web doit être réécrite, je pense qu’il serait intelligent de faire en sorte de la rendre plus indépendante de la plateforme (mon rêve est d’utiliser une interface web à la FreeNAS sur OpenSolaris avec ZFS, un peu comme fait Nexenta avec NexentaStor, mais en PHP).

Je suis aussi impressionné par la vitesse de ta réaction pour commenter ce post. Comment l’as-tu trouvé? Est-ce par hasard?

En tous cas, félicitations, et continue à améliorer cet excellent produit.

Permalink

J’ai découvert ce post grâce à Google Alerts (http://www.google.com/alerts) que j’ai configuré pour m’avertir des nouveaux articles concernant FreeNAS.
Concernant l’indépendance de l’interface web: Je pense que le gros du travail se situe au niveau du processus de «conversion du fichier de configuration XML vers les scripts de démarrage de l’OS hôte». Cette fonction est très dépendante de l’OS hôte et devras être adaptée à chaque fois. C’est donc beaucoup de travail pour un résultat invisible du point de vue de l’utilisateur (et Volker est pratiquement seul à contribuer au code).