QNAP SMB 解决方案 - 使用 QNAP 快照和 Snapshot Agent 创建应用程序一致的快照。
1.简介
1.1 问题和解决方案
在 QTS 4.2 中,存储空间总管中的快照功能不仅支持卷,还支持 iSCSI LUN 快速备份和恢复重要数据。
创建 LUN 快照的难点在于要确保包含所有数据,例如,未保存的应用程序数据、缓冲区、内存和日志。
QNAP 提供的解决方案是在 Windows Server 或 VMware vCenter 上可以使用 QNAP Snapshot Agent 创建应用程序一致的 iSCSI 快照。使用该解决方案,NAS 可以与远程服务器通信以确保您使用 QNAP 快照功能进行了完整备份。

1.2 适用对象
本应用说明适用于使用 QNAP NAS 作为 iSCSI 目标为其他设备或虚拟机创建 iSCSI LUN 的所有用户。本文档中的部分术语不做详细解释。
2.开始使用
2.1 工作原理
QNAP Snapshot Agent 主要用于为 iSCSI LUN 创建应用程序一致的快照,同时还提供 VSS Hardware Provider 功能。
在下面的第一个工作流程中,每次您需要通过 NAS 在 iSCSI LUN 上创建快照时,代理程序便会通知远程服务器将所有数据刷新到 iSCSI LUN(适用于 Windows Server)或者在 iSCSI LUN 快照之前创建虚拟机快照(适用于 VMware),因此,通过 NAS 创建快照时,快照将包含所有必要的应用程序数据以确保快照一致。
示例:
- Microsoft Hyper-V Server 将创建一个包含内存的 VM 检查点,以免数据丢失并确保快照中状态一致。
- SQL Server 将刷新磁盘上的数据库日志,以确保快照中状态一致。
- VMware 将为 LUN 中的每个 VM 创建一个 VM 快照,以确保快照中状态一致,具体如下所示:

此外,QNAP Snapshot Agent 还包含适用于 Windows Server 的 VSS Hardware Provider。如果要使用支持 VSS 的备份软件* 在 Windows 中执行 iSCSI LUN 备份作业,VSS Hardware Provider 将允许使用 NAS ROW(写入时重定向)代替 Windows COW(写入时复制)在 Windows Server 上创建快照,从而提高备份效率。
*备份软件必须支持 VSS 快照。

2.2.系统要求
- 必须安装 QTS 4.2(或更高版本)才能使用 Snapshot Agent。
- QNAP Snapshot Agent 与 Windows Server 2008 或更高版本兼容。必须启用 GUI 管理。不支持 Windows Server Core 和 Windows Hyper-V。
- 如果需要对 VMware 中部署的虚拟机使用 Snapshot Agent,除 Windows Server 外,还需要 VMware vCenter。
- 要使用 Snapshot Agent,必须打开 Windows Server 上的传入 TCP 端口 11169。请按照 Microsoft 提供的指南打开该端口。如果您的服务器是 Active Directory 的成员并且防火墙由 GPO 进行控制,可能还需要使用“组策略”。请参考 Microsoft 提供的以下页面执行这些操作:
http://windows.microsoft.com/en-us/windows/open-port-windows-firewall
https://technet.microsoft.com/en-us/library/cc753295 - 强烈建议在 NAS 上使用固定的 IP 地址。
2.3.已知限制
- 要在 Windows Hyper-V 或 VMware 中为虚拟机创建应用程序一致的快照,VM 配置、磁盘和快照/检查点必须位于同一 iSCSI LUN 上才能包含在该快照中。
- 如果服务器上已安装 SMI-S Provider,则无法安装 Snapshot Agent。
- Snapshot Agent 不支持 VMware 中的“扩展”功能,数据存储必须只有一个 ONE iSCSI LUN。
- Snapshot Agent 不支持一个 LUN 映射到具有多个 LUN 的目标
- Snapshot Agent 不支持与 MPIO 连接的 LUN。
- Snapshot Agent 不支持 LUN 映射到使用 CHAP 的目标。
- 还原期间,Snapshot Agent 仅还原 vSphere 清单中当前注册的 VM。如果 VM 在 vSphere 中已被删除,Snapshot Agent 不会将该 VM 添加到清单。
2.4.下载 Snapshot Agent 并安装
请转到“QNAP 下载中心”>“应用工具”下载 Snapshot Agent:
https://www.qnap.com/utility
要安装 Snapshot Agent,必须在“服务器管理器”上的“应用程序服务器”中安装并启用“.Net Framework 3.5”。要安装此功能,请转到“Server Manager”(服务器管理器)>“Add roles and features”(添加角色和功能)部分,在“Roles”(角色)部分选择“Application Server”(应用程序服务器),并在“Feature”(功能)部分选择“.Net Framework 3.5 feature”(.Net Framework 3.5 功能)。

