免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2555 | 回复: 1
打印 上一主题 下一主题

[RAID与磁盘阵列] 微软虚拟化平台的灾难恢复 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-10 09:35 |只看该作者 |倒序浏览
   随着服务器虚拟化技术的发展和在行业中愈发广泛地普及,许多组织逐渐意识到它还有着超常的优势:降低基础结构成本并提高 IT 灵活性。下一项前沿技术将使用虚拟化平台作为启用或加强灾难恢复 (DR) 战略的方法。
  为什么 DR 准备始终是 IT 行业所面临的最热门话题之一呢?研究表明:公司每停机一小时将平均损失 $80,000 到 $90,000,并且几乎没有任何公司能够在出现灾难性数据丢失后仍能长期生存。本文将介绍使用 Microsoft 虚拟化平台的 DR,并深入探讨了 Windows
Server
2008
Hyper
-V 备份和恢复选项及注意事项。
  灾难恢复计划 101
  DR 是在出现停用时恢复关键服务的过程,它应该是每个公司业务连续计划的一部分,该计划定义公司在此类灾难期间或之后将如何继续履行其职能。这些计划是所有 DR 活动的基础。
  有些供应商宣称其 DR 自动化技术足够好,需要历经演练的详细计划的机率很小,甚至不需要这类计划。虽然可以说自动化能够改善恢复时间并减轻对人工干预的依赖,但我们还是要郑重指出:您不可能仅凭技术成功减轻灾难。人员和流程的重要性与技术相比始终不相上下。
  事实上,您会发现如果没有事先从 DR 计划流程中了解所有限制和目标,几乎不可能选择正确的技术。虽然本文不讨论定义整个 DR 计划,但我想强调这些元素是选择正确的技术和实施方案时所必需的。所以我们先大致看一下 DR 计划中一些关键的技术推动因素。
  服务定义和优先级您所尝试保护的整个服务具体由什么定义,它对公司的重要性有多高?图 1 显示可能包含在任何 DR 计划中的公司服务示例。
  

  定义好服务后,您可以开始确定系统和依赖关系,以及所需的 DR 策略类型。很可能在查看整个服务和依赖关系集合之后,您发现需要考虑建立几个不同级别的 DR,原因是为所有关键任务服务制定单个 DR 解决方案可能会非常昂贵且复杂。
  服务级别协议 (SLA) SLA 是服务提供商 (IT) 与客户(组织)之间的协议,用于为给定服务定义可用性目标。该协议可能非常冗长,也可能非常简短有效;例如,“在正常业务时间期间,电子邮件系统的可用性达到 99.95%,非正常业务时间可用性达到 98%,不含计划维护时间段,以月为单位计量”。通常,SLA 可分解为多个层次,IT 服务可以分配到这些层次中,在预定义的时间段进行测量。
  操作级别协议 (OLA) OLA 主要说明不同 IT 组(合作支持 SLA )之间的协议,包括服务交付的流程和响应时间。假设您有一个 SLA 目标为 99.99% 的关键任务网站,但它赖以提供内容的数据库的可用性目标仅为 95%。OLA 有助于识别这些不匹配的情况,并协调 IT 团队以便达到相同的目标。
  恢复点和恢复时间目标 (RPO/RTO) RTO 定义出现连续性
中断
之前服务不可用的时间长度,而 RPO 定义组织认为可以接受的数据损失级别。因此,如果某服务每月测量的 SLA 为 99%,则它的 RTO 为 7 小时 18 分钟。如果与 RPO(比如 24 小时)组合起来,则您现在可以准确定义所需的备份技术和时间计划。
  数据保留策略组织的数据保留策略精确指定保留备份的时间和存储位置。它们通常由法律和法规要求决定。
  数据分类您还应该考虑数据的特性。如果将数据分类,那您可以很快发现并不是所有的数据都需要相同级别的 DR 考量。例如,单独数据库的可用性要求可能与有多个

