Proxmox: VM mit Alpine Linux

Proxmox: VM mit Alpine Linux

Alpine Linux ist eine sehr schöne, schlanke, auf Sicherheit ausgelegte, schnelle, (ressourcen-) sparsame Linux Distribution, welche sich vorwiegend an Power-User richtet. Bislang laufen viele meiner Server auf Ubuntu-Basis, welche für einige vollkommen überdimensioniert ist. Daher habe ich mir Alpine Linux angesehen. Alpine soll meinen Reverse Proxy in Zukunft ablösen. Das Image (zur Virtualisierung optimiert) hat gerade mal knapp 42 MB (!).

Zunächst habe ich eine neue VM in meiner Virtualisierungsumgebung „Proxmox“ erstellt. Als Resourcengrundlage habe ich 4 GB (Alpine kommt mit deutlich weniger Festplattenspeicher aus) und 512 MiB RAM gewählt. Für den Prozessor habe ich die Einstellung „1 Socket 2 Cores“ festgelegt.

Anschließend hat Alpine unfassbar schnell gebootet und war direkt als Live-System einsatzbereit. Ich habe mich im Live-System als „root“ angemeldet und das Setup mit dem Befehl

gestartet.

Der Installationsassistent wurde mit „setup-alpine“ aufgerufen.

Anschließend bin ich dem „Wizard“ gefolgt, welcher mich durch das Setup geleitet hat. Mit ein bisschen Linuxerfahrung ist das Setup in weniger als 5 Minuten abgeschlossen und Alpine einsatzbereit. In diesem Beispiel habe ich mich für eine „sys“-Installation, also die klassische Installation auf die Festplatte entschieden. Alpine bietet darüber hinaus noch einige Installationsarten mehr an, u.a. eine Installation direkt in den RAM-Speicher.

Am Ende forderte der Assistent einen Neustart. Diesen habe ich umgangen, da noch ein paar Einstellungen an der VM vorgenommen werden mussten. Dazu wurde Alpine mit

heruntergefahren. In Proxmox habe ich unter den Optionen der Alpine-Maschine den QEMU-Guest-Agent aktiviert und auf dem Weg auch das Installationsimage aus dem virtuellen Laufwerk entfernt und die Bootreihenfolge angepasst (direktes Booten von der virtuellen Festplatte).

Nachdem die Optionen angepasst wurden, wurde die VM gestartet und über die Webkonsole angemeldet. Als Erstes habe ich das neue System auf einen aktuellen Stand gebracht. Dazu habe ich in

die Repositorys aktualisiert, in dem ich „v3.13“ durch „latest-stable“ ersetzt habe, damit die Maschine sich immer mit den aktuellsten Updates versorgt. Ebenfalls darf hier der Community-Branch der Repos einkommentiert werden, damit später der QEMU-Agent installiert werden kann. Die Änderungen wurden mit vi vorgenommen und somit mit „:wq“ gespeichert und die Datei verlassen.

Anschließend wurde Alpine mit

upgedatet. Die aktualisierten Dienste wurden anschließend mit

neu gestartet. Abschließend zum Update wurde Alpine neu gestartet.

Das Update kann mit den folgenden Befehlen überprüft werden:

Nachdem Alpine auf dem neuesten Stand gebracht wurde, wurde der QEMU-Guest-Agent installiert.

Damit der QEMU-Guest-Agent mit Alpine funktioniert, muss in der Konfigurationsdatei der Ausgabe-Pfad an das Host-System angepasst werden:

Die GA_PATH-Variable muss auf „/dev/vport2p1“ festgelegt werden.

Damit der QEMU-Guest-Agent auch nach einem Neustart direkt zur Verfügung steht, wurde dieser noch in den Autostart gelegt:

Abschließend wurde ein neuer Benutzer zum System hinzugefügt, welcher sich dann später auch per SSH zur Verwaltung anmelden kann.

Um die Anmeldung per SSH zu testen, wurde eine Verbindung aus der Windows Eingabeaufforderung aufgebaut.

Mit „su“ kann wiederum eine Anmeldung als root erfolgen, um Installationen vorzunehmen. In diesem Fall habe ich den Webserver nginx installiert.

Abschließend musste nginx, wie auch bereits der QEMU-Guest-Agent, in den Autostart gelegt werden:

Für eine korrekte Verwendung von nginx muss noch ein neuer „www“ Nutzer angelegt werden, sowie ein Verzeichnis (und Berechtigungen) für etwaige Websites etc.

Abschließend musste die nginx Konfigurationsdatei angepasst werden. Hier ein Beispiel aus dem Alpine-Wiki:

Alle Konfigurationen können getestet werden, in dem ein Neustart des Systems erfolgt. Wenn alles gut läuft, antwortet der nginx auf Port 80 (es sind natürlich noch keine Daten hinterlegt worden):

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert