简介
在Linux系统下面,块设备使用很常见,尤其是一些传统商用数据库,例如Oracle,DB2就经常使用块设备,lsblk命令可以非常方便的让你获取所有的块设备信息。
lsblk安装
如果你的Linux系统上没有lsblk命令,没关系,安装很容易
yum install util-linux
lsblk常用参数详解
[root@mysql ~]# lsblk --help选项:-a, --all 打印所有设备-b, --bytes 以字节为单位而非易读的格式来打印 SIZE-d, --nodeps 不打印从属设备(slave)或占位设备(holder)-D, --discard 打印时丢弃能力-e, --exclude <列表> 根据主设备号排除设备(默认:内存盘)-I, --include <列表> 只显示有指定主设备号的设备-f, --fs 输出文件系统信息-h, --help 使用信息(此信息)-i, --ascii 只使用 ascii 字符-m, --perms 输出权限信息-l, --list 使用列表格式的输出-n, --noheadings 不打印标题-o, --output <列表> 输出列-p, --paths 打印完整设备路径-P, --pairs 使用 key=“value” 输出格式-r, --raw 使用原生输出格式-s, --inverse 反向依赖-t, --topology 输出拓扑信息-S, --scsi 输出有关 SCSI 设备的信息-h, --help 显示此帮助并退出-V, --version 输出版本信息并退出
lsblk用法举例
获取块设备,以树形展示
[mysql@mysql ~]$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 100G 0 disk|-sda1 8:1 0 1G 0 part /boot`-sda2 8:2 0 99G 0 part|-centos-root 253:0 0 87G 0 lvm /|-centos-swap 253:1 0 2G 0 lvm [SWAP]`-centos-home 253:2 0 10G 0 lvm /homesr0 11:0 1 4.3G 0 rom
在这里解释一下重要的列名含义,更多信息可以用lsblk –help自己查看
1.MAJ:MIN:本栏显示主要和次要设备号
2.RM:显示可移动设备。0表示非移动设备,1表示可移动设备
3.RO:是否只读,0表示非只读,1表示只读
获取块设备全路径和权限
[mysql@mysql ~]$ lsblk -mpNAME SIZE OWNER GROUP MODE/dev/sda 100G root disk brw-rw----|-/dev/sda1 1G root disk brw-rw----`-/dev/sda2 99G root disk brw-rw----|-/dev/mapper/centos-root 87G root disk brw-rw----|-/dev/mapper/centos-swap 2G root disk brw-rw----`-/dev/mapper/centos-home 10G root disk brw-rw----/dev/sr0 4.3G root cdrom brw-rw----
从上面结果可以清楚看到各个块设备所属用户和组,以及权限
获取块设备的IO调度算法
[mysql@mysql ~]$ lsblk -tNAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAMEsda 0 512 0 512 512 1 deadline 128 4096 32M|-sda1 0 512 0 512 512 1 deadline 128 4096 32M`-sda2 0 512 0 512 512 1 deadline 128 4096 32M|-centos-root 0 512 0 512 512 1 128 4096 32M|-centos-swap 0 512 0 512 512 1 128 4096 32M`-centos-home 0 512 0 512 512 1 128 4096 32Msr0 0 2048 0 2048 2048 1 deadline 128 128 0B
在这里我就不再一一列举用法了,感兴趣的朋友可以自己再仔细研究,有新的用法可以留言评论。