virtualbox中调整虚拟机的硬盘大小.docx

上传人:b****6 文档编号:4580963 上传时间:2022-12-06 格式:DOCX 页数:7 大小:18.14KB
下载 相关 举报
virtualbox中调整虚拟机的硬盘大小.docx_第1页
第1页 / 共7页
virtualbox中调整虚拟机的硬盘大小.docx_第2页
第2页 / 共7页
virtualbox中调整虚拟机的硬盘大小.docx_第3页
第3页 / 共7页
virtualbox中调整虚拟机的硬盘大小.docx_第4页
第4页 / 共7页
virtualbox中调整虚拟机的硬盘大小.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

virtualbox中调整虚拟机的硬盘大小.docx

《virtualbox中调整虚拟机的硬盘大小.docx》由会员分享,可在线阅读,更多相关《virtualbox中调整虚拟机的硬盘大小.docx(7页珍藏版)》请在冰豆网上搜索。

virtualbox中调整虚拟机的硬盘大小.docx

virtualbox中调整虚拟机的硬盘大小

由于经常需要在Linux虚拟机下测试一些环境,安装的东西比较多,导致之前分配给Linux虚拟机中的某个分区的空间不够用了,但是又不想重装系统,想直接给空间不足的那个分区调整空间。

用的是Ubuntu系统,当时在安装的时候记得当时默认采用LVM来管理硬盘空间的,所以在网上搜索被很多资料,发现是可以动态调整LVM中的逻辑卷大小的,即然可以采用调整LVM的方式来增加分区空间,那么理论上肯定是可行的,于是就到处找资料,做试验验证实际是否可行。

先说一下我的系统环境:

宿主机是:

xpsp3

虚拟机软件是:

OracleVMVirtualBox4.1.16

虚拟机Guest系统是:

Ubuntu10.04Serverx32

虚拟机Ubuntu当时安装时是采用默认的LVM硬盘管理(这个是基础,如果当时没有采用LVM管理的话,也不能动态调整分区的大小了)。

当时在VirtualBox中给Ubuntu分配的是8G的空间,固定大小的,随着使用情况的变化,8G的空间很快就用完被,必须增加新的空间。

主要步骤如下:

1:

在VirtualBox调整虚拟机硬盘的大小

2:

在虚拟机中用fdisk命令将新加的硬盘空间分区,新分区的类型要是LVM的类型8e3:

在虚拟机新建物理卷、卷组、合并卷组、扩展逻辑卷的大小

此方法是己经验证成功了的,中间只重启过一次机器,而且文件都没有损坏(不过在正式环境修改之前,各位自己必须做备份),详细的过程比较长,如下:

上面是我环境的基本信息,下面就说明一下具体的操作过程:

先把调整之前的硬盘情况列出来:

root@bogon:

/home/roger#df-h

FilesystemSizeUsedAvailUse%Mountedon

/dev/mapper/bogon-root

6.7G1.6G4.7G26%/

none494M212K494M1%/dev

none501M0501M0%/dev/shm

none501M328K501M1%/var/run

none501M0501M0%/var/lock

/dev/sda1228M23M194M11%/boot

root@bogon:

/home/roger#fdisk-l

Disk/dev/sda:

8589MB,8589934592bytes

255heads,63sectors/track,1044cylinders

Units=cylindersof16065*512=8225280bytes

Sectorsize(logical/physical):

512bytes/512bytes

I/Osize(minimum/optimal):

512bytes/512bytes

Diskidentifier:

0x0005d850

DeviceBootStartEndBlocksIdSystem

/dev/sda1*13224883283Linux

Partition1doesnotendoncylinderboundary.

/dev/sda232104581367055Extended

/dev/sda532104581367048eLinuxLVM

从上面可以看到,在调整之前,我的硬盘设备是/dev/sda,大小只有8589MB,而且只有/dev/sda1、/dev/sda2、/dev/sda5,这个要先记录下来,因为后面增加硬盘后,还需要建立新的分区。

1:

首先将虚拟机的硬盘大小限制放大,即将8G的大小调为20G。

由于在VirtualBox不能直接调整虚拟机的硬盘空间,需要调用相应的命令来实现。

先将虚拟机关闭,启动CMD窗口,切换到VirtualBox的安装路径下面(例如我的VirtualBox安装路径是D:

\tools\virtualbox):

D:

\tools\virtualbox>VBoxManage.execlonehdD:

\tools\virtualbox\vm\ubuntu.vdiD:

\tools\virtualbox\vm\ubuntu20g.vdi--formatvdi

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

