Pinning files to a performance tier of a ReFS formatted volume in Server 2019

Discussion in 'Windows Server, Hyper-V Virtualization' started by GIAN, Sep 27, 2019.

  1. GIAN

    GIAN New Member

    Dec 12, 2012
    Likes Received:
    I have a standalone server (2019 Datacenter) with 6 SAS HDD disks (4x 6TB, 2x 8TB) and 4 NVMe disks (4x 1TB) => we are NOT in a storage spaces direct (S2D) scenario.

    All disks are in 1 storage pool, in which I created a 2-way mirrored performance tier (NVMe) and a 2-way mirrored capacity tier (HDD).

    I would like to create a ReFS formatted volume in which I can pin (using the Set-FileStorageTier command) VHDX files to the performance tier.

    I've read that this doesn't work in Server 2016:

    Set-FileStorageTier fails on Microsoft ReFS formatted volume.

    Has anybody had any success in making this work in Server 2019?

    If it still doesn't work, what would be the best option:

    • formatting the volume as ReFS, without the possibility to pin files to the performance tier

    • formatting the volume as NTFS, with the possibility to pin files to the performance tier?

    Thanks in advance for any advice!
  2. GIAN

    GIAN New Member

    Dec 12, 2012
    Likes Received:
    I did some testing in the meantime and can confirm that Get-FileStorageTier doesn't work on tiered ReFS volumes in a standalone server (Server 2019 Datacenter version 1809, OS build 17763774, latest updates installed):

    PS C:\Windows\system32> $StorageTier = Get-StorageTier -FriendlyName "2wMirrorTiered-SSD_Tier"
    PS C:\Windows\system32> Set-FileStorageTier -DesiredStorageTier $StorageTier -FilePath "D:\VM\test.txt"
    Set-FileStorageTier : The specified volume does not support storage tiers.
    Activity ID: {52b24410-95bb-42e2-9dc9-b6279857f1a3}
    At line:1 char:1
    + Set-FileStorageTier -DesiredStorageTier $StorageTier -FilePath "D:\VM ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (StorageWMI:ROOT/Microsoft/...FileStorageTier) [Set-FileStorageTier], CimException
        + FullyQualifiedErrorId : StorageWMI 56000,Set-FileStorageTier
    I think I will stick with ReFS formatting anyway (by the way, I had to do this via Powershell; Server Manager only offered NTFS for a volume with storage tiers) for the following reasons:

    • writing to the performance tier is faster with ReFS than with NTFS ();
    • it's a newer file system with better auto-repair properties;
    • ReFS does realtime destaging to the capacity tier whereas with NTFS it's a task based process (every 4 hours);
    • the system does seem intelligent enough to keep hot data on the performance tier, so I hope my VHDX files will stay there;
    • perhaps Microsoft will at some stage enable Get-FileStorageTier on tiered ReFS volumes in a standalone server (although it's an issue since Server 2016, so unfortunately it seems to be very low on Microsoft's priority list ...).

    If you think this is a bad decision, please let me know why.

    Thanks in advance!
  3. ecosse

    ecosse Active Member

    Jul 2, 2013
    Likes Received:
    I've had bad experiences with REFS (two that I remember - once in windows 2012 (disk sizing on a few disks was weird and I couldn't fix it - had to evacuate the disks and reformat) and the second not so long ago on Windows server 2016 where I had a power outage and every other disk was fine apart from the REFS configured ones which were RAW. I've not used REFS since. There's been a few threads on this subject if you search the forum.
Similar Threads: Pinning files
Forum Title Date
Windows Server, Hyper-V Virtualization Server 2019 Hyper-V VHDX performance sucks for small files Oct 16, 2019
Windows Server, Hyper-V Virtualization Windows Fileserver Audit - PA-FileSight - Netwrix Jan 21, 2019
Windows Server, Hyper-V Virtualization Tool to compare x percent of files on a fileshare? Dec 18, 2017
Windows Server, Hyper-V Virtualization WSE 2012r2 Restore Files and Folders crashing Jul 28, 2016

Share This Page