Thin provisioning
Le Thin provisioning ou Allocation granulaire de capacité est une méthode permettant d’optimiser l’allocation de l’espace disque disponible sur une baie de stockage SAN. Ce mécanisme fonctionne en allouant l’espace de stockage de façon dynamique en fonction de la consommation réelle d’espace.
Les mécanismes du Thin Provisioning reposent sur un concept simple : plutôt que d'attribuer ou de réserver dès le départ ce que l’on pense être la capacité physique nécessaire à une application, au risque de se retrouver avec une partie inutilisée, la capacité physique est allouée dynamiquement au fur et à mesure des besoins réels. Cette astuce permet une bien meilleure utilisation de la capacité disponible dans la baie. Elle permet aussi de démarrer en production avec un minimum de disques et de n’ajouter de nouvelles capacités qu’au fur et à mesure qu'apparaissent les besoins réels, ce qui est aussi en phase avec les objectifs de réduction de la consommation électrique dans les datacenters.
Allocation de capacité au fil de l'eau
Avec le Provisioning de stockage traditionnel(dit fat provisioning), il y a une correspondance un pour un entre la capacité allouée à un serveur et la capacité provisionnée réellement sur la baie de stockage. Ainsi, si l’administrateur provisionne un LUN de 100 Go pour un serveur Windows, ces 100 Go seront immédiatement « immobilisés » sur la baie, qu’il y ait effectivement 100 Go ou 3 Go de données stockées sur le serveur.
Avec le Thin Provisioning, lorsque l’on crée un volume de 100 Go, ces 100 Go ne sont pas alloués immédiatement. Ils sont en fait débloqués de façon granulaire par page ou par bloc (selon les capacités de la baie). Au fur et à mesure que de nouvelles données sont écrites, de nouvelles pages sont allouées par la baie et la capacité de stockage disponible sur la baie diminue en conséquence. La seule précaution est prendre est de surveiller qu’il y ait assez de capacité physique réelle pour faire face aux besoins des applications au fur et à mesure qu’elles consomment de l’espace. Il serait en effet problématique que la baie ne dispose pas de la capacité physique nécessaire pour servir les besoins des volumes « thin provisionés ».
Entretien des volumes thin-provisionnés
Il est à noter que les volumes thin provisionés ne restent vraiment « minces » que pour un temps. Les systèmes de fichiers traditionnels, comme FAT32, NTFS ou Ext4, ne font en effet pas la différence entre un disque traditionnel et un volume « thin provisionné » - ce qui est normal puisque la baie de stockage fait tout pour masquer la nature « mince » du volume. Pour éviter la fragmentation des fichiers, ces systèmes de gestion de fichiers ont tendance à privilégier l’usage de nouveaux blocs pour la création de nouveaux fichiers. Les fichiers effacés quant à eux sont mis à zéro – littéralement, leur contenu est remplacé par des zéros. Progressivement, un volume « mince » va donc grossir et la part d’espace occupé par des plages de zéro va s’accroître, ce qui nuit à l’efficacité du système de thin provisioning. Cela ne veut as dire que le Thin provisioning devient inutile mais simplement que sans mécanisme de récupération de ces espaces de zéro, son efficacité à terme va se réduire. Les constructeurs de baies de stockage ont donc tous adopté des stratégies pour lutter contre ce problème en mettant notamment en œuvre des techniques de réclamation d’espaces vides.