How to verify a mirror raid using atacontrol?

Jeremy Chadwick koitsu at
Tue Nov 6 13:05:07 PST 2007

On Tue, Nov 06, 2007 at 11:59:21PM +0300, Artem Kuchin wrote:
> Steve Bertrand wrote:
>> Artem Kuchin wrote:
>>> I have a mirror raid on Promise controller
>>> supported by atacontrol.
>>> How can i verify it?
>> [snip]
> No, no. i meant completelly verify raid data, that is
> that bother drive match and no bad blocks on any of them.
> There is a special VERIFY raid command on 3ware and
> HPT and other, but i don't see it on atacontrol.

The feature you want is called "scrubbing" or "disk scrubbing".

The best options you have that I know of are using dd to scan the entire
disk, or a program that comes with the base system (but
compiled/installed through the ports system) called diskcheckd (which
more or less does what you want, but it does not appear to work
exactly as described; I have an open PR on it: ports/115853)

Otherwise, ZFS offers exactly what you want.  Case in point:

icarus# zpool list
NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
storage                 928G   97.3G    831G    10%  ONLINE     -
icarus# zpool scrub storage
icarus# zpool status
  pool: storage
 state: ONLINE
 scrub: scrub in progress, 0.16% done, 0h20m to go

        NAME        STATE     READ WRITE CKSUM
        storage     ONLINE       0     0     0
          ad4       ONLINE       0     0     0
          ad6       ONLINE       0     0     0

errors: No known data errors
icarus# zpool status | egrep 'scrub|errors'
 scrub: scrub in progress, 7.21% done, 0h12m to go
errors: No known data errors

| Jeremy Chadwick                                    jdc at |
| Parodius Networking                  |
| UNIX Systems Administrator                      Mountain View, CA, USA |
| Making life hard for others since 1977.                  PGP: 4BD6C0CB |

More information about the freebsd-stable mailing list