合并SCVMM虚拟机的差异磁盘,并删除那些难以删除的Checkpoints(Shapshots)
使用Microsoft Data Protection Manager(DPM)有时会造成虚拟机的动态和固定磁盘变成差异磁盘,这个应该与DPM进行差异备份有关,未知原因造成DPM差异备份后无法复原原来的磁盘类型,并且在Hyper-V Manager中看到非常多树形结构的层层依赖的Checkpoints,这些Checkpoints名称中有Backup字样,这些Checkpoints无法通过Hyper-V Manager删除,也无法通过命令行删除,在文件系统中表现为虚拟机目录中Shapshots文件夹出现很多xml文件。然而Checkpoints的数量有50个上限,如果不删除这些Checkpoints会造成DPM无法继续备份这个虚拟机。那么我们只好手工合并这些差异磁盘,暴力删除这些Checkpoints。以下操作都需要关停虚拟机,并且有一定风险,请操作前备份相关文件。
1. 在SCVMM中先将该差异磁盘从虚拟机中删除,注意一定要选择不要从物理服务器中移除,即保留差异磁盘以备独立进行合并,操作请事先备份所有差异磁盘。

2. 在虚拟机所在物理服务器节点,使用Hyper-V Manager的Edit Disk功能,但是选择Locate Disk时需要特别注意的是必须从最新的那个差异磁盘开始向前合并。如果存在多个差异磁盘,他们之间的关系成树状结构,如果实现合并了前一个,那么后一个将无法找到其父磁盘。可以Merge到父磁盘,如果层次特别多的话,要一次一次操作相当费时费力,或者整体合并保存到其他位置,注意保存的文件名与之前的差异磁盘文件名一致(差异磁盘由1个文件vhdx和多个avhdx组成,这里才差异磁盘文件名指的是最初的那个,即vhdx文件名),以备后用。
如果选中的事差异磁盘,工具会出现Merge选项

完成合并

3. 差异磁盘完成了合并后,可以删除虚拟机目录中的所有差异磁盘(删除前确认有备份),拷贝合并后的固态磁盘或动态磁盘进入虚拟机目录,在SCVMM中为虚拟机添加该磁盘。这时虚拟机已经可以正常使用新的合并后的磁盘启动,但是这些备份用的Checkpoints还在,无论如何都无法删除,经尝试Hyper-V Manage和以下命令都无法删除:Get-VMSnapshot -VMName vmwithcheckpoint.domain.com -ComputerName hyper-v.domain.com | Remove-VMSnapshot。那么接下来使用暴力了。
在Services.msc中将Hyper-V Virtual Machine Management服务停止(在SCVMM管理下,该服务会自动启动,但有个几秒的窗口期),然后直接删除虚拟机目录中的Shapeshots文件夹。启动Hyper-V Virtual Machine Management后,在Hyper-V Manager中虚拟机不见了,SCVMM中虚拟机呈现Missing状态。可以想象Hyper-V Virtual Machine Management找不到虚拟机的Checkpoints文件,无法关联该虚拟机。但是别急,我们可以通过Hyper-V Manager重新导入该虚拟机,导入时选择Restore,所以文件夹都指向原先虚拟机目录,在选择Checkpoints时,注意选择删除Checkpoints。完成后一切都回来了。

