Hyper-v之利用差异磁盘快速创建多个虚拟机
在新建Hyper-v磁盘的时候 有3种选项

其中分别是 固定大小 动态扩展 和 差异(differencing,个人习惯叫 差分)
其中
固定大小是新建的时候 Hyper-v创建一个设置大小值的文件,然后才就可以使用
优点是 速度相对比较快 而且不容易产生物理上的磁盘碎片
缺点 一开始就占用了所设置值的空间 占用空间大 而且新建的时候产生的时间要很久(因为系统要填充这个虚拟磁盘)
建议用于实际生产环境
动态扩展是新建的时候只占用很小的空间(大概是4m左右吧)然后使用的时候随着占用空间的增大跟着增长其空间
优点是 虚拟磁盘占用的空间随着使用的增长而增长 有效提高硬盘利用率 新建速度很快
缺点 速度比较慢,而且由于是动态增长可能会在物理磁盘上产生碎片
建议用于实验性环境
差异 这个需要一个父磁盘为基础,差异的磁盘连接到父磁盘,然后差异的那个磁盘引用父磁盘的数据,同时保存相对于父磁盘的更改数据
其结构类似于下图

差异磁盘建议用于很多数据是相同的情况下 把相同的数据保存为一个父磁盘 然后创建差异磁盘引用那个父磁盘的数据
很多时候 我们在使用虚拟机的时候 都要新建虚拟机 然后在里面安装系统
而一个系统 现在的win7/8或者其他系统 都基本接近10g左右的体积,如果要多个虚拟机的情况下 这是一笔很客观的硬盘占用
那么 我们可以使用差异磁盘的方式,先装好一个系统,然后进行初始化封装之后做成一个父磁盘,在新建n个差异磁盘,这样就可以很方便的可以快速新建n个虚拟机了
说了一堆基础的东西之后
下面说如何用差异磁盘来快速创建虚拟机
首先,先创建一个父磁盘,在里面安装好系统(本文以ws2012为例)
先装好系统(这个不用详说了吧?)进入系统,然后可以给系统做一些基础配置,比如ws2012有些人不喜欢开机跳出那个服务器管理器 可以取消
然后诸如winrar或者.net 3.5一类的常用的东西也可以安装好来
之后使用sysprep进行系统封装
在ws2012下按 win+x 然后a 或者其他办法 用管理员打开命令行提示符
输入 sysprepsysprep
然后如下图选择(关于sysprep的详细介绍可以参考微软官方的文档http://technet.Microsoft.com/zh-cn/library/cc766049(v=ws.10).aspx)

确定之后 稍等片刻等系统清理完信息 就会自动关机 自此 父磁盘就创建好了
(虽说不用sysprep也可以差分磁盘也可以使用,但是那样子用差异磁盘建立的多个虚拟机的SID是一样的,如果之后要做诸如域一类的实验的话就会有问题了,sysprep就可以清除掉那些信息
然后在下一次开机的时候就会像重装电脑完之后那样对电脑进行初始化设置,比如扫描硬件 新建一个新的sid等)
有了父磁盘之后,照着上面步骤创建一个差异磁盘
打开hyper-v管理器,新建-磁盘

然后跳出向导,在2个下一步之后,在选择磁盘类型里选择 差异

然后指定新建的差异磁盘保存位置和名字

在下一步后指定父磁盘的位置,即刚才创建的那个带操作系统的盘的位置

至此创建好了一个差异磁盘
该差异磁盘完整的引用了父磁盘的所有数据,一开始使用的时候,跟直接使用父磁盘是完全一致的
然后该差异磁盘会保存其相对于父磁盘的差异配置,比如父磁盘里没有qq,但是你在差异的那个磁盘的系统上装了qq,那么差异磁盘就会保存有qq的数据
新建一个使用差异磁盘的虚拟机
新建-虚拟机
在连接虚拟磁盘那一步,选择刚才新建的那个差异磁盘即可

每次需要一个新的系统的时候,先新建一个差异磁盘并且引用封装好的那个父磁盘,然后在新建虚拟机的时候使用该差异虚拟磁盘即可
使用差异磁盘的注意事项
1.由于差异磁盘的父磁盘只有一个文件,当多个虚拟机使用差异磁盘的时候大家都是用这个父磁盘,需考虑硬盘io问题,所以建议父磁盘最好放在比较高速的地方,比如ssd里(就算不通过差异的话貌似这也是个相当纠结的问题)
2.一旦封装好父磁盘之后,就不要在直接使用父磁盘来启动,不然会破坏父磁盘封装然后导致所有差异磁盘的引用失效
ps:虚拟机的快照其实也是利用了差异磁盘的原理
http://www.07net01.com/linux/Hyper_vzhiliyongchayicipankuaisuchuangjianduogexuniji_286541_1367838756.html
Hyper-v之利用差异磁盘快速创建多个虚拟机的更多相关文章
- Hyper-V:利用差异磁盘安装多个Win2008
签于成本的原因,在学习了解一项新的技术或是产品时,在没有部署到生产环境之中前,大家都会选择在虚拟机来搭建一套实验环境.但如何快速搭建呢?如何节省磁盘空间呢? 说到此都不得不说下Hyper-V的差异磁盘 ...
- httprunner_安装及利用脚手架工具快速创建项目
一.安装httprunner 笔者自己安装的版本为2.5.7 安装命令: pip install httprunner==2.5.7 二.快速创建目录 hrun --startproject dem ...
- (转)wsdl文件用SoapUI快速创建WebService,CXF生成客户端代码
原文地址:http://blog.csdn.net/fjekin/article/details/62234861 一.前言 最近项目接触到2C的很多接口,提供接口文档和WSDL文件,一开始测试接口都 ...
- windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理
windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理 今天在dell r710 上用windows server 2008 r2企业版hyper v 做虚拟化,添 ...
- 利用ARM批量自动化创建SSD多磁盘RAID0虚拟机
在实际生产环境大规模部署的时候,有时需要能批量创建多台Linux虚拟机,并且该虚拟机带多个硬盘,一些数据库环境,比如MySQL和MongoDB等,会需要超过10000de IOPS, 那么创建的虚拟机 ...
- 利用sublime的snippet功能快速创建代码段
在前端开发中我们经常会输入相同的一些基本代码,例如常用的jquery引用,bootstrap框架,cssreset等等,如果每次使用时在复制粘贴感觉很麻烦,这里介绍一种更为简洁的方法 利用sublim ...
- MySQL Database on Azure - 利用PowerShell快速创建使用数据库服务
如果您的应用需要通过脚本快速创建一个或多个MySQL数据库,MySQL Database on Azure目前开放了对于PowerShell的支持,可以帮助您快速利用自动化脚本进行数据库服务的创建.管 ...
- 利用 Create React Native App 快速创建 React Native 应用
本文介绍的 Create-React-Native-App 是非常 Awesome 的工具,而其背后的 Expo 整个平台也让笔者感觉非常的不错.笔者目前公司是采用 APICloud 进行移动应用开发 ...
- 如何利用Dreamwever快速创建表格???
这样的一张表,用table写完感觉好累,很多单元格都不一样大,还要单独设置样式,今天还分享下用Dreamwever快速创建表格. 可能这会有人知道了!当然是插入表格了!
随机推荐
- collections系列
一.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 c = Counter('abcdeabcdabcaba') prin ...
- guess number
crossin的前面几章基本和LPTHW内容重合,因此我直接做了他前面的一个综合练习. 猜数游戏, 即系统随机记录一个数,根据用户猜的记录,如果正确则告知,且退出游戏,如不正确,则提示答案与用户输入的 ...
- Python 基礎 - 文件的操作
在來我們來玩一下文件操作,這個在未來工作上,也是會很常用到的功能 Python2.7中,可以用file()來打開文件,而在Python3中,一律都是用open(),接下來在當前目錄下,先建立一個空文件 ...
- 使用ssh key的方式建立和git服务器的通信
1.以前大家好像都在用https的方式同git来同步代码,但是到了新公司后,主管说要配ssh key,所以大概了解一下 An SSH key allows you to establish a sec ...
- Lua string库整理
string库提供了字符串处理的通用函数. 例如字符串查找.子串.模式匹配等. 当在 Lua 中对字符串做索引时,第一个字符从 1 开始计算(而不是 C 里的 0 ). 索引可以是负数,它指从字符串末 ...
- 最短路径问题——floyd算法
floyd算法和之前讲的bellman算法.dijkstra算法最大的不同在于它所处理的终于不再是单源问题了,floyd可以解决任何点到点之间的最短路径问题,个人觉得floyd是最简单最好用的一种算法 ...
- linux文件目录权限详解(20170101)
linux目录权限与文件权限是不同的,二者要相互配合,这是基础. 比如要读文件:目录至少要有x,文件至少要有r. 要写文件:目录至少要有x,文件至少要有rw. 要执行文件:目录至少要有x,文件至少要有 ...
- 【WEB前端】CSS常用选择器
1.1 标签选择器 就是用标签名来当做选择器. 1) 所有标签都能够当做选择器,比如body.h1.dl.ul.span等等 2) 不管这个标签藏的多深,都能够被选择上. 3) 选择的是所有的,而不是 ...
- jQuery中的map()方法
jQuery中map()方法的使用格式为:$(selector).map(callback(index,domElement)). 将在每一个被选元素上执行map()方法中设置的回调函数,在回调函数中 ...
- 《java编程思想》读书笔记(一)开篇&第五章(1)
2017 ---新篇章 今天终于找到阅读<java编程思想>这本书方法了,表示打开了一个新世界. 第一章:对象导论 内容不多但也有20页,主要是对整本书的一个概括.因为已经有过完整JAV ...