设为首页 收藏本站
查看: 1448|回复: 6

[经验分享] 通过Hyper-V批量快速复制实验虚拟机的实践思路

[复制链接]

尚未签到

发表于 2013-4-12 09:19:38 | 显示全部楼层 |阅读模式
本帖最后由 wuyvzhang 于 2016-8-2 17:32 编辑

很久没有更新博客了,当然一部分原因源于休假后带来懒惰的惯性,更主要的原因是由于工作需要,最近一段一直在闭关设计和研究新一期活动的内容和方式并完成了其中一些关键部分的脚本;这其中一个很重要的部分就是架构和设计虚拟实验室的前后台工作。 今天,通过这个博客分享一个针对我们的虚拟实验室中必须攻克和解决的一个技术难题及如何设计并解决的,希望对你也有所启发。 (具体的项目设计相对比较复杂,其中的技术部分涉及了虚拟网络隔离设计、存储系统、并发远程连接桌面、自动化部署,前后台等诸多部分,这里仅就存储一个子单元中的一个环节展开) 我们的实验考虑到需要通过自动化批量部署方式将初始化的实验环境部署到后端若干套Hyper-V的服务器虚拟化平台,这里以一个培训完整的实验环境源VHD加上差异盘快照avhd需要300G计算;单就一套完全自包含的环境进行导入导出是很简单的,通过Powershell的导出和导入CMDLETS就可以轻松的解决,不过试想一下,像我们的实验平台单就一个自包含的实验环境就有300GB之巨,如果在服务器端跑10个左右的这样的环境,其初期部署规模就会上升到接近3TB,显然这种方式空间占用和部署时的导入速度都会变得不太能接受的。 有没有什么更好的方法呢? 在前期我就考虑到,是不是可以采用差异磁盘减少空间的投入和部署的时间,但是新的问题接踵而来,如果采用差异磁盘的是需要重新创建虚拟机的,这样对于每套独立的环境就需要在后期脚本中恢复其中的配置,这个复杂度就很高了。 最终,经过思考和测试,找到了一个解决方案,其大致思路是这样的: 我将上述一个实验的环境修改为5个完整的源全量虚拟磁盘vhd分别对应5个快照磁盘avhd或差异磁盘,为什么是这样?在看完了这个实践过程,相信你就清楚了:) 貌似如果需要制作10套环境按照这种做法不但不会节省什么空间,反而显得画蛇添足而且空间还多了这显然得不偿失,不过这时候就要发挥OS自带的MKlink的作用了,而且速度会非常有优势,怎么做呢?其实说来简单,全量磁盘和差异磁盘时有父级别关联关系的,下面拿个测试环境看看: 从界面就可以看出来(对包含快照的环境其实是一样的) 3377405_1365647982mKCZ.jpg 通过Powershell,也可以看到: 3377405_1365647984IITF.jpg 如果导出配置了差异磁盘的虚拟机会是神马情况呢?我们测试一下看看: 都导出哪些东东?Hyper-V虚拟机的导出了3个目录,一个快照目录,一个磁盘目录还有一个是虚拟机配置文件目录的XML用于导入。 3377405_1365647987UdM2.jpg 磁盘目录中包含了全量的父磁盘win2008r2-30G.vhd以及差异磁盘cdltmg.vhd,对于我们要做的就是想个办法绕开拷贝10次父磁盘,记住“重角虽多一麟足矣“!”戏份“开始了:) 我们要做的就是把这个父磁盘单独放置到一个目录中,并在原有的目录中制作一个符号链接,例如把导出的父磁盘单独移动到父目录下的Parent目录;之后要生成10套这一个实验环境?呵呵,拷贝10次Export目录就好了!拷贝时间空间都得到了保障;当然还有个2个前提条件是不得不说的: 1. 因为差异磁盘系统在启动时都需要读母盘,因此并发读的压力在磁盘系统是很大的,所以即便可以复制的虚拟机越多越节省空间,我们也不能无限制的复制,我的环境因为采用SSD做CacheCade,因此做了10个差异磁盘的环境。 2. 在我的环境中用于拷贝的虚拟环境可以是相同的(主机名,IP地址等),因为处于实验目的我只需部署同样环境给做实验的用户就可以了,再导入虚拟机的时候我会在原地导入并且制定每个虚拟机一个自己独立的Private虚拟交换就可以,但实际环境如果做类似操作,好需要设计如何将拷贝出的虚拟机环境导入需要重新配置主机名和IP地址等因素。 看看我的测试的基础用例,后期的脚本都是基于这个实验作为蓝本开发的。 1. 拷贝父磁盘 3377405_1365647989XVHS.jpg 2. 拷贝不包含父磁盘的导出文件一份到新的目录,例如从export中的cdltmg拷贝到cdltmg1 3377405_1365647990lC77.jpg *接下来有两种分支实现方式: a)对拷贝后的目录制作父磁盘制作符号链接,这里需要用到一个系统自带的MKlink的工具: MKlink是微软系统中自带的符号链接工具,Windows Server 2008/2008R2/2012, Windows Vista/Windows 7/Windows 8系统中都可以提供,请参考 我们需要在拷贝出来的目录的虚拟机磁盘位置创建源父磁盘的符号链接并指向父目录下的Parent目录中的全量父盘 3377405_1365647993lQCP.jpg 在GUI界面中,也可以看到该符号链接文件,注意观察一下它的大小你就知道为什么我们要这么搞了:) 3377405_1365647995FJxp.jpg b)利用Hyper-V修复磁盘工具方式或WMI(WMI的方式是我们后期通过脚本或C#解决的这里暂不讨论)
  • 在Hyper-V的管理界面中选择检查磁盘,
3377405_1365647997R24B.jpg
  • 指定拷贝的导出目录中的差异虚拟磁盘
3377405_1365647999wxOU.jpg
  • 被告知该差异磁盘的父磁盘连接丢失,当然因为我们统一将父磁盘放到了Parent目录,因此我们需要点击重新连接
3377405_13656480009O08.jpg
  • 指定Parent目录中的父磁盘,并选择重新连接及完成连接后的效果
3377405_1365648005wyzf.jpg 3377405_1365648007tshO.jpg 好了,完成了分支步骤中的任意一个,接下来还有个难题,这些被复制的虚拟机都有一个统一的虚拟机Global ID,因此这将会造成导入新虚拟机时的错误 3377405_1365648008zq9N.jpg 好了,又一个小Trick将登场了,我们都知道这个UUID及虚拟机名称都保存在了导出的XML文件中,因此我们需要分析这个文件格式并作出差异化的改变就可以完成导入了,再实际项目中采用了脚本完成了对XML文件的Parse和修改,这里给出一个示例,只需要修改这三个位置就可以啦: 3377405_1365648011gsKI.jpg OK,都修改完了,看看最后一公里的工作, 4. 导入虚拟机看看是否符合预期?哈哈,导入完成了,新的虚拟机已经成功放入了。 3377405_1365648013VZ7h.jpg 写在最后, 其实费劲周折完成的这件事情仅仅是针对我具体搭建的一个具有特殊性的快速搭建实验环境用例所做的设计,在真实的项目里面以及我们项目后期改变考虑还是通过一个通过sysprep的系统作为源点,利用很成熟的System Center技术通过模板和定制化完成的。 HTH, Hope This Help :-) SO娱乐城:真_人.足球.彩票齐全| 开户送10元.首存送58元.手机可投×注任何游戏顶级信用×提现即时到账SO.CC

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-5188-1-1.html 上篇帖子: Microsoft Hyper-V Server 2012快速上手之创建脚本运行环境 下篇帖子: System Center 2012 SP1 Operations Manager系统要求

尚未签到

发表于 2013-4-12 09:36:56 | 显示全部楼层
本帖最后由 wuyvzhang 于 2016-8-2 17:32 编辑

人生不能像做菜、把所有的料都准备好才下锅! SO娱乐城:真_人.足球.彩票齐全| 开户送10元.首存送58元.手机可投▊注任何游戏顶级信用▊提现即时到账SO.CC

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 13:12:59 | 显示全部楼层
本帖最后由 wuyvzhang 于 2016-8-2 17:32 编辑

生我之前谁是我,生我之后我是谁? SO娱乐城:真_人.足球.彩票齐全| 开户送10元.首存送58元.手机可投②注任何游戏顶级信用②提现即时到账SO.CC

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-19 15:45:21 | 显示全部楼层

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-22 02:09:50 | 显示全部楼层
本帖最后由 wuyvzhang 于 2016-8-2 17:32 编辑

下雨了,别忘了打伞,湿身是小,淋病就麻烦啦*^_^* SO娱乐城:真_人.足球.彩票齐全| 开户送10元.首存送58元.手机可投з注任何游戏顶级信用з提现即时到账SO.CC

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-24 05:30:15 | 显示全部楼层

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-27 21:08:04 | 显示全部楼层

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表