首页 > 技术文章 > linux磁盘之lsblk命令

aozhejin 2022-02-05 02:55 原文

lsblk命令可以显示很多跟磁盘相关分区、所属关系以及lvm的重要信息,所以这个命令最好掌握。
lsblk命令默认情况下将以树状列出所有块设备,包括查看磁盘挂载信息。
lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。这个包带了几个其它工具,如dmesg。要安装lsblk,请在此处下载util-linux包。
区别于df -h查看的是文件系统级别的信息。
Fedora系列的(centos、RHEL等)用户可以通过以下方法来安装该包:

#yum install util-linux-ng

关键字有: 利用lsblk可以查看磁盘分区、块设备(块设备有硬盘,闪存盘,CD-ROM等等)、硬盘相关信息、



列出块设备信息

补充说明
lsblk命令 用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。这个包带了几个其它工具,如dmesg。要安装lsblk,请在此处下载util-linux包。Fedora用户可以通过命令sudo yum install util-linux-ng来安装该包。

$lsblk --help
Usage: lsblk [options] [<device> ...]
List information about block devices.

选项:

 -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  输出版本信息并退出

 

可用列(用于 --output):

        NAME  设备名

       KNAME  internal kernel device name

     MAJ:MIN  主:次 设备号

      FSTYPE  文件系统类型

  MOUNTPOINT  where the device is mounted

       LABEL  filesystem LABEL

        UUID  filesystem UUID

   PARTLABEL  分区 LABEL

    PARTUUID  分区 UUID

          RA  read-ahead of the device

          RO  只读设备

          RM  removable device

       MODEL  device identifier

      SERIAL  disk serial number

        SIZE  size of the device

       STATE  设备的状态

       OWNER  user name

       GROUP  group name

        MODE  device node permissions

   ALIGNMENT  alignment offset

      MIN-IO  minimum I/O size

      OPT-IO  optimal I/O size

     PHY-SEC  物理扇区大小

     LOG-SEC  逻辑扇区大小

        ROTA  rotational device

       SCHED  I/O scheduler name

     RQ-SIZE  request queue size

        TYPE  device type

    DISC-ALN  discard alignment offset

   DISC-GRAN  discard granularity

    DISC-MAX  discard max bytes

   DISC-ZERO  忽略零数据

       WSAME  write same max bytes

         WWN  unique storage identifier

        RAND  adds randomness

      PKNAME  internal parent kernel device name

        HCTL  Host:Channel:Target:Lun for SCSI

        TRAN  device transport type

         REV  device revision

      VENDOR  device vendor



 默认结束输出7个栏目名称如下:

NAME : 这是块设备名。

MAJ:MIN : 本栏显示主要和次要设备号。

RM : 本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。

SIZE : 本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。

RO : 该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。

TYPE :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。(LCTT译注,此处sr0的RO项没有标记为1,可能存在一些错误?)

MOUNTPOINT : 本栏指出设备挂载的挂载点。



实例

lsblk命令默认情况下将以树状列出所有块设备。打开终端,并输入以下命令:

 

[root@fp-web-118 /]# lsblk -l

 

##默认情况下

 [root@fp-web-112 /]# lsblk

NAME                          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda                             8:0    0  100G  0 disk 

├─sda1                          8:1    0  500M  0 part /boot

└─sda2                          8:2    0 99.5G  0 part 

  ├─centos-root               253:0    0 95.5G  0 lvm  /

  └─centos-swap               253:1    0    4G  0 lvm  

sdb                             8:16   0  200G  0 disk 

sr0                            11:0    1 1024M  0 rom  

loop0                           7:0    0  100G  0 loop 

└─docker-253:0-402851692-pool 253:2    0  100G  0 dm   

loop1                           7:1    0    2G  0 loop 

└─docker-253:0-402851692-pool 253:2    0  100G  0 dm   

 

-a 该选项将列出所有设备,包括空设备在内,磁盘的格式化信息例如:格式化的文件格式

[root@fp-web-112 /]# lsblk -a -f 

NAME                          FSTYPE      LABEL UUID                                   MOUNTPOINT

sda                                                                                    

├─sda1                        xfs               301c75d3-73ce-4342-befa-c8f1f788bcdf   /boot

└─sda2                        LVM2_member       dJcKYm-10WN-Vsy8-n11y-B8wY-vsFt-N76qpy 

  ├─centos-root               xfs               c73e2c36-261b-4f51-9131-4faf79d86a7d   /

  └─centos-swap               swap              b28efdea-e1a7-425d-bca0-23eac0dd22e0   

sdb                                                                                    

sr0                                                                                    

loop0                         xfs               4f434d0b-6292-44f1-af05-ed40c74ba683   

