2018/01/04

VirtualBox对centos磁盘扩容


VBoxManage 是 VirtualBox 命令工具,如果window bat下没法使用,可能是因为没有添加环境变量。

VirtualBox 中虚拟硬盘常见两种形式,VMDK、VDI。
VMDK:是VMware开发并使用的,同时也被SUN的xVM、QEMU、SUSE Studio、.NET DiscUtils支持,所以兼容性会好些。
VDI:是Virtual Box 自己的处理格式,而且Virtual Box支持Windows和Linux,所以对于使用VirtualBox的用户比较好。


修改磁盘大小

关闭虚拟机,右键->在资源管理器中显示->进入虚拟机目录
假释我当前的磁盘文件为: centos-vm-disk1.vmdk

1、查看磁盘文件的信息

> VBoxManage showhdinfo centos-vm-disk1.vmdk

UUID:           aaf91daa-b076-4838-8fa3-dfbf8cca0b79
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       C:\Users\yw0768\VirtualBox VMs\vagrant-centos69-20180103\centos-vm-disk1.vmdk
Storage format: VMDK
Format variant: dynamic default
Capacity:       10000 MBytes
Size on disk:   2496 MBytes
Encryption:     disabled
In use by VMs:  vagrant-centos69-20180103 (UUID: 81f38466-8521-40e7-97b3-e735fe37395b)

2、接着将 vmdk 转为 vdi

>VBoxManage clonehd "centos-vm-disk1.vmdk" "centos-vm-disk1.vdi" --format vdi

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vdi'. UUID: 952e15e6-2387-44bd-8358-018cbaca388a

3、对 vdi 进行扩容 单位为M 扩容到20G

>VBoxManage modifyhd "centos-vm-disk1.vdi" --resize 20480

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

>VBoxManage showhdinfo centos-vm-disk1.vdi
UUID:           952e15e6-2387-44bd-8358-018cbaca388a
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       C:\Users\yw0768\VirtualBox VMs\vagrant-centos69-20180103\centos-vm-disk1.vdi
Storage format: VDI
Format variant: dynamic default
Capacity:       20480 MBytes
Size on disk:   2568 MBytes
Encryption:     disabled

如果想再转回为VMDK,用这个命令就可以了:

>VBoxManage clonehd "centos-vm-disk1.vdi" "centos-vm-disk1-resized.vmdk" --format vmdk

不过,直接使用vdi格式也可以的。


创建分区

查看当前系统分区情况 fdisk -l
当前已经分配了 sda1、sda2,如果有第二块硬盘会看到sdb,这里是只有一块

创建新分区

fdisk /dev/sda

#创建分区
n

#创建主分区
p

#选择分区编号,前面已经使用了1(sda1)和2(sda2),所以我们只能输入3或4
3

#如果回车则将剩余的空间都创建到新分区里,如果想指定创建大小分区,可输入 +{n}G,例如创建10G空间分区
+10G

#将内容写入分区
w

查看分区文件是否已经创建成功 ll /dev/sda3


格式化分区

格式化分区文件格式为 ext4

mkfs -t ext4 /dev/sda3

将分区挂载到相应目录中

临时挂载

mount /dev/sda3 /mnt

启动自动挂载 vi /etc/fstab

/dev/sda3 /mnt                       ext4    defaults        0 0

采用内lvm扩容

如果不采用上面的mount挂载方式,可以采用lvm进行扩容

查看卷组名 vgdisplay ,这里的卷组名 VolGroup

  --- Volume group ---
  VG Name               VolGroup

创建新物理卷
pvcreate /dev/sda4

扩展到卷组
vgextend VolGroup /dev/sda4

查看根分区 lvdisplay

  --- Logical volume ---
  LV Path                /dev/VolGroup/lv_root
  LV Name                lv_root
  VG Name                VolGroup

其中,/dev/VolGroup/lv_root就是根分区,也是我们要扩展的分区。

扩展到容量逻辑分区:

lvextend /dev/VolGroup/lv_root /dev/sda3

最后刷新根分区容量

resize2fs /dev/VolGroup/lv_root

df -alh

参考文章: https://www.cnblogs.com/wajika/p/6513102.html