KVM VM硬盘满的解决方案
搭建OpenStack时只分配了3G大小给镜像,导致安装到一半空间满了。此时有两个办法,一是再加一块硬盘给VM,但是需要以后安装的文件都安装到对应的挂在目录下;二是扩展现有硬盘的大小。这里选择第二种。
首先记得创建快照
virsh snapshot-create controller1
修改镜像大小
qemu-img resize <img path> +<size>
下面进入VM操作。
进入vm后,首先查看一下系统当前的硬盘
sudo su
fdisk -l
我的容量扩展到了/dev/sda。这里就要对/dev/sda新建分区
fdisk /dev/sda
n #n代表创建新分区
p #p代表新建主分区
#这里使用默认的分区号,直接回车,但是要记住这个默认的分区号
#这里是选择start sector,这里有个注意点,记得选择比现存所有分区的end sector都大的值,不然会出现分区无法包括所有剩余空间的问题
#这里选择end sector,使用默认值
t #更改分区类型
3 #选择分区号,我的是3
8e #8e代表LVM
w #保存修改并退出fdisk
partprobe #这条指令可以使你在不重启系统的情况下使用新创建的硬盘分区
上面的命令执行结束会多出来一个硬盘分区,我的是/dev/sda3。下面创建相应的物理卷
pvcreate /dev/sda3
可以使用pvs
命令查看新创建的物理卷。下面将新的物理卷加入逻辑卷
vgextend ubuntu14-base-vg /dev/sda3
ubuntu14-base-vg
是我使用KVM创建VM时自动创建的逻辑卷组,已经mount到了/
,这里我的目的就是要扩容/
。此时可以使用vgs
查看VFree
是否扩大了。
下面扩展逻辑卷
lvextend -L +<size> /dev/ubuntu14-base-vg/root
扩展结束后,使用df -h
查看,会发现/
的大小还没变。这时要执行resize2fs
resize2fs /dev/ubuntu14-base-vg/root
再使用df -h
查看,会发现/
的大小变化了。