Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>The concept of mirroring disk writes to another disk in real time is the basis for high availability, and implementing these schemes are not trivial. </p> <p>The company I work for makes <a href="http://www.visionsolutions.com/Products/Vision-Products-Overview.aspx" rel="nofollow">DoubleTake</a>, which does real time mirroring &amp; replication of file based IO to local or remote volumes. This is a little different than what you are describing, which appears to be block based disk/volume replication, but many of the concepts are similar. </p> <p>For file based replication, there are a quite a few nasty scenarios, i'll describe a few:</p> <ol> <li><p>Synchronizing the contents of one volume to another volume, keeping in mind that changes can occur while you are doing this. I suppose you could simply this by requiring that volumes start out totally formatted. But for people that have data that will not be a good solution!</p></li> <li><p>keeping up with disk changes: What if the volume you are mirroring to is slower than the source volume? Where do you buffer? To Disk? Memory? </p></li> </ol> <p>Anyways we use a kernel mode file system filter driver to capture the disk IO, and then our user mode service grabs this IO and forwards it to a local or remote disk. </p> <p>If you want to learn about file system filtering, one of the best books (its old but good) is File System Internals, by Rajeev Nagar. Its a must read for doing any serious work with file system filters. </p> <p>Also take a look at the file system filter samples on the Windows 7 WDK, its free, and they have good file mon examples that will get you seeing disk changes pretty quickly. </p> <p>Good Luck!</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload