创建 Windows 永久性磁盘快照

Compute Engine 提供增量快照,可用于备份永久性磁盘数据。由于是增量快照,与创建完整的永久性磁盘映像相比,您可获得更高的性能、更低的总存储费用。快照用于备份和归档。

如需了解如何配置 Windows Server 以使用它为实例或实例模板创建自定义 Windows Server 映像,请参阅创建 Windows Server 映像

准备工作

创建 Windows VSS 快照

在大多数情况下,使用卷影复制服务 (VSS) 截取快照是对附加到 Windows 实例的永久性磁盘创建快照的最简单方法。您无需停止实例或分离永久性磁盘即可创建 VSS 快照。

VSS 快照用于备份和恢复包含 VSS 感知型应用的系统。请注意,只能将 VSS 快照用于从永久性磁盘备份数据。利用正在运行的实例快照创建虚拟机实例启动磁盘并不可靠。

VSS 快照的价格与常规永久性磁盘快照相同,并且仅根据快照的总大小收取费用。

限制

  • VSS 快照仅适用于映像版本为 v20160810 或更高的 Windows 实例。对于使用旧版映像的实例,请创建常规快照
  • 永久性磁盘必须使用 NTFS、exFAT 或 ReFS 文件系统。
  • VSS 快照不适合用于复制或备份永久性启动磁盘上的操作系统。
  • 当您创建 VSS 快照时,Windows Server 会在 VSS 过程中将快照中的卷标记为只读。此外,您通过 VSS 快照创建的任何磁盘也将处于只读模式。
  • 只有在您运行 VSS 感知型应用(可进行协调以创建一致的数据备份)时,VSS 快照才有助于保留数据。

创建快照

控制台

  1. 转到“创建新快照”页面
  2. 输入快照名称
  3. (可选)输入快照的说明
  4. 来源磁盘下方,选择要从中创建快照的现有磁盘。
  5. 跳过此步骤以使用默认快照存储位置。否则,如需使用非默认存储位置,请执行以下操作:

    1. 位置下,选择是要将快照存储在多区域位置还是单区域位置。
    2. 选择要使用的特定区域或多区域。要使用最靠近源磁盘的区域或多区域,请选择基于磁盘的位置
  6. 选中启用 VSS 选项以指定此快照应使用卷影复制服务。

  7. 点击创建以创建快照。

gcloud

创建快照时,请添加 --guest-flush 标志,以指示您想要创建 VSS 快照。如果您要创建区域永久性磁盘的快照,也请添加 --region 标志。

  • 如需创建地区永久性磁盘的 VSS 快照,请使用 gcloud compute disks snapshot 命令:

    gcloud compute disks snapshot [DISK_NAME] --guest-flush
    

    其中 [DISK_NAME] 是您要为其创建快照的地区永久性磁盘的名称。

  • 如需创建区域永久性磁盘的 VSS 快照,请使用 gcloud compute disks snapshot 命令:

    gcloud compute disks snapshot [DISK_NAME] --guest-flush --region [REGION]
    

    其中:

    • [DISK_NAME] 是您要从中创建快照的地区永久性磁盘的名称。
    • [REGION] 是区域永久性磁盘所在的区域。

    gcloud 命令行工具将等待操作返回 READYFAILED 状态,或者等待操作达到超时时间上限并返回快照最新的已知详细信息。

API

创建快照时,请添加 ?guestFlush=true 参数,以指示您想要创建 VSS 快照。

  • 如需创建地区永久性磁盘的 VSS 快照,请向 compute.disks.createSnapshot 方法发出 POST 请求:

    POST  https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/createSnapshot?guestFlush=true
    

    其中:

    • [PROJECT_ID] 是您的项目 ID。
    • [ZONE] 是地区永久性磁盘所在的地区。
    • [DISK_NAME] 是您要为其创建 VSS 快照的地区永久性磁盘的名称。
  • 如需创建区域永久性磁盘的 VSS 快照,请向 compute.regionDisk.createSnapshot 方法发出 POST 请求:

    POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]/createSnapshot?guestFlush=true
    

    其中:

    • [PROJECT_ID] 是您的项目 ID。
    • [REGION] 是区域永久性磁盘所在的区域。
    • [DISK_NAME] 是您要为其创建 VSS 快照的区域永久性磁盘的名称。

