ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 扩展VirtualBox虚拟机磁盘容量

扩展VirtualBox虚拟机磁盘容量

原创 Linux操作系统 作者:dawn009 时间:2014-05-23 18:19:11 0 删除 编辑

1.      在cmd命令行下进入VirtualBox的安装目录,使用“VBoxManage list hdds”命令,找到需要修改磁盘容量的虚拟机的img路径或UUID:


[python] view plaincopy
  1. D:\Program Files\Oracle\VirtualBox>VBoxManage list hdds  
  2. UUID:       4a43ca85-2d4b-4fca-919f-3bc0c1f6b307  
  3. Parent UUID: base  
  4. Format:      VDI  
  5. Location:   E:\CentOS.vdi  
  6. State:       created  
  7. Type:        normal  
  8. Usage:       CentOS(UUID: e9245daf-24a2-4ef1-9b0e-b0419d3cc739)  


2.      修改虚拟机的磁盘空间


[python] view plaincopy
  1. D:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd"E:\CentOS.vdi" –resize 20480  
  2. 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%  


"E:\CentOS.vdi"是需要修改的虚拟机路径,改为其UUID号也正确,20480是修改后的大小,单位为M,20480M=20G

3.      让虚拟机上CentOS知道磁盘容量已经增加

使用工具GParted,点击http://gparted.sourceforge.net/下载ISO镜像

在VirtualBox光驱中加载下载的gparted-live-0.16.1-1-amd64.iso镜像,设置为第一顺序启动

启动虚拟机CentOS进入GParted,双击桌面“GParted”即可看到有磁盘空间为未分配状态,点击“分区”→“新建”,选择“主分区”、“ext4”,再点击“Apply”,此时可看到新的分区/dev/sda4

4.      关闭GParted,在VirtualBox设置中将gparted-live-0.16.1-1-amd64.iso镜像卸载,再启动CentOS,进入CentOS系统

注意:进入系统后可能提示“没有正确安装GNOME电源管理器的默认配置”,这是由于系统用户空间不足造成的,此时不要使用普通用户登录,改用root用户登录,在root下修改用户空间磁盘容量;root用户登录后系统可能没有任何界面,此时可用ssh远程连接进行操作

5.      在CentOS终端中扩展逻辑分区(标粗体的vg_wsgzg需要更改为自己系统的名称,通过df –h –T可查看)

a.  使用“su –”切换到root用户(使用root用户登录省略)

b.  执行lvm pvcreate/dev/sda4


[python] view plaincopy
  1. [root@localhost ~]# lvm pvcreate /dev/sda4  
  2.  Physical volume "/dev/sda4" successfully created  
  3. [root@localhost ~]# df -h -T  
  4. 文件系统    类型      容量  已用  可用 已用%% 挂载点  
  5. /dev/mapper/vg_wsgzg-lv_root  
  6.               ext4     13G  13G     0 100% /  


c.  执行lvmvgextend "vg_wsgzg" /dev/sda4添加/dev/sda4到卷组vg_wsgzg


[python] view plaincopy
  1. [root@localhost ~]# lvm vgextend "vg_wsgzg" /dev/sda4  
  2.  Volume group "vg_wsgzg" successfully extended  


d.  执行lvresize -l+100%FREE /dev/mapper/vg_wsgzg-lv_root,扩展卷组vg_wsgzg下的lv_root卷组


[python] view plaincopy
  1. [root@localhost ~]# lvresize -l +100%FREE /dev/mapper/vg_wsgzg-lv_root  
  2.  Extending logical volume lv_root to 17.53 GiB  
  3.  Logical volume lv_root successfully resized  


e.  执行resize2fs/dev/mapper/vg_wsgzg-lv_root重新设置文件系统


[python] view plaincopy
  1. [root@localhost ~]# resize2fs /dev/mapper/vg_wsgzg-lv_root  
  2.    resize2fs1.41.12 (17-May-2010)  
  3.    Filesystemat /dev/mapper/vg_wsgzg-lv_root is mounted on /; on-line resizing required  
  4.    olddesc_blocks = 1, new_desc_blocks = 2  
  5.    Performingan on-line resize of /dev/mapper/vg_wsgzg-lv_root to 4595712 (4k) blocks.  
  6.    Thefilesystem on /dev/mapper/vg_wsgzg-lv_root is now 4595712 blocks long.  


f.  执行df -h -T验证扩展磁盘容量


[python] view plaincopy
  1. [root@localhost ~]# df -h -T  
  2.    文件系统    类型      容量  已用  可用 已用%% 挂载点  
  3.    /dev/mapper/vg_wsgzg-lv_root  
  4.               ext4     18G  13G  4.8G  73% /  


6.      重启CentOS,磁盘容量扩展成功

------------------------------------->>使用VirtualBox自带管理工具命令为虚拟磁盘扩展空间
VirtualBox虚拟磁盘空间不够了,默认10G。想扩大,图形界面下没有找到可操作菜单。Google了一下用 Vbox自带的命令工具VBoxManage即可解决。


C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd e:\vbox\Ubuntu12.04\Ubuntu1204-201302-disk1.vmdk --resize 30000
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Resize hard disk operation for this format is not implemented yet!


原来虚拟机用的是vmdk格式,这个命令只能支持vdi格式。怎么办


发现可以利用VBoxManager来转化虚拟硬盘存储文件格式
C:\Program Files\Oracle\VirtualBox>VBoxManage clonehd e:\vbox\Ubuntu12.04\Ubuntu1204-201302-disk1.vmdk  e:\vbox\Ubuntu12.04\Ubuntu1204-201310-disk1.vdi --format VDI
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 455b7aa4-d776-4254-8353-d9b5b3fa1
09b


