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 :

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.

Screenshot that highlights the SQL Server settings tab and the Change configuration option.

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.

Screenshot from the Azure portal of the SQL Server VM Storage Configuration page during provisioning.

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.

Screenshot that shows where you can configure the tempdb storage for your SQL VM.

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.

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.

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 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.

Pour modifier les paramètres de stockage, ouvrez votre ressource de machines virtuelles SQL et sélectionnez Configuration du stockage sous Paramètres.

Screenshot that highlights the Configure option and the Storage Usage section.

Vous pouvez modifier les paramètres de disque des lecteurs configurés lors du processus de création de la machine virtuelle SQL Server. 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.

A screenshot from the Azure portal showing the Extend Data drive page, used to configure storage for an existing SQL Server VM.

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.

Screenshot of the tempdb configuration page of the Azure portal from the SQL virtual machines resource page.

Redémarrez votre service SQL Server pour appliquer vos modifications.

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.

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 :

  1. Arrêtez votre service SQL Server.

  2. Connectez-vous au portail Azure.

  3. Accédez à votre machine virtuelle, sélectionnez Disques sous Paramètres.

    Screenshot showing the VM disk configuration pane in the Azure portal.

  4. Choisissez la stratégie de mise en cache appropriée pour votre disque dans la liste déroulante : Lecture seule ou Aucune.

    Screenshot showing the disk caching policy configuration in the Azure portal.

  5. 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 :

  1. Arrêtez votre service SQL Server. Si vos disques sont agrégés par bandes, arrêtez la machine virtuelle.

  2. Connectez-vous au portail Azure.

  3. Accédez à votre machine virtuelle, sélectionnez Disques sous Paramètres.

    Screenshot showing the VM disk configuration pane in the Azure portal.

  4. Choisissez l’option de cache avec Accélérateur d’écriture pour votre disque dans la liste déroulante.

    Screenshot showing the write accelerator cache policy.

  5. 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 :

    1. 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.

    2. 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

Le volet Configuration du stockage peut être grisé dans le portail Azure si votre extension SQL IaaS Agent est dans un état d’échec. Réparez l’extension SQL IaaS Agent.

L'option Configurer du volet Configuration du stockage peut être grisée si vous avez personnalisé votre pool de stockage ou si vous utilisez une image ne provenant pas de la place de marché.

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.