Neben Servern mit AMD EPYC und Intel Xeon bietet Alpenhost auch Dedicated Server mit ARM-Prozessoren an. ARM-Server bieten sehr viele Kerne bei geringem Stromverbrauch und eignen sich hervorragend für Webanwendungen, Container, Build-Server und viele parallele Aufgaben. Weil sie eine andere Prozessorarchitektur verwenden, gibt es aber einige Punkte, die Sie vor dem Einsatz kennen sollten.
x86 und ARM: Der Unterschied
Prozessoren von AMD und Intel verwenden die Architektur x86-64 (auch amd64). ARM-Server verwenden ARM64 (auch aarch64). Programme müssen für die jeweilige Architektur übersetzt sein. Ein Programm, das nur für x86-64 vorliegt, läuft auf einem ARM-Server nicht direkt.
Prüfen Sie die Architektur Ihres Servers mit:
uname -m
dpkg --print-architecture
Auf einem ARM-Server lautet die Ausgabe aarch64 bzw. arm64.
Was läuft problemlos?
Ein sehr großer Teil der Server-Software ist für ARM64 verfügbar:
- Betriebssysteme: Debian, Ubuntu, AlmaLinux, Rocky Linux und andere bieten vollwertige ARM64-Versionen.
- Webserver und Datenbanken: nginx, Apache, Caddy, PHP, MariaDB, PostgreSQL, Redis
- Programmiersprachen: Python, Node.js, Go, Rust, Java und .NET
- Container: Docker und Kubernetes, ebenso die meisten offiziellen Images
- Virtualisierung: KVM für virtuelle ARM-Maschinen
Alles, was Sie aus den Paketquellen Ihrer Distribution installieren, liegt automatisch in der passenden Version vor.
Worauf Sie achten sollten
Docker-Images
Docker lädt automatisch die passende Variante, sofern das Image mehrere Architekturen unterstützt. Ob ein Image ARM64 anbietet, sehen Sie auf Docker Hub im Reiter Tags unter OS/ARCH oder per Kommandozeile:
docker manifest inspect nginx:1.27 | grep architecture
Fehlt arm64, erscheint beim Start die Meldung exec format error oder no matching manifest for linux/arm64.
Eigene Images bauen
Mit Docker Buildx erstellen Sie Images für beide Architekturen gleichzeitig:
docker buildx create --use
docker buildx build --platform linux/amd64,linux/arm64 -t ihr-registry/app:1.0 --push .
Software von Drittanbietern
Prüfen Sie vor dem Umzug, ob alle eingesetzten Programme eine ARM64-Version anbieten. Kritisch sind vor allem:
- kommerzielle Software, die nur als x86-Binärdatei ausgeliefert wird
- manche Monitoring-Agenten, Backup-Clients oder Lizenzserver
- ältere PHP-Erweiterungen wie ionCube in alten Versionen
- Windows-Software. Windows Server für ARM ist im Rechenzentrum derzeit nicht verbreitet. Für Windows empfehlen wir EPYC- oder Xeon-Server.
Seitengröße des Speichers
Manche ARM-Systeme verwenden größere Speicherseiten als x86-Server. Einige ältere Programme, etwa bestimmte Versionen von Datenbanken oder JIT-Compilern, setzen fest 4-KB-Seiten voraus. Prüfen Sie die Seitengröße mit getconf PAGESIZE. Die Standard-Kernel von Debian und Ubuntu verwenden 4 KB.
Emulation als Notlösung
Einzelne x86-Programme lassen sich mit QEMU-Emulation ausführen, allerdings deutlich langsamer. Für den Dauerbetrieb ist das nicht geeignet.
Leistung richtig einschätzen
ARM-Server spielen ihre Stärken bei vielen parallelen Aufgaben aus: viele Webanfragen, viele Container, parallele Builds oder Tests. Für Anwendungen, die nur wenige Kerne nutzen, aber sehr hohe Leistung pro Kern benötigen, etwa manche Gameserver, sind Prozessoren mit hohem Takt oft die bessere Wahl. Hier lohnt ein Blick auf unsere ECO-Server mit Ryzen-Prozessoren.
Testen Sie Ihre Anwendung vor einem Umzug mit realistischer Last. Messen Sie zum Beispiel mit Werkzeugen wie wrk oder k6 für Webanwendungen.
Erste Schritte auf dem ARM-Server
Die Einrichtung unterscheidet sich kaum von einem x86-Server:
- Melden Sie sich per SSH an und aktualisieren Sie das System.
- Richten Sie die Grundabsicherung ein, siehe Dedicated Server: Erste Schritte nach der Bereitstellung.
- Installieren Sie Docker aus dem offiziellen Repository. Die Anleitung Docker und Docker Compose unter Debian und Ubuntu installieren funktioniert unverändert, weil sie die Architektur automatisch erkennt.
Häufige Fragen
„exec format error“ beim Start eines Programms
Das Programm wurde für x86-64 übersetzt. Laden Sie die ARM64-Version herunter, meist erkennbar an arm64 oder aarch64 im Dateinamen.
Kann ich zwischen ARM und x86 wechseln?
Ja, auf einen anderen Server. Ihre Daten und Konfigurationen können Sie übernehmen, etwa mit rsync. Binärdateien und Docker-Images müssen in der passenden Architektur vorliegen.
Alle Modelle finden Sie unter Dedicated Server.