确认安装此功能后,打开 Snapshot Agent 应用程序文件开始安装。完成安装后,桌面上应该会显示名为 QNAP Agent Manager 的快捷方式。


3.配置 Snapshot Agent
3.1.在 Windows Server 中配置 Snapshot Agent
安装完 Snapshot Agent 后,打开“QNAP Agent Manager”。您需要添加 Windows Server 用作 iSCSI 存储的 QNAP NAS,方法是提供 IP 地址或者单击“Scan NAS”(扫描 NAS)直接让代理程序查找本地网络上的 NAS。


输入或选择 QNAP NAS 后,系统将要求您提供 NAS 登录凭据,以确认连接端口并启用要使用的功能。在本示例中,我们选择了“VSS H/W Provider”和“Snapshot Agent for Windows”,然后单击“OK”(确定)确认这些设置。Snapshot Agent 将连接到 QNAP NAS,您可以看到 NAS 已添加到开始页面上的列表中。


3.2 配置 Snapshot Agent for vCenter
要备份供 VMware 中的虚拟机使用的 iSCSI LUN,可以在 Agent Manager 中转到“VMware Settings”(VMware 设置)。在“vCenter Credential”(vCenter 凭证)设置中,请输入 vCenter Server 的 IP 地址、单点登录的帐户/密码,然后选择 VMware 在收到 NAS 的请求时应当如何为其虚拟机创建快照。

完成操作后,如果将 QNAP NAS 添加到 QNAP Agent Manager,将启用选项“Snapshot Agent for VMware”,您也可以右键单击现有的任何 NAS,然后选择“Edit”(编辑)启用此选项。


4.创建 iSCSI LUN 快照
4.1.使用 Windows Server 创建 iSCSI LUN 快照
您可以从 NAS 用户界面检查代理程序是否正确连接到 QNAP NAS。打开 Web 浏览器,登录到 QTS,然后进入“Storage Manager”(存储空间总管)。在“iSCSI Storage”(iSCSI 存储)>“Snapshot”(快照)中,打开菜单“Snapshot Agent”。系统将显示一个列表,供您查看当前连接到 NAS 的所有 Snapshot Agent。


要创建应用程序一致的快照,请在“iSCSI Storage”(iSCSI 存储)中选择一个 iSCSI LUN,然后从“Snapshot”(快照)下拉菜单中选择“Take a Snapshot”(创建快照)。

显示确认窗口时,在“Snapshot Type”(快照类别)中选择“Application Consistent”(Application 一致性),然后单击“OK”(确定)开始创建快照。

注意:“Crash Consistent”(Application 一致性)快照在创建快照前不会联系远程服务器,因为它们只是标准 NAS 快照。
创建应用程序一致的快照时,QNAP NAS 将向 Windows Server 发送请求。它会先将所有相关数据刷新到 iSCSI LUN 中,然后再创建快照。
以下示例使用 Hyper-V,iSCSI LUN 包含全天候运行的虚拟机。如果使用 NAS 中的快照功能,在选择“Application Consistent”(Application 一致性)选项时,Windows Server 会收到来自 NAS 的请求,并创建 VM 的检查点。
以下内容可以在 Hyper-V 管理器界面上短暂显示*:在创建检查点时 VM 的状态会更改。VM 状态、内存和磁盘将包含在 iSCSI LUN 快照中。
*VM 配置、磁盘和检查点必须位于 iSCSI LUN 上才能包含在快照中。