最后用VBoxManager对转好的vdi文件进行扩容设置
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd e:\vbox\Ubuntu12.04\Ubunt
u1204-201310-disk1.vdi --resize 30000
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%


大功告成,要将新的虚拟硬盘(vdi)挂载到虚拟机上了。


打开虚拟机设置,找到存储,点击虚拟硬盘所在的控制器,点“添加虚拟硬盘”->选"使用现有的虚拟盘"->选中扩容后的vdi文件,确定后就看见控制器下多了一个硬盘图标,查看容量29.30G。
删除原来的vmdk虚拟盘。确定保存配置。大功告成!!


别忙,还有一部。
启动虚拟机后,还要使用GParted - Gnome Partition Editor这个工具,将新扩展的分区进行初始化,否则系统还是不会认出新扩展的空间的。
Ubuntu中可用 sudo apt-get install gparted来安装。工具是图形化界面的。好用。设置好后要点菜单“编辑”->“应用全部操作”,系统才开始执行扩展磁盘的初始化。


Gnome Partition Editor 官网地址:http://gparted.sourceforge.net/


多嘴一句
将原来的vid虚拟硬盘数据复制到新的vid硬盘,示例:


旧vdi —> 新vdi
C:\Program Files\Oracle\VirtualBox\VBoxManage.exe  clonevdi  E:\vbox\server2003\win2003.vdi  E:\vbox\server2003\server2003.vdi" --existing
-------------------------------------->>上面操作的补充:

1.在cmd命令行下进入VirtualBox的安装目录,使用“VBoxManage list hdds”命令,找到需要修改磁盘容量的虚拟机的img路径或UUID:

D:\Program Files\Oracle\VirtualBox>VBoxManage list hdds
UUID:      4a43ca85-2d4b-4fca-919f-3bc0c1f6b307
Parent UUID: base
Format:      VDI
Location:  E:\CentOS.vdi
State:      created
Type:        normal
Usage:      CentOS(UUID: e9245daf-24a2-4ef1-9b0e-b0419d3cc739)

2.修改虚拟机的磁盘空间

D:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd"E:\CentOS.vdi" –resize 20480
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

3. 让虚拟机上CentOS知道磁盘容量已经增加

使用工具GParted,点击http://gparted.sourceforge.net/下载ISO镜像

在VirtualBox光驱中加载下载的gparted-live-0.16.1-1-amd64.iso镜像,设置为第一顺序启动

启动虚拟机CentOS进入GParted,双击桌面“GParted”即可看到有磁盘空间为未分配状态,点击“分区”→“新建”,选择“主分区”、“ext4”,再点击“Apply”,此时可看到新的分区/dev/sda4

4. 关闭GParted,在VirtualBox设置中将gparted-live-0.16.1-1-amd64.iso镜像卸载,再启动CentOS,进入CentOS系统

注意:进入系统后可能提示“没有正确安装GNOME电源管理器的默认配置”,这是由于系统用户空间不足造成的,此时不要使用普通用户登录,改用root用户登录,在root下修改用户空间磁盘容量;root用户登录后系统可能没有任何界面,此时可用ssh远程连接进行操作

5. 在CentOS终端中扩展逻辑分区(标粗体的vg_wsgzg需要更改为自己系统的名称,通过df –h –T可查看)

a. 使用“su –”切换到root用户(使用root用户登录省略)

b. 执行lvm pvcreate/dev/sda4

[root@localhost ~]# lvm pvcreate /dev/sda4
 Physical volume "/dev/sda4" successfully created
[root@localhost ~]# df -h -T
文件系统    类型      容量  已用  可用 已用%% 挂载点
/dev/mapper/vg_wsgzg-lv_root
              ext4    13G  13G    0 100% /

c.  执行lvmvgextend "vg_wsgzg" /dev/sda4添加/dev/sda4到卷组vg_wsgzg

[root@localhost ~]# lvm vgextend "vg_wsgzg" /dev/sda4
 Volume group "vg_wsgzg" successfully extended

d. 执行lvresize -l+100%FREE /dev/mapper/vg_wsgzg-lv_root,扩展卷组vg_wsgzg下的lv_root卷组

[root@localhost ~]# lvresize -l +100%FREE /dev/mapper/vg_wsgzg-lv_root
 Extending logical volume lv_root to 17.53 GiB
 Logical volume lv_root successfully resized

e. 执行resize2fs/dev/mapper/vg_wsgzg-lv_root重新设置文件系统

[root@localhost ~]# resize2fs /dev/mapper/vg_wsgzg-lv_root
  resize2fs1.41.12 (17-May-2010)
  Filesystemat /dev/mapper/vg_wsgzg-lv_root is mounted on /; on-line resizing required
  olddesc_blocks = 1, new_desc_blocks = 2
  Performingan on-line resize of /dev/mapper/vg_wsgzg-lv_root to 4595712 (4k) blocks.
  Thefilesystem on /dev/mapper/vg_wsgzg-lv_root is now 4595712 blocks long.

f. 执行df -h -T验证扩展磁盘容量

[root@localhost ~]# df -h -T
  文件系统    类型      容量  已用  可用 已用%% 挂载点
  /dev/mapper/vg_wsgzg-lv_root
              ext4    18G  13G  4.8G  73% /

6. 重启CentOS,磁盘容量扩展成功

推荐阅读:

在 Ubuntu 12.10 中使用 Virtualbox 安装 Win7 http://www.linuxidc.com/Linux/2012-11/74195.htm

Ubuntu中用VirtualBox虚拟机安装Windows XP完整图解 http://www.linuxidc.com/Linux/2010-09/28435p8.htm

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29119536/viewspace-1168558/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-08-15

  • 博文量
    595
  • 访问量
    4988623