I bought a hard drive of a different model to my main drive and tried to mirrored them, but the following error message came up in Windows 7 Virtual Disk Manager:

All disks holding extends for a given volume must have the same sector size, and the sector size must be valid.

My disks have the following stats:

Main drive: SAMSUNG HD103SI, physical sector size 512b.
Mirror drive: WDC WD10EARX, physical sector size 4096b.

Running chkdsk they both report 4096 bytes in each allocation unit, which I assume is another way to say "virtual sector size".

Do the physical sector sizes have to match? Can I somehow reformat a drive to match the other? It'd be nice if I could use different drives, then I could step-wise upgrade in the future.

I was thinking that I could clone my main drive to my mirror drive and then use the main drive as a mirror instead. Would that work, or it would just be a huge waste of time?

EDIT: I noticed that I can create a mirrored volume on both drives from 2 unallocated drives. but when I create a volume first, right click it and then try the option "add mirror" it always gives the "sector size error" message to me. is this a bug? Why does add mirror" not work?

Anyway, assuming I will have to reinstall windows 7 on them, I am going to follow this guide here and well see how it goes: http://my.opera.com/Devocalypse/blog/2011/03/02/install-windows-7-on-a-dynamic-disk-pro-and-ultimate-only

EDIT: It works. Managed to install Windows on the "mirrored volume" by following the guide, however I still want to copy/clone my current "main volume" to the dynamic disk.

EDIT: Bought another identical disk this time and now the "Add Mirror" button works. I clone the data onto the new disk then boot from there then I press "Add mirror" and it works. Now I am trying to figure out why the other mirrored drive won't boot.

migrated from stackoverflow.com Dec 13 '11 at 4:06

This question came from our site for professional and enthusiast programmers.

  • 1
    The "allocation unit" is the cluster size for NTFS. Functionally, I think it's the same as what you mean by "virtual sector size"... it's what the filesystem is using as the minimum allocation size. You won't be able to reformat one to match the other, but cloning should work if your disks are well supported. I'm surprised at the limitation... no idea how to fix it. – mgjk Dec 13 '11 at 13:35
  • Thanks for your comment. Sad :( i thought so. Oh well hopefully someone else benefit from this post. – ColacX Dec 13 '11 at 21:03
  • so i decided to do the next best thing. i cloned the drive (with EASEUS partion manager free home edition, copy dynamic disc volume to basic-drive) and soon ill buy a new drive and mirror it.i got the clone to boot and run but its running oddly slow/spiky and for some reason chkdsk cant get to stage 1 it just freezes on stage 0, anyone know why??? im going to try rebooting a few times. – ColacX Dec 16 '11 at 20:16
  • oh sweet i restarted the computer once and windows 7 said driver installed for new drive and you must reboot, i did and chkdsk works perfectly now. i guess it couldnt figure out which driver to use on the first boot. – ColacX Dec 16 '11 at 20:32
  • 1
    Also, it's unlikely mirroring would work well between a 512b and 4k drive. The 4k drive should be able to be converted to a 512b legacy mode, but it's still cost effective and it's best practice for a number of reasons just to buy another 4k drive - they're not expensive. – Dom Aug 22 '13 at 6:48

Yes, it is possible to run RAID-1 on harddrives with different physical sector sizes.

Having said that, it might not be a good idea. If your software RAID-1 implementation writes in 512 bytes chunks then it will be inefficient and slow. This is probably not a problem since most filesystems use chunks of 4k and most stripe sizes on RAID are 64Kb or larger.

However in rare cases you could get really bad performance. Especially if you did not align the filesystem on a 4k boundary.

  • There isn't really a stripe size with RAID 1. Reads and writes can both be executed just fine without extending the operation to a whole stripe. Implementations that artificially blow up IO operations to whole stripes would just kill their own performance -- so I figure there won't be many. The only place where I would imagine finding something like a stripe number in a RAID 1 system is in a dirty block/stripe table. There it would make sense to use some number > 512 to reduce the required table size/improve performance. – Paul Groke Jan 21 '14 at 19:04

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.