确定块设备大小的最快方法?

ase*_*ues 3 linux lvm block-device

我有一个远程脚本,用于检查 lvm 卷中的某些参数。我需要知道的一件事是尺寸。我目前正在使用这个:

lvdisplay /dev/virtuals/volume_name -C -o lv_size

但是最后一个命令可能需要大约一秒钟才能在我的服务器上执行,而且我有多个要检查的卷。我也试过用usin lvs代替lvdisplay,但是速度没有太大的提升。

time lvs -o lv_size /dev/virtuals/volume_name -C -o lv_size
real 0m0.809s
time lvdisplay /dev/virtuals/volume_name
real 0m0.982s
Run Code Online (Sandbox Code Playgroud)

有人知道获取该信息的更快方法,只是卷大小,我对职业不感兴趣。

更新: 使用 blockdev 带来了巨大的改进。我真的建议使用它而不是 lvdisplay(只记得使用 getsize64)

时间块dev --getsize64 /dev/system/home

Mik*_*eyB 9

使用blockdev命令:

字节:

> time blockdev --getsize64 /dev/system/home
32212254720

real   0m0.004s
user   0m0.001s
sys    0m0.002s
Run Code Online (Sandbox Code Playgroud)

部门:

> time blockdev --getsize /dev/system/home
62914560

real   0m0.006s
user   0m0.001s
sys    0m0.003s
Run Code Online (Sandbox Code Playgroud)