控制器(每个域控制器都包含目录的副本)的 Active Directory 的可用性要求不同。同理,文件服务器的数据可能与 CRM 数据的恢复过程大不相同。
  灾难方案定义所有希望计划的方案非常重要,因为每种方案都将有不同的恢复过程、业务影响和相关成本。查看所有可能的方案,然后决定为环境制定 DR 计划时的目标非常有用:
  ● 损失整个站点
  ● 损失单个数据中心
  ● 损失一台系统(
操作系统
或硬件故障)
  ● 损失数据(数据删除或损坏)
  ● 损失关键依赖关系
  很明显,恢复整个站点损失与恢复单个系统损失的注意事项有天壤之别。您还须根据 SLA 定义恢复阈值。例如,假设整个站点离线的原因是主要 ISP 网络断开。如果受影响服务的 SLA 对于服务恢复是 8 小时,对于数据恢复是 48 小时,那您可能更希望对备份站点执行服务故障转移程序,而不是实际完成数据恢复过程,因为预计生产站点会很快再次出现问题。
  看!到现在为止我们还没有谈到技术呢!计划的重要性不可低估。没有成文计划的 DR 实现只能是“DR 愿望”。
 灾难恢复和虚拟化
  好的,现在我们已经掌握了 DR 计划的基础,那么,虚拟化在其中有何作用呢?许多公司报告的虚拟服务器恢复时间都以分钟为单位,而物理服务器的恢复时间则以天或周为单位。因为整个服务器的
操作系统
现在只是一组文件,它已从底层物理硬件中抽象出来,所以为考虑可恢复性开辟了新的空间。
  当今流行的理论是可以通过高可用性 (HA) 解决方案实现部分或所有 DR 目标。言下之意是:如果在彼此分离的物理位置配备群集节点并使用站点间数据同步的话,那么在发生故障时,被动节点可以恢复运作且能够在近乎实时的情况下恢复。
  确实如此,但如果回忆前面定义过的灾难方案,很明显这种解决方案并不能保治百病。您还需要技术组合以便为所有方案作好准备,这通常包括一些常规类型的备份。HA 并不能防止所有可能的停机,而且它并不能完全替代某些备份策略。
  使用
Hyper
-V 和 HA 需要您仔细规划存储层,因为这是实现可恢复性的关键因素。例如,即使使用共享存储的 2 节点 Hyper-V 群集位于不同的数据中心,但仍有存储子系统和数据这一单独的故障点。
  然而,您应该知道不使用共享存储的相同 2 节点 Hyper-V 群集能够承受其中一个节点上的存储或数据损失。这确实需要复制技术确保存储同步,使得复杂性加大(请参阅图 2)。
  

  图 2多站点 Hyper-V 群集(单击图像可查看大图)
  在数据复制和同步领

有一些非常有趣的发展,但 Microsoft 目前尚不能提供这些技术。在 Windows
Server
2008 多站点群集页面(microsoft.
com
/windowsserver2008/en/us/
clustering
-multisite.aspx)上,其中介绍的合作伙伴值得一看。另一项资源是 Windows Server 目录(请参阅 windowsservercatalog.com),它列出了获得 Windows Server 2008 认证复制技术的存储供应商。
  如您所见,可供考虑的 HA 和存储配置为数众多。这再次说明为什么需要先定义业务需求,然后使其能够推动技术需求,而不是采用相反方式。
  
物理到虚拟
转换

  虚拟化显然可以提供某些独特的恢复灵活性,但对于并不非常适合虚拟化的物理系统又将如何呢?
System
Center 虚拟机管理器 (SCVMM) 中包含对正在运行的 Windows 服务器执行物理到虚拟 (P2V) 转换的功能,它可以产生与物理源服务器完全一致的可引导 Hyper-V 虚拟机 (VM)。这样您便可以在校园或整个国家内像复制虚拟副本一样复制 VM,同时还可获得相似的恢复时间。
  这种方法与在恢复位置进行裸机恢复这一传统方式不同,它不再需要配置与生产位置数量或类型相同的物理系统。这样您可以充分利用恢复硬件,并根据灾难的影响按需进行扩展。
  尽管 SCVMM 不包括用于 P2V 转换的调度程序,但由于 GUI 完全在 Windows PowerShell 之上运行,所以可以使用 New-P2V cmdlet 轻松地进行脚本化。实际上,SCVMM 中的所有向导都会显示它们用于执行任务的代码,您可以从环境的测试 P2V 中复制这些代码并进行修改,供今后自动执行之用。图 3 显示了一些示例代码;您可以在您的环境中运行 SCVMM P2V 向导获得可自定义的独特 Windows PowerShell 脚本。
  图 3 由 SCVMM P2V 向导生成的代码
  
