如何使用 blockdev 命令设置块大小

如何使用 blockdev 命令设置块大小

任何人都可以为我提供以下命令的任何测试用例: 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 上运行良好

相关内容