概述
今天主要分享Linux常用的几个磁盘管理命令:partx,lsblk,blkid,partprobe。
1、partx
语法:
partx [-a|-d|-l] [--type TYPE] [--nr M-N] [partition] disk
解释:
对一个磁盘或者分区表类型,尝试解析分区表。可以增加或删除分区。但不是fdisk,增加,删除分区对磁盘造成改变,只是告诉内核当前磁盘的分区情况。
修改磁盘分区表后,无需重启,用partx命令告诉内核,分区已改动,内核可以读入新的分区表信息,/proc/partitions记录了系统中所有硬盘及其上面的分区,包括已挂载和未挂载的。
有些硬盘没有记录分区信息,可能是没有分区,也可能是未记录,对于分区完成,但是尚未挂载的硬盘分区,partx告诉内核去做登记,已被挂载。
partx告诉内核去识别,登记某个硬盘上的分区信息。并不是加载,只是识别并记录而已,或者删除某个分区的信息。
选项:
-a 增加制定的分区或读磁盘新增的分区-d 删除制定或所有的分区-l 列出分区--type 指定分区类型。dos,bsd,solaris,unix,或者gpt--nr M-N 指定分区范围
实例:通过partx工具让内核重读磁盘分区表信息
partx -s /dev/sda #显示磁盘分区信息
2、lsblk
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 :本栏指出设备挂载的挂载点。
3、blkid
blkid命令:显示关于可用块设备的信息,他可以识别一个块设备内容的类别(如文件系统,交换区)以及从内容的元数据(如卷标或UUID字段)中获取属性(如tokens和键值对)。它主要有两类作用:用指定的键值对搜索一个设备,或是显示一个或多个设备的键值对。
不添加任何参数直接运行blkid将会输出所有可用的设备,他们的通用唯一识别码(UUID),文件系统类型以及卷标(如果有设置过)
实例:查询所有的设备的文件系统类型
blkid
4、partprobe
partprobe:通知系统分区表的变化,将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表。
使用fdisk或其他命令创建一个新的分区,然后使用partprobe命令重新读取分区表。这个命令执行完毕后不会输出任何返回信息。
说明:
-d 不更新内核-s 显示磁盘分区汇总信息-h 显示帮助信息-v 显示版本信息
实例:查看某个系统分区有无变化
partprobe /dev/sdb
总结
在使用fdisk命令创建分区后,可以使用partx和partprobe使系统内核加载分区信息,然后使用lsblk或partx -s 设备名 查看修改后的设备分区信息,给分区做上文件系统后,可以使用blkid命令查看设备信息,以及其文件系统等信息。使用partx -s/ partx -l 查看分区信息如果出错,可能是信息未被登记,可使用partx -a 设备名 来添加,再进行查看。
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~