$Credential = get-credential
New-MachineConfig -VMMServer  -SourceComputerName ""
-Credential $Credential -RunAsynchronously
$VMHost = Get-VMHost -VMMServer  | where {$_.Name -eq ""}
$MachineConfig = Get-MachineConfig -VMMServer  | where {$_.Name -eq ""}
New-P2V -VMMServer  -VMHost $VMHost -RunAsynchronously -JobGroup
e823f50d-dbc7-4a41-9087-fb01bb44dc26 -SourceNetworkConnectionID "00:14:D1:3C:66:2F"
-PhysicalAddress "00:14:D1:3C:66:2F" -PhysicalAddressType Static -VirtualNetwork "External"
-MachineConfig $MachineConfig
$VMHost = Get-VMHost -VMMServer  | where {$_.Name -eq ""}
$MachineConfig = Get-MachineConfig -VMMServer  | where {$_.Name -eq ""}
New-P2V -VMMServer  -VMHost $VMHost -RunAsynchronously -JobGroup
e823f50d-dbc7-4a41-9087-fb01bb44dc26 -VolumeDeviceID "C" -Dynamic -IDE -Bus 0 -LUN 0 -MachineConfig $MachineConfig
$Credential = get-credential
$VMHost = Get-VMHost -VMMServer  | where {$_.Name -eq ""}
$MachineConfig = Get-MachineConfig -VMMServer  | where {$_.Name -eq ""}
New-P2V -Credential $Credential -VMMServer  -VMHost $VMHost -
Path

"C:\ProgramData\Microsoft\Windows\Hyper-V" -Owner "DOMAIN\username" -RunAsynchronously -JobGroup
e823f50d-dbc7-4a41-9087-fb01bb44dc26 -
Trigger
-Name "" -MachineConfig
$MachineConfig -CPUCount 1 -MemoryMB 512 -RunAsSystem -StartAction NeverAutoTurnOnVM
-UseHardwareAssistedVirtualization $false -StopAction SaveVM
 虚拟机快照
  尽管从技术上讲并不是备份,但 VM 快照提供了可以使用差异磁盘还原的时间点和 VM 配置文件的副本。如果灾难涉及 VM 内部数据的意外删除,则可以考虑采用这种 DR 功能,因为 VM 可以还原到快照位置,去除数据损失。(我们将稍后讨论卷影复制服务快照,或称 VSS。)
  备份
Hyper
-V

  基于主机的备份服务器虚拟化一项让人心动的优势是可以不再需要单独备份虚拟化系统。既然这些系统仅仅是位于主机
文件系统
中的文件,那您只需备份这些文件即可,不是吗?并不完全是这样。因为这些系统是由内存数据、磁盘数据、系统配置和打开文件组成的活动计算机,所以还需要考虑几件事。那我们如何确保所有这些变化部件的数据一致性呢?
  Windows
Server
备份功能的重大改进来自 Windows Server 2003 和 VSS 的出现,它提供一组标准的扩展 API,VSS 编写器(应用程序和服务中用于帮助提供一致卷影副本的小程序)使用它来创建打开文件和应用程序的备份。凭借 VSS 服务、提供程序和编写器的帮助,备份应用程序可以快速生成时间点的卷副本,应用程序可以知晓该副本并给予正确处理。
  Hyper-V 有其自身的 VSS 编写器,它允许软件制作者创建极具吸引力的备份解决方案。编写器使备份应用程序能够获得运行中 VM 的基于主机 VSS 备份。如果 VM 中运行的
操作系统
已安装 Hyper-V 集成组件和 VSS 服务(Windows XP SP1 和 Windows Server 2003 及更高版本中提供),则基于主机的备份将以类似于在来宾内运行的方式进行;备份将在 VM 运行时执行且保持数据的一致性(请参阅图 4)。
  

  图 4 VSS 备份(单击图像查看大图)
  但是,如果来宾操作系统不支持“集成组件”或 VSS,那么备份
进程
需要将来宾机器置于已保存状态,并且为 VM 数据文件生成基于主机的 VSS 快照,以供时间点恢复使用。处于保存状态的 VSS 快照将导致 VM 暂时停机(通常为 5-10 分钟),以便将 VSS 数据副本完整备份到磁带。
  基于来宾的备份在物理环境中,服务器和应用程序需要分别进行备份,并且此类备份应该可以在虚拟数据中心内继续。在这种情况下,备份 VM 时也需要做此考虑,例如,基于网络的备份需要考虑网络容量需求,以及备份过程中对系统的性能影响。使用基于来宾的备份,您可以选择在主机中设立专用物理 NIC,它绑定到所有来宾均可使用的虚拟网络。
  Windows Server Backup
  Windows Server 2008 包含支持 VSS 的 Windows Server Backup (WSB),它可以用于执行 Hyper-V 基于主机和基于来宾的 VM 备份。因为完全支持 VSS,所以它可以针对正在运行的 VM 执行基于主机的备份,这无疑是十分理想的。
  但如果您的 VM 未安装“集成组件”,那将无法使用 VSS。在这种情况下,您有以下两种选择。您仍然可以使用 WSB 备份没有安装“集成组件”的 VM,这意味着需要保存 VM 的状态,并且备份将获取 VM 的虚拟磁盘和配置文件。
  但是,这对类似 Exchange 之类的应用程序可能不够理想,因为这类应用程序将无法识别已经运行过备份,且不会修改应用程序日志。此外还需要使 VM 停机,停机时间将视备份所需的时间而定。
  或者,可以在 VM 内部运行备份,就像物理机器使用 NTBackup 或 WSB 一样(具体取决于 VM 的操作系统)。让我们看看如何对已安装“集成组件”的受支持来宾使用 WSB。
  使用 WSB 备份 VM
  Hyper-V 不会为使用 WSB 而自动注册其 VSS 编写器。您必须按照图 5 中所示的方式手动添加注册表项和值才能使 WSB 支持 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
  图 5 用于注册 Hyper-V VSS 编写器的项和值
  此操作不需要重新启动,因为 WSB 将在备份运行时搜索此项/值。可以使用以下命令显示是否已设置该条目:
      
