VirtualBox 在原盘的基础上扩充空间

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 > 右边的添加虚拟硬盘 > 选择转换后的文件 。

6881750-d178ae785f9ad487.png

通过LVM来扩展分区。

通过 df -h 命令,可以看到我们现在的磁盘空间占用,已经是100%了

6881750-024aa1d99e702701.png

执行 fdisk /dev/sda

6881750-e58ce1c2664fb4c1.png

这时候我们通过 fdisk -l 查看,就可以看到多了个 /dev/sda3

6881750-990a3229e5db9259.png

我们的新建分区/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了

6881750-5f9a73120bf50cd5.png

重新启动系统

//格式化
mkfs.ext4 /dev/sda3

执行 vgdisplay

6881750-e759f82475dec0ac.png

创新建的物理卷 pvcreate /dev/sda3

6881750-7392a57538a1f486.png

执行扩展到卷组 vgextend centos /dev/sda3

6881750-bafdd2e198673fdc.png

因为我的盘已经满了没有空间,所以会报下面的错误,删掉一点没用的文件腾出空间就可以

Couldn't create temporary archive name. 
Volume group "centos" metadata archive failed. 

再次执行 vgdisplay 查看一下

6881750-c8619a717ee830ba.png

执行 lvdisplay 可以查看根分区路径

6881750-0724bab221e24b1b.png

扩展到容量逻辑分区lvextend /dev/cetnos/root /dev/sda3

6881750-68ca4bccfb89b7ec.png

如果出现 UUID 的错误,可以执行

vgreduce --removemissing centos

如下出现下面的错误,xfs用以下命令来扩磁盘空间

6881750-97976f472c86a5dd.png

执行 cat /etc/fstab | grep centos-home 看是不是 xfs

6881750-2dca3b42738a035d.png

执行 xfs_growfs /dev/mapper/centos-root

最后 df -h 查看一下,我们的虚拟机又复活了!!

6881750-f614ba531b69e25b.png

转载于:https://www.jianshu.com/p/f6df5aa1c599

猜你喜欢

转载自blog.csdn.net/weixin_34258782/article/details/91075244