任何人都可以为我提供以下命令的任何测试用例:
blockdev --setbsz BYTES
设置/更改块大小。
我已经尝试过如下但没有运气。
$ blockdev --setbsz 2048 /dev/sda5
blockdev: 2048: No such file or directory
答案1
检查当前设备的块大小。
$ blockdev --getbsz /dev/vdb1
512
卸载文件系统以更改块大小。
$ umount /dev/vdb1
创建文件系统以更改新的块大小。
$ mkfs -t ext4 -b 4096 /dev/vdb1
挂载以检查更改的块大小。
$ mount /dev/vdb1 /test/
$ blockdev --getbsz /dev/vdb1
4096
答案2
卸载该设备后,您必须以 root 用户身份执行此操作。
# this is as root user
[root@pse-linvm ~]# blockdev --setbsz 4096 /dev/vda2
BLKBSZSET: Device or resource busy
[root@pse-linvm ~]# blockdev --setbsz 4096 /dev/vda6
/dev/vda6: No such file or directory
# this is normal user
[root@pse-linvm ~]# su - raja
[raja@pse-linvm ~]$ blockdev --getbsz /dev/vda2
/dev/vda2: Permission denied
# Error same as yours
[raja@pse-linvm ~]$ blockdev --getbsz 4096 /dev/vda2
4096: No such file or directory
答案3
不是答案 - 只是为了清楚起见在答案框中发布
[dani@localhost ~]$ blockdev --getbsz /dev/sda1
blockdev: cannot open /dev/sda1: Permission denied
[dani@localhost ~]$
[dani@localhost ~]$ su -
Password:
[root@localhost ~]# blockdev --getbsz /dev/sda1
1024
[root@localhost ~]# blockdev --setbsz 1024 /dev/sda1
BLKBSZSET: Device or resource busy
[root@localhost ~]# umount /boot
[root@localhost ~]# blockdev --setbsz 1024 /dev/sda1
在带有 linux-utils 2.24.2 的 fd20 上运行良好