Unidades para tamanho em / proc / partitions não fazem sentido

3

Eu tenho um disco Seagate de 750 GB.

Parted mostra a unidade como 750 GB

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

No entanto, a entrada de tamanho em /proc/partitions está supostamente em blocos:

cat /proc/partitions
major minor  #blocks  name
8       32  732574584 sdc

Parted diz que o tamanho do bloco é 512B, blockdev --getbsz /dev/sdc diz que o tamanho do bloco é 4096.

Mas ... está claro que /proc/partition está reportando erroneamente o tamanho do dispositivo em KiB em vez de blocos.

Esse comportamento pode depender das versões do Linux e / ou do kernel? (Eu preciso de uma maneira scriptável e consistente de encontrar o tamanho de um dispositivo de bloco)

Centos 6.6 com 3.10 kernel.

EDITAR

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
    
por Danny 22.01.2016 / 06:50

1 resposta

0

Use / proc / partitions ou (c) fdisk. Algo que não imprime resultados bonitos é melhor legível para humanos.

Os blocos em / proc / partitions estão sempre em blocos 512B ... novos discos usarão 4k blocos internamente, mas normalmente emulam 512B blocos para o lado de fora. Alguns discos só falam blocos de 4k, também do lado de fora, mas / proc / partitions ainda imprimirá resultados em blocos de 512B.

    
por 17.08.2017 / 14:09