Cree una instantánea de disco coherente con la aplicación de Windows


En Compute Engine, puedes usar instantáneas para hacer una copia de seguridad de los datos de tu disco. Debido a que las instantáneas son incrementales, puede crearlas con mayor rendimiento y menores cargos de almacenamiento total en comparación con la creación de imágenes de disco completas.

Las instantáneas consistentes con la aplicación capturan el estado de los datos de la aplicación en el momento de la copia de seguridad con todas las transacciones de la aplicación completadas y todas las escrituras pendientes descargadas en el disco. En las máquinas virtuales de Windows, se utiliza el Servicio de instantáneas de volumen (VSS) para crear instantáneas coherentes con la aplicación sin detener primero la instancia ni desconectar el disco de la máquina virtual.

Antes de comenzar

  • Cree una instancia de Windows .
  • Revise las mejores prácticas para crear instantáneas .
  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Limitaciones

Las instantáneas de disco en Windows tienen las siguientes limitaciones:

  • Las instantáneas de VSS solo funcionan en instancias de Windows con la versión de imagen v20160810 y posteriores. Para casos con imágenes más antiguas, cree una instantánea sin usar VSS .
  • El disco adjunto debe utilizar un sistema de archivos NTFS, exFAT o ReFS.
  • Las instantáneas de VSS ayudan a preservar sus datos solo si está ejecutando aplicaciones compatibles con VSS que pueden coordinarse para crear una copia de seguridad consistente de sus datos.
  • Si la operación de instantánea de VSS no se completa en 300 segundos, la instantánea falla con un error de tiempo de espera.

Crear una instantánea de Windows VSS

Puede crear instantáneas del Servicio de instantáneas de volumen (VSS) sin tener que detener la instancia o desconectar el disco de su VM. Las instantáneas de VSS están destinadas a fines de copia de seguridad y recuperación en sistemas con aplicaciones compatibles con VSS.

Las instantáneas VSS tienen el mismo precio que las instantáneas normales de disco persistente o hiperdisco y se cobran solo por el tamaño total de la instantánea .

Crea la instantánea

Consola

  1. Vaya a la página Crear una instantánea en la consola de Google Cloud.

    Vaya a la página Crear una instantánea
  2. Ingrese un nombre de instantánea.
  3. Seleccione un tipo de instantánea . El valor predeterminado es una instantánea STANDARD , que es la mejor opción para realizar copias de seguridad a largo plazo y recuperación ante desastres.

    Elija Archivar instantánea para una retención de datos más rentable.

  4. Opcional: ingrese una descripción de la instantánea.
  5. En Disco de origen , seleccione el disco existente del que desea crear una instantánea.
  6. En la sección Ubicación , elija la ubicación de almacenamiento de su instantánea .

    La ubicación predeterminada predefinida o personalizada definida en la configuración de su instantánea se selecciona automáticamente. Opcionalmente, puede anular la configuración de la instantánea y almacenarla en una ubicación de almacenamiento personalizada haciendo lo siguiente:

    1. Elija el tipo de ubicación de almacenamiento que desea para su instantánea.

    2. En el campo Seleccionar ubicación , seleccione la región específica o multirregión que desea utilizar. Para utilizar la región o multirregión más cercana a su disco de origen, seleccione Basado en la ubicación del disco .
  7. Marque la opción Habilitar instantánea consistente con la aplicación .
  8. Haga clic en Crear para crear la instantánea.

nube de gcloud

Para crear una instantánea de VSS, use el comando gcloud compute snapshots create e incluya la marca --guest-flush .