reg query "HKLM\Software\Microsoft\windows nt\
  currentversion\WindowsServerBackup\Application
  Support\{66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE}" /s
  以下是安装 WSB 的方法。单击“开始”|“服务器管理器”。在左侧窗格中,单击“功能”,然后单击右侧窗格中的“添加功能”。在“选择功能”页面上,展开“Windows Server Backup 功能”并选中“Windows Server Backup 和命令行工具”复选框。现在请按以下步骤配置您的备份:
  1.转到“开始”|“管理工具”|Windows Server Backup。
  2.如果备份远程主机,则选择“连接到另一台计算机”并键入 Hyper-V 主机。
  3.选择“立即备份”或“备份计划”。
  4.选择备份配置 — “完整服务器”或“自定义”。如果选择“自定义”,则需要确保取得所有卷(其中包含与要备份 VM 相关的数据),包括 VM 配置数据、虚拟磁盘和快照。
  5.选择保存备份的位置。
  6.选择“VSS 完整备份”或“副本备份”。对于当前没有其他 VM 备份的基于主机备份,可以选择 VSS 完整备份。
  7.配置好详细信息后,选择“备份”。
 注意事项
  您必须备份与 VM 相关的所有卷,包括虚拟硬盘 (VHD)、VM 配置文件和快照。
  如果创建“备份计划”,您必须使用专用的本地卷,它由 WSB 格式化并独占使用。与之相反,如果准备执行“立即备份”作业,您可以将备份保存在非专用的本地卷、可移动设备或网络共享。
  如果要备份的 VM 中未安装“集成组件”,WSB 将保存运行中 VM 的状态以便确保备份数据的一致性。
  完成后,备份集可以便携移动且用于任何
Hyper
-V 主机。
  使用 WSB 恢复 VM
  尽管 WSB 确实具备恢复单个文件的能力,但该功能并不使用 VSS,因此如果在备份时 VM 正在运行,则有可能导致产生不一致的恢复。要恢复运行中的 VM,您需要恢复整个卷。
  要完成此操作,您必须转到“开始”|“管理工具”|Windows
Server
Backup,并在“操作窗格”中选择“恢复”。选择要恢复数据的服务器(WSB 备份数据所在的服务器),然后选择恢复数据的日期。接下来选择恢复类型。
  此时您必须做出决定。如果需要恢复整个 VM,包括其配置、快照和虚拟磁盘(例如整个主机出现故障),选择“应用程序恢复”,然后选择 Hyper-V,如图 6 所示。在这种情况下,您没有恢复单个文件的选项。您必须恢复备份集中的所有内容。请注意:这不会覆盖自上次备份起发生过变化的现有 Hyper-V 和 VM 配置数据。
  

  图 6 恢复 Hyper-V 备份(单击图像可查看大图)
  如果仅需要恢复 VHD 自身,而 VM 的配置数据和快照正常,那您可以选择文件和文件夹,并选择所需的单个 VHD 文件。请注意,该过程不会使用 VSS 编写器;需要谨记在 VM 备份开始前应该先保存其状态。
  如果出现整个系统和数据全部损失并希望恢复 Hyper-V 主机自身,包括 Windows Server 2008
操作系统
和其中运行的所有 VM,那您必须引导至 Windows 恢复环境并从该环境中执行恢复。可以通过 Windows Server 2008 安装盘或预配置磁盘分区完成此操作。
  