└─docker-253:0-402851692-pool                                                          

loop1                                                                                  

└─docker-253:0-402851692-pool            

[root@fpvm-DBServer61 storage]# lsblk --fs  ## 或者 lsblk -f

 

 

 



###组合b+l,输出单位为字节

[root@fpvm-DBServer61 docker]# lsblk -bl

NAME                      MAJ:MIN RM         SIZE RO TYPE MOUNTPOINT

sda                         8:0    0 107374182400  0 disk 

sda1                        8:1    0    524288000  0 part /boot

sda2                        8:2    0 106848845824  0 part 

centos-root               253:0    0 199187496960  0 lvm  /

centos-swap               253:1    0   4294967296  0 lvm  [SWAP]

sdb                         8:16   0 107374182400  0 disk 

centos-root               253:0    0 199187496960  0 lvm  /

sr0                        11:0    1   1073741312  0 rom  

loop0                       7:0    0 107374182400  0 loop 

docker-253:0-1228875-pool 253:2    0 107374182400  0 dm   

loop1                       7:1    0   2147483648  0 loop 

docker-253:0-1228875-pool 253:2    0 107374182400  0 dm   

 

####l

[root@fp-web-112 /]# lsblk -l

NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda                           8:0    0  100G  0 disk 

sda1                          8:1    0  500M  0 part /boot

sda2                          8:2    0 99.5G  0 part 

centos-root                 253:0    0 95.5G  0 lvm  /

centos-swap                 253:1    0    4G  0 lvm  

sdb                           8:16   0  200G  0 disk 

sr0                          11:0    1 1024M  0 rom  

loop0                         7:0    0  100G  0 loop 

docker-253:0-402851692-pool 253:2    0  100G  0 dm   

loop1                         7:1    0    2G  0 loop 

docker-253:0-402851692-pool 253:2    0  100G  0 dm   

 

[root@fpvm-DBServer61 docker]# lsblk -d

 

 

 

[root@fpvm-DBServer61 docker]# lsblk -D

 

 

 

###a+b

[root@fpvm-DBServer61 docker]#  lsblk -ab 

NAME                        MAJ:MIN RM         SIZE RO TYPE MOUNTPOINT

sda                           8:0    0 107374182400  0 disk 

├─sda1                        8:1    0    524288000  0 part /boot

└─sda2                        8:2    0 106848845824  0 part 

  ├─centos-root             253:0    0 199187496960  0 lvm  /

  └─centos-swap             253:1    0   4294967296  0 lvm  [SWAP]

sdb                           8:16   0 107374182400  0 disk 

└─centos-root               253:0    0 199187496960  0 lvm  /

sr0                          11:0    1   1073741312  0 rom  

loop0                         7:0    0 107374182400  0 loop 

└─docker-253:0-1228875-pool 253:2    0 107374182400  0 dm   

loop1                         7:1    0   2147483648  0 loop 

└─docker-253:0-1228875-pool 253:2    0 107374182400  0 dm   

 

###显示所有设备

[root@fp-web-112 /]# lsblk -a 

NAME                          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda                             8:0    0  100G  0 disk 

├─sda1                          8:1    0  500M  0 part /boot

└─sda2                          8:2    0 99.5G  0 part 

  ├─centos-root               253:0    0 95.5G  0 lvm  /

  └─centos-swap               253:1    0    4G  0 lvm  

sdb                             8:16   0  200G  0 disk 

sr0                            11:0    1 1024M  0 rom     ###只读

loop0                           7:0    0  100G  0 loop 

└─docker-253:0-402851692-pool 253:2    0  100G  0 dm   

loop1                           7:1    0    2G  0 loop 

└─docker-253:0-402851692-pool 253:2    0  100G  0 dm   

 

##输出设备的权限,属主属组信息

[root@fp-web-112 /]# lsblk -m 

NAME                           SIZE OWNER GROUP MODE

sda                            100G root  disk  brw-rw----

├─sda1                         500M root  disk  brw-rw----

└─sda2                        99.5G root  disk  brw-rw----

  ├─centos-root               95.5G root  disk  brw-rw----

  └─centos-swap                  4G root  disk  brw-rw----

sdb                            200G root  disk  brw-rw----

sr0                           1024M root  cdrom brw-rw----

loop0                          100G root  disk  brw-rw----

└─docker-253:0-402851692-pool  100G root  disk  brw-rw----

loop1                            2G root  disk  brw-rw----

└─docker-253:0-402851692-pool  100G root  disk  brw-rw----

 

//显示scsi设备

[root@fpvm-DBServer61 docker]# lsblk -S

NAME HCTL       TYPE VENDOR   MODEL             REV TRAN