*根据 Hyper-V 版本,用户界面可能有所不同。
4.2.使用 VMware 创建 iSCSI LUN 快照
使用 VMware 为 iSCSI LUN 创建快照所需的操作与 Windows Server 相同。登录到 QTS,转到“Storage Manager”(存储空间总管),在“iSCSI Storage”(iSCSI 存储)中选择用于存储 VMware 中虚拟机的 iSCSI LUN。选择“Snapshot”(快照)>“Take a Snapshot”(创建快照)。

收到 QNAP NAS 的快照请求时,vCenter 将为 NAS iSCSI LUN 中存储的每个虚拟机创建一个 VMware 快照,并将这些快照存储在 iSCSI LUN 上。之后,NAS 将创建另一个应用程序一致的 iSCSI LUN 快照,其中包含每个虚拟机的 VMware 快照。在 vSphere Web Client 的“Tasks”(任务)部分可以看到此操作。VMware 快照包含到 iSCSI LUN 快照中之后,将会被系统移除。

*根据 vSphere Web Client 版本,用户界面可能有所不同。
此外,还可以使用“Snapshot Manager”(快照管理器)或“Snapshot Replica”(快照复制)来创建计划的备份作业。可以使用“Application Consistent”(Application 一致性)选项。

4.3 还原快照
可以将应用程序一致的快照还原为 iSCSI LUN,就像将快照还原为 NAS 卷一样。要检查快照是否为应用程序一致的快照,请选择一个 LUN 并打开“Snapshot Manager”(快照管理器)。在列表视图中,您可以查看 Snapshot Agent 创建的快照是否是应用程序一致的快照。

要为连接到 Windows Server 的 iSCSI LUN 还原快照,首先需要断开 LUN 的连接,然后选择该 LUN 并选中“Snapshot”(快照)>“Snapshot Manager”(快照管理器)以选择要使用的快照。




完成还原过程后,便可重新连接 iSCSI LUN 与 Windows Server。对于 Hyper-V,虚拟机的所有配置连同其检查点一起存储在 iSCSI LUN 中。
对于 VMware,安装并连接 Snapshot Agent 后,您可以直接还原 iSCSI LUN 的快照,而无需断开 LUN 的连接。因为 Snapshot Agent 会自动断开 iSCSI LUN(数据存储)与 ESXi 主机的连接,还原该快照,然后重新连接还原后的 LUN(数据存储)并还原 VM(但是,如果在还原前已将 VM 删除,可能仍需要手动读取清单中的 VM。)。添加后,vCenter 可以继续使用 VMware 快照来恢复 iSCSI LUN 中的虚拟机,从而确保 iSCSI LUN 中已恢复的虚拟机是应用程序一致的虚拟机。

5.适用于 Windows Server 的 VSS Hardware Provider
Snapshot Agent 中包含 VSS Hardware Provider。要使用该功能,需要具有支持 VSS 快照功能的备份软件。本文中,我们以 QNAP NetBak Replicator 为例。要使用 VSS Hardware Provider 功能,首先要配置备份软件以便启用 VSS 并允许该软件创建快照。完成这些设置后,可以使用备份软件在 QNAP NAS 上为 iSCSI LUN 创建备份作业。


备份软件使用 VSS 创建快照时,系统将在 NAS 上而不是 Windows Server 上创建该快照。
进行备份时可以在 NAS 用户界面上查看该操作:在“Storage Manager”(存储空间总管)>“iSCSI storage”(iSCSI 存储)中,您将发现,在备份期间,系统创建了另一个名为“vss”的 iSCSI LUN。此 LUN 是 NAS 为备份作业创建的快照,备份软件将使用此 iSCSI LUN 快照来备份数据。


确认备份作业完成后,您会发现,NAS 上的“vss”iSCSI LUN 快照已由 Windows Server 中的 VSS 组件移除。