编程一个由Linux中的几个文件组成的环回设备

HEJ, 在Linux中使用
losetup
使用文件模拟块设备相对容易: http://www.walkernews.net/2007/07/01/create-linux-loopback-file-system-on-disk-file/ 任何人都可以给我一个提示,看看我想要编程我自己的块设备,这是基于我正在从内容的几个文件?为了您的理解,我想让文件1中的字节1-500和1.000-3.000以及文件2中的字节501-999和字节3.001到5.000将它们作为组合块设备提供。我首选的编程语言是Python,我想尽可能在​​用户空间编写我的程序。 对于Windows,我发现了这样的实现。它叫做FileDisk和HttpDisk,它可以在这里找到: http://www.acc.umu.se/~bosse/ 在此先感谢和问候,   莱纳     
已邀请:
你不需要编程任何东西。您可以使用Linux的多设备(a.k.a.
md
)子系统来构建一个由多个较小设备组成的块设备。 为此,您可以使用
mdadm
从较小的设备组装
LINEAR
团队设备。 更新 所以这就是我所做的:
$ cd /images
$ dd if=/dev/zero bs=1M count=100 of=a.img
$ dd if=/dev/zero bs=1M count=50 of=b.img
$ dd if=/dev/zero bs=1M count=150 of=c.img
$ losetup -f
/dev/loop0
$ for i in a b c; do losetup -f $i.img; done
$ mdadm --build /dev/md0 -l linear -n 3 /dev/loop[012]
mdadm: array /dev/md0 built and started.
$ cat /proc/mdstat
Personalities : [linear] 
md0 : active linear loop2[2] loop1[1] loop0[0]
      307200 blocks super non-persistent 64k rounding
请注意,我使用
$
作为提示,不要混淆自动语法高亮;) 就这么简单。 干杯。 PS:现在这真的有资格获得超级用户,不是吗?     
如果你想通过一个简单的API完全保留在用户空间中,我强烈推荐FUSE,这对于Python来说相对简单。     

要回复问题请先登录注册