Centos系统如何扩充磁盘容量及默认root目录50G解决方案


使用 VMware 构建 Centos 虚拟机是常规操作,但是有时候会出现安装时候设定的磁盘容量,使用过程不够需要扩容,虽然本身 VMware 能够在设置中对磁盘进行扩容,但是存在一个问题即使这种扩容只是给虚拟机增加了对应的磁盘容量,但是没有实际挂载到虚拟机上的,也就是扩容了,但实际不能使用,还需要进入到 Centos 系统中另外进行一系列操作才能够完成具体的配置。
另外还有一种情况,你在构建 Centos 系统的时候,设置的磁盘空间大于 50G,此时 Centos 会自动将其分为主要的两个部分,分别是centos-homecentos-root,其中centos-root是默认为 50G,剩下的都放在了centos-home下,但是很多自己构建虚拟机操作基本都是在centos-root下,这样就会导致centos-home下实际是闲置空间,不能得到很好的利用。这个时候就需要将centos-home移除,把对应的空间分给centos-root
就上面的两个问题,一个是扩容磁盘,一个是空间转移,下面说一下具体解决方案。

1. 环境说明

构建虚拟机工具:VMware
虚拟机系统:Centos 7

2. 扩容磁盘

2.1 指定扩容空间

在 VMware 中右键对应的虚拟机,找到硬盘,点击后,在磁盘实用工具下有个扩展,指定扩展后的容量即可。(在进行此操作前,需要选关闭虚拟机,否则扩展功能是是用不了的)

2.2 扩容设置

上一步扩展完成后,启动虚拟机,按照一下步骤执行。

  1. 输入df -h命令,查看centos-root空间大小;
  2. 输入fdisk -l命令,查看磁盘空间大小,看第一行Disk /dev/sda: xxxxGB,发现增加的磁盘空间已经增加到了/dev/sda下面了;
  3. 输入fdisk /dev/sda,格式化/dev/sda,新建/dev/sda3分区。执行输入信息如下:
    • Commond(m for help):n(输入值 n,并回车)
    • Select (default p):p(可输入 p 或者直接回车)
    • Partition number(3,4,default 3):3 (输入 3 或者直接回车)
    • First sector (xxxx-xxxx,default xxx):(直接回车)
    • Last sector,+sectors or +size(K,M,G) (xxx-xxx, default xxxx):(直接回车)
    • Commond (m for help):t (输入 t,并回车)
    • Partition number(1-3,default 3):(直接回车)
    • Hex code (type L to list all codes):8e(输入 8e,并回车)
    • Commond(m for help):w(输入 w,并回车)

  1. 第三步配置完成后,使用reboot命令重启虚拟机;

  2. 输入pvcreate /dev/sda3,新建物理卷/dev/sda3

  1. 输入pvdisplay命令,查看物理卷信息,这个时候就能看打了/dev/sda3物理卷的存在了;

  1. 使用vgextend centos /dev/sda3将新增加的分区/dev/sda3加入到根目录分区 centos 中;

  1. 使用vgdisplay查看物理卷组信息,可以看到 Free 中多出了增加的容量空间;

  1. 使用lvresize -L +19.99G /dev/centos/root命令扩展磁盘空间(假设这里是扩展 20G,这里直接使用+20G 可能会报错,原因是空间不够,因此这里使用+19.99G);

  1. 使用xfs_growfs /dev/centos/root重新识别磁盘空间;

  1. 使用df -h查看扩容后的大小。

Tips:按照上面的步骤依次操作即可完成磁盘空间的扩容,看着挺复杂的,操作起来几分钟搞定。

3. 空间转移

在创建虚拟机的时候,如果硬盘空间高于 50G 的时候,会将超过 50G 的部分分配到centos-home中。

centos-home下的空间转移到centos-root下,具体操作如下。

  1. 如果centos-home中有重要数据,可以实现备份一下,使用tar zcxf /usr/local/home.tar.gz /home命令打包,放到/usr/local/目录下。如果没有重要数据,直接忽略此步;
  2. 修改/etc/fstab文件,因为这个文件有配置开机扫描/home,如果不将此文件中扫描的命令注释,可能在下次启动机器的时候,就会出现启动不起来的问题;
vim /etc/fstab
# 注释下面这行
# /dev/mapper/centos-home /home

  1. 卸载/home,执行umount /home命令;
  2. 删除/home所在的lv,执行命令lvremove /dev/mapper/centos-home(执行时,需要输入 y 确认);

  1. 扩展root,使用命令lvextend -L +21.1G /dev/mapper/centos-root,在执行这个命令的时候,需要注意,比如在df -h命令显示centos-home是 22G,此时在拓展的时候,实际是没有 22G 的,基本在 21.1G 左右,如果报错,再继续减少即可;

  1. 重新识别磁盘空间,执行命令xfs_growfs /dev/centos/root

  1. 使用df -h查看扩容后的大小。


文章作者: 程序猿洞晓
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 程序猿洞晓 !
评论
 上一篇
nginx基础学习(八):Nginx内网环境离线安装全过程 nginx基础学习(八):Nginx内网环境离线安装全过程
内网环境安装nginx,yum命令没法使用,nginx所需要的依赖都需要手动安装,很是麻烦,但是又不可避免,刚好经历了一次,在参考网上资料的情况下,成功安装,特记录以备以后使用。
2023-10-10
下一篇 
jenkins打包部署配置详解(前端+后端) jenkins打包部署配置详解(前端+后端)
测试环境频繁的部署发包,如果使用原始的上传运行方式太麻烦,引入jenkins可以提高这个过程的效率,搞起来……
2023-08-12
  目录