我们一起加深了对Hyper-V的快照功能的理解,同时也看到了Snapshot这种技术作为备份方案的不足之处.
那么我们今天来体验一下使用Windows Server 2008中全新改版的备份工具Windows Server Backup进行对Hyper-V的备份还原吧.
在此之前,很有必要先对比一下Windows Server Backup(简称WSB)与前面版本操作系统中的ntbackup工具有什么差异和进步.
1. WSB的备份还原操作更简单,以磁盘卷为单位进行备份,同时只能备份本地磁盘上NTFS格式的卷
2. 更快速的备份技术,这是因为WSB使用了VSS卷影复制技术,VSS后面我们要重点介绍
3. 恢复应用程序的功能,这点和Hyper-V有很大联系,后面的演示部分大家会看到
4. 改进的备份计划功能
5. 新增的WbAdmin命令行工具管理
6. 支持存储设备为可移动介质和光学介质驱动器等
还有其他一些优点就不一一提及了.
详见http://technet.microsoft.com/zh-cn/library/cc754572(WS.10).aspx
我们还是边看演示边学习吧
Windows Server Backup的安装
WSB在Windows Server 2008默认是没有安装的一个功能组件,所以我们需要先安装它,安装过程十分简单.
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_VSS
Note:因为我是在生产环境中截的图,所以这里WSB功能已经安装
调出WSB控制台界面如下
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_amp_02
我们可以操作的部分就是右边绿色高亮圈出的.
我来为大家边演示边说明吧.
备份排程:即是备份计划任务,因为此种备份需要一个单独的磁盘作为存储设备,我的这台服务器硬件条件不满足,所以就不多做介绍了.
来看看单次备份
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_VSS_03
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_VSS_04
这里会提示是要对服务器进行完整备份还是自定义备份,如果选择完整备份的话WSB会对服务器硬盘上的所有数据,包括应用程序及系统状态等做备份.为了方便演示,我们自定义选择只备份D盘.这台服务器D盘上可是放着几台虚拟机的VHD磁盘文件和配置文件的哦.
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_VSS_05
说明一点,默认情况下”启用系统修复”这个是勾选上的,所以在上面的磁盘卷的选择上系统盘C盘也是被打上勾要备份的,目的很明确,就是像ntbackup中备份系统状态一样,如果你不想备份系统状态,就需要把”启用系统修复”勾选掉然后才能将系统卷排除在备份目标之外.
然后我们勾选要备份的D分区,下一步
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_Windows_06
我们需要选择将生成的备份文件存放于本地磁盘还是远程文件夹内
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_Server_07
这里我选择保存在本地磁盘E内
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_Backup_08
这里我们需要选择是使用VSS复制备份还是完整备份,如何选择界面上说的很明白,如果还要用其他备份产品来备份应用程式,就要选择复制备份,如果没有用其他备份产品来备份应用程式的规划,则选择完整备份,其实这里就是看你是否需要保留应用程式的日志文件.
我没有打算使用其他备份产品,所以选择完整备份,下一步
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_amp_09
开始备份
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_Backup_10
资料比较多,让他慢慢备着,趁这个时间我们来一起深入了解一下VSS卷影复制技术.
其实从Windows Server 2003开始,VSS技术已经被我们广泛使用,应该有IT Pro朋友这样做过: 通过使用VSS,在特定的卷上建立数据拷贝时间点;并在将来的某一时刻把数据恢复到任何一个你曾创建的时间点的状态.
VSS卷影复制技术的概念:
什么是VSS卷影复制?
VSS 是一套COM API,它部署了这样的架构,让卷备份能够被执行同时系统上的应用程序继续写入卷。请求者、编写器和提供程序它们在VSS架构中通讯来创建和恢复卷影副本。一个卷的影子副本及时地复制了加载在卷上处于正常状态的所有的数据。
备份的过程包含下面这些步骤:
1. 请求者发起备份。接着请求者通知编写器准备一个数据集便于备份。
2. 编写器为备份准备数据。应用程序部署根据应用程序的特定要求准备数据的编写器。在数据集准备好之后,编写器用信号通知请求者来备份数据集。
3. 提供程序与磁盘系统交互,并管理影子副本。当被请求者指示的时候,提供程序创建影子副本。
4. 请求者发信号将备份成功或失败的信号发送给编写器,接着完成整个备份过程。
5. 通过分开请求者、编写器和提供程序的功能,VSS 架构使得每个组件独立于其他组件。一个请求者能够与不同的提供程序或多个编写器交互。
凭借 VSS 服务、提供程序和编写器的帮助,备份应用程序可以快速生成时间点的卷副本,应用程序可以知晓该副本并给予正确处理。
可能有的朋友觉得,对于运行于Hyper-V环境中的虚拟机,我们只需要备份他的.VHD文件,配置文件甚至.AVHD文件即可,但现实中并不是这么简单的.因为这些活动的虚拟机系统是由内存数据,磁盘数据,系统配置和打开文件组成的计算机,所以我们还要考虑如何确保所有这些变化部件的数据一致性?
VSS技术及使用它的备份软件的应用,就是为了满足上面的要求.
注意:我们这里讨论的是在虚拟机处于运行状态时候的备份活动,而不是停机的,如果你的单位和用户可以忍受关闭虚拟机再进行磁盘文件及系统配置文件的备份,那么就没有必要使用VSS了…因为你关闭了虚拟机再备份就不存在一边要备份一边还有数据不停更变的冲突.
说回Hyper-V
对于Hyper-V应用的常规备份,成熟的方案包括基于主机(host OS)的备份和基于来宾(guest OS)的备份.基于主机的备份就是上面提到的如果在保证数据一致性的前提下备份虚拟机的VHD及配置文件等等,基于来宾的备份则是考虑如何备份虚拟机内中运行着的系统状态,文件或者应用程序.(说到此,想起来某位兄弟曾抱怨过虚拟机也要装杀毒打补丁搞备份真麻烦!呵呵).
办事周到的微软为Hyper-V 设计提供了自身的 VSS 编写器,它允许软件制作者创建极具吸引力的备份解决方案。编写器使备份应用程序能够获得运行中的虚拟机的基于主机 VSS 备份。如果虚拟机中运行的操作系统已安装 Hyper-V 集成组件和 VSS 服务(Windows XP SP1 和 Windows Server 2003 及更高版本中提供),则基于主机的备份将以类似于在来宾内运行的方式进行,备份将在虚拟机运行时执行且保持数据的一致性
说回Windows Server Backup, 因为它完全支持 VSS,所以它可以针对正在运行着的虚拟机执行基于主机的备份,很好很强大。但是有一点, 虚拟机中运行的操作系统需要安装 Hyper-V 集成组件和 VSS 服务.如果来宾操作系统不支持“集成组件”或 VSS,那么备份进程需要将来宾机器置于已保存状态,并且为虚拟机数据文件生成基于主机的 VSS 快照,以供时间点恢复使用。处于保存状态的 VSS 快照将导致 虚拟机暂时停机(通常为 5-10 分钟),以便将 VSS 数据副本完整备份;或者也可以将虚拟机当作物理服务器一样在其内部运行ntbackup or WSB进行备份.
(以上部分内容参考微软Technet网站文章)
可能是因为考虑到WindowsServer 2008分为with Hyper-V 及without Hyper-V,所以WSB中默认没有提供对Hyper-V的支持,我们需要到注册表中手动修改一些键值从而注册其 VSS 编写器.
先添加
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT \CurrentVersion\WindowsServerBackup\Application Support\{66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE}
建立以上键值后,还要创建一个字符串值(String Value)。
Name: Application Identifier
Type: REG_SZ
Value: Hyper-V
要是你嫌麻烦,也可以在命令行提示符下执行:
reg add "HKLM\Software\Microsoft\windows nt\
currentversion\WindowsServerBackup\Application
Support\{66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE}"
reg add "HKLM\Software\Microsoft\windows nt\
currentversion\WindowsServerBackup\Application
Support\{66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE}" /v
"Application Identifier" /t REG_SZ /d Hyper-v
效果一样的.
关于使用WSB & VSS备份Hyper-V的理论知识想必大家已经比较清楚了,这个时候服务器上面也终于备份完了.
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_Windows_11
做好了备份,当然要测试一下能否还原,也就是测试备份的有效性
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_amp_12
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_Windows_13
这里是可以根据日期选择还原点的,比以前的还原操作方便了很多,即使你做的是完整备份+增量备份,也不用像以前一样先还原完备,再一个一个顺序地还原增量备份,这里直接选择日期就搞定了.
下一步
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_Backup_14
这里看好咯,我可以选择中间的这一项”应用程序”,可能很多朋友看到网上别的教程或演示,到这里的时候这一项是不可选的.
我来说明一下,这就是因为我已经按照前面的做法为Hyper-V在注册表中注册了VSS编写器(修改注册表后不用重启物理机器的).
至于其他两个选项我相信不用做过多的解释了,一个是从备份中选定要还原的文件资料等,一个是将整个卷都还原出来.
下一步
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_amp_15
可以看到”Hyper-V”
下一步
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_Windows_16
这里我们要选择还原到什么位置
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_Backup_17
确认
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_amp_18还原进行中…
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_VSS_19
还原完成…
看看都还原出了什么
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_Windows_20
系统盘(C:)保存的Hyper-V的信息和存储虚拟机的磁盘(D:)都有还原出来.
点开C_
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_Backup_21
点开D_
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_VSS_22
浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS_Backup_23
虚拟机的磁盘文件,配置文件,乃至快照,都有完美地被还原出来哦.
演示就到这里.
总结一下,
对于Hyper-V的高可用,如果你的企业中还没有采取群集,迁移等方案,还是需要先稳妥地做好备份的.
而通过前面的演示,大家可以看到WSB&VSS对Hyper-V的在线备份已经支持的相当的好了,若是配合使用WSB的命令行工具WBAdmin,则可以定制出更多更灵活的备份策略.大家有兴趣可以多深入学习一下.
有朋友想问,那么还有没有比Windows Server Backup更强大的备份方式呢,这个,还真有!我下篇会为大家介绍真正的企业级的数据保护解决方案产品---Data Protection Manager 2007 with SP1.敬请期待…