Partage de fichiers

mar. 24 mars 2015

Un des premiers services probablement utile à votre structure est un service de partage de fichiers, sur le réseau interne. On résume ici le déploiement d'un tel service dans une association d'environ 10 salariés.

Le logiciel impliqué est 100% du logiciel libre, disponible dans la distribution Debian Jessie.

Le matériel

L'association avait l'opportunité financière d'investir dans un matériel nouveau. Ce choix a été fait pour pouvoir remplacer l'ancien serveur sans rupture de service. Par ailleurs celui-ci est vieillissant et n'est plus maintenu.

Le choix a été fait d'une configuration de tour haut de gamme, silencieuse, faible consommation (pour un x86), avec des disques durs solides. Ci-après le détail de la configuration :

Processeur : Intel Core i7 4770S

Ventilateur : Noctua NH-U12P SE2

Carte mère : Asus Z97-A

Mémoire : G.Skill Kit Extreme3 2 x 4 Go PC17000 Ripjaws X CAS9

Boitier : Fractal Design Define R5 Black

Disques durs (x2) : Seagate Barracuda 7200.14 - SATA III 6 Gb/s - 2 To

Alimentation : Seasonic X Series Modulaire - 650W

Le système d'exploitation

Le système d'exploitation est une Debian GNU/Linux. On choisi aujourd'hui la version Jessie, qui est la future version stable. En général, on préfère déployer la version stable, mais Jessie étant en cours de finalisation, on peut prendre le risque de la déployer, ce qui évitera de devoir gérer une mise à jour dans quelques mois.

En deux mots, les atouts de Debian sont les suivants :

  • Debian est un projet non-commercial à la gouvernance démocratique.
  • Debian est le fruit du travail d'environ un millier de bénévoles répartis sur la planète. Ceux-ci se reconnaissent au travers du projet qui porte des valeurs qui sont les leurs.
  • Debian affiche un contrat social, passé avec la communauté du logiciel libre, qui définit de grands principes auxquels les développeurs adhèrent.
  • Ce contrat social précise notamment que Debian est et restera du logiciel libre, tel que défini dans les « principes du logiciel libre selon Debian ». Ce contrat social met également les utilisateurs au centre du projet : « Nos priorités sont nos utilisateurs ».
  • Debian se caractérise par un mode de gouvernance coopérative de l'association qui gère le projet. Sa structure est organisée : une constitution décrit son fonctionnement interne ainsi que les méthodes de prise de décisions et les rôles des différents acteurs (le chef du projet, le secrétaire, les développeurs, etc.).
  • La démocratie interne à Debian utilise une méthode de vote par pondération par classement : la méthode Schulze (une méthode Condorcet). Cela favorise les prises de décision au consensus.

Par ailleurs, Debian possède toutes les qualités techniques qui font de ses versions de très bons systèmes GNU/Linux.

Les disques en miroir (RAID)

Les disques durs sont montés en miroir RAID. Ça signifie que, en cas de défaillance d'un des disques durs, l'ordinateur continue à fonctionner sans défaillance. Ceci permet la continuité du service, en attendant de remplacer le disque défaillant. Une fois le disque défaillant remplacé, les disques sont re dupliqués pour remettre le RAID dans un état de redondance. Tout ceci est géré de façon automatique par le logiciel Mdadm.

Bien sûr, si les tous les disques tombent en même temps en panne, les données sont perdues. Pour limiter ces risques, on surveille en permanence l'état de santé des disques, via la technologie SMART. Ça permet dans la plupart des cas d'anticiper le vieillissement des disques. Mais ce n'est pas suffisant dans l'absolu : on peut imaginer, par exemple, qu'un ordinateur soit touché par la foudre, et que tous les disques d'une machine soient simultanément hors d'usage. Dans ce cas, seules des sauvegardes effectuées dans un lieu physique différent peuvent assurer que vos données sont bien en sécurité.

Le serveur de partage

La majorité des ordinateurs de l'association étant sous Microsoft Windows, nous avons déployé un partage avec le protocole SMB/CIFS utilisable nativement sous Windows. C'est le logiciel Samba qui fait ça très bien, avec une configuration de base, et une création des utilisateurs pour l'authentification.

À partir de là, les personnes sur le réseau interne peuvent se connecter à la machine pour charger, stocker et échanger leurs documents de travail. En « connectant » un « lecteur réseau », les utilisateurs voient le serveur de partage utilisable de la même façon qu'un disque local.

Les sauvegardes incrémentales

