文字通り、それぞれのimage#.imgに触れました。他に何かすべきことはありますか?
これは確かに問題です。ファイルは0バイトであり、その中をシークすることはできません。実際にサイズのあるファイルを作成する必要があります。必要に応じて、スパースファイルを使用できます。
[/tmp]$ dd if=/dev/zero of=1.img bs=1M count=25 conv=sparse
25+0 records in
25+0 records out
26214400 bytes (26 MB, 25 MiB) copied, 0.00334608 s, 7.8 GB/s
[/tmp]$ dd if=/dev/zero of=2.img bs=1M count=25 conv=sparse
25+0 records in
25+0 records out
26214400 bytes (26 MB, 25 MiB) copied, 0.00347987 s, 7.5 GB/s
[/tmp]$ dd if=/dev/zero of=3.img bs=1M count=25 conv=sparse
25+0 records in
25+0 records out
26214400 bytes (26 MB, 25 MiB) copied, 0.00330069 s, 7.9 GB/s
[/tmp]$ du 1.img
0 1.img
これでループデバイスを作成して配列を組み立てることができます:
[/tmp]$ sudo losetup loop0 1.img
[/tmp]$ sudo losetup loop1 2.img
[/tmp]$ sudo losetup loop2 3.img
[/tmp]$ sudo mdadm --create /dev/md0 --level=0 --raid-devices=3 /dev/loop0 /dev/loop1 /dev/loop2
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[/tmp]$ sudo mkfs.ext4 /dev/md0
mke2fs 1.42.11 (09-Jul-2014)
Discarding device blocks: done
Creating filesystem with 73728 1k blocks and 18432 inodes
Filesystem UUID: 8123197c-a9aa-434d-9233-103fe20727ed
Superblock backups stored on blocks:
8193, 24577, 40961, 57345
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
[/tmp]$ mkdir mnt/
[/tmp]$ sudo mount /dev/md0 mnt/
[/tmp]$ df -h mnt/
Filesystem Size Used Avail Use% Mounted on
/dev/md0 66M 1.3M 60M 3% /tmp/mnt
[/tmp]$ cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 loop2[2] loop1[1] loop0[0]
73728 blocks super 1.2 512k chunks
unused devices: <none>
[/tmp]$ du -h 1.img 2.img 3.img
1.3M 1.img
1.6M 2.img
1.6M 3.img
スパースファイルは、データが書き込まれるときに、最大サイズまで大きくなります。ファイルシステム内のファイルが削除されても、縮小されません。