Der Migrationsprozess bleibt während einer Compute Engine-Migration hängen

Bei Migrationen von Compute Engine zu Google Kubernetes Engine kann Migrate to Container die UUID des Laufwerks der Quell-VM möglicherweise nicht erkennen. Sie können ihn manuell hinzufügen:

  1. Laden Sie die Logs für den Pod mit kubectl oder Stackdriver herunter.

  2. Wenn die Meldung [hcrunner] - Failed to find boot partition angezeigt wird, fahren Sie mit den folgenden Schritten fort.

  3. Suchen Sie die UUID für das Bootlaufwerk, das in einer der Nachrichten ausgegeben wird. Dies ist ein String mit Hexadezimalwerten. Im folgenden Beispiel lautet die UUID e823158e-f290-4f91-9c3d-6f33367ae0da.

    [util] - SHELL OUTPUT: {"name": "/dev/sdb1", "partflags": null, "parttype":
    "0x83", "uuid": "<strong>e823158e-f290-4f91-9c3d-6f33367ae0da</strong>",
    "fstype": "ext4"}
    
  4. Löschen Sie die vorhandene Arbeitslast mithilfe der zugehörigen YAML-Datei:

    kubectl delete -f
    
  5. Öffnen Sie die YAML-Datei in einem Texteditor und suchen Sie den Abschnitt env.

  6. Geben Sie folgende Ausdrücke ein. (Verwenden Sie hier und im weiteren Verlauf des Labs jeweils nur die englischen Begriffe):

        - name: "HC_BOOTDEVICE_UUID"
          value: ""
    
  • Wenn die Meldung touch: cannot touch '/vlsdata/etc/fstab': No such file or directory angezeigt wird, prüfen Sie Folgendes:

    • Ihre CSI-Treiberarbeitslasten haben in der Konsole den Status „OK“.
    • Ihre Arbeitslast befindet sich im selben Cluster wie Ihre Migrate to Containers-Bereitstellung.
  • Wenn eine der folgenden Meldungen angezeigt wird, löschen Sie den fehlerhaften PersistentVolumeClaim der Arbeitslast und erstellen ihn neu.

    • hcutil.Error: Failed mount -o rw None /vlsdata (32) (Output:mount: /vlsdata: special device None does not exist.
    • [hcrunner] - [Errno 30] Read-only file system: '/vlsdata/rootdir/etc/dhcp/dhclient-up-hooks