Answered by:
Disk mirroring succeeds one way and errors out another - why??

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.
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.
- 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.
Friday, April 19, 2013 9:48 AM