# Virtualisation du stockage

La virtualisation du stockage est un concept informatique et un ensemble de techniques qui utilisent les notions de virtualisation pour fournir des fonctionnalités avancées dans le domaine du stockage informatique. La virtualisation du stockage permet en particulier de fédérer les volumes en une ressource unique.

## Historique

La virtualisation s'est fortement développée avec l'arrivée de VMware à la fin des années 1990. En 2002 les principaux constructeurs proposaient déjà des solutions de virtualisation, comme EMC avec ses baies Symmetrix, HP avec des baies SureStore et des logiciels; Sun proposait des baies StorEdge et une plateforme de gestion du stockage appelée Jiro. NetApp propose en natif la virtualisation au niveau contrôleur. Pour sa part IBM proposait une baie et un serveur de virtualisation. Du côté des éditeurs les solutions sont Veritas (en) Volume manager, DataCore SANsymphony, BMC Patrol ACSM, etc.

## Principe

Le principe de base de la virtualisation du stockage est de gérer une interface qui permet de dissocier la gestion physique des disques (et des baies de stockage) vis-à-vis des serveurs qui l'utilisent.
Les systèmes de stockage fournissent soit des données en mode bloc, soit en mode fichier. Les données en mode bloc sont accédées à travers des protocoles tels que Fibre Channel, iSCSI, SAS, FICON ou autres. L'accès en mode fichier se fait à travers NFS ou CIFS. Dans le cas d'un système de stockage, la virtualisation peut se faire de deux façons :
* virtualisation en mode bloc, en introduisant un niveau d'abstraction entre le serveur et le système de stockage, ce qui donne plus de flexibilité pour les administrateurs
* virtualisation en mode fichiers, en accédant au NAS en masquant les dépendances vis-à-vis de l'emplacement où les données sont physiquement stockées.

## Virtualisation en mode bloc

La plupart des implémentations permettent une administration unique d'un ensemble de baies de stockages hétérogènes. La solution IBM SVC : IBM SAN Volume Controller (en) propose des fonctionnalités d'auto-tiering, de la cache en lecture et en écriture, du thin provisioning, etc. La solution EMC VPLEX (en) implémente une virtualisation du stockage qui peut être distribuée sur plusieurs sites.

## Virtualisation en mode fichiers

Virtualisation en mode fichiers en masquant les dépendances vis-à-vis de l'emplacement où les données sont physiquement stockées.

## Implémentation

L'implémentation de la couche virtualisation peut se faire au niveau du serveur hôte, du réseau de stockage, ou encore au niveau du système de stockage lui-même.
L'implémentation "in-band" consiste à intercaler un composant entre les serveurs et le système de stockage: toutes les données passent par cet élément qui peut devenir un goulot d'étranglement ou présenter un risque de SPOF s'il n'est pas redondant.
L'implémentation "out-band" se fait au niveau d'un agent installé directement sur les serveurs, ce qui est plus évolutif, mais plus difficile à maintenir.

## Avantages

La virtualisation du stockage réduit l'adhérence vis à vis des fournisseurs de stockage, et facilite les migrations, en permettant des déplacements de données "à chaud" (sans interruption de service), ce qui permet de remplacer une baie ancienne et peu performante par une baie récente, sans arrêt des applications.

## Inconvénients

La mise en œuvre de virtualisation de stockage suppose le respect strict des matrices de compatibilité des constructeurs, et suppose que les baies de stockages soient validées et supportées par la couche de virtualisation. Même si on s'affranchit des contraintes de dépendance relatives aux firmware des baies par exemple, on introduit de nouvelles contraintes au niveau de la plateforme de virtualisation.