Вам не нужно ничего программировать. Вы можете использовать подсистему 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: Теперь это действительно подходит для суперпользователя, не так ли?