pe读linux硬盘分区工具_linux磁盘分区管理
3.5.1磁盘分区概念linux系统磁盘分区有两种分区方式,主分区(PrimaryPartion)和扩展分区(extended partion)。每个磁盘设备最多四个分区,也就是说,主分区加上扩展分区的数量之和不能超过4;主分区最少1个最多4个;扩展分区可以没有,最多1个;对于大型的应用系统来说,4个分区可能无法满足需求,于是就有了逻辑分区(logical partion),它是在扩展分区下的..
3.5.1 磁盘分区概念
linux系统磁盘分区有两种分区方式,主分区(Primary Partion)和扩展分区(extended partion)。每个磁盘设备最多四个分区,也就是说,主分区加上扩展分区的数量之和不能超过4;主分区最少1个最多4个;扩展分区可以没有,最多1个;对于大型的应用系统来说,4个分区可能无法满足需求,于是就有了逻辑分区(logical partion),它是在扩展分区下的分区,逻辑分区无分区数量限制。
磁盘的分区顺序,常有sda1/sda2/sda3/sda4,分别代表第一、二、三、四分区;当磁盘有了分区后是不能直接使用的,必须对分区进行格式化并将其挂载在系统目录上方可使用。所以,在磁盘的管理上就有了一些满足对磁盘查询查看,分区、格式化、挂载、扩容、修复等命令工具,这些工具是磁盘管理的重要技能,务必熟识。
3.5.2 磁盘管理命令
1)文件系统磁盘统计----df
作用:查看系统磁盘使用信息
参数:-h 自动选择合适单位显示磁盘大小;-i 显示磁盘iNode信息; -T显示文件系统类型。
[root@centos7 ~]#df#默认KB单位显示信息[root@centos7 ~]#df -h#自适应单位显示磁盘信息[root@centos7 ~]#df -i#查看磁盘的inode信息[root@centos7 ~]#df -T#显示磁盘文件系统类型(格式)
2)目录文件容量统计----du
作用:查看目录或文件的大小
参数:-h 自动选择合适单位显示磁盘大小;-s 仅显示统计总量。
[root@centos7 ~]#du -h u.txt#查看指定文件大小[root@centos7 ~]#du -h /home/#列出查看home目录下文件目录大小[root@centos7 ~]#du -sh /home#查看home目录的总大小[root@centos7 tmp]#du -sh *#查看tmp目录下的所有文件目录大小
3)查看块设备----lsblk
作用:查看块设备详细信息
[root@centos7 ~]#lsblk#默认查看设备信息[root@centos7 ~]#lsblk -m#显示磁盘权限属性信息[root@centos7 ~]#lsblk -f#显示磁盘分区的文件系统类型
4)编辑分区表----fdisk
作用:编辑分区表,划分磁盘
[root@centos7 ~]#fdisk -l#列出分区表[root@centos7 ~]#fdisk /dev/sdb#编辑分区表编辑分区表常用参数:m :显示菜单和帮助信息d :删除分区l :显示分区类型n :新建分区p :显示分区信息q :退出不保存t :设置分区号v :进行分区检查w :保存修改
5)格式化分区----mkfs
作用:把磁盘格式化成指定的文件系统
[root@centos7 ~]#mkfs -t xfs /dev/sda2#将设备sda2格式化成xfs文件系统[root@centos7 ~]#mkfs -t ext4 /dev/sdb2#将设备sdb2格式化成ext4文件系统
6)挂载与卸载----mount / umount
作用:挂载卸载文件系统
参数:-t 执行文件系统类型;-o 指定ro(只读)/rw(读写);-a 加载分区配置。
[root@centos7 ~]#mount /dev/sdb3 /data#将sdb3分区磁盘挂载到data目录[root@centos7 ~]#mount -o ro /dev/sdb2 /test#将只读的设备挂载到test目录[root@centos7 ~]#mount -a#加载分区表/etc/fstab所有配置[root@centos7 ~]#mount /dev/cdrom /mnt#将光驱挂载到mnt[root@centos7 ~]#mount centos7.iso /mnt#将镜像挂载到mnt[root@centos7 ~]#umount /dev/sdb2#卸载磁盘sdb2
提示:当卸载磁盘时出现设备忙的提示,说明磁盘正在被程序使用,停止应用进程即可卸载,使用yum install -y psmisc安装fuser命令,fuser -m /dev/sdb1 就可查看使用磁盘的进程,根据进程号停止服务,kill - 9 pid。
7)扩容----resizefs/xfs_growfs
作用:扩展磁盘的容量
[root@centos7 ~]#xfs_growfs /dev/sdb1#xfs格式非LVM扩容sdb1[root@centos7 ~]#xfs_growfs /dev/centos/root#xfs格式LVM扩容根分区[root@centos7 ~]#resize2fs /dev/sdb2#ext4格式非LVM扩容sdb2
提示:扩容是一个复杂的操作过程,上面是扩容的最后扩容命令。
8)磁盘修复----fsck
作用:检查修复文件系统
[root@centos7 ~]#fsck -p /dev/sdb1#自动检测修复文件系统错误[root@centos7 ~]#fsck -f /dev/sdb1#强制检查文件系统[root@centos7 ~]#fsck -rv -t xfs /dev/sdb1#指定xfs文件系统的交互式检查
3.5.3 fdisk磁盘分区管理实例
使用fdisk管理分区表,首先给机器加上一个新磁盘设备sdb,大小20G,下面是分区管理操作示例。
1)创建分区
使用命令fdisk /dev/sdb对sdb执行分区如下图,m是查看交互式参数命令
1 创建第一个分区sdb1,创建过程是n-->p-->1--默认-->+5G-->w。
2 创建第二个分区sdb2,创建过程是p--n-->p-->2-->默认-->+6G-->w。
3 创建一个扩展分区sdb3,创建过程是n-->e-->3-->默认-->+3G-->w。
4 创建一个逻辑分区sdb5,创建过程是n-->l-->5-->默认-->+1G-->w。
2)格式化分区
当分区创建完成后,需要对分区进行格式化
[root@centos7 ~]#mkfs -t xfs -f /dev/sdb1#将sdb1格式化为xfs文件系统[root@centos7 ~]#mkfs -t ext4 /dev/sdb2#将sdb2格式化为ext4文件系统[root@centos7 ~]#mkfs -t xfs -f /dev/sdb5#将sdb5格式化为xfs文件系统
3)挂载分区
1 执行临时挂载,机器重启后挂载将失效
[root@centos7 ~]#mkdir /data /test /prod#创建挂载目录[root@centos7 ~]#mount /dev/sdb5 /test#将sdb5挂载到test目录[root@centos7 ~]#mount /dev/sdb2 /prod#将sdb2挂载到prod目录[root@centos7 ~]#mount /dev/sdb1 /data#将sdb1挂载到data目录
2 永久挂载,将挂载配置写到fstab文件
将需要挂载的配置写入/etc/fstab中,执行mount -a 加载配置。
[root@centos7 ~]#vi /etc/fstab添加下载挂载配置/dev/sdb5 /test xfs defaults 0 0/dev/sdb2 /prod ext4 defaults 0 0/dev/sdb1 /data xfs defaults 0 0保存后[root@centos7 ~]#mount -a
4)卸载分区
卸载分区可以直接使用umount卸载,当有进程正在使用该磁盘时,无法成功卸载;必须停止占用磁盘的进程方能正常卸载,其中fuser命令可以查看到占用磁盘的进程,然后停止该进程即可执行卸载。
[root@centos7 ~]#umount /dev/sdb5#卸载sdb5[root@centos7 ~]#yum install -y psmisc#安装fuser命令[root@centos7 ~]#fuser -m /dev/sdb5#查看正在使用磁盘的进程[root@centos7 ~]#kill -9 12356#强制停止该pid进程[root@centos7 ~]#umount /dev/sdb2#卸载sdb2
3.5.4 LVM逻辑卷概念
1)LVM概念
LVM(Logical volume Manager)是逻辑卷管理的简称,它是磁盘分区的一种管理机制,将多个存储设备统一管理成一种逻辑磁盘设备,划分逻辑卷磁盘分区,并允许动态调整逻辑卷分区的大小。LVM创建中主要使用下面几个概念。
PV(Physical Volume):物理卷是逻辑存储块设备,它与底层的磁盘设备或分区是逻辑对应关系。VG(Volume Group):卷组是逻辑概念上的磁盘,由一个或多个物理卷组和而成。PE(Physical Extent):物理域是将物理卷组合成卷组后划分的最小存储单位,默认是4MB。LV(Logical Volume):逻辑卷是逻辑上的磁盘分区。
2)LVM命令工具
1 pvcreate / pvdisplay / pvremove
作用:创建/查看/删除物理卷,pvcreate本质是对磁盘或分区进行初始化
[root@centos7 ~]#pvcreate /dev/sdb{1,2,3}#创建物理卷[root@centos7 ~]#pvscan#列出查看物理卷[root@centos7 ~]#pvdisplay#查看详细物理卷信息[root@centos7 ~]#pvremove /dev/sdb{1,2,3}#删除物理卷
2 vgcreate / vgdisplay / vgextend / vgremove
作用:创建/查看/扩展/删除卷组
[root@centos7 ~]#vgcreate lidao_vg1 /dev/sdb1 /dev/sdb2#创建卷组lidao_vg1[root@centos7 ~]#vgscan#列出查看卷组[root@centos7 ~]#vgdisplay#查看卷组详情[root@centos7 ~]#vgextend lidao_vg1 /dev/sdb3#给卷组lidao_vg1增加物理卷扩容[root@centos7 ~]#vgremove lidao_vg1#删除卷组lidao_vg1
3 lvcreate / lvdisplay / lvextend / lvremove
作用:创建/查看/扩展/删除逻辑卷
参数:-L 指定逻辑卷大小;-n 指定逻辑卷名称
[root@centos7 ~]#lvcreate -L 3G -n data_lv1 lidao_vg1#创建3G的逻辑卷data_lv1[root@centos7 ~]#lvscan#列出查看逻辑卷[root@centos7 ~]#lvdisplay#查看逻辑卷详情[root@centos7 ~]#lvextend -L +5G /dev/lidao_vg1/data_lv1#给逻辑卷data_lv1扩容5G[root@centos7 ~]#lvremove /dev/lidao_vg1/data_lv1#删除逻辑卷data_lv1
3.5.5 LVM分区管理实例
lvm创建过程:创建pv--->创建vg--->创建lv--->格式化lv--->挂载lv
lvm扩容过程:增加pv----加入vg---扩容lv--->更新文件系统
lvm删除过程:卸载lv--->删除lv--->删除vg--->删除pv
1)创建lvm分区实例
限于本机电脑磁盘的大小,这里使用一个20G大小的磁盘sdb作为实例磁盘,首先创建四个分区sdb1/sdb2/sdb3/sdb4,使用前两个磁盘分区创建一个逻辑卷组vg_ops,然后从该卷组中创建两个逻辑卷ops_app、ops_web,并执行格式化和挂载。
1 创建分区
[root@centos7 ~]# fdisk /dev/sdbn-->p-->1-->默认-->+5G;n-->p-->2-->默认-->+4G;n-->p-->3-->默认-->+5G;n-->p-->4->默认-->+4G--->w。创建四个分区过程如下图:
2 创建卷组
这里使用sdb1和sdb2两个磁盘来创建卷组vg_ops,具体步骤如下:[root@centos7 ~]#pvcreate /dev/sdb1 /dev/sdb2[root@centos7 ~]#vgcreate vg_ops /dev/sdb1 /dev/sdb2
3 创建逻辑卷
使用vg_ops卷组创建两个逻辑卷ops_app、ops_web步骤如下:[root@centos7 ~]#lvcreate -n ops_app -L 3G vg_ops[root@centos7 ~]#lvcreate -n ops_web -L 3G vg_ops
4 格式化与挂载
将ops_web卷格式化成ext4格式文件系统,将ops_app格式化成xfs格式文件系统,并将其分别挂载到web、app目录[root@centos7 ~]#mkfs -t ext4 /dev/vg_ops/ops_web[root@centos7 ~]#mkfs -t xfs -f /dev/vg_ops/ops_app[root@centos7 ~]#mkdir /web /app[root@centos7 ~]#mount /dev/vg_ops/ops_web /web[root@centos7 ~]#mount /dev/vg_ops/ops_app /app[root@centos7 ~]#df -Th
2)lvm分区扩容实例
lvm分区扩容有两种情况,一种是vg卷组容量不足,一种是lv逻辑卷容量不足,下面统一扩容。将新磁盘或分区加入到卷组,执行卷组扩容命令即可;逻辑卷大小调整,需要执行逻辑卷扩容命令,并且要执行更新到文件系统才会生效。下面是扩容操作实例。
1 卷组扩容
将sdb3磁盘分区添加到vg_ops卷组中,首先使用pvcreate初始化,然后用vgextend进行扩容。[root@centos7 ~]#pvcreate /dev/sdb3[root@centos7 ~]#vgextend vg_ops /dev/sdb3[root@centos7 ~]#vgdisplay vg_ops
2 逻辑卷扩容
逻辑卷扩容,首先查看所在卷组的容量是否还能满足需求,若卷组容量不足则先扩容卷组(如上);在卷组能够满足逻辑卷扩容需求时,按照下面步骤执行lv扩容,先试用lvextend扩容逻辑卷ops_web和ops_app,然后根据文件系统格式选择合适的更新命令,相当于对新增空间的格式化,ext4格式使用resize2fs,xfs格式使用xfs_growfs。[root@centos7 ~]#lvextend -L +2G /dev/vg_ops/ops_web[root@centos7 ~]#lvextend -L +2G /dev/vg_ops/ops_app[root@centos7 ~]#resize2fs /dev/vg_ops/ops_web[root@centos7 ~]#xfs_growfs /dev/vg_ops/ops_app[root@centos7 ~]#df -Th
3)删除lvm实例
当逻辑卷分区不再使用时,可以删除以释放磁盘设备。删除时要先卸载文件系统,接着删除逻辑卷,然后删除卷组,最后清理物理卷,这个顺序与创建时顺序相反。[root@centos7 ~]#umount /dev/vg_ops/ops_web[root@centos7 ~]#umount /dev/vg_ops/ops_app[root@centos7 ~]#lvremove /dev/vg_ops/ops_web[root@centos7 ~]#lvremove /dev/vg_ops/ops_app[root@centos7 ~]#vgremove vg_ops[root@centos7 ~]#pvremove /dev/sdb{1,2,3}
3.5.6 非LVM磁盘分区扩容
当一个磁盘分区未使用lvm分区挂载时,能否扩容取决于所在磁盘设备空间大小,如果容量有剩余,则可以给该区扩容。现在有磁盘设备sdb大小20G,当前分区有一个xfs格式的sdb1大小5G,挂载在/test目录,由于业务量的增加,当前磁盘分区sdb1无法满足需求,需要给sdb1在线扩容。下面是非lvm分区sdb1的扩容操作步骤。
[root@centos7 ~]#fdisk /dev/sdbsdb分区操作 p--->d--->1--->n--->p--->1--->2048--->+10G--->w[root@centos7 ~]#partprobe /dev/sdb[root@centos7 ~]#xfs_growfs /dev/sdb1[root@centos7 ~]#df -Th
本节磁盘分区知识,是日常磁盘管理的重要技能。除了学习上面的实例外,也要去研究不同环境状态下磁盘管理,比如把传统分区改为lvm分区、多个磁盘设备共建lvm、扩容根分区等,在测试环境中多多练习,探索多种可能性。俗话说,测试多流汗,生产少流泪,当面对不确定的情况时,必须充分测试验证后才可上生产。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)