Puede crear su instantánea en la política de ubicación de almacenamiento definida por la configuración de su instantánea o utilizando una ubicación de almacenamiento alternativa de su elección. Para obtener más información, consulte Elija su ubicación de almacenamiento de instantáneas .

  • Para crear una instantánea en la ubicación predeterminada predefinida o personalizada configurada en la configuración de la instantánea, usa el comando gcloud compute snapshots create .

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk-zone=SOURCE_ZONE \
        --source-disk=SOURCE_DISK_NAME \
        --snapshot-type=SNAPSHOT_TYPE \
        --guest-flush
    
  • Alternativamente, para anular la configuración de la instantánea y crear una instantánea en una ubicación de almacenamiento personalizada, incluya la marca --storage-location para indicar dónde almacenar su instantánea.

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk-zone=SOURCE_ZONE \
        --source-disk=SOURCE_DISK_NAME \
        --snapshot-type=SNAPSHOT_TYPE \
        --storage-location=STORAGE_LOCATION \
        --guest-flush
    
  • ( Vista previa ) Para crear una instantánea con ámbito regional en una región permitida, incluya el indicador --region para indicar dónde crear su instantánea.

    gcloud beta compute snapshots create SNAPSHOT_NAME \
        --region=SNAPSHOT_SCOPE_REGION
        --source-disk=SOURCE_DISK_NAME \
        --source-disk-zone=SOURCE_ZONE \
        --snapshot-type=SNAPSHOT_TYPE
    

Reemplace lo siguiente:

  • SNAPSHOT_NAME : un nombre para la instantánea.
  • SOURCE_ZONE : La zona del disco de origen.
  • SOURCE_DISK_NAME : el nombre del volumen de disco desde el que desea crear una instantánea.
  • SNAPSHOT_TYPE : el tipo de instantánea, ya sea ESTÁNDAR o ARCHIVO . Si no se especifica un tipo de instantánea, se crea una instantánea STANDARD .
  • STORAGE_LOCATION : Opcional: para instantáneas de alcance global, la región múltiple de Cloud Storage o la región de Cloud Storage donde desea almacenar su instantánea. Puede especificar solo una ubicación de almacenamiento.

    Utilice el parámetro --storage-location solo cuando desee anular la ubicación de almacenamiento predeterminada predefinida o personalizada configurada en la configuración de su instantánea.

  • SNAPSHOT_SCOPE_REGION : Opcional: para instantáneas con ámbito regional, la región a la que tiene alcance la instantánea. Si incluye este parámetro, no podrá utilizar el parámetro --storage-location . STORAGE_LOCATION se establece automáticamente en SNAPSHOT_SCOPE_REGION .

Para crear una instantánea VSS de un disco persistente regional, en los ejemplos anteriores reemplace --source-disk-zone= con --source-disk-region= y especifique la región donde se encuentra su disco persistente regional.

La CLI de Google Cloud espera hasta que la operación devuelva un estado de READY , FAILED o alcance el tiempo de espera máximo y devuelva los últimos detalles conocidos de la instantánea.

DESCANSAR

Al crear una instantánea, para indicar que desea crear una instantánea VSS, incluya la propiedad guestFlush en el cuerpo de la solicitud POST para el método compute.snapshots.insert .

Puede crear su instantánea en la política de ubicación de almacenamiento definida por la configuración de su instantánea o utilizando una ubicación de almacenamiento alternativa de su elección. Para obtener más información, consulte Elija su ubicación de almacenamiento de instantáneas .

  • Para crear una instantánea en la ubicación predeterminada predefinida o personalizada configurada en la configuración de su instantánea, realice una solicitud POST al método snapshots.insert :

    POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots
    {
      "name": "SNAPSHOT_NAME",
      "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
      "snapshotType": "SNAPSHOT_TYPE",
      "guestFlush": true,
    }
    
  • Como alternativa, para anular la configuración de la instantánea y crear una instantánea en una ubicación de almacenamiento personalizada, realice una solicitud POST al método snapshots.insert e incluya la propiedad storageLocations en su solicitud:

    POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots
    {
      "name": "SNAPSHOT_NAME",
      "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
      "snapshotType": "SNAPSHOT_TYPE",
      "storageLocations": [
          "STORAGE_LOCATION"
      ],
      "guestFlush": true,
    }
    
  • ( Vista previa ) Para crear una instantánea con ámbito regional en una región permitida, realice una solicitud POST al método snapshots.insert y defina la región de creación:

    POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/regions/SNAPSHOT_SCOPE_REGION/snapshots
    {
        "name": "SNAPSHOT_NAME",
        "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
        "snapshotType": "SNAPSHOT_TYPE"
    }
    

