Visiblement, Microsoft a décidé de marcher de plus en plus sur les plates-bandes des fournisseurs de stockage. Voilà maintenant qu’il nous offre la possibilité d’avoir du stockage avec plusieurs tiers (disque flash, ou disques dur classique).
Et tout cela, peut être réalisé à l’aide de composants standards du marché sans rajouter une couche logicielle supplémentaire.
Le tiering permet au sein d’un même volume unique, d’avoir plusieurs qualités de stockage. Ainsi un volume pourra être composé de disques flash comme des disques SATA.
En fonction des IO demandés, les blocs les plus sollicités seront déplacés automatiquement vers le disque flash, et les blocs faiblement sollicités à leur tour, seront déplacés sur les disques SATA.
Comme l’on verra un peu plus loin, ce déplacement est planifié tous les jours, mais aussi peut-être déclenché manuellement. On peut aussi forcer le placement d’un fichier particulier sur un disque flash ou un disque SATA.
Ce mélange des différents disques au sein de même volume, permettra d’avoir d’excellentes performances tout en ayant des capacités de stockage très élevé.
Dans la pratique comment, comment mettons ces fonctionnalités en oeuvre ?
Rendez-vous de gestionnaires de stockage.
Pour faire le tiering il est nécessaire d’avoir des disques SSD et des disques SATA. Dans notre cas, nous avons un disque SSD et trois disques SATA.
On peut remarquer que le média type n’est pas spécifié pour tous les disques.
La première étape consiste à créer un pool de stockage avec des disques SSD et SATA :
1 2 |
$Disks = Get-PhysicalDisk |? {$_.CanPool -eq $true} New-StoragePool -StorageSubSystemFriendlyName *Spaces* -FriendlyName POOL-MIX -PhysicalDisks $Disks |
Certains disques peuvent arriver non typés:
La deuxième étape consistera donc à les typer (ssd our hdd) . Pour cela une seule solution le Powershell:
1 |
Get-StoragePool -FriendlyName POOL-MIX | Get-PhysicalDisk |? {$_.BusType -eq 'SATA' }| Set-PhysicalDisk -MediaType HDD |
Une fois cette opération effectuée, il reste à créer les types de tiers pour se pool de stockage.
1 2 |
$Tier_SSD = New-StorageTier -StoragePoolFriendlyName POOL-MIX -FriendlyName SSD_Tier -MediaType SSD $Tier_HDD = New-StorageTier -StoragePoolFriendlyName POOL-MIX -FriendlyName HDD_Tier -MediaType HDD |
Il faut maintenant créer un nouveau disque virtuel composé des deux tiers, dans notre cas en proportion de 20 Go pour le SSD et 100Go pour le SATA.
Dans notre cas, n’ayant qu’un seul disque SSD nous ne pouvons pas créer de miroirs, nous nous contenterons donc d’un disque simple.
1 |
$vd1 = New-VirtualDisk -StoragePoolFriendlyName POOL-MIX -FriendlyName VD_Tiered –StorageTiers @($Tier_SSD, $Tier_HDD) -StorageTierSizes @(20GB,100GB) -ResiliencySettingName Simple -WriteCacheSize 0 |
Il ne reste plus qu’à mettre le disque en ligne et créer un nouveau volume:
Voyons maintenant la différence de performance entre les Tiers.
Premier test avec SQLIO:
On force ensuite l’hébergement du fichier sur du tier SSD:
1 |
Set-FileStorageTier -FilePath T:\testfile.dat –DesiredStorageTier (Get-Virtualdisk VD_Tiered | Get-StorageTier -MediaType SSD) |
Le déplacement n’est pas instantané (pending), et n’est fait au travers d’une tâche planifiée. Il est tout de même possible de forcer le déplacement grâce à la commande suivante:
On peut vérifier que le fichier a été déplacé:
Le même test montre maintenant les performances en utilisant le tiers SSD.
Il est à noter que toutes ces opérations peuvent être faites au travers de l’interface graphique :
Pingback: Storage Space - Tiering dan Windows 2016 TP4 - Vecteur IT