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?
- Serveraustausch
- OS-Neuinstallation, wenn bestehende Identity/State nicht erhalten werden können
- Hardwareänderung, die eine neue Device Identity erfordert
Ein Update mit erhaltener Identity und State ist keine Gerätemigration.
3. Vorbereitung
- Paid License ID/Key bereithalten; den Key nie in Befehlszeile oder Supportnachricht schreiben.
- Die genehmigte Auslieferung auf dem neuen Gerät installieren und dessen eigenes state-directory verwenden.
- Normale Migration mit erreichbarem Altgerät oder Wiederherstellung bei Nichterreichbarkeit festlegen.
- Alte Identity/State nicht löschen oder zurücksetzen.
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-stopDas 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
LICENSE_UNIT_LIMIT: bestehendes Unit übertragen oder Kapazität erweitern.SUPPORT_PENDING: Zustimmung und Supportfreigabe ausstehend.WAITING_OLD_LEASE: Ablauf alter Offline Lease abwarten.- Nach Unterbrechung dieselbe Operation und dasselbe state-directory verwenden.
- Identity, private Keys, State oder Lease niemals kopieren, löschen oder zurücksetzen.
- Prüfungen nicht umgehen und das Altgerät nicht zwangsweise reaktivieren.