Dans cette documentation, nous allons voir ensemble en quoi consiste le "Storage Distributed Resource Scheduler" aussi appelé "Storage DRS ou SDRS"
De la même manière qu'il est possible de faire des Clusters d'ESXi afin d'avoir de la redondence et de la haute disponibilité, le "Storage DRS" permet d'obtenir le même confort mais avec des Datastores. Le "Storage DRS" consiste donc tout simplement en un Cluster de Datasores, un regroupement logique de Datastores permettant de contenir les fichiers de nombreuses VMs.
Au fur et à mesure que l'on ajoute des VMs ou si certaines VMs ont besoin d'avoir de plus en plus d'espace de stockage, nos Datastores risquent d'être déséquilibrés voir saturés.
Par exemple, il est tout à fait possible que des charges de travail demandent énormément d'espace de stockage ou simplement qu'un de nos Datastore manque d'espace et arrive à saturation.
Dans ce cas Storage DRS peut automatiser l'équilibrage de la charge entre les différents Datastores.
Pour effectuer cet équilibrage de charge, Storage DRS va utiliser le Storage vMotion.
Petit rappel de ce qu'est le Storage vMotion.
Sur le schéma suivant nous pouvons voir un ESXi ayant accès à deux Datastores.
Cet ESXi possède également une VM en état de fonctionnement dont l'ensemble des fichiers ainsi que son stockage se trouvent sur le Datastore 1.
Si nous voulons effectuer un transfert de cette VM depuis le Datastore 1 vers le Datastore 2, nous allons alors prendre tous les fichiers qui appartiennent à cette machine virtuelle et nous allons les migrer vers le Datastore 2 sans interruption de service.
Biensur on ne le fait pas manuellement mais via les différentes options se trouvant à notre disposition.
La machine virtuelle va continuer de fonctionner normalement sur le même ESXi mais l'ensemble de des fichiers qui la composent seront déplacés d'un emplacement de stockage vers un autre.
C'est ce que l'on appelle le "Storage vMotion".
Donc le "Storage DRS" va automatiquement déplacer les machines virtuelles d'un Datastore à un autre dans le but d'équilibrer leur utilisation de l'espace de stockage et leur latence.
Cependant dans certaines circonstances, l'automatisation du Storage vMotion porté par le Storage DRS peut poser un problème.
Imaginons par exemple que nous ayons deux VMs Windows qui sont des contrôleurs de domaine, DC1 et DC2. Nous avons une redondence entre les deux et pour l'instant tout fonctionne correctement.
S'il y a bien une chose que nous ne voulons absolument pas c'est qu'ils tombent en panne au même moment. Cependant si nous confions le contrôle au Storage DRS, il pourrai potentiellement déplacer nos VMs sur le même Datastore et si ce Datastore venait à tomber en planne alors nous perdrions nos deux contrôleurs de domaine.
Pour éviter ce problème nous pourrions mettre en place ce que l'on appelle des règles d'affinité ou dans le cas de l'exemple précédent des règles d'anti-affinité afin de nous assurer que ces deux contrôleur de domaine soient bien séparés et ne se retrouve jamais dans le même datastore.
Les règles d'affinité ou d'anti-affinité vont donc nous permettre d'indiquer si l'on souhaite que les disques de chacune de nos VMs individuellement soient regroupés sur le même datastore ou séparés sur des Datastores différents.
Toutefois mise à part pour des cas spécifiques, il est important de savoir que nous n'avons pas forcément besoin de mettre en place de telles règles.
En effet si vous créez une machine virtuelle avec plusieurs disques, tous les disques seront stockés sur le même datastore.
L'un des avantages de la création d'un Cluster de datastores consiste en la possibilité de passer un datastore en mode maintenance.
Prenons l'exemple du Cluster de datastores suivant :
Supposons que chacun des datastores qui composent ce Cluster soient sur des périphériques de stockage différents.
Imaginons maintenant que pour des raisons de maintenance nous ayons besoins d'éteindre ou de patcher la baie de stockage qui héberge le datastore le plus à gauche de l'image.
Nous allons alors pouvoir passer ce datastore en mode maintenance.
Dans ce cas, ce que le Storage DRS (SDRS) va faire, c'est migrer automatiquement les disques des VMs présents sur ce datastore pour les relocaliser sur les autres datastores du Cluster.
Et tout ceci sans aucune interruption de service.
Nous pouvons alors faire n'importe quelle opération sur ce datastore et sur la baie de stockage qui l'héberge.
Nous pouvons le démonter, le supprimer, rebooter la baie de stockage voir l'éteindre pour effectuer la maintenance dont nous avons besoin et tout cela sans aucun risque pour les VMs qui se trouvaient sur le datastore de gauche.
Lorsque la maintenance sera terminée et la baie de stockage de nouveau disponible, nous pourrons sortir ce datastore du mode maintenance permettant ainsi à la charge de stockage de se rééquilibrer automatiquement et conformément aux recommandations du DRS.
Ce datastore récupèrera donc les disques de certaines VMs automatiquement, permattant d'équilibrer la charge de stockage entre les différents datastores.
Lors de la création d'un Cluster de datastores, il est important de prendre plusieurs éléments en compte puisque que les VMs vont se déplacer d'un datastore à un autre.
Il est donc souhaitable de suivre ces préconisations :
La configuration d'un cluster de datastores est très similaire à celle d'un cluster pour nos hôtes ESXi dans la mesure où nous pouvons choisir le niveau d'automatisation.
Pour résumer dan cette partie de la documentation, nous avons abordé plusieurs sujets.
Nous pouvons associer plusieurs datastores pour créer un Cluster de datastores, nous permettant de surveiller l'utilisation de l'espace de stockage mais également les I/O dans ce Cluster.
Nous pouvons également mettre en place des recommendations très similaires à celles que nous utilisons pour les Clusters d'ESXi.
Il est tout à fait possible d'ajouter un datastore dans un Cluster déjà existant selon nos besoins et de la même manière il est possible d'en supprimer. Dans ce cas, le mécanisme sous-jacent qui sera utilisé pour effectuer les déplacements des VMs sera le Storage vMotion.
Nous pouvons également configurer des règles d'affinité pour maintenir les VMs ensemble sur le même datastore ou à l'inverse utiliser des règles d'anti-affinité pour les maintenir séparées.
Chapitre précédent : 11 - Matériel indépendant iSCSI et vSphere 7 - Chapitre suivant : 13 - Création d'un cluster Storage DRS (SDRS) dans vSphere 7 : Démonstration