Copia il file system della macchina di origine

La modernizzazione di un componente dell'applicazione richiede la creazione di una copia del file system della macchina di origine.

Questa pagina descrive i passaggi necessari per copiare il file system della macchina di origine, insieme ad alcune specifiche per ridurre le dimensioni del file system copiato.

Crea una copia locale del file system della macchina di origine Linux

L'interfaccia a riga di comando di Migrate to Containers supporta l'accesso alle macchine di origine tramite connessione SSH diretta o utilizzando gcloud.

SSH diretto

Per copiare utilizzando l'accesso SSH diretto, esegui il seguente comando:

./m2c copy ssh [USERNAME@]HOSTNAME \
  -i PATH_TO_PRIVATE_KEY \
  -o OUTPUT_FILESYSTEM_DIR

Sostituisci quanto segue:

  • USERNAME: il tuo nome utente
  • HOSTNAME: il nome host
  • PATH_TO_PRIVATE_KEY: il percorso della chiave privata
  • OUTPUT_FILESYSTEM_DIR: il percorso della directory di output sulla macchina locale in cui vuoi copiare il file system della macchina di origine

gcloud

Se la macchina di origine ha un IP pubblico, esegui il seguente comando:

./m2c copy gcloud \
  -p PROJECT_ID \
  -z ZONE \
  -n VM_NAME \
  -o OUTPUT_FILESYSTEM_DIR

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto
  • ZONE: la zona della VM
  • VM_NAME: il nome della VM di origine
  • OUTPUT_FILESYSTEM_DIR: il percorso della directory di output sulla macchina locale in cui vuoi copiare il file system della macchina di origine

Se la macchina di origine non ha un IP pubblico, puoi eseguire una delle seguenti operazioni:

  • Se esegui l'interfaccia a riga di comando di Migrate to Containers da una macchina nella stessa rete interna, utilizza il flag --internal-ip.
  • Se esegui su una rete diversa, utilizza il flag --tunnel-through-iap.

Per ulteriori informazioni su questi flag, consulta la documentazione di gcloud.

Al termine della copia, una copia del file system della macchina di origine è disponibile nella directory di output specificata.

Riduci le dimensioni del file system copiato

A seconda della macchina di origine, il file system copiato potrebbe essere molto grande. Più grande è la copia, più tempo impiega il completamento di ogni operazione e, se non c'è spazio sufficiente, l'operazione di copia non riesce.

L'interfaccia a riga di comando di Migrate to Containers applica filtri per ridurre le dimensioni della copia, ma con la conoscenza del componente dell'applicazione, puoi modificare i filtri per ridurre ulteriormente le dimensioni della copia.

Quando esegui di nuovo il comando copy con i filtri modificati, i contenuti della directory di output vengono aggiornati in base alle modifiche apportate nel file di filtro.

Per modificare i filtri predefiniti:

  1. Recupera un elenco dei filtri predefiniti:

    ./m2c copy default-filters > filters.txt
    
  2. Modifica il file filters.txt per rimuovere le directory non pertinenti. Il file utilizza il formato della regola di filtro rsync, come specificato nella pagina della documentazione rsync.

  3. Utilizza il flag --filters per specificare il file di filtro con il comando copy.

    SSH diretto

    ./m2c copy ssh [USERNAME@]HOSTNAME \
      -i PATH_TO_PRIVATE_KEY \
      -o OUTPUT_FILESYSTEM_DIR \
      --filters filters.txt
    

    gcloud

    ./m2c copy gcloud \
      -p PROJECT_ID \
      -z ZONE \
      -n VM_NAME \
      -o OUTPUT_FILESYSTEM_DIR \
      --filters filters.txt
    

Crea una copia locale del file system della macchina di origine Windows

Per le macchine di origine Windows, devi copiare le immagini disco in formato VHD o VHDX per la procedura di migrazione. Tuttavia, l'interfaccia a riga di comando di Migrate to Containers non supporta l'esportazione di immagini disco dalla piattaforma di origine alla macchina locale.

  • Per esportare un disco di un'istanza di macchina virtuale (VM) di Compute Engine, prima crea un'immagine dal disco e poi esporta l'immagine nella macchina locale.

  • Per esportare un'immagine da Compute Engine:

    1. Esporta l'immagine in Cloud Storage utilizzando il gcloud compute images export comando:

      gcloud compute images export \
        --export-format vhdx \
        --destination-uri DESTINATION_URI \
        --image IMAGE_NAME
      

      Sostituisci quanto segue:

      • DESTINATION_URI: l'URI Cloud Storage di destinazione per il file immagine esportato.
      • IMAGE_NAME: il nome dell'immagine disco da esportare.
    2. Scarica l'immagine sulla macchina locale:

      gcloud storage cp DESTINATION_URI LOCAL_PATH
      

      Sostituisci quanto segue:

      • DESTINATION_URI: l'URI Cloud Storage di destinazione del file immagine esportato
      • LOCAL_PATH: il percorso della cartella locale in cui vuoi scaricare l'immagine

    Per ulteriori informazioni, vedi Esporta un'immagine personalizzata in Cloud Storage.

  • Per ulteriori informazioni sull'esportazione di immagini Amazon EC2, vedi Esportare un'istanza come VM utilizzando VM Import/Export.

  • Per ulteriori informazioni sull'esportazione di immagini di Azure Cloud Compute, vedi Scaricare un disco rigido virtuale Windows da Azure.

  • Per esportare le immagini disco delle VM VMware, completa prima i passaggi per esportare un'immagine in un file VMDK. Quindi, converti il file VMDK in un file VHD utilizzando strumenti di terze parti come qemu-img.

Passaggi successivi