备份和还原 VMM
本文介绍 System Center Virtual Machine Manager(VMM)环境中的备份和恢复过程,并提供一些建议。
开始之前
- 不要使用检查点进行灾难恢复。 检查点不会创建硬盘内容的完整副本,也不会将数据复制到单独的卷。
- 在更新虚拟机上的操作系统之前,可以使用检查点作为临时备份。 这样,如果更新有负面影响,则可以回滚更新。
- 应使用备份应用程序在灾难性数据丢失中备份和恢复数据。 一个选项是 System Center Data Protection Manager (DPM)。
- 重新安装 VMM 时,可以输入远程访问授权(RAA)密码和产品密钥等数据。 但是,无法重新输入某些加密数据,例如虚拟机角色。
- 如果使用数据保护应用程序编程接口(DPAPI)备份 VMM,则无法备份和还原此类数据。
- 如果 VMM 管理服务器失败,数据将丢失。
创建并实现备份计划
备份计划的基本元素包括需要备份的内容的列表,以及环境中频繁更改的内容(因此需要频繁备份)的大纲。
备份 VMM 数据库
VMM 数据库包含配置、服务模板、配置文件、虚拟机模板、服务、横向扩展服务和 VMM 正常运行所需的其他关键数据等信息。 定期备份 VMM 数据库。
VMM 数据库可以存储在 VMM 管理服务器上,也可以存储在运行 Microsoft SQL Server 的单独服务器上。 若要备份 VMM 数据库,可以使用以下一个或多个:
SQL Server 工具。 有关详细信息,请参阅创建完整数据库备份 (SQL Server)。
环境中使用的其他备份工具。
VMM 控制台或 Windows PowerShell cmdlet,如后续过程中所述。
除了备份数据库,我们还建议创建 VMM 管理服务器的系统状态备份,以便在灾难性数据丢失中重新创建具有相同安全标识符(SID)的服务器。 SID 是如何在虚拟机主机上授权 VMM 的一个组成部分。
重要
- 有多种方法来恢复通过下列任一种备份过程创建的 VMM 数据库文件。 一种方法(要求 VMM 管理服务器正常工作)是使用 SCVMMRecover.exe 工具,如 Backup-SCVMMServer 中所述(尽管 SCVMMRecover.exe 不是 cmdlet)。 另一种不需要 VMM 管理服务器正常运行的方法是使用 SQL Server 工具还原和附加数据库文件。
- 你必须是管理员用户角色的成员,才能执行以下过程。
可以通过以下方式备份 VMM 数据库:
- 使用 VMM 控制台
- 在 Windows PowerShell 中使用 cmdlet
选择所需的选项卡,以便通过以下步骤备份 VMM 数据库:
按照以下步骤使用 VMM 控制台备份 VMM 数据库:
在“设置”工作区的“主页”中,在“备份”组中,选择“备份”。
在 “Virtual Machine Manager 备份 ”对话框中,指定备份文件的位置。 选择不是根目录且 SQL Server 可以访问的文件夹。
可以在“作业”工作区中检查备份的状态。
有关如何恢复备份的信息,请参阅此过程前面的 重要 备注。
备份主机和虚拟机
虚拟机主机是 Hyper-V 主机、VMware ESXi 主机以及在其中部署虚拟机和服务的主群集。 若要备份虚拟机主机和群集,请使用Microsoft 系统中心数据保护管理器(DPM)或其他利用卷影复制服务(VSS)的备份应用程序将主机和虚拟机数据复制到远程文件共享。
重要
我们建议每日备份虚拟机配置文件 (.vmc)。
清点主机,然后备份所有托管的虚拟机。 若要获取 VMM 管理的主机列表,请从 Windows PowerShell 命令行运行以下 cmdlet:
$vmhost = get-scvmmserver <VMM management server name> | get-scvmhost
有关详细信息,请参阅 Get-SCVMMServer 和 Get-SCVMHost。
使用支持 VMM VSS 编写器的备份软件备份每个 VMM 主机上的所有配置和资源文件。 支持 VMM 的备份软件可以将存档和恢复虚拟机所需的步骤数降至最低,有助于最大限度减少停机时间,并有助于确保正在存档或还原的数据的一致性。
Back up library servers
VMM 库包括基于文件的资源,例如虚拟硬盘、ISO 映像、脚本、驱动程序文件和存储在库服务器上的应用程序包。 这些资源与不基于文件的 VMM 数据库中的资源密切相关,例如虚拟机和服务模板和配置文件。 应备份所有这些资源。
若要备份库服务器上的数据,请使用 System Center Data Protection Manager(DPM)或其他利用卷影复制服务(VSS)将主机和虚拟机数据复制到远程文件共享的备份应用程序。 有关 VMM 库服务器的列表,请从 Windows PowerShell 命令行运行以下 cmdlet:
$libraryservers = get-scvmmserver <VMM management server name> | get-sclibraryserver
有关详细信息,请参阅 Get-SCVMMServer 和 Get-SCLibraryServer。
将库共享上的所有文件备份到远程文件服务器上的共享文件夹,包括具有以下扩展名的文件:
- .vhd 和 .vhdx
- .iso
- .vmx
- .ps1
- .vmc
- .vsv
备份 VMM 私有云
若要协调和自动执行 VMM 云中虚拟机的复制和故障转移,可以使用 Azure 站点恢复管理器。 你可以通过以下方式进行复制:
使用 Hyper-V 复制或 SAN 复制,从某本地 VMM 站点复制到另一站点。
使用 Hyper-V 复制,从某本地 VMM 站点复制到 Azure。
备份注册表项、加密密钥和凭据
使用以下准则来备份注册表项、加密密钥和非 VMM 管理凭据:
注册表项:VMM 使用多个注册表项来存储重要设置。 设置存储在以下注册表项及其子项中:“HKLM\Software\Microsoft\Microsoft System Center Virtual Machine Manager Server\Settings” 。
应备份注册表的整个部分,但 SQL 子项可能除外。 如果备份 SQL 子项,请在备份时捕获数据库名称、位置和其他详细信息,这可能与恢复时所需的 VMM 数据库详细信息不匹配。
若要备份注册表项,可以使用 Regedit“导出” 功能或是在你的环境中用于备份注册表项的任何其他工具。
Active Directory 域服务中的加密密钥:如果配置了分布式密钥管理(DKM),则将 VMM 相关的加密密钥存储在 Active Directory 域服务 (AD DS) 中。 若要备份这些密钥,请定期备份 Active Directory。
非 VMM 托管凭据:与 VMM 相关的某些凭据由 VMM 管理服务器上的 Windows 凭据管理器管理。 若要访问凭据管理器,请在控制面板中选择“所有控制面板项”,然后选择“凭据管理器”。 选择“备份凭据”以备份任何与 VMM 相关的凭据。
备份非 Microsoft 用户界面外接程序和其他非 Microsoft 应用程序
可使用非 Microsoft 用户界面 (UI) 外接程序来扩展 VMM 控制台的功能。 UI 外接程序所用的数据可能存储在本地服务器或远程计算机上,并可能配置有一组特定的权限。 查阅特定 UI 外接程序的备份准则。
对于任何其他非Microsoft应用程序,请参阅应用程序的特定备份准则。
还原 VMM 环境
根据需要还原 VMM 数据库
如果必须还原 VMM 数据库,请先使用与备份方法相应的过程来还原它。 例如,若要使用 SQL Server 工具进行还原,请参阅 还原与恢复概述 (SQL Server)。
如果 VMM 数据库是唯一需要还原的元素,并且需要有关 SCVMMRecover.exe 工具的信息,请参阅 Backup-SCVMMServer。
可以在相同或不同的计算机上还原 VMM 服务器。 为还原 VMM 服务器的步骤选择所需的选项卡:
如果对 VMM 服务器使用相同的计算机,请在该计算机上执行系统状态还原(否则,请跳过本部分)。 如果执行此操作,VMM 服务器的 SID 保持不变,还原 VMM 环境所需的步骤更少。
还原 VMM 服务器后,请执行以下步骤:
从 VMM 控制台中删除在上次备份后删除的任何主机或虚拟机。 如果在上次备份后删除了主机,则它显示为“未响应”,主机上的所有虚拟机显示为“主机未响应”。 如果主机存在,但上次备份后已删除虚拟机,则虚拟机显示为 “缺失”。
添加上次备份后已添加的任何主机或虚拟机。
使用新的 VMM 管理服务器更新主机
打开 VMM 控制台。
根据需要查看主机和虚拟机的列表,以准备此过程中的后续步骤:
若要查看服务器列表,请在 Fabric 工作区的左侧选择“ 服务器”。
若要查看虚拟机的列表,请在 VM 和服务 工作区的左侧选择“ 所有主机”。
从 VMM 控制台中删除在上次备份后删除的任何主机或虚拟机。 如果在上次备份后删除了主机,则它显示为“未响应”,主机上的所有虚拟机显示为“主机未响应”。 如果主机存在,但上次备份后已删除虚拟机,则虚拟机显示为 “缺失”。
添加上次备份后已添加的任何主机或虚拟机。
标识标记为 “拒绝访问”的托管计算机,右键单击每个计算机,选择“ 重新关联”,然后提供管理凭据。
如果要还原也是库服务器的 VMM 管理服务器,则新计算机会将原始 VMM 服务器列为默认库服务器。 从“库” 视图中删除原始的库服务器,然后将新计算机添加为库服务器。
可能还需要重新关联外围网络中的服务器(也称为外围网络、非军事区域和筛选子网),如下一节中所述。
重新关联外围网络中的服务器
还原 VMM 服务器后,外围网络上的服务器最初可能显示为 “未响应”。 在这种情况下,请执行以下步骤:
登录到外围网络上的每个服务器,然后找到 VMM 帐户。 VMM 帐户是一个本地管理员帐户,其用户名 为 scvmm 和 5 个随机字符。
更改每个服务器上的 VMM 帐户的密码。
在 VMM 管理服务器上,在 “主机属性 ”对话框中,选择“ 选项”,然后为每个服务器分配在步骤 2 中创建的相同密码。
还原 VMM 库服务器
若要在数据丢失后还原库服务器,请还原文件服务器共享,然后将数据还原到共享上。
还原 VMM 管理服务器和 VMM 数据库后,库服务器将列在 VMM 控制台中。 根据需要,将这些列表与物理库服务器重新关联。
- 如果新还原的计算机的名称与原始计算机相同,请在该计算机上安装 Virtual Machine Manager 代理,然后将该计算机与 VMM 管理服务器重新关联。
- 如果新还原的计算机的名称与原始计算机不同,请使用 VMM 控制台从托管计算机列表中删除原始计算机,然后添加新计算机。
还原注册表项、Active Directory 对象和非 VMM 托管凭据
使用以下准则来还原注册表项、Active Directory 对象和非 VMM 管理凭据:
注册表项:若要还原以前备份的注册表项,可以使用 Regedit “导入” 功能或你的环境中用于备份和还原注册表项的任何其他工具。 但是,如果数据库名称、位置和包含的其他详细信息与还原注册表项时 VMM 数据库所需的内容不匹配,请不要还原 SQL 子项。
Active Directory 对象:如果在 VMM 环境中启用了分布式密钥管理(DKM),VMM 会将某些数据存储在 Active Directory 中,例如 RAA 密码、产品密钥信息和虚拟机角色数据。 重新安装 VMM 后,如果需要,可以重新输入 Active Directory 中存储的某些数据,例如 RAA 密码和产品密钥信息。 重新安装 VMM 并(如有必要)还原 Active Directory 后,Active Directory 中的数据将继续可供 VMM 访问。
非 VMM 托管凭据:在控制面板中,选择“所有控制面板项”,然后选择“凭据管理器”。 选择“还原凭据”以还原以前备份的任何与 VMM 相关的凭据。
还原后任务
根据 VMM 配置,在还原 VMM 环境后,可能需要执行以下一些任务:
配置 AlwaysOn 可用性组
如果使用 SQL Server Always On 可用性组配置了 VMM 数据库,则必须完成一些任务,以确保使用可用性组正确配置了数据库。
Microsoft Azure Pack 重新安装
如果环境中部署了 Microsoft Azure Pack 以支持使用 VMM 的租户,则必须在还原 VMM 环境后重新安装它。 有关适用于 Windows Server 的 Azure 包Microsoft的详细信息,请参阅 适用于 Windows Server 的 Azure 包Microsoft。
安装其他 VMM 控制台
如果必须替换安装了 VMM 控制台的任何服务器,请在这些服务器上重新安装主机。
更新虚拟机模板
还原的所有虚拟机模板都必须正确指定包含操作系统的虚拟硬盘。
在 VMM 控制台中 ,打开“库 ”工作区,展开 “模板”,然后选择“ VM 模板”。
在“模板”窗格中,右键单击要更新的虚拟机模板,选择“属性>硬件配置”以更新设置。
还原 azure Hyper-V 恢复管理器Microsoft
如果在 VMM 环境中实现了 azure Hyper-V 恢复管理器Microsoft,则必须执行几个步骤来还原 azure Hyper-V 恢复管理器 提供程序Microsoft。
查看外接程序、驱动程序包和证书
还原 VMM 后,请查看以下项,确保已为加载项、驱动程序包和证书执行了必要的步骤:
非Microsoft用户界面加载项:若要还原任何非Microsoft用户界面加载项或任何其他非Microsoft方应用程序,请参阅相应的应用程序的还原指南。
驱动程序包:还原后可能无法正确发现以前添加到 VMM 库的驱动程序包。 它们可能需要删除并重新添加。
证书:主机上的任何与 VMM 相关的证书都必须使用新的 VMM 管理服务器的信息进行更新。
注意
重新安装 VMM 后,VMM 会更新由于失败而过时的帐户控制列表(ACL)。 无需任何进一步的干预。