locked
Disk mirroring succeeds one way and errors out another - why?? RRS feed

  • Question

  • I'm in the middle of a Win 8 disk upgrade, and came across the following behaviour that I don't understand.

    I have 2 data disks (2TB: older and 3TB:newer). I have used DISKPART CLEAN on both, and created simple partitions using diskmgmt.msc. I have used no other tools. Diskpart and "fsutil fsinfo sectorinfo LETTER:" shows the disk layouts and sector sizes of the 2 data disks:

    Disk #1:
    3 TB, dynamic, partitions: 60GB NTFS (no letter), 1TB data (e:), about 1.5TB unpartitioned space

    C:\>fsutil fsinfo sectorinfo e:
    LogicalBytesPerSector :                                 512
    PhysicalBytesPerSectorForAtomicity :                    512
    PhysicalBytesPerSectorForPerformance :                  512
    FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 512
    Device Alignment :                                      Unknown
    Partition alignment on device :                         Unknown
    Performs Normal Seeks
    Trim Not Supported

    Disk #2:
    2 TB, dynamic, partitions: 60GB NTFS (f:), about 1.7TB unpartitioned space

    C:\>fsutil fsinfo sectorinfo f:
    LogicalBytesPerSector :                                 512
    PhysicalBytesPerSectorForAtomicity :                    512
    PhysicalBytesPerSectorForPerformance :                  512
    FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 512
    Device Alignment :                                      Unknown
    Partition alignment on device :                         Unknown
    Performs Normal Seeks
    Trim Not Supported

    I've used no tools on the disk except Win 8 DISKPART and Win 8 Logical Disk Manager MSC, after DISKPART->CLEANing both disks, so there's no compatibility issue here. I've also re-checked the drive letters are correct. 

    When I try to add a mirror for Drive #1 E: on the spare space on drive #2 after F:, I get the error that "all disks holding extants for a given volume must have the same sector size, and the sector size must be valid". But they are, and it is.

    The proof that sector sizes are okay is that when I click on the unpartitoned space  of either disk, right click and choose new mirrored volume, it does allow me to create a mirrored volume between the disks. But if I right click and try to add a mirror to E: in the exact same unformatted space, it reports it can't because the sector sizes are invalid.

    Testing a bit more, if I create a new empty 100GB NTFS partition in the unpartitioned space on disk #1 and then try to add a mirror on disk #2 (or add a mirror to an existing partition), it reports the same error, but if I create a new 100 GB mirrored volume in unpartitioned space it's fine and creates a mirrored volume on the exact same disks that it couldn't before.

    Any idea what's going on??
    Thursday, March 28, 2013 10:40 PM

Answers

  • I found the answer, and it isn't that. There appears to be a bug in Windows 8 physical disk detection/reporting (some 4096 disks reported as 512) and a second bug in NTFS (2 different tests used of which one is buggy).

    First, fsutil is misreporting one of the disks. The system is running on an Intel platform, so it had Intel RST (Rapid Storage Technology) built into the driver. Windows fsutil reported both disks as 512 bit physical sectors and there was no apparent reason why mirroring would fail. But running Intel's own RST notification tray application reported one as 4096 and one as 512. The two disks' models were ST32000542AS (512/sector phy.) and ST3000DM001 (4096/sector phy.) But fsutil was reporting both as 512 physical bits/sector.

    The second bug is that adding a mirror to an existing volume, and creating a mirrored volume from 2 unallocated disk spaces, should give identical results. They don't. The latter (incorrectly) allows it while the former (correctly as it turns out) didn't allow it.



    • Edited by Stilezy Friday, April 19, 2013 9:50 AM
    • Marked as answer by Stilezy Friday, April 19, 2013 9:51 AM
    Friday, April 19, 2013 9:48 AM

