VirtualBox 中虚拟硬盘有几种形式,VMDK、VDI、VHD、HDD等。
VMDK:是VMware开发并使用的,同时也被SUN的xVM、QEMU、SUSE Studio、.NET DiscUtils支持,所以兼容性会好些。
VDI:是Virtual Box 自己的处理格式,而且Virtual Box支持Windows和Linux,所以对于使用VirtualBox的用户比较好。
VHD:是Windows专有的处理格式,HDD是Apple专有的处理格式,所以不会支持跨平台,一般不会考虑。
扩容磁盘文件
D:\VirtualBox 是 VirtualBox 的安装路径 ,VBoxManage 是我们要使用到的工具 , 单位是 M,1024M 就表示1G,40960 表示分配40G的空间给这个盘
1.1 VDI
在WINDOWS 的 CMD 上执行命令
D:\VirtualBox\VBoxManage modifyhd centos7.vdi --resize 40960
1.2 VMDK
如果是VMDK就要先转换成VDI,然后再扩容:
// vmdk是转换前的文件,vdi是转换之后的文件
D:\VirtualBox\VBoxManage clonehd "centos7.vmdk" "centos7.vdi" --format vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vdi'. UUID: ce35ce1e-438c-433c-9c65-0c84d4747369
// 设备要扩容的容量
D:\VirtualBox\VBoxManage modifyhd "centos.vdi" --resize 40960
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
如果想再转回为VMDK,用这个命令就可以了,Virtual Box 建议用
vdi
格式
D:\VirtualBox\VBoxManage clonehd "centos7.vdi" "centos7-2.vmdk" --format vmdk
指定新磁盘文件
接下来,打开虚拟机,选择系统 > 右击 > 设置 > 存储 > 控制器SATA > 右边的添加虚拟硬盘 > 选择转换后的文件 。
通过LVM来扩展分区。
通过 df -h
命令,可以看到我们现在的磁盘空间占用,已经是100%了
执行 fdisk /dev/sda
这时候我们通过 fdisk -l 查看,就可以看到多了个 /dev/sda3
我们的新建分区/dev/sda3,却不是LVM的。所以,接下来使用fdisk将其改成LVM的
# fdisk /dev/sda
Command (m for help): m
Command (m for help): t //改变分区系统id
Partition number (1-4): 3 //指定分区号
Hex code (type L to list codes): 8e //指定要改成的id号,8e代表LVM
Changed system type of partition 3 to 8e (Linux LVM)
Command (m for help): w
修改后我们可以看到后面已经带了LVM了
重新启动系统
//格式化
mkfs.ext4 /dev/sda3
执行 vgdisplay
创新建的物理卷 pvcreate /dev/sda3
执行扩展到卷组 vgextend centos /dev/sda3
因为我的盘已经满了没有空间,所以会报下面的错误,删掉一点没用的文件腾出空间就可以
Couldn't create temporary archive name. Volume group "centos" metadata archive failed.
再次执行 vgdisplay
查看一下
执行 lvdisplay
可以查看根分区路径
扩展到容量逻辑分区lvextend /dev/cetnos/root /dev/sda3
如果出现 UUID 的错误,可以执行
vgreduce --removemissing centos
如下出现下面的错误,xfs用以下命令来扩磁盘空间
执行 cat /etc/fstab | grep centos-home
看是不是 xfs
执行 xfs_growfs /dev/mapper/centos-root
最后 df -h
查看一下,我们的虚拟机又复活了!!
网友评论