缘由:今天进行doris的Star-Schema-Benchmark测试的时候,发现虚拟机内存不够,计划将已分配硬盘30G扩容到100G,全程步骤如下:
1.1 在VMware中,找到要扩容的操作系统,点击虚拟机设置,点击扩展。
1.2 输入要扩大到多少G,点击扩展
1.3 提醒你去客户端操作系统重新分区以及扩展文件系统,点击确定。
注:前面的步骤是都需要做的,如果是windows系统磁盘扩容就不需要步骤2.x了,下面进入centos后续扩展步骤。
2.1 首先,打开虚拟机,可使用Xshell或其他终端模拟软件连接,便于复制命令,然后输入“df -h”命令,并回车,在终端界面中可以看到原本30G的磁盘,并未扩容。
如图:
2.2 接着,在终端界面中输入“fdisk -l”命令,查看新磁盘的分区信息。
如图:
2.3 然后,在终端界面中输入“fdisk /dev/sda”命令,对新加的磁盘进行分区操作(选择新增的磁盘),并回车。
如图:
2.4 在让你“请三思”下面输入“p”命令,回车,查看已分区的数量。接着,输入“n”命令,回车,新增一个分区。
如图:
2.5 接着,在终端命令窗口中输入“p”命令,回车,在打开的分区号命中使用默认的分区号(我这里是默认3),并回车。
接着,在显示的起始扇区直接敲回车键,在弹出的Last后面中,直接敲回车键即可进入下一步(在如图画框位置直接使用回车即可进入下一步)。
接着,继续在终端命令窗口中输入“p”回车,查看当前分区的信息,在显示的信息中就可以看到已经多了一个新的分区了,大小就是刚设置的大小。
1
| 2.5步骤 需要依次输入: p 3 空格 空格 p (其中的3是它会提示你的默认值,你输入你自己的)
|
2.5步骤如图:
2.6 接着,在终端命令中输入“w”命令,回车,写入磁盘信息并保存。
如图:
2.7 接着,在终端命令窗口中,输入“reboot”回车,重启虚拟机格式化新建分区。这里可能需要你手动重启,然后再打开,不然可能一直卡在下图:
2.8 重新连接后,打开终端命令,在命令窗口中输入“vgdisplay”,查看磁盘卷组名。
如图:
2.9 接着,在终端命令窗口中输入“pvcreate /dev/sda3”命令并回车,初始化刚建立的分区。
如图:
3.0 接着,在终端命令窗口中输入“vgextend centos /dev/sda3”命令并回车,把刚初始化的分区加入到虚拟卷组名中(命令: vgextend 虚拟卷组名 新增的分区)。
1
| vgextend centos /dev/sda3 注:这里我的centos是2.8步骤查出来的卷组名,不同机器可能不一样
|
如果你出现下图就是成功了,如图:
如果你出现的是下图,则说明磁盘占用到100%了,你需要先去删一些不需要的文件
解决办法:首先输入“df -h”查看文件系统大小,看/dev/mapper/centos-root这一行的可用大小是多少,我这次失败是因为只剩20K了,于是去/opt/software中删了一个jdk的压缩包,空出了180多M出来。
3.1 可以看到,成功了,接着,继续在终端命令窗口中输入“vgdisplay”命令,查看卷组的详细信息,在详细信息中可以看到刚增加的70G空间还是处于空闲的状态。如图:
3.2 接着,继续在终端命令窗口中输入“# lvextend -L +69G /dev/mapper/centos-root”命令并回车,扩容已有的卷组容量(注意:如果您扩容的是70G,这里70G就不能全部扩展,只能扩展比70G小的容量,不然系统会报错导致扩容失败,我这里只扩容69G。命令:lvextend -L +需要扩展的容量 需要扩展的文件系统名,需要注意命令中区分字母的大小写)。如图:
3.3 接着,继续在终端命令窗口中输入“pvdisplay”命令并回车,查看当前的卷组,在显示的信息中卷组已经扩容成功了,接下来需要将文件系统也扩容。
如图:
3.4 接着,继续在终端命令窗口中输入“cat /etc/fstab | grep centos-root”命令并回车,查看文件系统的格式。
1
| cat /etc/fstab | grep centos-root
|
接着,在上一步已经看到了文件系统的格式了,就需要使用相应的命令来扩展磁盘空间,在终端命令中输入“xfs_growfs /dev/mapper/centos-root”命令并回车(命令:xfs_growfs 文件系统名,不同的文件系统要用不同的命令,不然会导致报错)。
1
| xfs_growfs /dev/mapper/centos-root
|
接着,等待系统自动扩容完成,完成后,在终端命令窗口中输入“df -h”命令并回车,查看磁盘大小是否扩容成功,在显示的磁盘信息中,可以看到磁盘扩容成功了。如上图。