Paramètres de déduplication des données avancés
Ce document décrit la manière de modifier les paramètres de déduplication des données avancés. Pour les charges de travail recommandées, les paramètres par défaut peuvent suffire. La principale raison de modifier ces paramètres est d’améliorer les performances de la déduplication des données avec d’autres types de charges de travail.
Modification des planifications de travaux de déduplication des données
Les planifications de travaux de déduplication des données sont conçues pour fonctionner parfaitement pour les charges de travail recommandées et être le moins intrusives possible (mis à part le travail d’optimisation des priorités qui est activé pour le type d’utilisation Sauvegarde). Quand les charges de travail ont des besoins en ressources importants, il est possible de vérifier que les travaux s’exécutent uniquement pendant les heures d’inactivité, ou de réduire ou augmenter la quantité de ressources système qu’un travail de déduplication des données est autorisé à consommer.
Modification d’une planification de déduplication des données
Les travaux de déduplication des données sont planifiés par le biais du Planificateur de tâches de Windows. Vous pouvez les afficher et les modifier sous le chemin Microsoft\Windows\Deduplication. La déduplication des données comprend plusieurs applets de commande qui facilitent la planification.
Get-DedupSchedule
présente les travaux planifiés actuels.New-DedupSchedule
crée un travail planifié.Set-DedupSchedule
modifie un travail planifié existant.Remove-DedupSchedule
supprime un travail planifié.
Le motif de modification le plus courant pendant l’exécution de travaux de déduplication des données consiste à garantir que les travaux s’exécutent pendant les heures creuses. L’exemple pas à pas suivant montre comment modifier la planification de déduplication des données pour un scénario idéal : un hôte Hyper-V hyperconvergé qui est inactif le week-end et après 19h00 tous les soirs de la semaine. Pour modifier la planification, exécutez les applets de commande PowerShell suivantes dans un contexte d’administrateur.
Désactivez les travaux d’optimisation planifiés toutes les heures.
Set-DedupSchedule -Name BackgroundOptimization -Enabled $false Set-DedupSchedule -Name PriorityOptimization -Enabled $false
Supprimez les travaux Nettoyage de la mémoire et Nettoyage des données actuellement planifiés.
Get-DedupSchedule -Type GarbageCollection | ForEach-Object { Remove-DedupSchedule -InputObject $_ } Get-DedupSchedule -Type Scrubbing | ForEach-Object { Remove-DedupSchedule -InputObject $_ }
Créez un travail d’optimisation nocturne qui s’exécute à 19h00 avec une priorité élevée et tous les processeurs et la mémoire disponibles sur le système.
New-DedupSchedule -Name "NightlyOptimization" -Type Optimization -DurationHours 11 -Memory 100 -Cores 100 -Priority High -Days @(1,2,3,4,5) -Start (Get-Date "2016-08-08 19:00:00")
Notes
La partie date du
System.Datetime
fourni à-Start
n’est pas pertinente (dès lors qu’elle est passée), mais la partie heure spécifie le moment auquel le travail doit démarrer.Créez un travail de nettoyage de la mémoire hebdomadaire qui s’exécute le samedi à partir de 7h00 avec une priorité élevée et tous les processeurs et la mémoire disponibles sur le système.
New-DedupSchedule -Name "WeeklyGarbageCollection" -Type GarbageCollection -DurationHours 23 -Memory 100 -Cores 100 -Priority High -Days @(6) -Start (Get-Date "2016-08-13 07:00:00")
Créez un travail de nettoyage des données hebdomadaire qui s’exécute le dimanche à partir de 7h00 avec une priorité élevée et tous les processeurs et la mémoire disponibles sur le système.
New-DedupSchedule -Name "WeeklyIntegrityScrubbing" -Type Scrubbing -DurationHours 23 -Memory 100 -Cores 100 -Priority High -Days @(0) -Start (Get-Date "2016-08-14 07:00:00")
Paramètres disponibles à l’échelle du travail
Vous pouvez activer les paramètres suivants pour les travaux de déduplication des données nouveaux ou planifiés :
Nom du paramètre | Définition | Valeurs acceptées | Pourquoi définir cette valeur ? |
---|---|---|---|
Type | Type du travail à planifier |
|
Cette valeur est requise parce qu’il s’agit du type de travail qu’il convient de planifier. Cette valeur n’est pas modifiable une fois que la tâche a été planifiée. |
Priorité | Priorité système du travail planifié |
|
Cette valeur aide le système à déterminer comment allouer du temps processeur. Haute utilise plus de temps processeur, faible en utilise moins. |
Jours | Jours du travail planifié | Une plage d’entiers compris entre 0 et 6 représente les jours de la semaine :
|
Les tâches planifiées doivent s’exécuter au moins un jour. |
Cœurs | Pourcentage de cœurs présents sur le système que doit utiliser un travail | Entiers de 0 à 100 (indique un pourcentage) | Pour contrôler le niveau d’impact d’un travail sur les ressources de calcul sur le système |
DurationHours | Nombre maximal d’heures pendant lesquelles un travail doit être autorisé à s’exécuter | Entiers positifs | Pour empêcher un travail de s’exécuter pendant les heures d’activité d’une charge de travail |
activé | Indique si le travail sera exécuté | Vrai/Faux | Pour désactiver un travail sans le supprimer |
Complète | Pour planifier un travail de nettoyage de la mémoire complet | Commutateur (vrai/faux) | Par défaut, chaque quatrième travail est un travail de nettoyage de la mémoire complet. Avec ce commutateur, vous pouvez planifier un nettoyage de la mémoire complet pour qu’il s’effectue plus souvent. |
InputOutputThrottle | Spécifie le limite d’entrées/sorties appliquée au travail | Entiers de 0 à 100 (indique un pourcentage) | La limitation permet de s’assurer que les travaux n’interfèrent pas avec d’autres processus gourmands en E/S. |
Mémoire | Pourcentage de mémoire sur le système que doit utiliser un travail | Entiers de 0 à 100 (indique un pourcentage) | Pour contrôler le niveau d’impact d’un travail sur les ressources mémoire du système |
Nom | Nom du travail planifié | String | Un travail doit porter un nom identifiable de façon unique. |
Lecture seule | Indique que le travail de nettoyage des données traite et signale les altérations qu’il trouve, mais n’exécute pas les actions de réparation. | Commutateur (vrai/faux) | Vous voulez restaurer manuellement les fichiers qui se trouvent sur des sections incorrectes du disque. |
Démarrer | Spécifie l’heure de début d’un travail | System.DateTime |
La partie date du System.Datetime fourni à Démarrer n’est pas pertinente (dès lors qu’elle est passée), mais la partie heure spécifie le moment auquel le travail doit démarrer. |
StopWhenSystemBusy | Spécifie si la déduplication des données doit s’arrêter si le système est occupé | Commutateur (Vrai/Faux) | Ce commutateur vous permet de contrôler le comportement de la déduplication des données : ce contrôle s’avère particulièrement important si vous voulez exécuter la déduplication des données pendant que votre charge de travail n’est pas inactive. |
Modification des paramètres de déduplication des données à l’échelle du volume
Activation/désactivation des paramètres de volume
Vous pouvez définir les paramètres par défaut à l’échelle du volume de la déduplication des données par le biais du type d’utilisation que vous sélectionnez quand vous activez une déduplication pour un volume. La déduplication des données comprend des applets de commande qui facilitent la modification des paramètres à l’échelle du volume :
Les principales raisons de modifier les paramètres de volume du type d’utilisation sélectionné sont d’améliorer les performances de lecture de certains fichiers spécifiques (par exemple, des fichiers multimédias ou d’autres types de fichiers déjà compressés) ou d’ajuster la déduplication des données en vue d’optimiser votre charge de travail particulière. L’exemple suivant montre comment modifier les paramètres de volume de la déduplication des données pour une charge de travail qui ressemble de près à une charge de travail de serveur de fichiers à usage général, mais qui utilise des fichiers volumineux souvent modifiés.
Consultez les paramètres de volume actuels du volume partagé de cluster 1.
Get-DedupVolume -Volume C:\ClusterStorage\Volume1 | Select *
Activez OptimizePartialFiles sur le volume partagé de cluster 1 pour que la stratégie MinimumFileAge s’applique aux sections du fichier plutôt qu’à l’intégralité du fichier. Ainsi, la majorité du fichier est optimisée même si les sections du fichier changent régulièrement.
Set-DedupVolume -Volume C:\ClusterStorage\Volume1 -OptimizePartialFiles
Paramètres disponibles à l’échelle du volume
Nom du paramètre | Définition | Valeurs acceptées | Pourquoi modifier cette valeur ? |
---|---|---|---|
ChunkRedundancyThreshold | Nombre de fois qu’un bloc est référencé avant d’être dupliqué dans la section de la zone réactive du magasin de blocs. La valeur de la section de la zone réactive correspond aux blocs « à chaud » souvent référencés qui ont plusieurs chemins pour améliorer les temps d’accès. | Entiers positifs | La principale raison de modifier ce nombre est d’accroître le taux de réduction pour les volumes à duplication élevée. En général, la valeur par défaut (100) est le paramètre recommandé et vous ne devez pas la modifier. |
ExcludeFileType | Types de fichiers exclus de l’optimisation | Tableau des extensions de fichiers | Certains types de fichiers, en particulier les fichiers multimédias ou les fichiers déjà compressés, ne tirent pas beaucoup parti d’une optimisation. Ce paramètre vous permet de configurer les types exclus. |
ExcludeFolder | Spécifie les chemins de dossiers à ne pas considérer pour l’optimisation | Tableau des chemins de dossiers | Si vous voulez améliorer les performances ou empêcher le contenu de certains chemins d’être optimisé, vous pouvez exclure des chemins sur le volume pour ne pas les prendre en considération pour l’optimisation. |
InputOutputScale | Spécifie le niveau de parallélisation des E/S (files d’attente d’E/S) que la déduplication des données doit utiliser sur un volume pendant un travail de post-traitement | Entiers positifs compris entre 1 et 36 | La principale raison de modifier cette valeur est de réduire l’impact sur les performances d’une charge de travail à E/S élevées en limitant le nombre de files d’attente d’E/S que la déduplication des données est autorisée à utiliser sur un volume. Notez que la modification de la valeur par défaut de ce paramètre peut entraîner une exécution lente des travaux de post-traitement de la déduplication des données. |
MinimumFileAgeDays | Nombre de jours après la création du fichier à partir duquel le fichier est considéré comme conforme à la stratégie d’optimisation. | Entiers positifs (zéro compris) | Les types d’utilisation Par défaut et Hyper-V définissent cette valeur à 3 pour maximiser les performances sur les fichiers à chaud ou récemment créés. Vous pouvez modifier cette valeur si vous voulez que la déduplication des données soit plus agressive ou si la latence supplémentaire associée à la déduplication ne vous dérange pas. |
MinimumFileSize | Taille de fichier minimale qu’un fichier doit avoir pour être considéré comme conforme à la stratégie d’optimisation | Entiers positifs (octets) supérieurs à 32 Ko | La principale raison de modifier cette valeur est d’exclure les petits fichiers dont la valeur d’optimisation est limitée pour économiser du temps de calcul. |
NoCompress | Indique si les blocs doivent être compressées avant d’être placés dans le magasin de blocs | Vrai/Faux | Certains types de fichiers, notamment les fichiers multimédias et les types de fichiers déjà compressés, peuvent ne pas se compresser très bien. Ce paramètre vous permet de désactiver la compression de tous les fichiers sur le volume. Il s’avère idéal si vous optimisez un jeu de données qui comporte un grand nombre de fichiers déjà compressés. |
NoCompressionFileType | Types de fichiers dont les blocs ne doivent pas être compressés avant d’aller dans le magasin de blocs | Tableau des extensions de fichiers | Certains types de fichiers, notamment les fichiers multimédias et les types de fichiers déjà compressés, peuvent ne pas se compresser très bien. Ce paramètre permet de désactiver la compression pour ces fichiers, ce qui économise des ressources processeur. |
OptimizeInUseFiles | Quand ce paramètre est activé, les fichiers qui ont des descripteurs actifs sont considérés comme conformes à la stratégie d’optimisation. | Vrai/Faux | Activez ce paramètre si votre charge de travail garde des fichiers ouverts pendant de longues périodes. Si ce paramètre n’était pas activé, un fichier ne serait jamais optimisé si la charge de travail avait un descripteur ouvert, même si elle n’ajoutait qu’occasionnellement des données à la fin du fichier. |
OptimizePartialFiles | Quand ce paramètre est activé, la valeur MinimumFileAge s’applique aux blocs d’un fichier plutôt qu’à l’intégralité du fichier. | Vrai/Faux | Activez ce paramètre si votre charge de travail fonctionne avec des fichiers volumineux, souvent modifiés, dont la plupart du contenu reste intacte. Si ce paramètre n’était pas activé, ces fichiers ne seraient jamais optimisés, car ils n’arrêteraient pas d’être modifiés, même si la plupart de leur contenu était prête à être optimisée. |
Vérifier | Quand ce paramètre est activé, si le hachage d’un bloc correspond à un bloc déjà présent dans le magasin de blocs, les blocs sont comparés octet par octet pour vérifier qu’ils sont identiques. | Vrai/Faux | Il s’agit d’une fonctionnalité d’intégrité qui veille à ce que l’algorithme de hachage qui compare les blocs ne fasse pas d’erreur en comparant deux blocs de données qui sont en fait différents mais qui ont le même hachage. Dans la pratique, cette situation est extrêmement improbable. L’activation de la fonctionnalité de vérification surcharge considérablement le travail d’optimisation. |
Modification des paramètres de déduplication des données à l’échelle du système
La déduplication des données possède des paramètres à l’échelle du système supplémentaires que vous pouvez configurer par le biais du Registre. Ces paramètres s’appliquent à tous les travaux et volumes qui s’exécutent sur le système. Une attention particulière doit être donnée à chaque modification du Registre.
Par exemple, vous voulez peut-être désactiver le nettoyage de la mémoire complet. Vous trouverez plus d’informations sur l’utilité d’une telle opération pour votre scénario dans le Forum aux questions. Pour modifier le Registre avec PowerShell :
Si la déduplication des données est en cours d’exécution dans un cluster :
Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\ddpsvc\Settings -Name DeepGCInterval -Type DWord -Value 0xFFFFFFFF Set-ItemProperty -Path HKLM:\CLUSTER\Dedup -Name DeepGCInterval -Type DWord -Value 0xFFFFFFFF
Si la déduplication des données n’est pas en cours d’exécution dans un cluster :
Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\ddpsvc\Settings -Name DeepGCInterval -Type DWord -Value 0xFFFFFFFF
Paramètres disponibles à l’échelle du système
Nom du paramètre | Définition | Valeurs acceptées | Pourquoi modifier ce paramètre ? |
---|---|---|---|
WlmMemoryOverPercentThreshold | Ce paramètre permet aux travaux d’utiliser plus de mémoire que la déduplication des données ne juge réellement disponible. Par exemple, un paramètre de 300 signifie que le travail doit utiliser le triple de la mémoire affectée pour être annulé. | Entiers positifs (une valeur de 300 signifie 300 % ou triple) | Si vous avez une autre tâche qui s’arrête si la déduplication des données prend plus de mémoire |
DeepGCInterval | Ce paramètre configure l’intervalle auquel les travaux de nettoyage de la mémoire réguliers deviennent des travaux de nettoyage de la mémoire complet. Le paramètre n signifie que tous les nièmes travaux sont un travail de nettoyage de la mémoire complet. Notez que le garbage collection complet est toujours désactivé (quelle que soit la valeur du Registre) pour les volumes avec le type d’utilisation de la sauvegarde. Start-DedupJob -Type GarbageCollection -Full peut être utilisé si le garbage collection complet est souhaité sur un volume de sauvegarde. |
Entiers (-1 indique désactivé) | Consultez cette question du Forum aux questions. |
Forum aux questions
J’ai modifié un paramètre de Déduplication des données, et maintenant les travaux sont lents ou ne se terminent pas, ou les performances de ma charge de travail ont diminué. Pourquoi ? Ces paramètres vous donnent beaucoup de pouvoir pour contrôler l’exécution de la déduplication des données. Utilisez-les de manière responsable et surveillez les performances.
Je veux exécuter un travail de déduplication des données tout de suite, mais je ne veux pas créer une planification : est-ce possible ? Oui, tous les travaux peuvent être exécutés manuellement.
Quelle est la différence entre le garbage collection complet et le garbage collection standard ? Il y a deux types de Garbage Collection :
- Le nettoyage normal utilise un algorithme statistique pour rechercher les blocs non référencés volumineux qui remplissent certains critères (mémoire et E/S par seconde faibles). Le nettoyage de la mémoire normal compacte un conteneur de magasin de blocs uniquement si un pourcentage minimal de blocs n’est pas référencé. Ce type de nettoyage de la mémoire s’exécute beaucoup plus vite et utilise moins de ressources que le nettoyage de la mémoire complet. La planification par défaut du travail de nettoyage de la mémoire normal prévoit une exécution une fois par semaine.
- Le nettoyage de la mémoire complet effectue un travail beaucoup plus approfondi de recherche des blocs non référencés et de libération d’espace disque. Le nettoyage de la mémoire complet compacte chaque conteneur même si un seul bloc dans le conteneur n’est pas référencé. Le nettoyage de la mémoire complet libère également de l’espace éventuellement en cours d’utilisation, en cas d’incident ou de problème d’alimentation pendant un travail d’optimisation. Les travaux de nettoyage de la mémoire complet récupèrent 100 pour cent de l’espace disponible récupérable sur un volume dédupliqué en exigeant plus de temps et de ressources système qu’un travail de nettoyage de la mémoire normal. En général, le travail de nettoyage de la mémoire complet recherche et libère jusqu’à 5 pour cent de données non référencées en plus qu’un travail de nettoyage de la mémoire normal. La planification par défaut du travail de nettoyage de la mémoire complet prévoit une exécution tous les quatre nettoyages de la mémoire planifiés.
Pourquoi désactiver le travail de nettoyage de la mémoire complet ?
- Le travail de nettoyage de la mémoire complet peut avoir des effets négatifs sur la durée de vie des clichés instantanés du volume et la taille de la sauvegarde incrémentielle. Les charges de travail à forte évolution ou gourmandes en E/S peuvent voir leurs performances se dégrader à cause des travaux de nettoyage de la mémoire complet.
- Vous pouvez exécuter manuellement un travail de nettoyage de la mémoire complet depuis PowerShell pour nettoyer les fuites si vous savez que votre système a subi un incident.