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, nonché alcune specifiche per ridurre le dimensioni del file system copiato.

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

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

SSH diretto

Per eseguire la copia 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 tua macchina locale in cui vuoi copiare il sistema di file della macchina di origine

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

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

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. Quanto più grande è la copia, più tempo occorre per completare ogni operazione e, se lo spazio non è sufficiente, l'operazione di copia non va a buon fine.

L'interfaccia a riga di comando Migrate to Containers applica filtri per ridurre le dimensioni della copia, ma con le conoscenze 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 applicate nel file del filtro.

Per modificare i filtri predefiniti:

  1. Per visualizzare 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 di rsync.

  3. Utilizza il flag --filters per specificare il file del 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 dei dischi in formato VHD o VHDX per la procedura di migrazione. Tuttavia, l'interfaccia a riga di comando Migrate to Containers non supporta l'esportazione delle immagini disco dalla piattaforma di origine alla macchina locale.

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

  • Per esportare un'immagine da Compute Engine, svolgi i seguenti passaggi:

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

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

      Sostituisci quanto segue:

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

      gcloud storage cp DESTINATION_URI LOCAL_PATH
      

      Sostituisci quanto segue:

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

    Per ulteriori informazioni, consulta Esportare un'immagine personalizzata in Cloud Storage.

  • Per ulteriori informazioni sull'esportazione delle immagini Amazon EC2, consulta Esportare un'istanza come VM utilizzando Importazione/esportazione VM.

  • Per ulteriori informazioni sull'esportazione delle immagini di Azure Cloud Compute, consulta Scaricare un file VHD di Windows da Azure.

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

Passaggi successivi