编程一个由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 raid设备.
更新
所以这就是我所做的:
$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:现在这真的有资格获得超级用户,不是吗?
标签:linux,file,block-device,raid 来源: https://codeday.me/bug/20190827/1738041.html