Reemplace lo siguiente:

  • DESTINATION_PROJECT_ID : el ID del proyecto en el que desea crear la instantánea.
  • SNAPSHOT_NAME : un nombre para la instantánea.
  • SOURCE_PROJECT_ID : el ID del proyecto del disco de origen.
  • SOURCE_ZONE : La zona del disco de origen.
  • SOURCE_DISK_NAME : el nombre del disco desde el que desea crear una instantánea.
  • SNAPSHOT_TYPE : el tipo de instantánea, ya sea ESTÁNDAR o ARCHIVO . Si no se especifica un tipo de instantánea, se crea una instantánea STANDARD .
  • STORAGE_LOCATION : Opcional: para instantáneas de alcance global, la región múltiple de Cloud Storage o la región de Cloud Storage donde desea almacenar su instantánea. Puede especificar solo una ubicación de almacenamiento.

    Utilice el parámetro storageLocations solo cuando desee anular la ubicación de almacenamiento predeterminada predefinida o personalizada configurada en la configuración de su instantánea.

  • SNAPSHOT_SCOPE_REGION : Opcional: para instantáneas con ámbito regional, la región a la que tiene alcance la instantánea. Si incluye este parámetro, no podrá utilizar el parámetro storageLocations . STORAGE_LOCATION se establece automáticamente en SNAPSHOT_SCOPE_REGION .

Para crear una instantánea VSS de un disco persistente regional, en las solicitudes POST mostradas anteriormente, reemplace la siguiente línea:

"sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
Utilice esta línea en su lugar cuando cree una instantánea de un disco persistente regional:
"sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME",

Opcional: marque su disco como disponible para lectura y escritura

Cuando crea una instantánea VSS, Windows Server marca el volumen en la instantánea como de solo lectura. Cuando crea un nuevo disco a partir de la instantánea VSS, ese disco también se configura en modo de solo lectura.

Esto podría causar problemas. Por ejemplo, si crea una instancia de VM con un nuevo disco de inicio a partir de una instantánea VSS de un disco de inicio existente, el indicador de solo lectura en el nuevo disco de inicio impide que la VM se inicie correctamente.

Para solucionar este problema, elimine la marca de solo lectura de cualquier disco nuevo que cree a partir de una instantánea VSS siguiendo los siguientes pasos:

  1. Asegúrese de que el disco esté conectado a una VM:

    • Si el disco que creó a partir de la instantánea de VSS es un disco de datos que no es de arranque , puede conectar el disco a cualquier máquina virtual nueva o existente.
    • Si el disco que creó a partir de la instantánea de VSS es un disco de inicio y desea usarlo para iniciar una máquina virtual, debe conectar temporalmente el disco a una máquina virtual existente independiente. Después de completar los siguientes pasos, puede desconectar el disco de esa VM y usarlo para iniciar una nueva instancia de VM.
  2. Inicie sesión en la máquina virtual de Windows a la que está conectado el disco.

  3. Abra un símbolo del sistema de PowerShell y ejecute la herramienta diskpart .

    PS C:\> diskpart
    
  4. Identifique el disco que desea montar.

    DISKPART> list disk
    
  5. Utilice el comando select disk para seleccionar el disco.

    DISKPART> select disk DISK_NUMBER
    

    Reemplace DISK_NUMBER con el número del disco que desea montar.

  6. Monte el disco.

    DISKPART> online disk
    
  7. Enumere todos los volúmenes del disco.

    DISKPART> list volume
    
  8. Seleccione el nuevo volumen.

    DISKPART> select volume VOLUME_NUMBER
    

    Reemplace VOLUME_NUMBER con el número del volumen para configurar como lectura y escritura.

  9. Borre la bandera de solo lectura.

    DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopy
    
  10. Salga de la herramienta diskpart .

    DISKPART> exit
    
  11. Si el disco es un disco de arranque para otra máquina virtual, sincronice los archivos del disco de arranque con la nueva firma del disco.

    PS C:\> bcdboot DRIVE_LETTERWindows /s DRIVE_LETTER
    

    Reemplace DRIVE_LETTER con la letra de unidad del volumen que desea sincronizar. Por ejemplo, F para F:\ .

