Centos7磁盘动态扩容
发布于2023-01-06 23:19:53,更新于2023-02-16 21:22:59,标签:devops 转载随意,文章会持续修订,请注明来源地址:https://meethigher.top/blog一、拆东补西
存储数据时,发现磁盘满了,但是有个磁盘/dev/mapper/centos-home是空闲的,所以打算将/dev/mapper/centos-home
扩容到/dev/mapper/centos-root
1.1 删除空闲卷
首先安装工具
1 | yum -y install psmisc |
终止使用用户。终止所有使用/home文件系统的进程,这里要注意不要在/home目录下执行下面的操作
1 | sudo fuser -km /home |
卸载
1 | sudo umount /home |
删除/home所在的逻辑卷lv
1 | sudo lvremove /dev/mapper/centos-home |
1.2 扩大目标卷
扩大逻辑卷
1 | sudo lvextend -L +100G /dev/mapper/centos-root |
扩大文件系统
1 | sudo xfs_growfs /dev/mapper/centos-root |
1.2 重建空闲卷
重建/home所需要的逻辑卷
1 | sudo lvcreate -L 1148M -n /dev/mapper/centos-home |
Volume group “centos” has insufficient free space (287 extents): 512 required.
1extent = 4M
创建文件系统
1 | sudo mkfs.xfs /dev/mapper/centos-home |
将文件系统挂载到/home
1 | sudo mount /dev/mapper/centos-home /home |
二、新增磁盘
2.1 硬盘命名规则
Linux对硬盘分区命名的规则
- 如果有多块硬盘,如IDE硬盘,则它们的名称都是
HD
开头。第一块硬盘就叫做HDA,第二块就是HDB…以此类推。 - 如果有多块SATA或者SCSI硬盘,则都是
SD
开头。同样第一块硬盘叫SDA,第二块硬盘叫SDB…以此类推。 - 如果用到了虚拟化的模拟设备,则是以
VD
开头。同样第一块硬盘叫VDA,第二块硬盘叫VDB…以此类推。 - 如果每一块硬盘要分区,则直接在名称后加上数字1、2、3…即可。所以我们在前面看到了sda1、sda2、sda3。
- LVM(Logical Volume Manager)表示逻辑卷管理,是在硬盘分区和文件系统之间添加的一个逻辑层,LVM使多个硬盘空间看起来像是一个大硬盘
2.2 实践
用VMWare模拟新增一块磁盘。
挂载磁盘后,执行命令fdisk -l
,可以查看磁盘信息
或者执行命令lsblk
,也可查看磁盘信息
由图可知,磁盘/dev/sdb未分配空间,所以需创建分区、格式化、挂载分区。
编辑磁盘
1 | # m参数表示帮助。w表示保存操作、q表示不保存操作 |
此时磁盘已经创建了分区,可以再次还行fdisk -l
查看,可以看到新增的分区sdb1
格式化刚划分的磁盘。
如果硬件存储设备没有进行格式化,则Linux系统无法得知怎么在其上写入数据。因此,在对存储设备进行分区后还需要进行格式化操作。在Linux系统中用于格式化操作的命令是 mkfs
。这个mkfs
命令很贴心地把常用的文件系统名称用后缀的方式保存成了多个命令文件,用起来也非常简单——mkfs.文件类型名称
。
查看支持的文件类型
1 | ls /usr/sbin/|grep mkfs |
查看当前磁盘主要的文件类型
1 | df -Th |
可知文件类型主要为xfs
,那就直接将文件系统/dev/sdb1
进行格式化为xfs
1 | mkfs.xfs /dev/sdb1 |
挂载到新目录
1.) 创建需要挂载的目录,进行挂载
1 | mkdir /test |
2.) 运行df -Th
,可查看最终挂载效果
挂载到已有目录
1.) 查看卷分组
1 | vgdisplay -v |
2.) 创建物理卷
1 | # 创建物理卷 |
3.) 扩展卷组centos,并扩展逻辑卷
1 | vgextend centos /dev/sdb1 |
4.) 运行df -Th
,可查看最终挂载效果
三、参考致谢
fdisk 命令实现磁盘分区详细教程_Stars.Sky的博客-CSDN博客
Linux LVM详解_大数据老司机的博客-CSDN博客_linux lvm