我安装了centos-5.6的virtualbox-4.1.0.现在我想扩展我之前为虚拟机安装分配的VM映像,它是8Gb,现在还不够.有没有办法扩展分区而不丢失信息?
实际上在centos中我有一个root fs和我的家庭目录等等所以这个分区最终需要调整大小.
提前感谢您的建议!
它可以分4个步骤完成:
使用VBoxManage Tool将VMDK克隆为VDI格式.
使用VBoxManage Tool调整磁盘大小以创建可用空间.
修改文件系统以使用GParted为驱动器分配可用空间.
将创建的磁盘空间添加到Linux FileSystem.
详细步骤如下(使用"Virtual Machine CentOS 6.4"和"VirtualBox 4.2.18"进行测试);
观察虚拟机文件的磁盘格式,如果不是*.vdi,则将磁盘格式从*.wmdk转换为*.vdi.打开windows终端:
$ VBoxManage clonehd --format VDI "path_of_wmdk_file" "path_of_vdi_file"
调整vdi文件的磁盘大小.打开windows终端.例如要做磁盘大小~500 GB => 512000;
$ VBoxManage modifymedium "path_of_vdi_file" --resize 512000
选择*.vdi文件而不是*.wmdk文件作为磁盘
Virtual Machine -> Settings -> Storage -> Controller : SATA (Right Click on *.wmdk file) -> Remove Attachment -> Add HardDisk and choose newly created *.vdi file
从http://gparted.sourceforge.net/download.php下载"gparted-live-x.xx.xx-ixxx.iso"文件.将此iso文件挂载为CD.
Virtual Machine -> Settings -> Storage -> Controller IDE (Right Click) -> Add CD/DVD -> Select gparted-live-x.xx.x-x-ixxx.iso file
运行虚拟机,虚拟机将从此CD启动.按"Enter","Enter"...选择默认值,直到Gpart ISO GUI启动.选择工具gpart程序并启动.
扩展磁盘大小如下;
右键单击分区,如果"可能",请单击"禁用活动分区".
尽可能从GUI扩展分区(本例中为500GB).
右键单击已禁用的分区,然后选择"启用活动分区".
应用并等待操作完成.
关闭虚拟机.
卸载gparted-live-x.xx.xx-ixxx.iso.
Virtual Machine -> Settings -> Storage-> Controller IDE (Right Click on gparted-live-x.xx.x-x-ixxx.iso) -> Remove Attachement
启动虚拟机.
打开linux终端并以root身份登录.运行以下命令;
lvm vgdisplay => Free PE / Size 122880 / 480.00 GiB
lvm lvdisplay /dev/VolGroup/lv_root => Current LE 3978
计算上面值的总和.在这种情况下:122880 + 3978 = 126858 < - 将在下一个命令中使用
lvm lvresize -l 126858 /dev/VolGroup/lv_root
resize2fs /dev/VolGroup/lv_root
lsblk ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom sda 8:0 0 500G 0 disk +¦sda1 8:1 0 500M 0 part /boot L¦sda2 8:2 0 499.5G 0 part +¦VolGroup-lv_root (dm-0) 253:0 0 480G 0 lvm / L¦VolGroup-lv_swap (dm-1) 253:1 0 4G 0 lvm [SWAP] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
通过创建一个巨大的文件来检查文件系统是否扩展:
fallocate -l 480G /test_file
当然删除测试文件:
rm -rif /test_file
我正在使用CentOS7虚拟机,最后扩大了我的分区/dev/mapper/centos-root
- gparted对我不起作用,因为我在CentOS7虚拟机上没有桌面.
关闭CentOS虚拟机电源
进入*.vdi图像的目录.如果您不知道它在哪里,请查看您的Virtualbox Manager GUI,virtualbox -> settings -> storage -> *.vdi -> location
例如我的位于~/VirtualBox VMs/CentOS7/CentOS.vdi
备份您的图片以防万一出错
$ cp CentOS7.vdi CentOS7.backup.vdi
调整虚拟存储大小,例如200 GB
$ VBoxManage modifyhd CentOS7.vdi --resize 204800
问题,请启动CentOS虚拟机
$ sudo fdisk -l
Device Boot Start End Blocks Id System /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 209715199 104344576 8e Linux LVM
使用fdisk实用程序删除/创建分区
$ sudo fdisk /dev/sda
您处于fdisk实用程序交互模式,发出以下命令:(大多数只是遵循默认建议)
d
- 删除分区
2
- 选择要删除的分区(这里是/ dev/sda2)
n
- 创建一个新分区
p
- 使其成为主要分区
2
- 使其与我们删除的分区号相同
- 设置起始块(默认情况下)
- 设置结束结束块(默认情况下)
w
- 编写分区并离开fdisk交互模式
重新启动CentOS机器
$ sudo reboot
调整物理卷大小并验证新大小
$ sudo pvresize /dev/sda2
$ sudo pvscan
看看你的逻辑映射卷,看看你想要放大的音量,就我而言, /dev/mapper/centos-root
通过添加-r
选项来调整文件系统的大小,它将负责为您调整大小
$lvextend -r -l +100%FREE /dev/mapper/centos-root
调整文件系统的大小:
$resize2fs /dev/mapper/fedora-root
对于CentOS 7: $xfs_growfs /dev/mapper/fedora-root
最后检查:
$df -h
.
参考:https://blog.jyore.com/2013/06/virtualbox-increase-size-of-rhelfedoracentosscientificos-guest-file-system/#comment-2879
我在下面的链接中找到了这个金块.我为我工作很完美,只花了5秒钟.
从VirtualBox 4开始,他们增加了对扩展的支持.
VBoxManage modifyhd filename.vdi --resize 46080
这会将虚拟磁盘映像的大小调整为45GB.
https://superuser.com/questions/172651/increasing-disk-space-on-virtualbox