sda  0:0:1:0    disk ATA      VMware Virtual I 0001 ata

sdb  2:0:0:0    disk VMware   Virtual disk     1.0  sas

sr0  0:0:0:0    rom  NECVMWar VMware IDE CDR00 1.00 ata

###不显示标题

[root@fpvm-DBServer61 docker]# lsblk -nl

sda                         8:0    0   100G  0 disk 

sda1                        8:1    0   500M  0 part /boot

sda2                        8:2    0  99.5G  0 part 

centos-root               253:0    0 185.5G  0 lvm  /

centos-swap               253:1    0     4G  0 lvm  [SWAP]

sdb                         8:16   0   100G  0 disk 

centos-root               253:0    0 185.5G  0 lvm  /

sr0                        11:0    1  1024M  0 rom  

loop0                       7:0    0   100G  0 loop 

docker-253:0-1228875-pool 253:2    0   100G  0 dm   

loop1                       7:1    0     2G  0 loop 

docker-253:0-1228875-pool 253:2    0   100G  0 dm   

 

 

[root@fpvm-DBServer61 docker]# lsblk -f  ##显示文件系统

NAME                        FSTYPE      LABEL UUID                                   MOUNTPOINT

sda                                                                                  

├─sda1                      xfs               301c75d3-73ce-4342-befa-c8f1f788bcdf   /boot

└─sda2                      LVM2_member       dJcKYm-10WN-Vsy8-n11y-B8wY-vsFt-N76qpy 

  ├─centos-root             xfs               c73e2c36-261b-4f51-9131-4faf79d86a7d   /

  └─centos-swap             swap              b28efdea-e1a7-425d-bca0-23eac0dd22e0   [SWAP]

sdb                         LVM2_member       ciJOyu-8AwK-UdZj-YkDm-W34f-fw8Y-3SpAI4 

└─centos-root               xfs               c73e2c36-261b-4f51-9131-4faf79d86a7d   /

sr0                                                                                  

loop0                       xfs               cff31d32-f3bd-498b-bb25-d96cdb073c70   

└─docker-253:0-1228875-pool                                                          

loop1                                                                                

└─docker-253:0-1228875-pool                                            

 

 

 

[root@fp-web-118 containerd]#  lsblk -i , ## 将输出信息的字符用ascii码打印

[root@fp-web-118 containerd]# lsblk -o +UUID

 

 

 

 [root@fp-web-118 containerd]# lsblk -p  ##打印设备的全部路径

 

 

[root@fp-web-118 containerd]# lsblk -r  #裸格式输出

 

 

 

[root@fp-web-118 containerd]# lsblk -s   ##打印分区的依赖设备反序列输出,分区指向设备

 

 

 [root@fp-web-118 containerd]# lsblk -t  ##打印块设备的拓扑结构

 

 

 

[root@fp-web-118 containerd]# lsblk -d -o +rota  ##确认从磁盘上会否ssd

 

 

 

[root@fp-web-118 containerd]# lsblk  #/boot表示linux 当前引导磁盘路径

 

 [root@fpvm-DBServer61 storage]# sfdisk -l  #“*”表示linux 当前引导磁盘路径

 

 [root@fpvm-DBServer61 storage]# sfdisk -l|grep dev|grep "*"  #“*”表示linux 当前引导磁盘路径

 

 

 

 

Available columns (for--output): NAME device name KNAME internal kernel device name MAJ:MIN major:minor device number FSTYPE filesystem type MOUNTPOINT where the device is mounted LABEL filesystem LABEL UUID filesystem UUID PARTTYPE partition type UUID PARTLABEL partition LABEL PARTUUID partition UUID PARTFLAGS partition flags RA read-ahead of the device RO read-only device RM removable device HOTPLUG removable or hotplug device (usb, pcmcia, ...) MODEL device identifier SERIAL disk serial number SIZE size of the device STATE state of the device OWNER user name GROUPgroup name MODE device node permissions ALIGNMENT alignment offset MIN-IO minimum I/O size OPT-IO optimal I/O size PHY-SEC physical sector size LOG-SEC logical sector size ROTA rotational device, 0是不可旋转(ssd),1是可旋转(hdd) SCHED I/O scheduler name RQ-SIZE request queue size TYPE device type DISC-ALN discard alignment offset DISC-GRAN discard granularity DISC-MAX discard max bytes DISC-ZERO discard zeroes data WSAME write same max bytes WWN unique storage identifier RAND adds randomness PKNAME internal parent kernel device name HCTL Host:Channel:Target:Lun for SCSI TRAN device transporttype SUBSYSTEMS de-duplicated chain of subsystems REV device revision VENDOR device vendor

推荐阅读