使用RAID-0和FUSE实现RAID-i

使用RAID-0和FUSE实现RAID-i,fuse,raid,Fuse,Raid,假设我使用RAID-0(只是条带化)设置了2个磁盘,通过RAID控制器连接到linux机箱。所以基本上我看到一个大分区。当我写一个包含两个块(a | B)的文件时,磁盘1将存储a,磁盘2将存储B 现在,假设我想要实现RAID-1(镜像),以便在这两个磁盘上进行操作。我能用保险丝吗?我设想如下:假设我的fuse实现得到一个包含三个块(a | B)的文件要写入,我现在将改为写入(a | a | B | B),这样a在磁盘1上写入两次,B在磁盘2上写入两次 我想玩一些擦除代码和RAID方案,我想控制写

假设我使用RAID-0(只是条带化)设置了2个磁盘,通过RAID控制器连接到linux机箱。所以基本上我看到一个大分区。当我写一个包含两个块(a | B)的文件时,磁盘1将存储a,磁盘2将存储B

现在,假设我想要实现RAID-1(镜像),以便在这两个磁盘上进行操作。我能用保险丝吗?我设想如下:假设我的fuse实现得到一个包含三个块(a | B)的文件要写入,我现在将改为写入(a | a | B | B),这样a在磁盘1上写入两次,B在磁盘2上写入两次

我想玩一些擦除代码和RAID方案,我想控制写入磁盘的内容。我不想修补软件RAID,所以这看起来是一种更容易采取的方法


这行得通吗?我应该知道吗?请注意,可以假设我知道块的大小,并在适当的时候进行零填充。

FUSE并不是一种真正合适的方法。它旨在用于实现一个文件系统,而这并不是您在这里真正想要做的事情——FUSE将向您传递诸如“获取此目录中的所有文件”之类的事件,这比您所追求的级别要高得多。(您可能更喜欢像“阅读此块”这样的简单事件。)


有一个项目允许在userspace()中实现一个块设备,但它只是初步的。我不确定它在这方面的效果如何。

将所有内容写入云中,将控制器更改为raid-1,然后重新读取。如果计算机已经在云中,该怎么办?你是对的。。实际上,当操作系统要求从它看到的磁盘读取特定地址时,我需要一种截获来自操作系统的调用的方法,并且我应该能够将它映射到(磁盘,地址)对。。哦,孩子!