FreeNAS

Fiche logiciel validé
  • Création ou MAJ importante : 28/05/13
  • Correction mineure : 28/05/13
Mots-clés

FreeNAS : stockage de données en réseau

Description
Fonctionnalités générales

FreeNAS est un système d'exploitation sous licence BSD basé sur FreeBSD qui offre une solution de stockage et de partage de fichiers.

Cet OS est une alternative à ceux qui souhaitent implémenter leur propre serveur de stockage sans avoir à recourir à une solution tierce et propriétaire.

FreeNAS peut être installé sur une Compact Flash, une clé USB ou un disque dur dédié. Le système d'exploitation prend peu d'espace disque (compter de l’ordre de 1 Go).

L'administration du système s'effectue principalement via une interface web.

FreeNAS offre la possibilité d'exploiter le système de fichiers ZFS permettant ainsi une gestion des volumes de grosse capacités.

Autres fonctionnalités

FreeNAS propose également les diverses fonctionnalités ci-dessous.

Niveaux RAID logiciel
  • 0, 1, 5, JBOD, 5+0, 5+1, 0+1, 1+0 (voir cette page pour la définition de ces niveaux de RAID)
  • RAID-Z (ZFS) : équivalent au RAID5, cette configuration est déconseillée car en cas de perte d'un disque vous risquez d'en perdre un autre au moment de la reconstruction du RAID. Si vous cherchez à fiabiliser vos données, ne partez pas sur cette configuration
  • RAID-Z2 (ZFS) : équivalent au RAID 6 double parité, perte de 2 disques max
  • RAID-Z3 (ZFS depuis la version 8.3) : triple parité, perte de 3 disques max
Support des disques
  • P-ATA/S-ATA, SCSI, iSCSI, USB et FireWire
  • Une des fonctionnalités de FreeNAS est de paramétrer des cibles iSCSI. iSCSI veut dire Internet SCSI, ce qui signifie que des machines clientes peuvent envoyer des commandes SCSI vers des serveurs de stockage distants comme FreeNAS. Les disques ainsi définis seront vus par la machine cliente comme des disques locaux
  • Supervision de l’état des disques S.M.A.R.T via le "daemon" smartd
ZFS
  • Système de fichiers 128 bits
  • Taille maximum du système de fichiers 16 Eio (16000 Po)
  • 248 fichiers / système de fichiers et 248 snapshots
  • ZFS s'auto répare : il est capable de détecter et réparer les erreurs. Dans un RAID, si une donnée est perdue, ZFS va la récupérer sur une autre branche du RAID et remettre la bonne valeur. Le tout est géré automatiquement en arrière plan par le système, aucune intervention humaine n'est nécessaire. Sur ce type de système de fichiers, il n'y a donc plus à effectuer de fsck au redémarrage des serveurs (bien pratique pour des gros volumes)
  • ZFS a une fonction de snapshots : pour réaliser un instantané de votre système de fichiers. Le snapshot ne contient que les modifications apportées, ce qui réduit considérablement l’espace de stockage utilisé par celui-ci
  • La compression à la volée d’une partition ZFS est possible, permettant de réduire l’espace disque mais aussi de réduire le nombre d’entrée/sortie, la compression étant appliquée sur les blocs et non au niveau des fichiers
  • La dé-duplication (à partir de ZFS v22 - disponible depuis FreeNAS 8.3) est également possible : elle consiste à identifier, dans les données, des séquences redondantes qu'il suffit ainsi de stocker une seule fois. Si vous activez la dé-duplication, la documentation recommande d'avoir 5Go de RAM / To de données
Partage des données
  • FreeNAS support les protocoles de partages NFS, CIFS et AFP
  • Les droits d'accès peuvent se faire soit en créant des utilisateurs/groupes locaux directement sur le serveur FreeNAS, ou bien via un annuaire sur le réseau de type OpenLDAP ou Active Directory