Un partage Samba est un outil de base pour le travail collaboratif, et il présente des intérêts en termes de simplicité et de liberté pour les utilisateurs. Mais voilà : les utilisateurs prennent parfois des « libertés » qu'ils regrettent de temps à autre. Par exemple, il est facile avec un système de ce type d'écraser ou de supprimer un document qui n'aurait pas dû l'être, et il faut se prémunir de ce genre d'accident.

Une façon d'offrir un peu de sécurité à nos utilisateurs est de mettre en œuvre une sauvegarde incrémentale. C'est à dire que, chaque nuit par exemple, on va sauvegarder l'état courant des dossiers de travail, et les partager en lecture seule aux utilisateurs. Si ceux-ci ont besoin un jour de retrouver un fichier, ils n'ont qu'a parcourir l'arborescence des sauvegardes et venir copier le fichier de leur choix pour le restaurer où ils veulent dans un dossier de travail.

Le logiciel Dirvish fait ça très bien, de façon automatisée, avec une politique d'obsolescence des sauvegardes assez séduisante. En effet, sauvegarder chaque jour les données pendant des années peut être très gourmand en volume. D'un autre coté, il est intéressant de pouvoir accéder à des documents dans un état ancien. La solution de Dirvish ? Supprimer au fur et à mesure les sauvegardes, en fonction de critères d'expiration que l'ont choisi. Par exemple (et c'est le choix que nous avons mis en œuvre) :

  • Les sauvegardes effectuées le premier dimanche de chaque trimestre n'expirent jamais.
  • Les sauvegardes effectuées le premier dimanche de chaque mois sont conservées un an.
  • Les sauvegardes effectuées les autres dimanches expirent au bout de 3 mois.
  • Les autres sauvegardes ne sont conservées que 15 jours.

Avec ça on espère maximiser les possibilités de restauration des données détruites par mégarde, tout en limitant le coût d'infrastructure.

La supervision

C'est bien joli d'avoir un beau serveur tout neuf avec du logiciel fraichement téléchargé depuis Internet, mais encore faut il que les services demeurent dans la durée. Pour y parvenir, rien de tel que l'ajout d'un autre logiciel, pour superviser l'activité globale de l'ordinateur. Ça permet de connaître au plus tôt les pertes de service et certaines pannes. Ça permet aussi d'anticiper des choses qu'on regarde rarement, par exemple la charge des disques durs.

Notre choix s'est orienté vers Monit, qui offre une solution simple pour surveiller une petite infrastructure.

La liste des choses surveillées est données ci-après. En cas d'anomalie, l'Amie reçoit un email décrivant le problème. Ça fonctionne dans plein de situation, tant que le serveur où est installé la supervision est en moyen de pouvoir envoyer des emails.

Charge système
On surveille le taux de charge du processeur, de la mémoire et de la swap, la charge réseau, l'espace disque et l'espace inode.
Accès au réseau
On surveille notre capacité à joindre des machines, sur le réseau local ou sur le réseau Internet.
Services
On surveille que les différents services installés sur le serveur fonctionnent sans problème : télécommande (ssh), partage de fichiers (samba), RAID (mdadm), analyseur de santé des disques (smartmontools), planificateur de tâches (cron).
Sauvegardes
On surveille que les sauvegardes se font bien chaque jour pour chacun des 15 derniers jours, que leur résumé est sans erreur ni avertissement, et qu'elles sont bien accessibles aux utilisateurs via le service de partage des fichiers (samba).

En plus de emails envoyés en cas de changement d'état des services, une synthèse est accessible sur le réseau local de l'association :

Capture de l'interface web de supervision

Travaux futurs

Il y a différentes chose à imaginer et à faire dans la continuité de ce travail.

Par exemple, organiser des sauvegardes hors site automatiques. C'est un petit peu complexifié par le fait qu'actuellement, des centaines de giga octets de données sont stockées sur le serveur de travail. C'est un peu compliqué de les faire passer au travers du petit tuyau qu'est l'ADSL (des mois et des mois de débit...). Par ailleurs l'Amie ne dispose actuellement pas de machine de stockage. En attendant, on organise les sauvegardes à la main, sur disque externe.

Une autre chose intéressante, c'est l'accès sécurisé à ces données depuis l'extérieur des locaux de l'association. Un partage WebDAV sera mis en place, une fois que l'Amie disposera de l'infrastructure pour héberger une gestion de DNS dynamique et d'une infrastructure de clés de chiffrement certifiées pour assurer un bonne protection des données, transparente pour les utilisateurs.

Tags: Amie Logiciel libre Debian Travail collaboratif Supervision