On Fri, May 7, 2010 at 11:11 PM, Andrew Levicki <[email protected]> wrote:
> My concern is this: how can the chkdsk software repair a physical disk
> subsystem?

  It doesn't.

  CHKDSK works at the filesystem level.  It validates filesystem
metadata (like directory entries, allocation extents, etc.), and tries
to repair anything that's broken.  Optionally, it will attempt to read
every block on the disk (with /R).  Blocks which return an error
instead of data are considered "bad".  Bad blocks are flagged as such
in the filesystem metadata.  The OS will then avoid allocating new
data on that block.

  RAID happens at the block device level.  The RAID implementation
presents a single array of logical blocks to the filesystem software
(CHKDSK, kernel driver, etc.).  So CHKDSK works the same whether you
have a single disk or RAID -- it just sees that array of logical
blocks.

> Or lets say I have a RAID-1 mirror and one of the disks has a bad sector. 
> Does it also
> mark a sector on my good disk as being bad?

  This depends on how your RAID implementation handles the problem.  A
good implementation will return the good block from the good disk, so
CHKDSK won't even know there was a problem.  The RAID implementation
will then typically fail the bad member, or perhaps attempt to trigger
the hard disk's built-in reallocation mechanism by writing the good
block to the bad disk at the same LBA.

> I would think if you are running hardware RAID, the hardware vendor would
> include a diagnostic utility which would be better to run than chkdsk.

  Depends on what the problem is.  The original poster was reporting
filesystem corruption.  The only way to repair that is with CHKDSK.
RAID diagnostics can uncover member disks with bad blocks before the
OS tries to read the blocks, or discover an unexpected inconsistency
on disk, but it won't fix a filesystem.

-- Ben

~ Finally, powerful endpoint security that ISN'T a resource hog! ~
~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/>  ~

Reply via email to