Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

Deployment einer .img Datei auf einem Cloud Server via Rescue-System

profile picture
Author
tim.stich
Published
2025-01-31
Time to read
5 minutes reading time

Einführung

In diesem Tutorial wird gezeigt, wie eine .img-Datei mit Hilfe des Rescue-Systems erfolgreich auf einem Cloud Server bereitgestellt werden kann.
Dies ist notwendig, wenn ein eigenes Betriebssystem-Image auf dem Server installiert werden soll.

Voraussetzungen

  • Ein Cloud Server
    • Aktiviertes Rescue-System
    • SSH-Zugang zum Server
  • Ein Volume zum Zwischenspeichern der .img Datei (da die primäre Festplatte überschrieben wird)
  • .img Datei eines Betriebssystems (alternativ .qcow2, siehe Schritt 3)
  • Grundkenntnisse im Umgang mit der Linux-Konsole

Schritt 1 - Rescue-System aktivieren und verbinden

  • Rescue-System aktivieren

    1. An der Cloud-Konsole anmelden.
    2. Den gewünschten Server auswählen und das Rescue-System aktivieren.
    3. Bei Bedarf einen SSH-Schlüssel hinterlegen, um die Anmeldung zu erleichtern.
    4. Den Server neu starten, damit er im Rescue-Modus bootet.

  • Mit dem Server verbinden

    Verbindung zum Rescue-System über SSH herstellen:

    ssh root@<deine_server_ip>

    Nach dem Login erscheint das Rescue-System-Banner.

Schritt 2 - Zieldatenträger identifizieren und einhängen

Da die .img-Datei nicht direkt auf der primären Festplatte abgelegt werden kann, wird ein Volume als Speicherort verwendet.
Der folgende Befehl zeigt die verfügbaren Volumes an:

lsblk

Beispielausgabe:

NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda       8:0    0  76G  0 disk 
sdb       8:16   0  40G  0 disk 

Hier ist sda die primäre Festplatte, die überschrieben wird, während sdb das Volume für die .img-Datei ist.

Datenträger manuell einhängen

Im Rescue-System werden zusätzliche Volumes standardmäßig nicht automatisch gemountet.
Nun wird ein Mount-Verzeichnis angelegt und das Volume eingehängt:

mkdir -p /mnt/vol1
mount /dev/sdX /mnt/vol1

Dabei wird /dev/sdX durch den Volume-Namen (z. B. /dev/sdb) ersetzt.

Falls unklar ist, welches Volume verwendet werden soll, kann die Partitionstabelle überprüft werden:

fdisk -l

Schritt 3 - Image-Datei bereitstellen

Falls das hochgeladene oder heruntergeladene Image im .qcow2-Format vorliegt, muss es konvertiert werden:

qemu-img convert -f qcow2 -O raw /mnt/vol1/source.qcow2 /mnt/vol1/destination.img

Bei einem Image im .img-Format, können Sie aus drei Methoden wählen:

  • Methode 1: Hochladen über SCP (Kommandozeile)

    Wenn sich die .img Datei lokal auf einem Rechner befindet, kann sie mit SCP hochgeladen werden:

    scp /path/to/image.img root@<your_server_ip>:/mnt/vol1/

  • Methode 2: Hochladen per SFTP (FileZilla)

    Falls eine grafische Oberfläche bevorzugt wird, kann das Tool FileZilla verwendet werden:

    1. FileZilla starten

    2. Neue Verbindung einrichten:

      Option Wert
      Server <your_server_ip>
      Benutzername root
      Passwort <your_password>
      Port 22
      Verbindungstyp SFTP - SSH-Dateiübertragungsprotokoll
    3. Die .img-Datei per Drag & Drop in das /mnt/vol1/-Verzeichnis auf den Server hochladen.


  • Methode 3: Herunterladen mit wget

    Wenn die .img-Datei auf einem externen Server gehostet wird, kann sie direkt auf den Server heruntergeladen werden:

    wget <URL_zur_image.img> -O /mnt/vol1/image.img

Schritt 4 - Image auf den Datenträger schreiben

  • Empfohlene Methode: pv | dd

    Nun wird pv | dd verwendet, um die Fortschrittsanzeige zu verbessern:

    pv /mnt/vol1/image.img | dd of=/dev/sda bs=4M status=progress

    Falls pv nicht installiert ist, kann es mit folgendem Befehl installiert werden:

    apt update && apt install -y pv

  • Alternative: dd direkt

    Falls pv nicht verwendet werden soll, kann das Image auch direkt mit dd geschrieben werden:

    dd if=/mnt/vol1/image.img of=/dev/sda bs=4M status=progress

Schritt 5 - Neustart und Überprüfung des Systems

Nachdem das Image erfolgreich geschrieben wurde, kann der Server nun neu gestartet werden.

Der folgende Befehl startet das System neu und bootet in das lokale Betriebssystem:

reboot

Nach dem Neustart kann überprüft werden, ob das System erfolgreich bootet und erreichbar ist.

Fehlersuche bei Bootproblemen

Treten Bootprobleme auf oder bootet der Server nicht korrekt, sollte zunächst die Dokumentation des verwendeten Betriebssystems konsultiert werden.
Gegebenenfalls ist eine Überprüfung des Bootloaders erforderlich.

Allgemeine Informationen zur Konfiguration des Bootloaders finden Sie hier:

Hinweis zu alternativen Image-Formaten

Einige alternative Image-Formate können möglicherweise ebenfalls konvertiert und bereitgestellt werden.
Es besteht jedoch das Risiko, dass sie aufgrund von Treiber- oder Hardwarekompatibilitätsproblemen nicht korrekt funktionieren.

Cloud Server basieren auf KVM-Virtualisierung, daher sollte sichergestellt werden, dass das verwendete Betriebssystem KVM-kompatibel ist.

Ergebnis

Das eigene Betriebssystem sollte nun auf dem Server installiert sein.

License: MIT
Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue
Try Hetzner Cloud

Get €20/$20 free credit!

Valid until: 31 December 2025 Valid for: 3 months and only for new customers
Get started
Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more