合并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也是没找到答案 于是就自己琢磨 因为删除快照的时候,是先把快照删除,然后删除无效的文件 所以先让这个盘 ...
随机推荐
- HDU - 4804 Campus Design 轮廓线dp
题意:一个nm的矩阵被12的骨牌和11的骨牌完全覆盖,11的骨牌只能放c-d次,矩阵中有障碍物 题解:dp[i][j][k]表示到了第i行,第j个状态,放过k个11的骨牌,当前位有障碍物时只有一种转移 ...
- HDU-4550-贪心
卡片游戏 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submis ...
- db2时间函数
获取当前日期: select current date from sysibm.sysdummy1; values current date; --获取当前时间 select current time ...
- IOS-网络(文件压缩和解压缩)
// // ViewController.m // IOS_0206_文件上传 // // Created by ma c on 16/2/6. // Copyright © 2016年 博文科技. ...
- POJ 3087 Shuffle'm Up 线性同余,暴力 难度:2
http://poj.org/problem?id=3087 设:s1={A1,A2,A3,...Ac} s2={Ac+1,Ac+2,Ac+3,....A2c} 则 合在一起成为 Ac+1,A1,Ac ...
- iOS笔记之AutoresizingMask
在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高. enum { UIViewAutoresi ...
- Hibernate查询视图返回null问题说明及解决办法
在Hibernate中对含有主键的单表操作比较简单,直接使用Hibernate针对数据库表对象进行反向生成代码,直接调用就可以了.但是在实际项目当中,经常会用到不少的多表联合查询操作,网上有很多示例, ...
- springmvc的表单标签
1. Spring提供的轻量级标签库 2.可在JSP页面中渲染HTML元素的标签 3 用法 1)必须在JSP页面的开头处声明taglib指令 <%@ taglib prefix="fm ...
- HDU 1535
http://acm.hdu.edu.cn/showproblem.php?pid=1535 水题 单向图,从1到P所有点,再从所有点回到1,问最小花费 先求一遍1的最短路,然后反向建图,再求一遍1的 ...
- c/c++ socket函数详解
c/c++ socket函数详解 注意: 使用socketAPI前,要先将相关链接库(Ws2_32.lib)加入链接,并使用WSAStartUp函数初始化.每个socket函数都可能失败(返回-1), ...