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でうまく動作します。

関連情報