Showing results for 
Search instead for 
Did you mean: 

I have mirrored the data in between two sotrage



I am using Storage Foundation for windows HA, Now i wan to replace my old HP storage with new NetApp storage for this i mirrored the data of Exchange servers 2007. before removing the HP storage i just want to make sure the my mirrored data is consistent. Is there any tool or option in the SFWHA to check the data conssitency. I am also using VVR between two sites for teplication the DATA 




14 Replies

Yes you can use vxverify -

Yes you can use vxverify - see extract from SFW Admin guide:


vxverify is a command that determines if there are any differences
between plexes of mirrored volumes. This command compares the volumes on a
block by block basis. Blocks that do not match are reported in the output.
vxverify -g Accounting test
This command performs a comparison of the volume test of the disk group
Accounting and its mirrors.


Just to add, that the default

Just to add, that the default read policy for mirrored voumes is round-robin, so unless you set the read policy to "preferred" (right click on volume and choose "Set Volume Usage" to see what it is set to), then your new array is aready being read, so if it was corrupt you would probably already have had problems.

In your instance I don't think you want to check VVR copies are the same, but in Windows I don't think this is possible.  I think the main reason for this is that when Windows first syncs copies in VVR it only syncs used blocks in the filesystem, so the volumes are not block for block the same.  In UNIX a full sync is done and you can check volumes are the same using "vradmin -verify syncvol|syncrvg".  This verify option is not available in the windows vradmin or vxrds command.


Thanks Mike,   Actually i

Thanks Mike,


Actually i didn't transfer the data with VVR. i mirrod the data between two storage volumes so i think vxverfiy is the useful utility to check the mirrod volumes. Let me check the vxverify utility and keep you posted.


Hi Sajid, I think vxverify

Hi Sajid,

I think vxverify will also return issues with mirror copies with the default settings in Windows with SFW 5.1.  By default, SFW 5.1 will only replicates used blocks in the filesystem.  As such, the vxverify will find that the unused blocks will be different. 

In 5.0, VVR copies only used blocks between sites and Mirrors did a fully block for block copy.

In 5.1 VVR and Mirror both copy only used blocks between plexes.

SFW requires that the file system be NTFS to determine which blocks are used and which ones are not.

Thank you,


Wally, does the output from

