Freitag, 5. Februar 2016, 17:12 Uhr

Einen UniFi Controller von einem Server auf einen anderen migrieren

Mit Blick auf den Mitte Januar 2016 bestellten Glasfaser-Anschluss von Fiber7 habe ich mich entschieden, das heimische WLAN aufzurüsten (nicht zuletzt, weil ich den Router wegen des Glasfaseranschlusses in der Stube nicht am selben Ort betreiben möchte wie den Wireless Access Point). Hierzu habe ich die WLAN-Funktionalität meines Asus RT-AC66U deaktiviert und mir danach einen Ubiquiti UniFi AP-Pro n450 angeschafft, mitsamt eines PoE-Switches von TP-Link.

Eine Besonderheit des UniFi-Access Points ist es, dass er selber keine Web-Oberfläche zur Konfiguration anbietet, wie es Consumer-Geräte sonst tun (auch eine Router-Funktionalität sucht man vergebens). Stattdessen benötigt man den sog. UniFi Controller, eine auf Java und MongoDB basierende Software, die auf einem Rechner im heimischen LAN installiert werden muss. Die Software muss übrigens nicht ständig laufen — wenn man die Konfiguration des APs abgeschlossen hat, benötigt der AP keine ständige Verbindung mehr zum Controller. Ich entschied mich gegen diese Lösung, da ich den Controller jederzeit zugriffsbereit und funktionstüchtig haben möchte — man weiss ja nie. Ausserdem zeichnet die Software in dem Modus Vitalparameter des APs und der WLAN-Netzwerke auf.

Zuerst hatte ich den UniFi Controller auf meiner „Workstation“, einem Mac mini, installiert, welcher ständig läuft. Da mir dabei nie wirklich wohl war, entschied ich mich, den alten Raspberry Pi 1 auszugraben und den Controller darauf zu installieren. Das ist insofern etwas weniger trivial als bei einem x86-Server, weil die ARM-CPU andere Softwarepakete benötigt (insbesondere MongoDB). Ich habe es dank Anleitungen im Internet trotzdem hingekriegt (das Material wird dereinst zu einem eigenständigen Blog-Artikel verwurstet). Da ich anschliessend auch Smokeping auf dem Raspberry Pi installierte und mir die Performance zur Generierung der RRDtool-Graphen überhaupt nicht mehr reichte, entschied ich mich diese Woche, auf einen (gebrauchten) Intel Next Unit of Computing NUC DC3217IYE zu migrieren. Mitkommen sollte auch der UniFi Controller.

Da ich das Spielchen bereits einmal gemacht hatte, hier die im Grunde recht triviale Anleitung (Kurzfassung):

  1. In den alten UniFi-Controller einloggen und unter Settings > Maintenance > Backup > Download Backup ein aktuelles Backup herunterladen
  2. Den neuen UniFi-Controller auf dem neuen Server installieren (Anleitungen für Raspberry Pi und Debian folgen dereinst)
  3. Mit dem Browser auf den neuen UniFi-Controller verbinden
  4. Auf dem Homescreen des neuen UniFi-Controllers im Abschnitt „Alternatively you can restore from a previous backup“ die soeben generierte Backup-Datei auf „Choose File“ ablegen und warten (auf dem Raspberry Pi dauerte das Einlesen des Backups mehrere Minuten, unter dem NUC wenige Sekunden)
  5. Login auf den neuen UniFi-Controller — WLAN sollte Rot leuchten
  6. Login auf den Server des alten UniFi-Controllers und diesen Controller stoppen (service stop unifi)

UniFi Controller Import Backup

Soweit so gut. Als nächstes muss man sich per SSH auf den Access Point verbinden — bei mir völlig ohne Interaktion, da ich den Access Point mit meinem SSH Public Key ausgestattet habe:

$ ssh unifi

Anschliessend startet man das CLI des lokalen Management Utility:

# mca-cli

Dort gibt man folgenden Befehl ein:

$ set-inform http://10.0.1.12:8080/inform

Wechselt man nun in den Browser zur Web-Oberfläche des neuen UniFi-Controllers, leuchtet WLAN grün — der Access Point wurde in der Zwischenzeit erkannt.

Voila, that’s it!

PS Eins: In Anleitungen im Netz liest man gelegentlich, dass man den AP im Web-GUI noch „adoptieren“ und danach noch einmal den set-inform-Befehl ausführen müsse — bei mir klappte dies auch ohne.

PS Zwei: Der alte UniFi-Controller lief unter 4.7.6, der neue läuft unter 4.8.12. Beim Import der Backup-Konfiguration gab es keine Probleme.

Tags: , , , , , , , ,
Labels: IT

5 Kommentare Kommentare

Stephan Hegner sagt:

Vielen Dank für die Anleitung. Hat bei mir bestens funktioniert. Musste die AP’s auch nicht nochmals adoptieren, geschah automatisch.
Noch ein kleiner Hinweis: set-inform bezieht sich auf die IP-Adresse des Controllers. Würde ich noch so ergänzen.

Luc sagt:

Hallo ich habe eine Frage.
Ich habe den unifi auf einem Laptop installiert dies war aber nur probeweise bis mein stationärer Rechner kommt (Umzug).

Ist es richtig das der Controller nur auf EINEM Gerät installiert werden kann von dem ich dann die Verwaltung vornehme?
Ich habe nun auf meinem stationären pc die unifi Software installiert aber ich muss mich komplett neu registrieren und dann findet er beim Scan keine devices.

Geht der Zugriff auch über ein Smartphone.

Mario Aeby sagt:

@Luc: Einen UniFi Controller von einem Server auf einen anderen migrieren Schon etwas alt, der Beitrag, aber ich hoffe er hat immer noch Gültigkeit.

Peter Hü sagt:

Ich hatte mein Unifi auf einem Laptop installiert, das durch ein Glas Wasser zerstört worden ist. Daher kann ich kein Backup einspielen. Kann ich jede Antenne einzeln „resetten“? Oder muss ich das anders lösen?

Udo sagt:

Für dich und ggf. andere mit demselben Problem, nämlich einer nicht mehr zugänglichen Installation des Ubiquiti UniFI Software Controller: Sofern die Festplatte nicht mit über den Jordan ging oder ein Backup existiert, könnt ihr das Verzeichnis, in dem die Software ((Java-basierter) Controller und Datenbank (MongoDB)) einfach auf einen anderen Computer kopieren, Java installieren und dann das mitgelieferte JRE mit dem Argument ui aufrufen. Ein paar Sekunden (Java, sic!) später erscheint das übliche Interface, und noch etwas später sollte auch der Controller gestartet sein. Fertig.

Kommentar erfassen