Cloneharddiskcreatedinformat'vdi'.UUID:

b5bf984b-decf-47f1-b348c

D:

\tools\virtualbox>VBoxManage.exemodifyhdD:

\tools\virtualbox\vm\ubuntu20g.vdi--reSize20480

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

在CMD下面依输入上面粗体的两条命令

说明一下:

D:

\tools\virtualbox\vm\ubuntu.vdi---------这个是我虚拟机的镜象文件

D:

\tools\virtualbox\vm\ubuntu20g.vdi---------这个是我后面准备调整大小的镜象文件,尽量不要直接修改原文件,否则一旦出错将导致原来的系统无法使用

VBoxManage.exemodifyhdD:

\tools\virtualbox\vm\ubuntu20g.vdi--resize20480,这行命令中的--resize参数就是说明调整后的大小是多少,单位是M,例子中20480即20480M,即20G大小

经过上面两条命令后,我们得到一个新的、大小限制为20G的虚拟机镜象文件,此时在VirtualBox里面,将这个修改后的镜象文件替换掉之前的那个镜象文件,具体过程就是在VirtualBox虚拟机的“设置->存储->存储树”里面将之前的设备删除掉,然后再添加“XXX控制器”并“添加虚拟硬盘”时选择"使用现有的虚拟盘"为我们调整了大小的那个VDI文件,然后启动虚拟机Ubuntu,并切换到root帐号:

2:

为新增的硬盘建立支持LVM的分区。

虚拟机的硬盘大小限制己经修改了,但是在虚拟机里面,用fdisk-l可以看到硬盘的大小是变了,但是分区的大小还是没有变的。

因为分区的大小是在当时安装系统是就分好了的,现在就要来重新调整分区的大小了。

先查看一下硬盘大小,看是否增加了

root@bogon:

/home/roger#fdisk-l

Disk/dev/sda:

21.5GB,21474836480bytes

255heads,63sectors/track,2610cylinders

Units=cylindersof16065*512=8225280bytes

Sectorsize(logical/physical):

512bytes/512bytes

I/OSize(minimum/optimal):

512bytes/512bytes

Diskidentifier:

0x0005d850

DeviceBootStartEndBlocksIdSystem

/dev/sda1*13224883283Linux

Partition1doesnotendoncylinderboundary.

/dev/sda232104581367055Extended

/dev/sda532104581367048eLinuxLVM

粗体的信息说明我们调整的硬盘大小在Ubuntu中己经可以看到了,但是具体的分区还是没有体现出来,现在我们就要将新加的硬盘建一个分区

root@bogon:

/home/roger#fdisk/dev/sda

WARNING:

DOS-compatiblemodeisdeprecated.It'sstronglyrecommendedto

switchoffthemode(Command'c')andchangedisplayunitsto

sectors(command'u').

Command(mforhelp):

n---这里输入n,表示要创建新的分区,输入之后的提示如下Commandaction

llogical(5orover)

pprimarypartition(1-4)

p---这里输入p,表示创建主分支,输入之后的提示如下

Partitionnumber(1-4):

3---这里输入一个1到4范围内的数字,另外由于我们己经有

/dev/sda1、/dev/sda2、/dev/sda5这些设备了,所有这里只能输入3或4,输入3之后有下面的提示

Firstcylinder(1045-2610,default1045):

---这里直接回车确认使用默认值即可,然后出现类似的提示

Usingdefaultvalue1045

Lastcylinder,+cylindersor+size{K,M,G}(1045-2610,default2610):

---这里同样直接回车确认使用默认值即可,然后出现类似的提示

Usingdefaultvalue2610

Command(mforhelp):

p---这里可以输入p命令将当前分区情况打印出来,类似以下信息

Disk/dev/sda:

21.5GB,21474836480bytes

255heads,63sectors/track,2610cylinders

Units=cylindersof16065*512=8225280bytes

Sectorsize(logical/physical):

512bytes/512bytes

I/Osize(minimum/optimal):

512bytes/512bytes

Diskidentifier:

0x0005d850

DeviceBootStartEndBlocksIdSystem

/dev/sda1*13224883283Linux

Partition1doesnotendoncylinderboundary.

/dev/sda232104581367055Extended

/dev/sda3104526101257724183Linux

/dev/sda532104581367048eLinuxLVM

看到粗体的内容没?

/dev/sda3就是新增加硬盘空间的分区,但是要注意,此时这个分支的Id为83,而我们后面要用到的LVM设备的Id是8e,所以在这里我们必须调整/dev/sda3

的类型,用fdisk中的t命令来进行修改:

