Dan*_*nny 6 linux partition block-device
我有一个希捷 750GB 硬盘。
Parted 显示驱动器为 750GB
parted /dev/sdc print
Model: ST375064 0AS (scsi)
Disk /dev/sdc: 750GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 750GB 750GB ext3 primary
Run Code Online (Sandbox Code Playgroud)
但是,输入的大小/proc/partitions应该以块为单位:
cat /proc/partitions
major minor #blocks name
8 32 732574584 sdc
Run Code Online (Sandbox Code Playgroud)
Parted 说块大小是 512B,blockdev --getbsz /dev/sdc说块大小是 4096。
但是……很明显,这/proc/partition是错误地以 KiB 而不是块报告设备大小。
这种行为可以依赖于跨 Linux 和/或内核版本吗?(我需要一种可编写脚本且一致的方法来查找块设备的大小)
Centos 6.6 与 3.10 内核。
编辑我
lsblk -o kname,phy-sec,log-sec,min-io
KNAME PHY-SEC LOG-SEC MIN-IO
sda 512 512 512
sda1 512 512 512
sda2 512 512 512
Run Code Online (Sandbox Code Playgroud)
Sig*_*-IO -2
使用 /proc/partitions 或 (c)fdisk。一些不漂亮的打印结果会导致更好的人类可读性。
/proc/partitions 中的块始终为 512B 块...较新的磁盘将在内部使用 4k 块,但通常在外部模拟 512B 块。有些磁盘只能读取 4k 块,在外部也是如此,但 /proc/partitions 仍将以 512B 块打印结果。