为什么我的环路设备大小不是600G?
$ fallocate --length 600G sysvol
$ sudo losetup --find sysvol
$ sudo losetup --all
/dev/loop0: [0831]:13 (/.../sysvol)
$ sudo losetup --set-capacity /dev/loop0
$ sudo stat /dev/loop0
File: ‘/dev/loop0’
Size: 0 Blocks: 0 IO Block: 4096 block special file
Device: 5h/5d Inode: 51 Links: 1 Device type: 7,0
答案1
stat
不是调查块设备的正确工具。
以下是使用的示例--set-capacity
:
root@maxim:~# blockdev --getsize64 /dev/loop0
0
root@maxim:~# dd if=/dev/zero of=/tmp/aaa.img count=10 bs=1M
10+0 записей получено
10+0 записей отправлено
скопировано 10485760 байт (10 MB), 0,00709284 c, 1,5 GB/c
root@maxim:~# blockdev --getsize64 /dev/loop0
0
root@maxim:~# losetup --find /tmp/aaa.img
root@maxim:~# losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0 0 0 0 0 /tmp/aaa.img
root@maxim:~#
root@maxim:~# blockdev --getsize64 /dev/loop0
10485760
root@maxim:~# dd if=/dev/zero of=/tmp/aaa.img count=10 bs=1M oflag=append conv=notrunc
10+0 записей получено
10+0 записей отправлено
скопировано 10485760 байт (10 MB), 0,00771261 c, 1,4 GB/c
root@maxim:~# blockdev --getsize64 /dev/loop0
10485760
root@maxim:~# losetup --set-capacity /dev/loop0
root@maxim:~# blockdev --getsize64 /dev/loop0
20971520
root@maxim:~#