Command(mforhelp):

t---这里可以输入t命令调整/dev/sda3的Id类型,类似以下信息Partitionnumber(1-5):

3---这里要说要修改哪个分区的设备,要求输入设备的编号,我们要修改的设备是/dev/sda3,所以这里输入3,然后有下面类似的提示

Hexcode(typeLtolistcodes):

8e---这里是输入要修改的类型代码,LVM设备的代码是8e,所在这里我们就输入8e,然后出现类似的提示

Changedsystemtypeofpartition3to8e(LinuxLVM)

Command(mforhelp):

---此时就可以输入w命令保存并退出,出现类似提示Command(mforhelp):

w

Thepartitiontablehasbeenaltered!

Callingioctl()tore-readpartitiontable.

WARNING:

Re-readingthepartitiontablefailedwitherror16:

Deviceorresourcebusy.Thekernelstillusestheoldtable.Thenewtablewillbeusedat

thenextrebootorafteryourunpartprobe(8)orkpartx(8)

Syncingdisks.

此时新的分区己经创建,但是如果要系统内核能够识别到,则需要重启系统,

root@bogon:

/home/roger#reboot重启系统,

系统重启后,查看一下新建的分区是否己经识别到:

root@bogon:

/home/roger#fdisk-l

Disk/dev/sda:

21.5GB,21474836480bytes

255heads,63sectors/track,2610cylinders

Units=cylindersof16065*512=8225280bytes

SectorSize(logical/physical):

512bytes/512bytes

I/Osize(minimum/optimal):

512bytes/512bytes

Diskidentifier:

0x0005d850

DeviceBootStartEndBlocksIdSystem

/dev/sda1*13224883283Linux

Partition1doesnotendoncylinderboundary.

/dev/sda232104581367055Extended

/dev/sda310452610125772418eLinuxLVM

/dev/sda532104581367048eLinuxLVM

这说明新的分区己经被内核识别到了,下一步的关键就是创建物理卷、卷组、合并卷组了3:

调整LVM

给新建的分区创建物理卷

root@bogon:

/home/roger#pvcreate/dev/sda3

Physicalvolume"/dev/sda3"successfullycreated

新建卷组

root@bogon:

/home/roger#vgcreateubuntu20/dev/sda3

Volumegroup"ubuntu20"successfullycreated

ubuntu20是新卷组的名称

合并卷组,先查看一下当前有哪些卷组

root@bogon:

/home/roger#vgscan

Readingallphysicalvolumes.Thismaytakeawhile...

Foundvolumegroup"bogon"usingmetadatatypelvm2

Foundvolumegroup"ubuntu20"usingmetadatatypelvm2

这里说明当前有bogon、ubuntu20两个卷组,bogon这个卷组是当时安装系统时自动建的,ubuntu20这个就是我们刚才建的卷组,现在将这两个卷组合并

root@bogon:

/home/roger#vgmergebogonubuntu20

Volumegroup"ubuntu20"successfullymergedinto"bogon"

现在己经将两个卷组合并成一个了,那么最后我们就是要来调整分区的大小,先看一下调整之前分区的大小情况,调整之前/dev/mapper/bogon-root的大小是6.7G

root@bogon:

/home/roger#df-h

FilesystemSizeUsedAvailUse%Mountedon

/dev/mapper/bogon-root

6.7G1.6G4.7G26%/

none494M216K494M1%/dev

none501M0501M0%/dev/shm

none501M328K501M1%/var/run

none501M0501M0%/var/lock

/dev/sda1228M23M194M11%/boot

准备开始调整逻辑卷的大小了

root@bogon:

/home/roger#lvextend-l+100%FREE/dev/mapper/bogon-root

Extendinglogicalvolumerootto18.75GiB

Logicalvolumerootsuccessfullyresized

动态调整/dev/mapper/bogon-root的大小,否则看到的还是之前的大小

root@bogon:

/home/roger#resize2fs-p/dev/mapper/bogon-root

resize2fs1.41.14(22-Dec-2010)

Filesystemat/dev/mapper/bogon-rootismountedon/;on-lineresizingrequired

olddesc_blocks=1,new_desc_blocks=2

Performinganon-lineresizeof/dev/mapper/bogon-rootto4916224(4k)blocks.

Thefilesystemon/dev/mapper/bogon-rootisnow4916224blockslong.

最后一步,激动人心的时刻来了

root@bogon:

/home/roger#df-h

FilesystemSizeUsedAvailUse%Mountedon

/dev/mapper/bogon-root

19G1.6G16G10%/

none494M216K494M1%/dev

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1