背景:
虚拟机:virt manager(redhat自带的,很吭爹的东西,功能太少。)
物理机:redhat6.0
扩容系统:虚拟机中的windows2003(8G,要扩容)
在操作了好久之后才发现,虚拟机镜像所在的根目录居然不够容量,好吧,得给根目录先扩容,好折腾。当初自己分区没考虑清楚的结果。谨记。。。。。!!!!
#df-h
(这是搞定后的了!)
查看了一下容量,发现home容量好多,果断要削了他。
一番搜索,都好麻烦,不是要新建分区就是新建分区,然后看到redhat有个工具可以使用,逻辑卷管理器,有图形界面,也可以用命令操作。这时我就要庆幸当时分区的时候使用了LVM,没有LVM什么扩容都是扯谈。。。。。
不过需要手动安装
# sudo yum list |grep lvm
接下来就是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
进入系统后,查看磁盘容量
这是一次刺激惊险的学习经过,不过不管做什么,都要先备份,特别涉及到分区的东西,一旦出错,数据将无法挽回。。