Wally, does the output from vxverify show blocks that are different for used block and blocks that are different for unused blocks or does it not distinguish between used and unused blocks.  If vxverify does not distinguish between used and unused blocks then it seems pretty pointless in 5.1, so should be enhanced or removed or at least have a warning (if it doesn't already) that with default setting, mirrors are not expected to be the same.


Hi Mike, its been sometime

Hi Mike,

its been sometime since I've run vxverify but I'm fairly sure that it does not distinguish between used and unused blocks.  I agree that it should be updated if it does not distinguish between them or have a switch to only verify only used filesystem blocks.

I will set aside some time next week to test the vxverify utility again and if I see problems with it then I'll open up a defect for it.


Hi Wally Did you get time to

Hi Wally

Did you get time to check out the vxverify command?

Also I found out that although the UNIX "-verify" option is not available on Windows vradmin/vxrds, there is another command vxrsync to do the same, so it would be useful to know how this behaves too.

I don't have an immediate need to know if either vxverify or vxrsync handle mirrors of ONLY used blocks, but I think at minimum the commands need to display a warning that differences are to be expected and preferably an option to compare/report on only used blocks.


Hi Mike, I have not had time

Hi Mike,

I have not had time yet to test vxverify.  But it is still on my list.  I might have one of the other TSEs test it this week.  I've got a lot on my schedule that just popped up today. 

I've seen the vxrsync used with VVR but not with mirrors.  I'll have to investigate that command to see how to use it with a mirrored volume.

Thank you,


Thanks Wally, There's no rush

Thanks Wally,

There's no rush to test, but if you get time, let me know results.  

I meant with vxrsync, that if use vxsync to compare replicated copies (not mirrors), then if it compares ALL blocks then it will have same problem that vxverify probably has in that the initial sync probably only synced used blocks.


Greetings, I will be testing


I will be testing the vxverify and vxrsync commands and report my findings, but can you please comment if you are using SFW 5.1 or SFW 6.0?


Thank you,

David M

Hi David, I am a Consultant

Hi David,

I am a Consultant so I was just wandering if vxverify and vxrync are tools I can tell my customers they can use.  If either or both of these tools output with JUST somehting like "Your mirror/replicated copy is out of sync" then this is likely to worry customers- i.e if these tools only compare all blocks and do not compare "used blocks", if the customer knew this and knew that by default only "used blocks" are synchronised, then they wouldn't be using tool as it is of no use, so if a customer is using this tool, then they probably don't know that by default only "used blocks" are synchronised and they are going to be worried if the tools reports the data is not in sync.

So I think latest version 6 should be tested to see if indeed an issue exists - perhaps this tools provides an output which shows used blocks.


Mike, Thank you for the


Thank you for the reply.  I will be working on this in a 6.0 lab.  I will notify you of my findings.


David Mosseri

Mike, I am still working on


I am still working on my lab however I see that the vxverify command is a simple out put of the offsets


C:\Users\administrator>vxverify -v FSDG1 FSDG1_vol1
file system: NTFS
Verification mode is: Express
Cluster size:4096
verifying offset=(0 ,287).
verifying offset=(352 ,863).
verifying offset=(864 ,1375).
verifying offset=(1376 ,1887).
verifying offset=(1888 ,2399).
verifying offset=(2400 ,2911).
verifying offset=(2912 ,3423).
verifying offset=(3424 ,3935).
verifying offset=(3936 ,4447).
verifying offset=(4448 ,4959).
verifying offset=(4960 ,5471).
verifying offset=(5472 ,5983).
verifying offset=(5984 ,6495).
verifying offset=(6496 ,7007).
verifying offset=(7008 ,7519).
verifying offset=(7520 ,8031).
verifying offset=(8032 ,8543).
verifying offset=(8544 ,9055).
verifying offset=(9056 ,9567).
verifying offset=(9568 ,10079).
verifying offset=(10080 ,10591).
verifying offset=(10592 ,11103).
verifying offset=(11104 ,11615).
verifying offset=(11616 ,12127).
verifying offset=(12128 ,12639).
verifying offset=(12640 ,13151).
verifying offset=(13152 ,13663).
verifying offset=(13664 ,14175).
verifying offset=(14176 ,14687).
verifying offset=(14688 ,15199).
verifying offset=(15200 ,15711).
verifying offset=(15712 ,16223).
verifying offset=(16224 ,16735).
verifying offset=(16736 ,17247).
verifying offset=(17248 ,17759).
verifying offset=(17760 ,18271).
verifying offset=(18272 ,18783).
verifying offset=(18784 ,19295).
verifying offset=(19296 ,19807).
verifying offset=(19808 ,20319).
verifying offset=(20320 ,20831).
verifying offset=(20832 ,21343).
verifying offset=(21344 ,21855).
verifying offset=(21856 ,22367).
verifying offset=(22368 ,22879).
verifying offset=(22880 ,23391).
verifying offset=(23392 ,23903).
verifying offset=(23904 ,24415).
verifying offset=(24416 ,24927).
verifying offset=(24928 ,25439).
verifying offset=(25440 ,25951).
verifying offset=(25952 ,26463).
verifying offset=(26464 ,26975).
verifying offset=(26976 ,27487).
verifying offset=(27488 ,27999).
verifying offset=(28000 ,28511).
verifying offset=(28512 ,29023).
verifying offset=(29024 ,29535).
verifying offset=(29536 ,30047).
verifying offset=(30048 ,30559).
verifying offset=(30560 ,31071).
verifying offset=(31072 ,31583).
verifying offset=(31584 ,32095).
verifying offset=(32096 ,32607).
verifying offset=(32608 ,33119).
verifying offset=(33120 ,33631).
verifying offset=(33632 ,34143).
verifying offset=(34144 ,34655).
verifying offset=(34656 ,35167).
verifying offset=(35168 ,35679).
verifying offset=(35680 ,36191).
verifying offset=(36192 ,36703).
verifying offset=(36704 ,37215).
verifying offset=(37216 ,37727).
verifying offset=(37728 ,38239).
verifying offset=(38240 ,38751).
verifying offset=(38752 ,39263).
verifying offset=(39264 ,39775).
verifying offset=(39776 ,40287).
verifying offset=(40288 ,40799).
verifying offset=(40800 ,41311).
verifying offset=(41312 ,41319).
verifying offset=(666928 ,667439).
verifying offset=(667440 ,667951).
verifying offset=(667952 ,668463).
verifying offset=(668464 ,668975).
verifying offset=(668976 ,669487).
verifying offset=(669488 ,669999).
verifying offset=(670000 ,670511).
verifying offset=(670512 ,671023).
verifying offset=(671024 ,671535).
verifying offset=(671536 ,672047).
verifying offset=(672048 ,672559).
verifying offset=(672560 ,673071).
verifying offset=(673072 ,673583).
verifying offset=(673584 ,674095).
verifying offset=(674096 ,674607).
verifying offset=(674608 ,675119).
verifying offset=(675120 ,675631).
verifying offset=(675632 ,676143).
verifying offset=(676144 ,676655).
verifying offset=(676656 ,677167).
verifying offset=(677168 ,677679).
verifying offset=(677680 ,678191).
verifying offset=(678192 ,678703).
verifying offset=(678704 ,679215).
verifying offset=(679216 ,679727).
verifying offset=(679728 ,680239).
verifying offset=(680240 ,680751).
verifying offset=(680752 ,681263).
verifying offset=(681264 ,681775).
verifying offset=(681776 ,682287).
verifying offset=(682288 ,682799).
verifying offset=(682800 ,683311).
verifying offset=(683312 ,683823).
verifying offset=(683824 ,684207).
verifying offset=(696048 ,696559).
verifying offset=(696560 ,696639).



So what does output show for

So what does output show for a mirror that was created using defaults - i.e only used blocks are synced.