Configurer le stockage pour SQL Server sur les machines virtuelles Azure
S’applique à : SQL Server sur la machine virtuelle Azure
Cet article vous apprend à configurer votre stockage pour votre serveur SQL Server sur des machines virtuelles (VM) Azure déployées via la Place de marché Azure à l’aide de SSD Premium.
Les machines virtuelles SQL Server déployées à l’aide d’images du marketplace respectent automatiquement les meilleures pratiques de stockage par défaut, qui peuvent être modifiées pendant le déploiement. Certains de ces paramètres de configuration peuvent être modifiés après le déploiement.
Remarque
Cet article s’applique uniquement au serveur SQL Server sur les machines virtuelles Azure qui utilisent le stockage Premium, et non le stockage SSD Premium v2.
Prérequis
Pour utiliser les paramètres de configuration automatisée du stockage, votre machine virtuelle doit répondre aux conditions suivantes :
- Configurée avec une image de galerie SQL Server;
- Utilise le modèle de déploiement Resource Manager;
- Utilise des SSD premium.
Nouvelles machines virtuelles
Les sections suivantes décrivent comment configurer le stockage pour les nouvelles machines virtuelles SQL Server.
Portail Azure
Lors de l’approvisionnement d’une machine virtuelle Azure à l’aide d’une image de galerie SQL Server, sous l’onglet Paramètres de SQL Server, dans Stockage, sélectionnez Modifier la configuration pour ouvrir la page Configurer le stockage. Vous pouvez conserver les valeurs par défaut ou modifier le type de configuration de disque selon vos besoins en matière de charge de travail.
Remarque
Si vous avez sélectionné une taille de machine virtuelle prise en charge, vous pouvez utiliser SSD Premium v2, qui vous offre un contrôle granulaire sur la taille du disque, les IOPS et le débit.
Choisissez l’emplacement du lecteur pour vos fichiers de données et fichiers journaux, en spécifiant le type de disque et le nombre de disques. Utilisez les valeurs d’IOPS afin de déterminer la configuration de stockage optimale pour répondre à vos besoins. Opter pour le stockage Premium définit la mise en cache sur Readonly pour le lecteur de données, et Aucune pour le lecteur de journal conformément aux meilleures pratiques en matière de performances de machine virtuelle SQL Server.
La configuration du disque est entièrement personnalisable pour vous permettre de configurer la topologie de stockage, le type de disque et les IOPS dont vous avez besoin pour votre charge de travail de machine virtuelle SQL Server. Vous avez également la possibilité d’utiliser Ultradisk comme option pour le type de disque si votre machine virtuelle SQL Server se trouve dans l’une des régions prises en charge et si vous avez activé les disques Ultra pour votre abonnement.
Configurez les paramètres de votre base de données tempdb
sous Stockage Tempdb, par exemple, l’emplacement des fichiers de base de données, ainsi que le nombre de fichiers, leur taille initiale et leur taille de croissance automatique en Mo.
- Pendant le déploiement, le nombre maximal de fichiers
tempdb
est de 8, mais d’autres fichiers peuvent être ajoutés une fois la machine virtuelle SQL Server déployée. - Si vous configurez l’instance SQL Server
tempdb
sur le volume SSD local D comme recommandé, l’extension SQL IaaS Agent gère les dossiers et les autorisations nécessaires lors du réapprovisionnement. Cela ne nécessite pas que vous avez créé la machine virtuelle SQL avec une image à partir de la Place de marché Azure.
En outre, il vous est possible de définir la mise en cache pour les disques. Les machines virtuelles Azure disposent d’une technologie de mise en cache à plusieurs niveaux appelée Cache Blob lorsqu'elle est utilisée avec des disques Premium. Cache Blob combine la RAM de la machine virtuelle et le SSD local pour la mise en cache.
La mise en cache du disque pour SSD Premium peut être ReadOnly, *ReadWrite ou Aucune.
La mise en cache ReadOnly s'avère particulièrement intéressante pour les fichiers de données SQL Server stockés sur le stockage Premium. La mise en cache ReadOnly offre une faible latence de lecture, de très hautes performances d'E/S et de débit en cas de lectures à partir du cache, dans la mémoire de la machine virtuelle ou du SSD local. Ces lectures sont nettement plus rapides que les lectures à partir du disque de données, provenant du stockage Blob Azure. Le stockage Premium ne tient pas compte des lectures traitées à partir du cache pour le calcul du nombre d’IOPS et du débit du disque. Dès lors, votre application peut offrir de meilleures performances totales en termes d’E/S par seconde et de débit.
La configuration de cache Aucune doit être utilisée pour les disques hébergeant le fichier journal SQL Server, car ce fichier journal est écrit de manière séquentielle et ne tire pas parti de la mise en cache ReadOnly.
La mise en cache ReadWrite ne doit pas être utilisée pour héberger des fichiers SQL Server, car SQL Server ne prend pas en charge la cohérence des données avec le cache ReadWrite. Les écritures gaspillent la capacité du cache blob ReadOnly et les latences augmentent légèrement si les écritures interviennent dans les couches du cache blob ReadOnly.
Conseil
Vérifiez que votre configuration de stockage correspond aux limitations imposées par la taille de machine virtuelle sélectionnée. Opter pour des paramètres de stockage dépassant le seuil des performances de taille de la machine virtuelle génère un avertissement :
The desired performance might not be reached due to the maximum virtual machine disk performance cap
. Diminuez le nombre d’E/S par seconde en modifiant le type de disque ou augmentez le seuil de performances en augmentant la taille de la machine virtuelle. Cela n’arrête pas le provisionnement.
En fonction de votre choix, Azure exécute les tâches de configuration du stockage suivantes après avoir créé la machine virtuelle :
- Crée et attache des disques SSD Premium à la machine virtuelle.
- Configure les disques de données pour que SQL Server puisse y accéder.
- Configure les disques de données dans un pool de stockage basé sur les critères indiqués pour la taille et les performances (E/S par seconde et débit).
- Associe le pool de stockage à un nouveau lecteur sur la machine virtuelle.
Pour une procédure pas à pas détaillée de la création d’une machine virtuelle SQL Server dans le portail Azure, consultez le tutoriel de provisionnement.
Modèles Resource Manager
Si vous utilisez les modèles Resource Manager suivants, deux disques de données premium sont attachés par défaut, sans aucune configuration de pool de stockage. Toutefois, vous pouvez personnaliser ces modèles afin de modifier le nombre de disques de données premium attachés à la machine virtuelle.
- Créer des machines virtuelles avec sauvegarde automatisée
- Créer des machines virtuelles avec mise à jour corrective automatisée
- Créer des machines virtuelles avec AKV Integration
Modèle de démarrage rapide
Vous pouvez utiliser le modèle de démarrage rapide suivant pour déployer une machine virtuelle SQL Server à l’aide de l’optimisation du stockage.
- Créer une machine virtuelle avec optimisation du stockage
- Créer une machine virtuelle à l’aide de Ultradisk
Remarque
Certaines tailles de machine virtuelle peuvent ne pas avoir de stockage temporaire ni local. Si vous déployez un SQL Server sur une machine virtuelle Azure sans stockage temporaire, les données tempdb
et les fichiers journaux sont placés dans le dossier de données.
Machines virtuelles existantes
Remarque
Le stockage est uniquement configurable pour les machines virtuelles SQL Server qui ont été déployées à partir d’une image SQL Server dans la Place de marché Azure, et n’est pas actuellement pris en charge pour les disques SSD Premium v2. Pour modifier les configurations de disque sur une machine virtuelle Azure avec SQL Server auto-installé, utilisez le volet Disques.
Modifier des lecteurs existants
Pour les machines virtuelles SQL Server existantes qui ont été déployées via la place de marché Azure, vous pouvez modifier certains paramètres de stockage dans le portail Azure via la ressource SQL virtual machines, ou sur le volet Disques.
Pour modifier les paramètres de stockage, ouvrez votre ressource de machines virtuelles SQL et sélectionnez Configuration du stockage sous Paramètres, où vous pouvez :
- Ajouter des disques supplémentaires
- Configurer ou développer des disques existants
La sélection de Configurer a pour effet d’ouvrir la page Étendre le lecteur de disque, dans laquelle vous pouvez modifier le type de disque et ajouter des disques. Vous pouvez également ajouter des disques via le volet Disques.
Si vous avez déjà atteint le nombre maximal de disques pris en charge pour une taille de machine virtuelle particulière, vous devrez peut-être redimensionner la machine virtuelle.
Modification de tempdb
Vous pouvez également modifier vos paramètres tempdb
via la page Configuration du stockage, comme le nombre de fichiers tempdb
, ainsi que la taille initiale et le ratio de croissance automatique. Sélectionnez Configurer en regard de tempdb pour ouvrir la page Configuration tempdb.
Sélectionnez Oui en regard de Configurer les fichiers de données tempdb pour modifier vos paramètres, puis sélectionnez Oui en regard de Gérer les dossiers de la base de données tempdb au redémarrage pour permettre à Azure de gérer votre configuration tempdb
, votre dossier et vos autorisations lors du prochain démarrage de votre service SQL Server. Cela ne nécessite pas que vous avez créé la machine virtuelle SQL avec une image à partir de la Place de marché Azure.
Redémarrez votre service SQL Server pour appliquer vos modifications.
Augmentation de la taille du disque temporaire
Pour augmenter la taille du disque temporaire, redimensionner l’ordinateur virtuel vers un SKU qui prend en charge une taille de disque plus élevée pour le stockage temporaire.
Modifications automatisées
Cette section contient des informations de référence sur les modifications de configuration de stockage qu’Azure effectue automatiquement lors du provisionnement des machines virtuelles SQL Server dans le portail Azure.
- Azure configure un pool de stockage à partir du stockage sélectionné à partir de votre machine virtuelle. La prochaine section de cette article fournit les détails de la configuration du pool de stockage.
- La configuration automatique du stockage utilise toujours des disques de données P30 premium. Il existe donc un mappage 1:1 entre le nombre de téraoctets sélectionné et le nombre de disques de données attachés à votre machine virtuelle.
Pour plus d’informations sur les tarifs, consultez la page Tarifs de Storage dans l’onglet Stockage sur disque .
Création du pool de stockage
Azure utilise les paramètres suivants pour créer le pool de stockage sur les machines virtuelles SQL Server.
Paramètre | Valeur |
---|---|
Taille de l’entrelacement | 64 Ko |
Tailles du disque | 1 To chacun |
Cache | Lire |
Taille d'allocation | Taille de l’unité d’allocation NTFS de 64 Ko |
Récupération | Récupération simple (sans résilience) |
Nombre de colonnes | Nombre de disques de données, 8 maximum1 |
1 Une fois le pool de stockage créé, vous ne pouvez pas modifier le nombre de colonnes qu’il contient.
Remarque
Utilisez Optimize-StoragePoo et Optimize-Volume pour rééquilibrer l’allocation d’espace dans un pool et optimiser les performances pour les types de charge de travail qui ont des modèles d’E/S profondément mis en file d’attente aléatoires.
Activer la mise en cache
Pour SSD Premium, vous pouvez modifier la stratégie de mise en cache au niveau du disque. Vous pouvez le faire à l’aide du portail Azure, de PowerShell ou d’Azure CLI.
Pour modifier votre stratégie de mise en cache dans le portail Azure, procédez comme suit :
Arrêtez votre service SQL Server.
Connectez-vous au portail Azure.
Accédez à votre machine virtuelle, sélectionnez Disques sous Paramètres.
Choisissez la stratégie de mise en cache appropriée pour votre disque dans la liste déroulante : Lecture seule ou Aucune.
Une fois la modification prise en compte, redémarrez la machine virtuelle SQL Server et démarrez le service SQL Server.
Activer l’Accélérateur des écritures
Accélérateur d’écriture est une fonctionnalité de disque qui est uniquement disponible pour les machines virtuelles (VM) de la série M. L’objectif de l’accélération d’écriture est d’améliorer la latence d’E/S des écritures sur Stockage Premium Azure lorsque vous avez besoin d’une latence d’E/S à un chiffre en raison de charges de travail OLTP critiques ou d’environnements d’entrepôts de données de grande envergure.
Avant d’activer l’accélérateur d’écriture, examinez certaines des restrictions pour vous assurer qu’elles sont acceptables pour votre entreprise.
Arrêtez toutes les activités de SQL Server et arrêtez le service SQL Server avant d’apporter des modifications à votre stratégie d’accélération d’écriture.
Si vos disques sont agrégés par bandes, activez l’accélération d’écriture pour chaque disque individuellement, et votre machine virtuelle Azure doit être arrêtée avant d’effectuer toute modification.
Pour activer l’accélération d’écriture à l’aide du portail Azure, procédez comme suit :
Arrêtez votre service SQL Server. Si vos disques sont agrégés par bandes, arrêtez la machine virtuelle.
Connectez-vous au portail Azure.
Accédez à votre machine virtuelle, sélectionnez Disques sous Paramètres.
Choisissez l’option de cache avec Accélérateur d’écriture pour votre disque dans la liste déroulante.
Une fois la modification prise en compte, démarrez la machine virtuelle et le service SQL Server.
Entrelacement de disques
Pour augmenter le débit, vous pouvez ajouter des disques de données et utiliser l’entrelacement de disques. Pour déterminer le nombre de disques de données, analysez le débit et la bande passante nécessaires pour vos fichiers de données SQL Server, y compris le journal et tempdb
. Les limites de débit et de bande passante varient en fonction de la taille de machine virtuelle. Pour en savoir plus, consultez Taille de la machine virtuelle.
Pour Windows 8/Windows Server 2012 ou version ultérieure, utilisez des espaces de stockage en respectant les consignes suivantes :
Définissez l’entrelacement (taille de la bande) à 64 ko (65 536 octets) pour éviter tout impact sur les performances dû au mauvais alignement des partitions. Ces paramètres doivent être définis avec PowerShell.
Nombre de colonnes définies = nombre de disques physiques. Utilisez PowerShell lorsque vous configurez plus de 8 disques (et non l’interface utilisateur du gestionnaire de serveur).
Par exemple, le code PowerShell suivant crée un pool de stockage avec un entrelacement de 64 Ko et un nombre de colonnes équivalent à la quantité de disques physiques dans le pool de stockage :
$PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}
New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Windows Storage on <VM Name>" `
-PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" `
-Interleave 65536 -NumberOfColumns $PhysicalDisks.Count -ResiliencySettingName simple `
-UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter `
-UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" `
-AllocationUnitSize 65536 -Confirm:$false
Dans Windows Server 2016 et versions ultérieures, la valeur par défaut de -StorageSubsystemFriendlyName
est Windows Storage on <VM Name>
Pour Windows 2008 R2 ou version antérieure, vous pouvez utiliser des disques dynamiques (volumes entrelacés de système d’exploitation). La taille de l’entrelacement restera 64 Ko. Cette option est déconseillée à partir de Windows 8/Windows Server 2012. Pour plus d’informations, consultez les instructions du support dans Transition du service de disque virtuel vers l’API de gestion de stockage Windows.
Si vous utilisez les espaces de stockage direct (S2D) avec des instances de cluster de basculement SQL Server, vous devez configurer un pool unique. Même si vous créez différents volumes sur ce pool unique, tous partageront les mêmes caractéristiques, par exemple la même stratégie de mise en cache.
Déterminez le nombre de disques associés à votre pool de stockage en fonction de vos attentes en matière de charge. N’oubliez pas que les différentes tailles de machines virtuelles autorisent différents nombres de disques de données attachés. Pour plus d’informations, consultez Tailles des machines virtuelles.
Problèmes connus
L'option Configurer le disque ou le volet Configuration du stockage sur la ressource de la machine virtuelle SQL est grisée
La page Stockage peut être grisée dans le volet de ressources des machines virtuelles SQL dans le Portail Azure pour les raisons suivantes :
- Votre extension d’agent IaaS SQL est dans un état d’échec. Supprimez et inscrivez ensuite votre machine virtuelle SQL Server avec l’extension une fois de plus.
- Vous avez personnalisé votre pool de stockage.
- Vous utilisez une image qui n'est pas de type place de marché.
- Vous avez créé votre machine virtuelle avec des disques non managés. Seuls les disques managés sont pris en charge.
L’option Étendre le disque est grisée
L’option Étendre le disque peut être grisée pour les raisons suivantes :
- Vous avez personnalisé votre pool de stockage. Si vous devez étendre votre disque, ajoutez des disques au pool de stockage pour agrandir le disque virtuel.
- Vous avez modifié les noms de disque virtuel ou de volume à partir de leurs valeurs par défaut :
- Nommage du pool de stockage : SQLVMStoragePool1, SQLVMStoragePool2, SQLVMStoragePool3,
- Disque virtuel : SQLVMVirtualDisk1, SQLVMVirtualDisk2, SQLVMVirtualDisk3,
- Volumes : SQLVMDATA1, SQLVMLOG et SQLVMTEMPDB
- Vous avez installé un cluster Windows sur votre machine virtuelle SQL Server. L’extension des disques n’est donc pas prise en charge.
J’ai un disque avec 1 To d’espace non alloué que je ne peux pas supprimer du pool de stockage
Il n’y a aucune option permettant de supprimer l’espace non alloué d’un disque appartenant à un pool de stockage.
Mon journal des transactions est plein
Passez en revue la résolution des problèmes liés à un journal des transactions complet si votre journal devient complet.
Impossible de configurer le stockage avec la ressource Machines virtuelles SQL
Le volet de configuration du stockage pour la ressource Machines virtuelles SQL dans le Portail Azure peut être indisponible ou grisé, ou la sélection d’Étendre les disques peut ne pas fonctionner dans les scénarios suivants :
- Machines virtuelles avec des instances SQL Server installées automatiquement. Actuellement, seules les images de machine virtuelle SQL Server de la Place de marché Azure sont prises en charge.
- Machines virtuelles SQL Server utilisant Premium SSDv2. Actuellement, seules les machines virtuelles SQL Server avec le SSD Premium sont prises en charge.
- Lorsque TCP/IP est désactivé dans le Gestionnaire de configuration SQL Server.