Crea una instantánea sin usar VSS

En algunas situaciones, es posible que desee crear instantáneas de discos conectados a máquinas virtuales Windows sin utilizar VSS.

Para crear una instantánea de disco en una máquina virtual Windows sin usar VSS, haga lo siguiente:

  1. Prepare su sistema para una instantánea limpia .
  2. Crea la instantánea .
  3. Vuelva a montar su disco
  4. Marcar el disco como disponible para lectura/escritura

Prepare su sistema para una instantánea limpia

Antes de crear una instantánea del disco, asegúrese de tomar una instantánea que sea coherente con el estado que desea para el disco. Si toma una instantánea de su disco en un estado "sucio", puede forzar una verificación del disco y posiblemente provocar la pérdida de datos. Considere sincronizar y desmontar su sistema de archivos.

Sincronizar el sistema de archivos

Si desmontar su disco no es una opción, como en escenarios donde una aplicación podría estar escribiendo datos en el disco, puede sincronizar su sistema de archivos para vaciar los buffers del disco. Para sincronizar su sistema de archivos:

  1. Inicie sesión en su máquina virtual Windows.
  2. Descargue e instale la herramienta de sincronización de Microsoft.
  3. Evite que sus aplicaciones escriban en el disco.
  4. Abra una ventana de símbolo del sistema elevada.
  5. En la ventana de la línea de comando, ejecute:

    PS C:\> sync DRIVE_LETTER
    

    Reemplace DRIVE_LETTER con la letra de unidad del volumen que desea sincronizar. Por ejemplo, F para F:\ .

Desmontar el disco

  1. Inicie sesión en su máquina virtual Windows.

  2. Abra un símbolo del sistema de PowerShell y ejecute la herramienta diskpart .

    PS C:\> diskpart
    
  3. Identifique el disco que desea desmontar y tomar una instantánea.

    DISKPART> list disk
    
  4. Luego, seleccione el disco usando el número de disco que acaba de encontrar.

    DISKPART> select disk DISK_NUMBER
    

    Reemplace DISK_NUMBER con el número del disco que desea volver a montar.

  5. Desmonta el disco.

    DISKPART> offline disk
    

Crear una instantánea

Vuelva a montar su disco

  1. Inicie sesión en su máquina virtual Windows.

  2. Abra un símbolo del sistema de PowerShell y ejecute la herramienta diskpart .

    PS C:\> diskpart
    
  3. Identifique el disco que desea montar.

    DISKPART> list disk
    
  4. Utilice el comando select disk para seleccionar el disco.

    DISKPART> select disk DISK_NUMBER
    

    Reemplace DISK_NUMBER con el número del disco que desea montar.

  5. Monte el disco.

    DISKPART> online disk
    

Eliminar la bandera de solo lectura del disco

  1. Si es necesario, complete estos pasos:

    1. Inicie sesión en su máquina virtual Windows.

    2. Abra un símbolo del sistema de PowerShell y ejecute la herramienta diskpart .

      PS C:\> diskpart
      
  2. Enumere todos los volúmenes del disco.

    DISKPART> list volume
    
  3. Seleccione el nuevo volumen.

    DISKPART> select volume VOLUME_NUMBER
    

    Reemplace VOLUME_NUMBER con el número del volumen que desea configurar para lectura y escritura.

  4. Borre la bandera de solo lectura.

    DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopy
    
  5. Salga de la herramienta diskpart .

    DISKPART> exit
    
  6. Si el disco es un disco de arranque para otra instancia de VM, en el símbolo del sistema de PowerShell, sincronice los archivos del disco de arranque con la nueva firma del disco.

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

    Reemplace DRIVE_LETTER con la letra de unidad del volumen que desea sincronizar. Por ejemplo, F para F:\ .

¿Qué sigue?