Divers
  • Administration du système via les protocoles SSH/HTTP/HTTPS
  • Fonctionnalité DynDNS permettant à l'utilisateur qui utilise une adresse IP dynamique de pouvoir accéder au NAS via un nom de domaine
  • Possibilité d'activer la fonctionnalité serveur FTP, TFTP
  • Possibilité de superviser l'état de votre onduleur
  • Exécution de tâches "crontab" via l'interface web
  • Exécution de tâches "rsync" via l'interface web pour la synchronisation d'espaces de fichiers entre serveurs
Supervision du système
  • SNMP
  • Graphes MRTG par heure/jour/semaine/mois/année (CPU, mémoire, activité réseau, nombre de processus, espace dispo. sur les volumes)
Sauvegarde du système

Possibilité de sauvegarder/restaurer la config. système (fichier de type *.db)

Interopérabilité

Pour connaître la compatibilité matérielle de FreeNAS, il faut se reporter à la compatibilité des matériels de FreeBSD. Par exemple, pour la version FreeNAS 8.3, on peut avoir les info. sur le site de FreeBSD : http://www.freebsd.org/releases/8.3R/hardware.html

Contexte d'utilisation dans mon laboratoire/service

FreeNAS est utilisé dans le cadre de la manipulation scientifique CADOR (Coordination and Data Analysis for Robotic Observatories). Le serveur FreeNAS héberge les images d'observations de 2 télescopes situés en France (plateau de Calerne) et au Chili (La Silla).
Nous utilisons actuellement sur le serveur FreeNAS environ 10 To de données utiles. La volumétrie totale offerte par le serveur est de 30 To. Le système de fichiers utilisé est ZFS. Les données sont exportées en NFS sur une dizaine de serveurs qui sont sous Linux.
Nous ne réalisons actuellement aucun snapshot et aucune compression sur le système de fichiers ZFS. La version de FreeNAS que nous utilisons est la 8.2 et n’implémente pas la dé-duplication.

Le serveur est un DELL PowerEdge R510 - 12 disques SATA de 3 To. ZFS étant gourmand en mémoire, nous avons donc opté pour un serveur doté de 24 Go RAM. Le RAID ZFS est de type logiciel (RAID-Z). L'authentification se fait via des comptes locaux hébergés sur le serveur FreeNAS.
L'OS FreeNAS est installé sur un disque dur en version 64 bits.

Pour le moment, les liens réseaux du serveur ne sont pas bondés : une interface Gigabit suffit pour les besoins en terme de transfert.
Les données du serveur sont synchronisées par rsync avec une machine située sur un site distant (utilisation d'un script personnel pour réaliser la synchronisation avec un rate-limit pour ne pas consommer toute la bande passante du site où est hébergé le serveur FreeNAS).

Limitations, difficultés, fonctionnalités importantes non couvertes

Il est clairement recommandé d'utiliser FreeNAS/ZFS sur une architecture 64 bits. La version de FreeNAS 32 bits étant limitée à 4 Go de mémoire, il est fortement déconseillé de faire du ZFS avec un OS ne supportant que si peu de RAM. Dans le cas de l'utilisation de FreeNAS en 32 bits, nous vous recommandons de mettre en place UFS comme système de fichiers pour obtenir des performances optimales.

Environnement du logiciel
Autres logiciels aux fonctionnalités équivalentes
  • Sun/Oracle ZFS
  • OpenMediaVault (gratuit, licence GNU GPL v3)
  • Openfiler (gratuit, licence GNU GPL v2)
  • Baies NetApp
  • Baies EMC
Environnement de développement
Type de structure associée au développement
Références d'utilisateurs institutionnels
  • Utilisé dans le cadre de CADOR
  • Irstea, centre de Bordeaux
  • IGMM, CNRS
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur

La documentation officielle : http://doc.freenas.org/index.php/Main_Page

Divers (astuces, actualités, sécurité)
  • Quel que soit votre choix d'implémentation, retenez que votre media ne servira qu'à l’hébergement de votre OS et non à de la donnée. Le système de fichiers est monté par défaut en lecture seule : on peut le basculer en lecture/écriture temporairement pour des besoins spécifiques (génération d'une clé RSA/DSA ou install. d'un package pour des besoins particuliers, par exemples).

  • Il faut compter moins de 1 Go pour la taille de l'OS : l'installation est très rapide.