Gerätemigration (Device Migration)

1. Was ist eine Gerätemigration?

Sie überträgt ein bestehendes Unit einer aktiven Paid License von der alten auf eine neue Installation. Das neue Gerät erzeugt eine eigene Identity und eigene Geräteschlüssel. Private Keys, device.json, DPAPI-State und Gateway-Identity werden nicht kopiert. Trial-Migration wird nicht unterstützt.

2. Wann ist sie erforderlich?

Ein Update mit erhaltener Identity und State ist keine Gerätemigration.

3. Vorbereitung

Auf dem neuen Gerät register starten, den Device Code im Native-Portal eingeben, die License prüfen und bestehendes Unit, Quellinstallation und Austauschgrund wählen. Operation und state-directory beibehalten.

# Windows
$state = 'C:\ProgramData\ODRE\native-commercial'
$trust = '<APPROVED_TRUST_JSON_ABSOLUTE_PATH>'
$trustPin = '<INDEPENDENT_TRUST_SHA256>'
& .\runtime\python.exe .\odre-native.py register `
  --state-directory $state --trust-config $trust --trust-pin $trustPin

# Linux
state="$HOME/.local/state/odre-pqc/native-commercial"
trust='<APPROVED_TRUST_JSON_ABSOLUTE_PATH>'
trust_pin='<INDEPENDENT_TRUST_SHA256>'
python3.12 ./odre-native-ubuntu.py register \
  --state-directory "$state" --trust-config "$trust" --trust-pin "$trust_pin"

4. Altgerät behandeln

Normale Migration: neuen Verkehr stoppen, Native aber bis zur Drain-Bestätigung laufen lassen. odre-device-transfer-request.json aus dem Portal auf dem Altgerät verwenden:

# Windows
& .\runtime\python.exe .\odre-native.py transfer-release `
  --state-directory $state --trust-config $trust --trust-pin $trustPin `
  --transfer-request ".\odre-device-transfer-request.json" --confirm-stop

# Linux
python3.12 ./odre-native-ubuntu.py transfer-release \
  --state-directory "$state" --trust-config "$trust" --trust-pin "$trust_pin" \
  --transfer-request "./odre-device-transfer-request.json" --confirm-stop

Das Altgerät danach nicht neu starten. Eventuell muss der Ablauf alter Offline Leases abgewartet werden.

Altgerät nicht erreichbar: Source Recovery in derselben Portal-Operation beantragen, die Zustimmung mit demselben register auf dem neuen Gerät bestätigen und Supportfreigabe sowie Lease-Ablauf abwarten.

5. Neues Gerät aktivieren

Mit demselben register und state-directory fortfahren. Nach Timeout keine neue Identity/Operation anlegen, sondern denselben Befehl erneut ausführen. Nach Commit und Zielbindung speichert Native die Lease atomar.

6. Abschluss prüfen

APPLIED, lokale Lease-Speicherung und Produkt-status prüfen. Danach Gateway → Core → Protected Handler und genau eine Handler-Ausführung pro Anfrage prüfen. Erst dann Verkehr freigeben. COMMITTED allein ist kein Abschlussnachweis.

7. Fehler und Hinweise