注意删除Checkpoints时,一定是建立在Merge差异磁盘,而虚拟机配置也没有太大改动的基础上,简言之每个Checkpoints都会保存与上一个虚拟机状态(配置和磁盘)的差异。至此虚拟机终于恢复正常了,惊心动魄。
合并SCVMM虚拟机的差异磁盘,并删除那些难以删除的Checkpoints(Shapshots)的更多相关文章
- Hyper-v之利用差异磁盘快速创建多个虚拟机
在新建Hyper-v磁盘的时候 有3种选项 其中分别是 固定大小 动态扩展 和 差异(differencing,个人习惯叫 差分) 其中 固定大小是新建的时候 Hyper-v创建一个设置大小值的文件, ...
- kvm上的Linux虚拟机使用virtio磁盘
kvm上的Linux虚拟机使用virtio磁盘 系统:centos6.6 64位 网上的文章比较少,怎麽将Linux虚拟机的磁盘改为使用virtio磁盘 因为centos6或以上系统已经包含了vir ...
- 如何从 Windows 虚拟机分离数据磁盘
当不再需要附加到虚拟机的数据磁盘时,可以轻松地分离它. 这会从虚拟机中删除该磁盘,但不会从存储中删除它. Warning 如果用户分离磁盘,它不会自动删除. 如果订阅了高级存储,则将继续承担该磁盘的存 ...
- Hyper-V:利用差异磁盘安装多个Win2008
签于成本的原因,在学习了解一项新的技术或是产品时,在没有部署到生产环境之中前,大家都会选择在虚拟机来搭建一套实验环境.但如何快速搭建呢?如何节省磁盘空间呢? 说到此都不得不说下Hyper-V的差异磁盘 ...
- 合同主体列表添加两条合同主体,返回合并支付页面,支付总弹"请选择合同主体",删除后,竟然还能支付(改合并支付页面的字段状态)
bug描述: 操作步骤:1.进入"商标续展"产品详情页面,点击立即购买(数量设为2),进入合并订单界面,选择合同主体,点击全部,清空所有合同主体2.新建合同主体保存,设置该合同主体 ...
- ViutualBox虚拟机里添加磁盘
1.首先在VirtualBox界面给虚拟机添加一块磁盘 2. 启动系统,查看当前磁盘空间 Last login: Tue Mar 15 22:24:47 2016 from 192.168.1.100 ...
- kvm linux虚拟机在线扩展磁盘
说明: 1) vmware ESXi虚拟化平台也支持这台在线扩展磁盘功能. 2) kvm虚拟机也支持在线扩展磁盘功能,在线扩展有特定的使用环境,主要用于不能随便停用的生产环境中. 3) 经过测试KVM ...
- vmware vsphere client 虚拟机动态添加磁盘
0x00 事件 为了在虚拟机添加了磁盘之后,不重启机器加载新磁盘. 如上图,添加了一块 10G 的磁盘之后. 在虚拟机中是看不到新添加的磁盘: 0x01 解决 运行如下命令,通过重新扫描 SCSI ( ...
- VM删除快照失败,磁盘空间不足,只是删除了快照名字(全网唯一解决办法)
原创: 删除之前的快照,发现只是把名字删除了, 看着这么多文件也不知道怎么删,一顿百度google也是没找到答案 于是就自己琢磨 因为删除快照的时候,是先把快照删除,然后删除无效的文件 所以先让这个盘 ...
随机推荐
- C++getline使用
C++getline使用 一.心得 getline(cin,s);多去看函数的使用默认说明 二.使用 getline(istream &in, string &s) 从输入流读入一行到 ...
- c#LINQ表达树
如果你已经用过LINQ, 你应该知道函数方式,以及包含的丰富的类库, 如果你仍不了解, 那根据下面的链接去熟悉一下 the LINQ tutorial, lambda. 表达树提供了丰富的包含参数的 ...
- windows使用git记录
1.免密码clone远程服务器代码开启ssh 生成私钥公钥 命令:查看自己配置的邮箱 git config user.name git config user.email 生成密钥:邮箱填写上面查看出 ...
- 菜鸟帮你跳过openstack配置过程中的坑[文末新添加福利]
一:前言 对于一个以前做java全栈工程师而言,而且没学过Linux,很少用虚拟机(还是在大学的时候简单的用过),去配置openstack我想我入的坑肯定比有基础的一定要多,躺在每个坑中徘徊思索的时间 ...
- 008——php字符串中的处理函数(七)
<?php /** *字符串处理函数(六)get_magic_quotes_runtime set_magic_quotes_runtime strip_tags *get_magic_quot ...
- CF 160D Edges in MST 最小生成树的性质,寻桥,缩点,批量处理 难度:3
http://codeforces.com/problemset/problem/160/D 这道题要求哪条边存在于某个最小生成树中,哪条边不存在于最小生成树中,哪条边绝对存在于最小生成树中 明显桥边 ...
- hdu 3268 09 宁波 现场 I - Columbus’s bargain 读题 最短路 难度:1
Description On the evening of 3 August 1492, Christopher Columbus departed from Palos de la Frontera ...
- jQuery中 attr和Prop的区别
出自这里: http://www.365mini.com/page/jquery_noconflict.htm 在jQuery中,attr()函数和prop()函数都用于设置或获取指定的属性,它们的参 ...
- python高级编程之列表推导式
1. 一个简单的例子 在Python中,如果我们想修改列表中所有元素的值,可以使用 for 循环语句来实现. 例如,将一个列表中的每个元素都替换为它的平方: >>> L = [1, ...
- Ethereum部署私有合约常见问题汇总
常见问题 问题1 问题描述: callback contain no result Error: authentication needed: password or unlock 这里的问题是当前所 ...