现在,您已拥有一个可用来创建新的永久性磁盘的永久性磁盘快照。

创建常规快照

在某些情况下,您可能需要使用标准快照系统来创建附加到 Windows 实例的磁盘快照。

要创建快照,请执行以下操作:

  1. 卸载文件系统
  2. 创建快照
  3. 重新装载您的磁盘

卸载文件系统

在创建永久性磁盘快照之前,请确保您要截取的快照与永久性磁盘的预计状态一致。如果您截取了处于“不洁净”状态的永久性磁盘的快照,则系统可能会强制执行磁盘检查并可能导致数据丢失。请按照以下说明清空 Windows 实例的磁盘缓冲区。

  1. 登录您的 Windows 实例。

  2. 打开 PowerShell 命令提示符并运行 diskpart 工具,具体命令如下:

    PS C:\\> diskpart
    
  3. 确定您想要卸载并截取快照的磁盘,具体命令如下:

    PS C:\\> list disk
    
  4. 然后,使用您刚刚找到的磁盘编号选择磁盘,具体命令如下:

    DISKPART> select disk [DISK_NUMBER]
    

    其中:[DISK_NUMBER] 是您要重新装载的磁盘。

  5. 最后,卸载磁盘,具体命令如下:

    DISKPART> offline disk
    

如果无法卸载永久性磁盘(例如在应用可能正向磁盘写入数据的情况下),您可以同步文件系统以清空磁盘缓冲区。要同步您的文件系统,请执行以下操作:

  1. 登录您的 Windows 实例。
  2. 下载并安装同步工具。
  3. 使应用停止向永久性磁盘写入数据。
  4. 以管理员身份运行命令提示符,只需右键点击命令提示符图标并选择以管理员身份运行即可。
  5. 在命令行终端中,运行以下命令:

    PS C:\\> sync [DRIVE_LETTER]
    

    其中:[DRIVE_LETTER] 是您要同步的卷的盘符。例如,F:\` or 或 G:\。

创建快照

  1. 按照创建永久性磁盘快照的步骤操作。

  2. 创建快照后,重新装载永久性磁盘

重新装载磁盘

重新装载磁盘并将其标记为可读写。

  1. 登录您的 Windows 实例。

  2. 打开 PowerShell 命令提示符并运行 diskpart 工具,具体命令如下:

    PS C:\\> diskpart
    
  3. 确定您想要卸载的磁盘,具体命令如下:

    DISKPART> list disk
    
  4. 使用 select disk 命令重新选择磁盘,具体命令如下:

    DISKPART> select disk [DISK_NUMBER]
    

    其中:[DISK_NUMBER] 是您要重新装载的磁盘。

  5. 重新装载磁盘,具体命令如下:

    DISKPART> online disk
    

重新装载磁盘后,从磁盘中移除只读标志:

  1. 在您的 Windows 实例上,使用 diskpart 命令行工具选择脱机磁盘,具体命令如下:

    DISKPART> select disk [DISK_NUMBER]
    

    其中:[DISK_NUMBER] 是您要重新装载的磁盘。

  2. 将磁盘联机,具体命令如下:

    DISKPART> online disk
    
  3. 列出磁盘中的所有卷,具体命令如下:

    DISKPART> list volume
    
  4. 选择新的卷,具体命令如下:

    DISKPART> select volume [VOLUME_NUMBER]
    

    其中:[VOLUME_NUMBER] 是您需要配置为可读写的卷。

  5. 检查卷属性,具体命令如下:

    DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopy
    
  6. 退出 diskpart 工具,具体命令如下:

    DISKPART> exit
    
  7. 如果该磁盘是其他实例的启动磁盘,请将启动磁盘文件与新磁盘签名同步,具体命令如下:

    PS C:\\> bcdboot [DRIVE_LETTER]Windows /s [DRIVE_LETTER]
    

    其中:[DRIVE_LETTER] 是您要同步的卷的盘符。例如,F:\` or 或 G:\。

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Compute Engine 文档