제가 이해한 바에 따르면 블록("블록 크기"라는 문구에서)은 IO 버퍼 또는 장치의 최소 IO 크기와 같습니다. 파티션은 물리적 장치에 구축되는데 어떻게 더 작은 블록을 가질 수 있습니까? 예를 들어, 내 컴퓨터에서는 1024
for xvda1
그러나 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에 정렬됨).