磁盘管理命令之partx,lsblk,blkid,partprobe
partx:修改磁盘分区表后,无需重启,用partx命令告诉内核,分区已改动,内核可以读入新的分区表信息
/proc/partitions记录了系统中所有硬盘及其上面的分区,包括已挂载和未挂载的。
有些硬盘没有记录分区信息,可能是没有分区,也可能是未记录
对于分区完成,但是尚未挂载的硬盘分区,partx告诉内核去做登记,已备挂载。
partx告诉内核去识别,登记某个硬盘上的分区信息。并不是加载,只是识别并记录而已,或者删除某个分区的信息。
partx命令:
-a 设备: 登记某块盘上的所有分区信息。如果分区信息有记录,则报错。
-d 设备: 删除内核中关于某磁盘的所有分区的记录。(不是卸载)
-s 设备 :显示磁盘的分区信息
通过partx工具让内核重读磁盘分区表信息:
partx -d /dev/sdb #因为内核中存在部分未调整磁盘的信息,故先将所有信息清零
partx -a /dev/sdb #添加调整后的磁盘分区信息
partx -s /dev/sdb #显示磁盘分区信息
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,也就是文件系统层的磁盘大小,并且已挂载
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),文件系统类型以及卷标(如果有设置过)
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 设备名 来添加,再进行查看。