Technique : SmartLock, la solution WORM d’ISILON

English sum-up :
A technical deepdive into the SmartLock WORM function of ISILON.

Vous savez sans doute qu’ISILON est une offre bigdata très riche : de nombreuses configurations différentes, des licences permettant de débloquer des fonctions spécifiques, des noeuds orientés capacitif ou performance, etc. … A l’occasion de l’acquisition récentes de nos deux clusters, s’est donc inévitablement posé la question des licences nécessaires à nos usages actuels et futurs. Nous avons opté pour InsightIQ (reporting et capacity planning), SyncIQ (réplication entre clusters), SnapshotIQ (snapshots locaux), SmartQuotas (gestion de quotas) et SmartLock (mode WORM).

Je vous propose de faire un focus particulier sur SmartLock car elle se distingue des autres part le fait qu’elle n’est accessible que via de la ligne de commande, pour le moment du moins. Cet outil permet d’appliquer des règles de “verrouillage” sur une hiérarchie de fichier donnée et se destine logiquement à des volumes de type “archive”.

Présentation générale

On peut résumer les paramètres de SmartLock à ces trois composants principaux : Durée de rétention, Auto Commit, Privilege Delete.

La durée de rétention : comme son nom l’indique, elle permet d’indiquer au cluster le temps pendant lequel un fichier sera verrouillé, une fois positionné en lecture seule. Cette valeur s’exprime en secondes, jours, mois, années.

L’Auto commit : par défaut, lorsque vous activez la fonction SmartLock sur un répertoire, le passage des fichiers en lecture seule est laissé à la discrétion des utilisateurs (en mode CIFS, cocher l’option “Lecture seule” sur la fenêtre de propriétés du fichier en question ; en mode NFS, un chmod supprimant les attributs d’écriture du fichier, chmod -w ). L’auto commit consiste à indiquer au cluster que ce verrouillage est désormais automatiquement activé après un certain temps.

Privilege Delete : cette option, encore une fois positionnée sur un répertoire de base, autorise l’administrateur du cluster à outrepasser les verrouillages en lecture seule des fichiers gérés par SmartLock. Ce mode est activable ou désactivable dynamiquement, en fonction des besoins.

Je ne parlerai pas ici du mode “compliance” qui est plutôt réservé à nos homologues nord-américains et permet de respecter stricto sensu la législation sur certains type d’archives à valeur probante. Dans ce mode, tout fichier placé en lecture seule devient totalement impossible à supprimer, sauf à reformater entièrement le cluster ISILON.

Gérer un répertoire SmartLock

La commande de base que nous allons utiliser tout au long de cet article est “isi worm” ou encore “isi smartlock”. Les deux sont équivalentes. Pour pouvoir utiliser ces commandes, il faut bien entendu être loggué en ssh à l’un des noeuds du cluster (putty est votre ami ;) ).

Première chose, on peut lister les répertoires SmartLock activés sur le cluster :

Vous pouvez voir qu’actuellement, le répertoire “archives_test” est actif : sa durée de rétention par défaut est d’une semaine, le paramètre d’autocommit est positionné à 60 secondes, le privilege delete, quant à lui, est actif.

Nous allons activer a fonction SmartLock sur un nouveau répertoire :

Nous allons maintenant positionner des valeurs complémentaires sur le répertoire :

Ces valeurs sont donc : 1 an pour la rétention, 1 heure pour l’autocommit et le privilege delete actif. Une fois vos partages créés (NFS, CIFS etc. …), vous pourrez constater qu’effectivement, les fichiers sont bien “lockés en lecture seule” au bout d’une heure. Si pendant ce “délai de grâce” vous modifiez un fichier (édition, changement des attributs ou changement de nom), celui-ci est réinitialisé à 1 heure.

Si vous souhaitez avoir des détails sur l’état d’un fichier au sein du répertoire “SmartLock”, vous pouvez utiliser la commande “isi smartlock info” :

Vous pouvez constater ici que la commande vous renvoie la date prévue de l’autocommit (sauf si une modification a lieu entre temps). Une fois le commit réalisé (manuellement ou via autocommit), vous obtenez une info de ce type :

Le fichier est bien dans le statut COMMITTED (donc impossible à supprimer) et sa date de rétention a été positionnée à 1 an.

La fonction privilege delete permet à l’administrateur de supprimer les fichiers, malgré leur verrouillage. Pour autant, cette suppression n’est pas une opération réalisable via un banal “rm”. Il faut obligatoirement passer par une commande de type “isi”. Gageons que cela permet d’éviter les bourdes du type “rm -rf .*” ;)

Voici une session de suppression forcée. On liste le contenu du répertoire, un fichier “fichier.txt” est présent, mais verrouillé. On essaye de le supprimer directement via les commandes Unix classiques, sans succès. Enfin, on force sa suppression et on confirme son absence par un nouveau listing du répertoire :

Conclusion

J’espère que cette petite présentation technique vous aura aidé à appréhender la mécanique de fonctionnement de SmartLock qui, s’il n’existe pas – encore – d’interface graphique pour cet outil, n’en demeure pas moins relative simple d’accès pour une personne habituée aux fonctions CLI. De plus, son comportement est parfaitement clair, souple et prévisible.

De notre coté, nous sommes parfaitement satisfaits des fonctions disponibles et avons l’intention de capitaliser au maximum sur SmartLock dans notre environnement de production. Cela va nous permettre, entre autres, de produire des volumes partagés directement accessibles à certains utilisateurs, sans être à la merci d’erreurs de manipulation, grâce en particulier à l’auto-commit.

A votre disposition pour toute question technique complémentaire, comme toujours :)

Un grand merci à Julien d’EMC pour son aide pendant notre découverte de SmartLock (et d’ISILON en général).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *