前面提到,因为某些特殊需要,一般建议在首次安装时就做好分区。但是难免有意外导致分区错误需要调整;或者是磁盘使用率高、不满足继续使用要求时,需要调整分区或者扩容。
1、磁盘分区错误
新建虚拟机时,给虚拟机本身分配有200G磁盘空间。
在分区时,模拟错误分区,对系统的默认分区不作调整。此时/目录只有50G,而/home分区有141GB。
进入系统后,使用df -h命令查看分区和磁盘使用情况。此时 /home 目录的磁盘空间需要移除,全部分给/root目录(也就是cl-root)。
使用fdisk -l查看物理磁盘挂载情况。
调整分区前正常是要备份数据的,可参考如下操作。但是新装系统没有什么数据的情况,可以不要数据,直接操作。
卸载/home。
如果/home存在进程,需要使用fuser -m -v -I -k /home终止/home下的进程,然后再使用umount卸载/home。
然后删除/home所在的lv。
lvremove /dev/mapper/cl-home
使用lvextend扩展逻辑卷/root,增加141G(如果增加空间超过可用大小,会报错)。
lvextend -L +141G /dev/mapper/cl-root
使用xfs_growfs对文件系统/root进行扩容。
xfs_growfs /dev/mapper/cl-root
2、创建/home分区
如果某些特定场景,需要使用/home分区,而开始没有划分,则可以参照下文进行添加。
使用vgdisplay命令查看剩余分区大小,然后创建一个逻辑卷“home”。
此时使用fdisk -l已经可以看到新的分区。
然后使用mkfs.xfs命令格式化分区,分区类型为xfs。
最后使用mount进行挂载,挂载位置为/home。再使用df -h进行查看,挂载成功。
3、对磁盘进行扩容
当磁盘空间不足时,需要对磁盘进行扩容。可以在虚拟机选项中直接增加磁盘大小,比如增加100G到300G。
使用fdisk命令对新加磁盘空间进行分区,先输入m查看帮助。
输入n选择增加新分区,输入p选择分区格式为主分区。然后直接按两次回车使用默认的起始扇区和结束扇区,这样能充分利用全部扇区。操作后提示100G分区已添加。
使用fdisk -l查看多出来一个/dev/sda3的磁盘。
使用pvcreate创建物理卷,键入命令pvcreate /dev/sda3,如果提示sda3找不到,可以使用partprobe或者重启虚拟机解决。
使用vgscan查询物理卷,可以查到本机物理卷名称为cl,然后使用vgextend扩展物理卷cl,键入命令vgextend cl /dev/sda3
。
再使用lvextend扩展逻辑卷,命令:lvextend -L +100G /dev/mapper/cl-root
。
接着用dh –f查看,发现实际容量并没有变化,因为系统还不认识刚添加进来的磁盘文件系统,所以还需要使用xfs_growfs对文件系统进行扩容。命令:
xfs_growfs /dev/mapper/cl-root
或者使用resize2fs –f 加上要扩展的分区名。
再使用df -h查看,分区扩展成功。
4、新增磁盘挂载扩容
实际使用中,也有可能当前存储用完了,需要新增其他分区,那么要使用添加硬盘,新增一块硬盘来处理。如下图,新增一块100G硬盘。
系统中使用fdisk -l查看,多了一块100G的sdb。
此时并不能直接使用,要使用fdisk进行分区。和前面类似,使用fdisk /dev/sdb对新硬盘进行分区。键入n创建分区,选择p分区类型为主分区,两次回车,最后w写入分区。
还是一样,使用partprobe通知系统分区表的变化,再使用pvcreate创建物理卷。使用vgscan查询物理卷,然后使用vgextend新增物理卷扩展cl。使用lvextend扩展逻辑卷,最后使用xfs_growfs对文件系统进行扩容。再使用df -h查看,分区扩展成功。