All replies

  • Hi ,

    I created two disks (one 3tb, 60 G with no letter, 1TB with E: . One 2 TB, 60G with letter F.) I can add a mirror for E without error. So I am not sure if there is any error configuration on your computer.

    If I create a new empty 100GB NTFS partition in the unpartitioned space on disk #1 and then try to add a mirror on disk #2 (or add a mirror to an existing partition), it was fine. 

    If I create a new 100 GB mirrored volume in unpartitioned space it's fine as well.

    Please let me know if both the disk are the same type: GPT Dynamic/ GPT Basic / Dynamic. Run the following command and copy the output.

    Diskpart

    list disk

    Check if Dyn and Gpt colume was marked.

    Then run the following command to check Bytes Per Sector and Bytes per Physical Sector

    Fsutil fsinfo ntfsinfo x:

    Error message when you configure a RAID volume: ”All disks holding extents for a given volume must have the same sector size"

    http://support.microsoft.com/kb/2714829

    Please also try to clean the two disks. Convert them to GPT dynamic and then create the first 60G via the following command line:

    On disk 1:

    Diskpart

    sel disk 1

    Create partition primary align=2048 size=61440

    format FS=NTFS Quick

    On disk 2:

    Diskpart

    sel disk 2

    Create partition primary align=2048 size=61440

    format FS=NTFS Quick

    assign letter=F:

    See if this works.


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.


    • Edited by HuAaron Friday, April 5, 2013 10:09 AM
    Friday, April 5, 2013 9:55 AM
  • Both disks have a single simple 60GB partition. I've also included DETAIL DISK for clarity.

    (I deleted an earlier result which accidentally had LIST DISK done before a partition change and was inconsistent - apologies if this still shows up)

    C:\>diskpart

    Microsoft DiskPart version 6.2.9200

    Copyright (C) 1999-2012 Microsoft Corporation.
    On computer: SERVER

    DISKPART> list disk

      Disk ###  Status         Size     Free     Dyn  Gpt
      --------  -------------  -------  -------  ---  ---
      Disk 0    Online          149 GB    70 GB
      Disk 1    Online         2794 GB  2735 GB   *    *
      Disk 2    Online         1863 GB  1802 GB   *    *

    DISKPART> select disk 1

    Disk 1 is now the selected disk.

    DISKPART> detail disk

    (SNIP)
    Target : 1
      Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
      ----------  ---  -----------  -----  ----------  -------  ---------  --------
      Volume 0     F   EMPTY 60GB   NTFS   Simple        58 GB  Healthy

    DISKPART> select disk 2

    Disk 2 is now the selected disk.

    DISKPART> detail disk

    (SNIP)
    Target : 2
      Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
      ----------  ---  -----------  -----  ----------  -------  ---------  --------
      Volume 2     G   EMPTY 60GB   NTFS   Simple        58 GB  Healthy

    DISKPART> exit

    Leaving DiskPart...

    C:\>Fsutil fsinfo ntfsinfo f:
    NTFS Volume Serial Number :       0x9646482246480609
    NTFS Version   :                  3.1
    LFS Version    :                  2.0
    (SNIP)
    Bytes Per Sector  :               512
    Bytes Per Physical Sector :       512
    Bytes Per Cluster :               4096
    Bytes Per FileRecord Segment    : 1024
    Clusters Per FileRecord Segment : 0

    C:\>Fsutil fsinfo ntfsinfo g:
    NTFS Volume Serial Number :       0x1e12163d121619fb
    NTFS Version   :                  3.1
    LFS Version    :                  2.0
    (SNIP)
    Bytes Per Sector  :               512
    Bytes Per Physical Sector :       512
    Bytes Per Cluster :               4096
    Bytes Per FileRecord Segment    : 1024
    Clusters Per FileRecord Segment : 0

    Friday, April 5, 2013 10:20 AM
  • This shows it clearly.
    I can replicate the behaviour in diskpart as well as diskmgmt.msc:

    DISKPART> select disk 2

    disk 2 is now the selected disk.

    DISKPART> create volume simple size=1500

    DiskPart successfully created the volume.

    DISKPART> list volume

      Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
      ----------  ---  -----------  -----  ----------  -------  ---------  --------
      Volume 0     F   EMPTY 60GB   NTFS   Simple        58 GB  Healthy
    (SNIP)
    * Volume 11                     RAW    Simple      1500 MB  Healthy

    DISKPART> select volume 11

    Volume 11 is the selected volume.

    DISKPART> add disk=1

    Virtual Disk Service error:
    All disks holding extents for a given volume must have the same
    sector size, and the sector size must be valid.

    DISKPART> select disk 2

    disk 2 is now the selected disk.

    DISKPART> create volume mirror disk=2,1

    DiskPart successfully created the volume.

    DISKPART>


    • Edited by Stilezy Friday, April 5, 2013 10:30 AM
    Friday, April 5, 2013 10:30 AM
  • Do you have apps that need 512 bytes per sector?

    Set both drives to the 4096 bytes per sector, per physical sector, per cluster if no.

    If yes, set the bytes per physical sector and bytes per cluster to 4096 and the bytes per sector to 512. You may need the mfg's alignment tool to do this if the drives are capable of 512 emulation.

    Advanced format disk

    • Marked as answer by Arthur Xie Friday, April 19, 2013 5:48 AM
    • Unmarked as answer by Stilezy Friday, April 19, 2013 9:39 AM
    Friday, April 12, 2013 10:02 AM
  • I found the answer, and it isn't that. There appears to be a bug in Windows 8 physical disk detection/reporting (some 4096 disks reported as 512) and a second bug in NTFS (2 different tests used of which one is buggy).

    First, fsutil is misreporting one of the disks. The system is running on an Intel platform, so it had Intel RST (Rapid Storage Technology) built into the driver. Windows fsutil reported both disks as 512 bit physical sectors and there was no apparent reason why mirroring would fail. But running Intel's own RST notification tray application reported one as 4096 and one as 512. The two disks' models were ST32000542AS (512/sector phy.) and ST3000DM001 (4096/sector phy.) But fsutil was reporting both as 512 physical bits/sector.

    The second bug is that adding a mirror to an existing volume, and creating a mirrored volume from 2 unallocated disk spaces, should give identical results. They don't. The latter (incorrectly) allows it while the former (correctly as it turns out) didn't allow it.



    • Edited by Stilezy Friday, April 19, 2013 9:50 AM
    • Marked as answer by Stilezy Friday, April 19, 2013 9:51 AM
    Friday, April 19, 2013 9:48 AM