Lors de la mise en place d’un stockage DataCore il est nécessaire de s’assurer de la configuration d’un certain nombre de paramètres. Ceci est vrai à la fois pour les architectures iSCSI et FC.
Vous trouverez le détail exhaustif des bonnes pratiques sur le site du support DataCore, ici le lien vers le document PDF : VMware ESXi Configuration Guide
L’objectif de cet article est de résumer ces informations et donner quelques astuces de mise en place.
Les paramétrages qui sont décrits dans cet article, et plus particulierement les règles de multipathing, sont à appliquer avant de servir des volumes aux ESXi. Si vous souhaitez les modifier à posteriori, il faut se référer au Configuration Guide de DataCore.
Paramètres ESXi
Trois paramètres nécessitent notre attention côté ESXi:
- Le paramètre avancé Disk.DiskMaxIoSize
- La configuration des VAAI
- DalyedACK dans le cadre d’une configuration iSCSI
Advanced Setting : Disk.DiskMaxIoSize
Il correspond à la taille d’un I/O transmis au stockage, par défaut il est positionné à 32767 Ko, DataCore recommande 512 Ko.
C’est le dernier des paramètres avancés à modifier qui subsiste dans les bonnes pratiques DataCore. Plus besoin de modifier les paramètres tel que UseLunReset ou CRTimeoutDuringBoot (ah nostalgie de SANmelody, enfin pas trop non plus :))
Modification via PowerCLI
Dans mon exemple :
Vérification de l’état du paramètre pour tous les hôtes d’un Cluster (remplacer “Cluster” par le nom de votre Cluster):
|
|
Passage du paramètre à 512:
|
|
Modification via interface Web
Il est également possible de modifier la valeur via l’interface HTML5 (ou Flex) du vCenter, voir en direct sur un ESXi.
Accès aux paramètres avancés:
Modification du paramètre:
Configuration VAAI : ATS for VMFS Heartbeat
Je ne vais volontairement pas m’attarder sur les VAAI, je ferai surement un article dédié sur le sujet.
Un changement a eu lieu à partir de vSphere 5.5U2 et 6.0 sur la façon de gérer les VMFS Heartbeat, maitenant ATS est utilisé à la place des commandes SCSI Read/Write standard.
ATS for VMFS Heartbeat n’est pas supporté avec DataCore, il convient donc de le désactiver:
Il est indiqué VMFS5 mais ce paramètre est également valable pour VMFS6, source : https://kb.vmware.com/s/article/2113956
Le paramètre peut également être paramétré pour l’ensemble d’un Cluster via PowerCli!
Vérification de l’état du paramètre pour tous les hôtes d’un Cluster:
|
|
Puis, si nécessaire, modification de la valeur pour l’ensemble du Cluster:
|
|
Désactivation de DelayedACK
Dans le cas de configuration iSCSI, DataCore recommande la désactivation de DelayedACK:
Via PowerShell on peut vérifier l’état de ce paramètre sur l’ensemble du Cluster:
|
|
Modification de la valeur à false pour tous les hôtes d’un Cluster:
|
|
Multipathing
La gestion des règles de multipathing est toujours un élément important lors du paramétrage du stockage avec vSphere.
Deux sources d’informations sont à prendre en compte :
- La Hardware Compatibility List de VMware (HCL)
- Le VMware ESXi Configuration Guide de DataCore
Il existe trois règles de Multipathing par défaut sur un ESXi (PSP):
- Fixed
- Round Robin
- Most Recently Used
HCL VMware
Côté HCL VMware, on retrouve deux infos intéressantes :
Premièrement le support pour les volumes présentés via des hosts configurés en ALUA (Asymmetrical Logical Unit Access) uniquement, et du support de deux politiques de Mutlipathing à savoir le Round Robin et le Fixed. Pas de support de MRU
ESXi Configuration Guide
Dans le Configuration Guide de DataCore pour ESXi, on retrouve dans un premier temps les versions supportées avec et sans ALUA:
Concernant la règle de multipathing à utiliser, le document ne s’avance pas sur un mode en particulier “DataCore does not recommend to use a particular PSP. Choose the PSP that is appropriate for your configuration."
Cependant MRU (Most Recently Used) est indiqué comme n’étant pas testé, (de plus il n’apparait pas dans la HCL VMware) :
Plus important encore, MRU en association avec ALUA n’est pas supporté ! “For MRU, Hosts must not have the ALUA setting enabled in the SANsymphony console."
En conclusion, et pour résumer : pas de MRU dans vos configurations DataCore/ESXi !
Fixed était l’option plébicitée avec les anciennes versions de DataCore (SANmelody), surtout dans des configurations iSCSI.
Depuis SANsymphony 9.x, les configurations ESXi sont de plus en plus souvent avec Round Robin. Cette dernière, avec ALUA, apporte une simplification de la configuration côté ESXi, plus besoin de précisier un chemin préféré. Je ferai également un article plus précis sur ce point avec les avantages du “combo” ALUA / Round Robin.
Round Robin n’est, de toute façon, supporté qu’avec l’utilisation de ALUA (qui sera paramétré côté DataCore)
Dans la suite de l’article on va donc s’assurer à ce que ce soit Round Robin, en association avec ALUA, qui soit utilisé sur vos ESXi.
Configuration par défaut
Comme on l’a vu précédement, MRU ne doit pas être utilisé avec ALUA, et pourtant c’est ce qui est configuré par défaut sur un ESXi !
Pour chaque module SATP (Storage Array Type Plug-Ins), ESXi va associer un PSP (Path Selection Policy). La configuration par défaut est celle-ci (pour ESXi 6.x) :
|
|
Sur la seconde ligne on voit donc que MRU sera choisie pour les hôtes configurés en ALUA. Cette configuration par défaut peut être modifiée via la commande suivante :
|
|
C’est une possiblité, surtout si vos ESXi ne voient que du stockage DataCore. Mais la solution idéale est plutôt de créer une règle sépcifique à DataCore afin de ne pas modifier la configuration par défaut.
Création d’une règle spécifique à DataCore
On peut afficher la liste des règles déjà présente sur un ESXi via :
|
|
Création de la règle spécifique à DataCore :
|
|
Le paramètre IOPS est spécifique à Round Robin, et peu importe le type de stockage que vous utilisez avec VMware, il est souvent recommandé de le baisser (valeur par défaut à 1000), se référer aux bonnes pratiques des constructeurs/éditeurs.
Configuration ALUA DataCore
Dernière étape, lors de la déclaration de votre “host” dans DataCore, on active ALUA, associé à un Preferred Server :
Enjoy :)