Seeking REFS advice

Discussion in 'Windows 8' started by seehazy, Oct 28, 2013.

  1. seehazy

    seehazy MDL Novice

    Oct 28, 2013
    15
    1
    0
    First post, hello world.

    Currently using Windows Server 2012 Essentials as a home file server. I have a 12TB ReFs Raid-5 array with 9TB usable. Periodically, I have been unhappy accessing my data using Windows Server Launchpad on my Windows 7 client machine. When it works, it works great. I have a gigabit switch making speeds more than adequate. However, being part of the domain created by the server constantly gives me issues with my internet connection and is a huge headache. This frequently renders either my access to the server, or access to the internet, impossible.

    I am sure this has to do with my lack of knowledge concerning server configuration... but very frustrating regardless.

    I want to switch to Windows 8 and use a simpler Homegroup setup. Will Windows 8.1 recognize my ReFs volume without modifications? I have heard you cannot create/format an ReFs drive, but will it read an already created volume? If not, would it be wise to use the leaked Windows 8.1 build 9369 (which does have ReFs support)?

    Any suggestions at all would be great, thanks!
     
  2. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    17,695
    15,678
    340
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. seehazy

    seehazy MDL Novice

    Oct 28, 2013
    15
    1
    0
    #3 seehazy, Oct 28, 2013
    Last edited: Oct 28, 2013
    (OP)
    Sorry what is RTM? And I have been searching for confirmation everywhere... but you are saying Windows 8.1 CAN read ReFS?! No registry hacks or mods? Awesome! Write and format requires modification but not necessary for me since I already have the created volume. Please confirm.

    EDIT: I guess I would still need to do the registry hack so I could write. Duh.
     
  4. urie

    urie Moderator
    Staff Member

    May 21, 2007
    8,772
    3,121
    300
    RTM stands for "release to manufacturing,"
     
  5. janos666

    janos666 MDL Novice

    Feb 25, 2012
    40
    3
    0
    #5 janos666, May 9, 2014
    Last edited: May 9, 2014
    I am about to set up some new HDDs in some kind of fault tolerant way to move my data from my old RAID-5 + NTFS space and I thought I should consider using Storage Spaces with ReFS.


    Some of the ReFS articles mention the "auto-healing" feature of ReFS (automatic detection and silent correction of URE during every file access) which sounds really nice.

    This obviously needs an existing redundancy which isn't provided by ReFS itself in any form (nor parity or duplication, only checksums for error detection).
    ReFS obviously needs to be aware and must be able to utilize that redundancy which means hardware or third-party software (like IRST) RAID-1/5/6 won't work since they hide the duplicate/parity data from Windows and thus from ReFS and won't ask ReFS if it founds it's checksums to be incorrect, nor they will listen to ReFS what to do if it thinks it's checksums found data corruption on the (virtualized) disk.

    So, here comes the Storage Spaces. Microsoft can make sure ReFS knows it sits on a redundancy protected SS and SS can listen to ReFS if something is wrong according to it's checksums...
    But... I can't peace the puzzle together if auto-healing is supported on Parity SS as well or it's limited to Mirror SS only.

    A Technet article explicitly uses the word "parity" in the main text and doesn't even mention "mirror" or "duplicate" there. The word "mirror" only pops up in the side note: auto-healing is "supported already" on mirror SS which indirectly suggests it is not yet supported on anything else (meaning it doesn't work on parity SS - at least it didn't when they wrote that).

    So, there is little exact data and that information is also very confusing. :eek: :confused:

    May be it's another hint that the GUI in the control panel allows formatting with ReFS only when I select "mirror" instead of "parity". And I guess it's much more complicated for a file system to use the parity data. It's not just a "hey, SS, read that sector from the other disk please" request but "hey, SS, I need that parity data you normally hide from me, so I can reconstruct the original data" and then ReFS would need to actually use that parity data (which is not an essential part of it's regular trick book). It's not impossible by far, but it's certainly more complicated and we know ReFS is a public BETA and it's support is admittedly limited in Windows 8.x.x.


    Any insight?

    I already bought 3 HDDs and I don't like the idea to buy a fourth after I was happy with just 3 in the past (for the same usable space).
    And Parity SS is way too slow. No mater how I tweak it though PowerShell, it's a lot slower than a nicely configured RAID-5 :mad:
    I get ~x0.25 sequential write speeds with SS compared to neat Raid-5, ~0.5 if I use sub-optimal settings for RAID-5, or ~0.9x if I intentionally mess up the RAID-5 config for it's worst).

    So, I might just sacrifice the RAID-5 speed for nothing in SS. Ah, and also a few Gb of space because SS likes to cut off n*256Mb just for a head start during storage pool creation and then some other Gigabytes (!!!) during storage space creation (either with -Maxspace or manual size). -> It's more like that I simply don't like waste than missing a few Gb, but still... I don't like to waste anything as a principle.
     
  6. murphy78

    murphy78 MDL DISM Enthusiast

    Nov 18, 2012
    6,686
    10,145
    210
  7. moderate

    moderate MDL Guru

    Aug 31, 2009
    2,660
    2,204
    90
    #7 moderate, May 10, 2014
    Last edited: May 10, 2014
    Windows 2012 Server R2 x64 can read, write and format all ReFS volumes.

    Windows 8.1 x64 can read and write all ReFS volumes and format RAID1 Mirrored volumes. Only for formatting NON RAID1 - Non-Mirrored volumes temporary registry hack is required (After formatting is done it is wise to remove it from registry).

    Windows 8.1 x32 CAN'T access ReFS volumes at all by default. Deploying ReFS files and registry entries is needed for read and write and format RAID1 Mirrored volumes. For for formatting NON RAID1 Mirrored volumes temporary registry hack is required (After formatting is done it is wise to remove it from registry).

    So Windows Server 2012 R2 x64 is ideal for you (it also supports RAID5 natively), if you don't need Bluetooth support (as it has none).
     
  8. janos666

    janos666 MDL Novice

    Feb 25, 2012
    40
    3
    0
    #8 janos666, May 10, 2014
    Last edited: May 10, 2014
    Another question:

    What happens with a file when the data integrity checksum says the file is broken and ReFS decides that is't unrepairable?

    If the file system sits on a RAID-5 disk and it was just one random bad sector (either genuinely bad or just "rotten") then it's usually easy to repair. You practically just need to rebuild the array after resetting the problematic disk (the HDD controller will relocate the bad sector or the rebuilding will "fresh up" the "rotten" ones) and nothing is lost. (Of course it's better to plug out the problematic disk and test it first. But that is only a precaution.)

    But if 1 of 3 disks has one bad sector and it happens to hold data (not parity, so it's not ignored during reading from the RAID-5 array) and ReFS deletes the whole file because it thinks it's unrepairable (even though it's not but it looks like that from what the file system sees) then it's actually a bad thing and means hardware/fakehard RAID and ReFS do not mix (the file system kills the repairable data).
     
  9. sebus

    sebus MDL Guru

    Jul 23, 2008
    5,964
    1,821
    180
    Hence Storage Spaces & ReFS
     
  10. janos666

    janos666 MDL Novice

    Feb 25, 2012
    40
    3
    0
    But,
    1: Parity SS is way too slow compared to RAID-5 (otherwise same hardware), even Mirror SS is significantly slower than RAID-1(0)
    2: I am not sure if ReFS can auto-heal on Parity SS. I can't find an ultimate answer and I could not find a way to test it (SS rejects the whole disk on boot if I use a Live Linux to temper the content of a member disk with dd).
     
  11. moderate

    moderate MDL Guru

    Aug 31, 2009
    2,660
    2,204
    90
    When ReFS discovers an integrity error on RAID1 or RAID5 volume, it simply copies correct data from redundant storage or metadata.
    In addition such integrity error isn't supposed to be common.
    What are you trying to deal with? :))
     
  12. janos666

    janos666 MDL Novice

    Feb 25, 2012
    40
    3
    0
    #12 janos666, May 10, 2014
    Last edited: May 10, 2014
    How could it?
    According to my knowledge, in case of true hardware (cards with their own CPU and optional cache RAM) or "fake hardware" (like consumer grade Intel Rapid Storage) RAID-1 or RAID-5, Windows or ReFS doesn't even have a clue if it's a redundant storage or not and has absolutely no way to access the redundant or parity data (unless the manufacturer supports some kind of Windows/ReFS specific API for lower level hardware access which I have never even heard about before).

    So, may be it works with Microsoft's version of software RAID but not with any other (soft or hard) RAID solution.
    And The desktop version of Windows doesn't support software RAID-5 anymore.

    Bad HDD sectors still show up from time-to-time (definitely not every day, may be less than once per year but still).

    Nothing serious. I just want to find the optimal solution for storing data which is not important enough to keep and maintain backups from but still unfortunate to loose completely at once.
    For example, backup data from various different locations from many different things which takes a lot of time to collect again if lost. But you might not want a secondary backup because the original data is not really that important.
    Hence the RAID-5 or similar setup. -> Not bullet proof but still much better than a single big drive while not a lot more expensive.
    But since this is the only backup, it's good to know if the data is still intact.


    --

    Did you actually test if ReFS can auto-heal on Parity SS or Microsoft's version of software RAID-5?
    Or is there an MSDN or Technet article which clearly states this? The ones I read say or indirectly suggest it works on Mirror SS only. Only one says it works on Parity SS but that one indirectly contradicts itself a few sentences later.
     
  13. murphy78

    murphy78 MDL DISM Enthusiast

    Nov 18, 2012
    6,686
    10,145
    210
  14. janos666

    janos666 MDL Novice

    Feb 25, 2012
    40
    3
    0
    #14 janos666, May 11, 2014
    Last edited: May 11, 2014
    Thank you, but I have already read that.
    repaired using the alternate copy provided by Storage Spaces
    It doesn't say Parity SS is capable of providing that alternate copy. It sound more like that you need an alternate copy, meaning a full copy (or a "mirror" if you will).
    It doesn't say ReFS can inform SS that it needs to use the parity stripe because the data is damaged on one of the drives which SS used to read the data.

    Remember, I am skeptic because Windows doesn't let me format the volume with ReFS by default. So, may be Parity SS auto-healing support is not ready yet.

    ---

    Otherwise I figured out why I couldn't emulate a bad sector yesterday. I used "skip" instead of "seek" with dd. I will try again tomorrow.

    I already tested what happens if I corrupt a single drive (ReFS with /i:enable): Nothing interesting, just a simple read error and a system log entry.
    The file did not disappear and it's untempered parts remained readable.

    This is a relief! I was worried ReFS might destroy "everything" when it thinks there is a tiny bit error.
    For an example, think about a several hours long security camera footage getting completely erased because a few frames would have had a small glitch.

    "The file system detected a checksum error and was not able to correct it."

    I guess it's not hard to ignore the integrity check and read what's left from the file.
     
  15. moderate

    moderate MDL Guru

    Aug 31, 2009
    2,660
    2,204
    90
    It has a clue about RAID. In fact you can try it by yourself:
    In W8-1-x x64 (unmodified) try to format by format command line command with ReFS:

    1. non-RAID drive
    2. RAID drive

    In the 1st case formatting will be denied, in the 2nd case it will succeed.
     
  16. janos666

    janos666 MDL Novice

    Feb 25, 2012
    40
    3
    0
    I tried with both RAID-1 and RAID-5 and I always got the "Not supported" error. It works with Mirror SS only.
    But it doesn't matter that much since I confirmed that ReFS won't delete the whole file when it detects partial data corruption. I have the chance to repair the RAID array manually and try to read the file again or keep the corrupted file if there is an URE during rebuild.