私が理解したように、ブロック(「ブロックサイズ」という語句で)は、IOバッファまたはデバイスの最小IOサイズと同じです。パーティションは物理デバイス上に構築されますが、どのように小さなブロックを持つことができますか?たとえば、私のコンピュータでは1024
forxvda1
しかし4096
forを取得しますxvda
。以下のコードをご覧ください。
λ> sudo blockdev --getbsz /dev/xvda
4096
λ> sudo blockdev --getbsz /dev/xvda1
1024
λ> sudo fdisk -l /dev/xvda
Disk /dev/xvda: 50 GiB, 53687091200 bytes, 104857600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x8be88ed1
Device Boot Start End Sectors Size Id Type
/dev/xvda1 * 2048 409599 407552 199M 83 Linux
/dev/xvda2 409600 41943039 41533440 19.8G 83 Linux
/dev/xvda3 41943040 58720255 16777216 8G 82 Linux swap / Solaris
/dev/xvda4 58720256 104857599 46137344 22G 83 Linux
編集する:
ブロックデバイス(パーティションなど)の「ブロックサイズ」とファイルシステムの「ブロックサイズ」は異なると思います。たとえば、
λ> sudo dumpe2fs -h /dev/xvda3 | grep -i 'block size'
dumpe2fs 1.42.13 (17-May-2015)
dumpe2fs: Bad magic number in super-block while trying to open /dev/xvda3
λ> sudo blockdev --getbsz /dev/xvda3
4096
ベストアンサー1
fdisk
「偽」物理セクタのサイズを報告します。 「歴史的互換性」。
システムまたはディスクハードウェアは、パーティションの整列に必要な場合は512バイトのセクタをエミュレートできますが、これは遅くなります(そしてSSDはより速く磨耗する可能性があります)。そのため、パーティションのように大きな境界にパーティションを並べ替えることが広く推奨されています(2048 * 512 = 1MBにソート)。