磁盘管理命令之partx,lsblk,blkid,partprobe

 

 

partx:修改磁盘分区表后,无需重启,用partx命令告诉内核,分区已改动,内核可以读入新的分区表信息

/proc/partitions记录了系统中所有硬盘及其上面的分区,包括已挂载和未挂载的。

有些硬盘没有记录分区信息,可能是没有分区,也可能是未记录

对于分区完成,但是尚未挂载的硬盘分区,partx告诉内核去做登记,已备挂载。

partx告诉内核去识别,登记某个硬盘上的分区信息。并不是加载,只是识别并记录而已,或者删除某个分区的信息。

 

 

 

partx命令:

磁盘管理命令之partx,lsblk,blkid,partprobe_blkid

-a 设备: 登记某块盘上的所有分区信息。如果分区信息有记录,则报错。

-d 设备: 删除内核中关于某磁盘的所有分区的记录。(不是卸载)

-s 设备 :显示磁盘的分区信息

 

通过partx工具让内核重读磁盘分区表信息:

 

partx -d /dev/sdb  #因为内核中存在部分未调整磁盘的信息,故先将所有信息清零

partx -a /dev/sdb  #添加调整后的磁盘分区信息

partx -s /dev/sdb  #显示磁盘分区信息

磁盘管理命令之partx,lsblk,blkid,partprobe_partprobe_02

partx命令告用来诉内核当前磁盘的分区情况

语法 
       partx [-a|-d|-l] [--type TYPE] [--nr M-N] [partition] disk

解释 
       对一个磁盘或者分区表类型,尝试解析分区表。可以增加或删除分区。但不是fdisk,增加,删除分区对磁盘造成改变,只是告诉内核当前磁盘的分区情况。

选项 
  -a    增加制定的分区或读磁盘新增的分区 
  -d    删除制定或所有的分区 
  -l     列出分区 
  --type  指定分区类型。dos,bsd,solaris,unix,或者gpt 
  --nr      M-N 指定分区范围

# partx -a /dev/sdb 
BLKPG: Device or resource busy 
error adding partition 1

是因为虚拟机的原因

# partx -a /dev/sdb1 /dev/sdb

不会有上面的提示

 

 

lsblk命令:列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,CD-ROM等等。

补充一点:lsblk和df的区别:

lsblk 查看的是block device,也就是逻辑磁盘的大小

df 查看的是file system,也就是文件系统层的磁盘大小,并且已挂载

磁盘管理命令之partx,lsblk,blkid,partprobe_partx_03

NAME :这是块设备名。

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

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

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

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

TYPE :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。

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

 

blkid命令:显示关于可用块设备的信息,他可以识别一个块设备内容的类别(如文件系统,交换区)以及从内容的元数据(如卷标或UUID字段)中获取属性(如tokens和键值对)。它主要有两类作用:用指定的键值对搜索一个设备,或是显示一个或多个设备的键值对。

不添加任何参数直接运行blkid将会输出所有可用的设备,他们的通用唯一识别码(UUID),文件系统类型以及卷标(如果有设置过)

磁盘管理命令之partx,lsblk,blkid,partprobe_partprobe_04

 

partprobe:通知系统分区表的变化

使用fdisk或其他命令创建一个新的分区,然后使用partprobe命令重新读取分区表。这个命令执行完毕后不会输出任何返回信息。

 

partprobe: 用于重读分区表,当出现删除文件后,出现仍然占用空间。可以partprobe在不重启的情况下重读分区。

     将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表。

    -d 不更新内核

    -s 显示磁盘分区汇总信息

    -h 显示帮助信息

    -v 显示版本信息

eg:

    partprobe /dev/sdb

    当磁盘分区信息完整时,手动删除/dev/disk/by-id目录下对应的wwn链接文件,执行partprobe操作,系统会自己创建删除的链接文件。

    通过udevadmin monitor命令可以监控到相关信息。

 


 

总结:在使用fdisk命令创建分区后,可以使用partx和partprobe使系统内核加载分区信息,然后使用lsblk或partx -s 设备名 查看修改后的设备分区信息,给分区做上文件系统后,可以使用blkid命令查看设备信息,以及其文件系统等信息。

使用partx -s/ partx -l 查看分区信息如果出错,可能是信息未被登记,可使用partx -a 设备名 来添加,再进行查看。