Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit des conseils généraux sur l’obtention de performances optimales avec un environnement qui utilise un SAN élastique Azure.
Optimisations côté client
Recommandations générales
Machines virtuelles Windows &Linux
Pour des performances optimales, déployez vos machines virtuelles et votre san élastique dans la même zone et la même région.
Les E/S de stockage de machines virtuelles vers des volumes SAN élastiques utilisent la bande passante réseau des machines virtuelles. Par conséquent, les limites de débit de disque traditionnelles sur une machine virtuelle ne s’appliquent pas aux volumes SAN élastiques. Choisissez une machine virtuelle qui peut fournir une bande passante suffisante pour les E/S de production/machine virtuelle à machine virtuelle et les E/S iSCSI pour les volumes Elastic SAN attachés. En règle générale, vous devez utiliser des machines virtuelles gen 5 (D/E/M) pour obtenir les meilleures performances.
Activez la mise en réseau accélérée sur la machine virtuelle lors de la création. Pour ce faire via Azure PowerShell ou Azure CLI ou pour activer la mise en réseau accélérée sur des machines virtuelles existantes, consultez Utiliser Azure PowerShell pour créer une machine virtuelle avec mise en réseau accélérée
- Vous devez utiliser 32 sessions par volume cible pour chaque volume pour atteindre ses limites maximales d’E/S par seconde et/ou de débit. Utilisez MPIO (Multipath E/S) sur le client pour gérer ces plusieurs sessions sur chaque volume pour l’équilibrage de charge. Les scripts sont disponibles pour Windows, Linux ou sur la page Se connecter au volume de vos volumes dans le portail Azure, qui utilise 32 sessions par défaut. L’initiateur iSCSI logiciel Windows a une limite maximale de 256 sessions. Si vous devez connecter plus de huit volumes à une machine virtuelle Windows, réduisez le nombre de sessions à chaque volume si nécessaire.
Azure VMware Solution
Déployer votre san élastique dans la même région et la même zone de disponibilité que votre cluster Azure VMware Solution
Configurer des points de terminaison privés avant de monter votre volume SAN élastique en tant que magasin de données externe
Si vous envisagez que votre environnement ait jamais 16 nœuds dans un cluster Azure VMware Solution, utilisez l’une des configurations suivantes, selon les hôtes que vous avez.
- AV36, AV36P, AV52 - Six sessions iSCSI sur trois points de terminaison privés
- AV64 - Sept sessions iSCSI sur sept points de terminaison privés
Si votre environnement n’a pas 16 nœuds, utilisez l’une des configurations suivantes.
- AV36, AV36P, AV52 - Huit sessions iSCSI sur quatre points de terminaison privés
- AV64 - Huit sessions iSCSI sur huit points de terminaison privés
Remarque
Lorsqu’un volume SAN élastique est attaché à un cluster, il est automatiquement attaché à tous les nœuds. Si vous avez 16 nœuds et que chaque nœud est configuré pour utiliser huit sessions iSCSI qui utilisent le nombre maximal de connexions (128). La configuration de vos nœuds pour utiliser sept sessions iSCSI garantit que si vous devez attacher un nœud supplémentaire (pour la maintenance), vous disposez de sessions iSCSI disponibles.
Utiliser l’allocation EZT (eager zeroed thick) lors de la création de disques virtuels
Taille de la passerelle ExpressRoute afin qu’elle puisse répondre à vos besoins en débit
Configurez votre SAN élastique pour qu’il dispose d’au moins 16 TiB pour sa taille initiale, afin que vous puissiez atteindre des performances optimales sur vos datastores SAN élastiques.
MPIO
Fenêtres
Utilisez les commandes suivantes pour mettre à jour vos paramètres :
# Enable multipath support for iSCSI devices
Enable-MSDSMAutomaticClaim -BusType iSCSI
# Set the default load balancing policy based on your requirements. In this example, we set it to round robin which should be optimal for most workloads.
mpclaim -L -M 2
# Set disk time out to 30 seconds
Set-MPIOSetting -NewDiskTimeout 30
Pour plus d’informations sur les applets de commande MPIO, consultez la référence MPIO.
Linux
Mettez à jour le fichier /etc/multipath.conf avec les commandes suivantes :
defaults {
user_friendly_names yes # To create ‘mpathn’ names for multipath devices
path_grouping_policy multibus # To place all the paths in one priority group
path_selector "round-robin 0" # To use round robin algorithm to determine path for next I/O operation
failback immediate # For immediate failback to highest priority path group with active paths
no_path_retry 3 # To disable I/O queueing after retrying once when all paths are down
polling_interval 5 # Set path check polling interval to 5 seconds
find multipaths yes # To allow multipath to take control of only those devices that have multiple paths
}
devices {
device {
vendor "MSFT"
product "Virtual HD"
}
}
Azure VMware Solution
Microsoft gère les paramètres MPIO pour Azure VMware Solution. Les valeurs optimales sont définies lorsque vous créez un magasin de données.
iSCSI
Fenêtres
Mettez à jour les paramètres de Registre pour l’initiateur iSCSI sur Windows.
- Ouvrez l’Éditeur du Registre :
- Sélectionnez Démarrer, tapez regedit dans la zone de recherche, puis appuyez sur Entrée.
- Accédez à l’emplacement suivant : [\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e97b-e325-11ce-bfc1-08002be10318}\0004 (Microsoft iSCSI Initiateur)\Parameters]
- Mettez à jour les paramètres suivants. Cliquez avec le bouton droit sur chaque paramètre et sélectionnez Modifier. Remplacez Base par décimal, mettez à jour la valeur et sélectionnez OK.
Descriptif | Paramètre et valeur |
---|---|
Définit les données maximales envoyées par l’initiateur dans un PDU iSCSI à la cible à 256 Ko | MaxTransferLength=262144 |
Définit la charge utile SCSI maximale que l’initiateur négocie avec la cible à 256 Ko | MaxBurstLength=262144 |
Définit le nombre maximal de données non sollicitées que l’initiateur peut envoyer dans un PDU iSCSI à une cible à 256 Ko | FirstBurstLength = 262144 |
Définit la quantité maximale de données que l’initiateur peut recevoir dans un PDU iSCSI de la cible à 256 Ko | MaxRecvDataSegmentLength=262144 |
Désactive le contrôle de flux R2T | InitialR2T=0 |
Active les données immédiates | ImmediateData=1 |
Définit la valeur du délai d’expiration pour les requêtes WMI à 30 secondes | WMIRequestTimeout = 30 secondes |
Définit la valeur du délai d’expiration pour le temps d’arrêt du lien à 30 secondes | LinkDownTime = 30 secondes |
Dans les configurations de cluster, assurez-vous que les noms d’initiateur iSCSI sont uniques sur tous les nœuds qui partagent des volumes. Dans Windows, vous pouvez les mettre à jour via l’application Initiateur iSCSI.
Sélectionnez Démarrer, recherchez l’initiateur iSCSI dans la zone de recherche. Cela ouvre l’initiateur iSCSI.
Sélectionnez Configuration pour afficher le nom de l’initiateur actuel.
Pour le modifier, sélectionnez Modifier, entrez le nouveau nom de l’initiateur, puis sélectionnez OK.
Linux
Mettez à jour les paramètres suivants avec les valeurs recommandées dans le fichier de configuration iSCSI global (iscsid.conf, généralement trouvé dans le répertoire /etc/iscsi) sur le client avant de lui connecter des volumes. Lorsqu’un volume est connecté, un nœud est créé avec un fichier de configuration spécifique à ce nœud (par exemple sur les machines virtuelles Ubuntu, il est disponible dans le /etc/iscsi/nodes/$volume_iqn/portal_hostname,$port
répertoire) qui hérite des paramètres du fichier de configuration global. Si vous avez déjà connecté un ou plusieurs volumes au client avant de mettre à jour le fichier de configuration global, mettez à jour le fichier de configuration spécifique au nœud pour chaque volume directement ou à l’aide de la commande suivante :
# Variable declaration
volume_iqn=<Elastic SAN volume IQN>
portal_hostname=<Elastic SAN volume portal hostname>
port=3260
# Set maximum data the initiator sends in an iSCSI PDU to the target to 256 KB
sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n node.conn[0].iscsi.MaxXmitDataSegmentLength -v 262144
# Set maximum SCSI payload that the initiator negotiates with the target to 256 KB
sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n node.session.iscsi.MaxBurstLength -v 262144
# Set maximum unsolicited data the initiator can send in an iSCSI PDU to a target to 256 KB
sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n node.session.iscsi.FirstBurstLength -v 262144
# Set maximum data the initiator can receive in an iSCSI PDU from the target to 256 KB
sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n node.conn[0].iscsi.MaxRecvDataSegmentLength -v 262144
# Disable R2T flow control
sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n node.session.iscsi.InitialR2T -v No
# Enable immediate data
sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n node.session.iscsi.ImmediateData -v Yes
# Set timeout value for WMI requests
sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n node.conn[0].timeo.login_timeout -v 30
sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n node.conn[0].timeo.logout_timeout -v 15
# Enable CRC digest checking for header and data
sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n node.conn[0].iscsi.HeaderDigest -v CRC32C
sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n node.conn[0].iscsi.DataDigest -v CRC32C
Dans les configurations de cluster, vérifiez que les noms d’initiateur iSCSI sont uniques sur tous les nœuds qui partagent des volumes. Dans Linux, modifiez /etc/iscsi/initiatorname.iscsi pour mettre à jour le nom de l’initiateur.
Azure VMware Solution
Microsoft gère les paramètres iSCSI. Les valeurs optimales sont définies lorsque vous créez un magasin de données.
Optimisations DE SAN élastiques
Avant de déployer un san élastique, la détermination de la taille optimale du SAN élastique que vous déployez est nécessaire pour obtenir l’équilibre approprié des performances pour vos charges de travail et vos coûts. Procédez comme suit pour déterminer le meilleur dimensionnement pour vous :
Avec votre solution de stockage existante, sélectionnez un intervalle de temps (jour/semaine/trimestre) pour suivre les performances. Le meilleur intervalle de temps est un bon instantané de vos applications/charges de travail. Au cours de cette période, enregistrez le nombre maximal d’E/S par seconde et le débit combinés pour toutes les charges de travail. Si vous utilisez un intervalle supérieur à une minute ou si l’une de vos charges de travail a des goulots d’étranglement avec votre configuration actuelle, envisagez d’ajouter plus de capacité de base à votre déploiement SAN élastique. Vous devez laisser une marge de contrôle lors de la détermination de votre capacité de base, afin de tenir compte de la croissance. Le reste du stockage de votre SAN élastique doit utiliser une capacité supplémentaire pour économiser des coûts.
Pour plus d’informations sur les performances, consultez Les performances de san élastique et de machine virtuelle.