美文网首页其它
VirtualBox 在原盘的基础上扩充空间

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

作者: ___n | 来源:发表于2019-06-06 15:05 被阅读9次

    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 查看一下,我们的虚拟机又复活了!!

    相关文章

      网友评论

        本文标题:VirtualBox 在原盘的基础上扩充空间

        本文链接:https://www.haomeiwen.com/subject/yewyxctx.html