关于虚拟机扩容问题

时间:2021-09-19 17:04:46

背景:

虚拟机:virt manager(redhat自带的,很吭爹的东西,功能太少。)

物理机:redhat6.0

扩容系统:虚拟机中的windows2003(8G,要扩容)

在操作了好久之后才发现,虚拟机镜像所在的根目录居然不够容量,好吧,得给根目录先扩容,好折腾。当初自己分区没考虑清楚的结果。谨记。。。。。!!!!

#df-h

关于虚拟机扩容问题(这是搞定后的了!)

查看了一下容量,发现home容量好多,果断要削了他。

一番搜索,都好麻烦,不是要新建分区就是新建分区,然后看到redhat有个工具可以使用,逻辑卷管理器,有图形界面,也可以用命令操作。这时我就要庆幸当时分区的时候使用了LVM,没有LVM什么扩容都是扯谈。。。。。

不过需要手动安装

# sudo yum list |grep lvm

llvm-libs.i686                          3.0-13.fc17                  @anaconda-0
lvm2.i686                               2.02.95-6.fc17               @anaconda-0
lvm2-libs.i686                          2.02.95-6.fc17               @anaconda-0
holland-mysqllvm.noarch                 1.0.6-5.fc17                 fedora     
llvm.i686                               3.0-13.fc17                  updates    
llvm-devel.i686                         3.0-13.fc17                  updates    
llvm-doc.noarch                         3.0-13.fc17                  updates    
llvm-ocaml.i686                         3.0-13.fc17                  updates    
llvm-ocaml-devel.i686                   3.0-13.fc17                  updates    
llvm-ocaml-doc.noarch                   3.0-13.fc17                  updates    
lvm2-cluster.i686                       2.02.95-6.fc17               fedora     
lvm2-devel.i686                         2.02.95-6.fc17               fedora     
lvm2-sysvinit.i686                      2.02.95-6.fc17               fedora     
python-lvm.i686                         1.2.2-1.fc17                 updates    
system-config-lvm.noarch                1.1.17-1.fc17                updates    
visualvm.i686                           1.3.3-1.3.1.fc17.1           fedora     
 
好了,很容易猜出 system-config-lvm.noarch正是我所需要的。用yum install之,然后在系统-管理里面看到了,打开,选择home目录后,点击编辑属性,缩小home目录的大小
关于虚拟机扩容问题
 
然后打开root目录,同样编辑属性,修改其大小。确定后,根目录的容量就扩容好了。
关于虚拟机扩容问题
可以再用 df -h命令查看一下容量。
简单吧,不过搜索过程挺折腾的。

接下来就是windows2003的扩容了,本以为会简单一点,可是这东西愣是折腾了好久,在网上搜索了一下,发现了一篇文章http://liran728729.blog.51cto.com/2505117/1139630 大致的思路是这样的:

1.新建一个大镜像,容量是你希望扩容的大小

2.然后用virt-resize --expand命令把旧镜像复制到新镜像

3.最后用新镜像代替旧镜像

这是个不错的思路,然后我跟着操作了一遍,好吧,发现拉伸分区时一直出现问题。。。。。。。。

没办法,关于kvm虚拟机下的扩容,确实没多少资料可查,如果换成vm就简单很多了。最后我只能自己研究一下virt-resize命令,发现了这个命令是个蛮神奇的东东,之后发现了这个

http://williamherry.com/blog/2012/09/14/virt-releated-command/ 里面关于virt-resize的命令下有个例子,跟着这个例子操作了一遍,居然成功了。

不过进入windows系统后,发现显示了28G,不过可用的还是几百M,也就是我把20G扩进去了,但是没法用。郁闷,于是我从新研究了一下那个例子。发现其原理就是复制一个和原镜像一样格式的文件,然后把新文件直接进行扩容,然后把旧镜像的东西都复制到新镜像。很简单的原理,至于为嘛不成功,研究不出来,于是我开始用自己的方法。

1.直接cp windows2003.img windows2003copy.img

2.truncate -s +20G windows2003copy.img

3.在虚拟机上挂载winpe镜像,然后进入winpe镜像(我用了老毛桃最新的ISO镜像)

4.winpe自带了分区助手,打开,可以看到

关于虚拟机扩容问题

 

5.直接选择调整C盘的分区

关于虚拟机扩容问题

拉伸到最尾,如果这里没有得拉伸,那么估计没有识别到新加入的空间,可以将未分配的空间新建成分区,然后再删除掉分区就可以了。

关于虚拟机扩容问题

关于虚拟机扩容问题

6.调整完后,点击提交,并且执行

关于虚拟机扩容问题

7.成功为C盘扩容20G

关于虚拟机扩容问题

进入系统后,查看磁盘容量

关于虚拟机扩容问题

这是一次刺激惊险的学习经过,不过不管做什么,都要先备份,特别涉及到分区的东西,一旦出错,数据将无法挽回。。