有时候,虚拟机随着使用,会导致存储不够,这时就需要给虚拟机扩容。
扩容的前提是,此虚拟机没有快照。
扩容时,需要编辑虚拟机设置。为了形成对比,第一张图片是扩容前,第二张图片是扩容成功之后。
但是当我们启动系统,使用命令df -h查看磁盘大小时,发现容量还是20G,没有将我们扩展的10G添加进去,是因为我们还没有将它格式化,挂载上去。
接下来的步骤讲一讲,如何将自己新加的硬盘挂载到虚拟机中。
增加的磁盘为/dev/sda
运行以下命令:
fdisk /dev/sda
p 查看已分区数量
n 新增加一个分区
p 分区类型我们选择为主分区
分区号选3(选择默认即可,它会有所提示)
回车 默认(起始扇区)
回车 默认(结束扇区)
t 修改分区类型
选分区3
8e 修改为LVM(8e就是LVM)
w 保存刚才创建的分区
q 完成,退出fdisk命令(有时这条命令不用输入)
操作完上述命令后,使用partprobe 命令或者重启机器(reboot),这是为了将分区信息记录到分区表中
完成上述命令之后,进行格式化分区
mkfs.ext3 /dev/sda3
-
然后添加新LVM组到已有的LVM组,实现扩容:
lvm 进入lvm管理
lvm>pvcreate /dev/sda3 这是初始化刚才的分区,必须的
lvm>vgextend cl /dev/sda3 将初始化过的分区加入到虚拟卷组centos (卷和卷组的命令可以通过 vgdisplay )
lvm>vgdisplay -v
lvm>lvextend -l+21556 /dev/mapper/cl-root 扩展已有卷的容量(21556 是通过vgdisplay查看的free的大小)
lvm>pvdisplay 查看卷容量,这时你会看到一个很大的卷了
lvm>quit 退出
在这里需要注意一点,在命令lvm>vgextend cl /dev/sda3和lvm>lvextend -l+21556 /dev/mapper/cl-root中,不是每个虚拟机命令都是cl,这个具体要看你的虚拟机文件系统配置,如果是cl-root,可以直接使用命令,否则需要按照自己的文件系统进行一些修改
接下来将添加的硬盘,添加至根分区:
lvextend -l +100%FREE /dev/cl/root
此时,可以看到已经成功添加新的硬盘。
以上只是完成了卷扩容,还需要对文件系统扩容进行操作,一条命令即可:
xfs_growfs /dev/mapper/cl-root
同样,命令中的cl-root要注意自己的文件系统
到此,虚拟机扩展存储空间步骤完毕。如果不放心,可以使用df -h命令,查看磁盘空间,我们可以看到已经将磁盘空间,由原来的20G成功扩展到30G
虚拟机存储空间扩容至此结束。
如果是给虚拟机扩展CPU和内存,直接关机,对虚拟机进行修改,然后开机即可。
倒腾了存储空间扩容之后,发现还是扩展CPU和内存简单。