Data
Protection Manager

  我们已经介绍了备份和恢复步骤,以及使用免费的可靠内置 WSB 备份 Hyper-V 主机和来宾的注意事项,但 WSB 并不是企业级的数据保护解决方案。Data Protection Manager (DPM) 2007 SP1 才是企业级的数据保护解决方案。该程序当前计划在 2008 年底发布,DPM SP1 将支持 Hyper-V 并提供某些极具吸引力的功能:
  ● 用于所有 Hyper-V 主机和来宾的单一管理控制台。
  ● 持续数据保护,以最多 15 分钟的间隔拍下基于 VSS 的快照,仅获取
进程
中的更改。
  ● 允许备份跟随 VM 在群集节点间移动的 Hyper-V 群集识别功能。
  ● DPM 服务器到 DPM 服务器复制。
  ● 支持磁盘和磁带介质(磁盘到磁盘、磁盘到磁带或磁盘到磁盘再到磁带)。
  ● 在整个数据范围内备份和恢复,包括 Hyper-V 主机和来宾;运行中来宾的无代理 VSS 备份;支持恢复单个 VM;故障转移群集数据;及用于 SQL Server、Exchange、SharePoint、Hyper-V 和 Virtual Server 的业界一流应用程序专用功能。
  ● 备份前和备份后脚本。
  如果您当前正在使用第三方备份解决方案,那么请密切关注该应用程序的更新;大多数供应商正努力将基于 Hyper-V 主机的解决方案推向市场。
  脚本化备份
  WSB 包含命令行界面 (WBadmin.exe),以及一组用于编写脚本的 Windows PowerShell cmdlet。当使用这些工具时,将应用与前面所述相同的备份规则,并且需要通过注册表手动注册 Hyper-V VSS 编写器。
  图 7 显示了一些 WBAdmin 命令。有关 WBAdmin 的完整文档,请参阅 go.microsoft.
com
/fwlink/?LinkId=124380。如您所见,WBAdmin 中没有能够配置备份策略自身的命令,但有一个 Windows PowerShell 管理单元可以管理这些设置。您可以使用以下命令查看是否已注册该管理单元:
Get-PSSnapin -Registered
  图 7 WBAdmin 命令
  

  而且您可以使用以下命令加载名为 Windows.ServerBackup 的管理单元:
Add-PSSnapin windows.serverBackup
  加载后,您可以访问用于 WSB 的 Windows PowerShell cmdlet,如图 8 所示。有关每个 cmdlet 的详细说明,请运行此命令:
Get-
Command
-PSSnapin windows.serverBackup | select name | get-help –full
  图 8 Windows Server Backup cmdlet
  

 Windows
Server
2008 中还内置了另一个实用程序,它也可以利用
Hyper
-V VSS 编写器并提高了脚本编写的灵活性。DiskShadow.exe 允许进行卷影复制并将其作为驱动器装载,这使得管理员能够完成比使用 WSB 更具选择性的备份。切记 DiskShadow 不接受 Windows PowerShell 管道输入;它要求通过脚本传递命令,类似如下所示:
  
Delete Shadows Volume C:
Set
Context Persistent
Begin Backup
Writer Verify {66841cd4-6ded-4f4b-8f17-fd23f8ddc3de}
Add Volume C:
ALIAS
MyShadow
Create
End Backup
Expose %MyShadow% X:
Exit
  此脚本首先删除 C 盘的全部现有卷影副本,然后确保在 DiskShadow 运行之后保留卷影副本。接着它创建事务块 — 如果任何步骤失败,则整个过程失败。在该块中,DiskShadow 验证已加载 Hyper-V 编写器并将 C 盘添加到待备份的驱动器列表。
  C 盘将获取 GUID 以便进行标识,并且该 GUID 将保存在名为“MyShadow”的环境变量中。完成后,将创建卷影副本。
  备份将使用环境变量以 X 盘的形式出现。可以对其中的数据进行各种操作,然后 DiskShadow 可以再次运行,使用命令 Unexpose X:删除该驱动器。
  注意:恢复通过 DiskShadow 备份的 Hyper-V VM 现在是手动过程(必须重新创建 VM,不保留快照等)。虽然这样存在明显的缺点,但却可以保护数据。
  总结
  DR 是看似永无休止的艰辛旅程。但服务器虚拟化的技术和低成本特性带来了新的亮点。Microsoft 不仅提供虚拟化,而且还提供整个体系。与此同时,服务器虚拟化平台和
System
Center 系列还提供了更加全面的解决方案,以应对组织面临的不断加剧的复杂性挑战,包括 DR。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/66684/showart_1711673.html

论坛徽章:
0
2 [报告]
发表于 2009-05-21 12:05 |只看该作者
谢谢楼主分享。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP