gpt4 book ai didi

c++ - 如何创建一个类似于 RAID1(镜像)的程序?

转载 作者:行者123 更新时间:2023-11-28 08:30:57 24 4
gpt4 key购买 nike

我想创建一个与 RAID1 非常相似的简单程序。它应该像这样工作:
首先,我想给主要的 HDD-s 驱动器号,而不是次要的。我只会写入主硬盘!如果任何新数据被复制到主硬盘,它应该会自动将其复制到辅助硬盘。
我需要一些帮助我应该从哪里开始这一切?如何监控主硬盘写入的数据?显然有很多方法可以做我想做的事(我认为),但我需要最简单的方法。
如果这不是那么复杂,那么如果主硬盘有两个或更多分区,我该如何处理这种情况,因为那时我也应该检查辅助硬盘的分区,然后在必要时创建/调整它们的大小?

提前致谢!

坎比

最佳答案

镜像磁盘实时写入另一个磁盘的概念是高可用性的基础,实现这些方案并非易事。

我工作的公司制造了DoubleTake ,它将基于 IO 的文件实时镜像和复制到本地或远程卷。这与您描述的内容略有不同,后者似乎是基于 block 的磁盘/卷复制,但许多概念是相似的。

对于基于文件的复制,有很多讨厌的场景,我将描述一些:

  1. 将一个卷的内容同步到另一个卷,请记住,在执行此操作时可能会发生更改。我想您可以通过要求卷开始时完全格式化来简单地做到这一点。但对于拥有数据的人来说,这不是一个好的解决方案!

  2. 跟上磁盘变化:如果镜像到的卷比源卷慢怎么办?你在哪里缓冲?到磁盘?内存?

无论如何,我们使用内核模式文件系统过滤器驱动程序来捕获磁盘 IO,然后我们的用户模式服务获取此 IO 并将其转发到本地或远程磁盘。

如果您想了解文件系统过滤,Rajeev Nagar 着的《文件系统内部原理》是最好的书籍之一(虽然很旧但很好)。它是使用文件系统过滤器进行任何认真工作的必读书籍。

另请查看 Windows 7 WDK 上的文件系统过滤器示例,它是免费的,它们有很好的文件监视器示例,可以让您很快看到磁盘更改。

祝你好运!

关于c++ - 如何创建一个类似于 RAID1(镜像)的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2141590/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com