Virtuelle Maschinenverwaltung - VMs lassen sich nicht starten oder importieren

[root tip] [How To] Use systemd to mount ANY device
[root tip] [How To] systemd mount unit samples

It appears you have a need to store your virtual machine images on a removable disk, am I correct in the assumption?

If yes, then - to avoid the error message about the volatile path /run/.... - I recommend creating two systemd mount units to handle mounting the device on a static mount file system folder.

The units will serve the function of defining the folder to use for mounting and mount only when accessing the folder.

Es scheint, dass Sie die Bilder Ihrer virtuellen Maschine auf einer Wechseldiskette speichern müssen. Liege ich mit meiner Annahme richtig?

Wenn ja, dann - um die Fehlermeldung über den flüchtigen Pfad /run/... zu vermeiden - Ich empfehle die Erstellung von zwei systemd-Mount-Einheiten, um die Montage des Geräts in einem Systemordner mit statischer Mount-Datei zu übernehmen.

Die Einheiten dienen dazu, den für die Montage zu verwendenden Ordner zu definieren und nur beim Zugriff auf den Ordner zu mounten.

Das habe ich übersehen – als Däne sollte ich besser Deutsch können, bin es aber nicht – Sie verwenden keine externe Festplatte, sondern eine interne.

Das macht es einfacher - erstellen Sie einen Eintrag in fstab, der auf einen festen Ordner verweist.

Wenn der Ordner `/var/lib/libvirt/images` leer ist

Berechtigungen für den Ordner festlegen

sudo chown root:$USER /var/lib/libvirt/images
sudo chmod g+w /var/lib/libvirt/images

Legen Sie eine Beschriftung auf der Partition fest – Beispiel /dev/sda1

sudo e2label /dev/sda1 qemu_libvirt

Fügen Sie die Zeile hinzu zu /etc/fstab

LABEL=qemu_libvirt   /var/lib/libvirt/images   ext4    defaults,rw    0 1 

Dann lauf

sudo mount -a
Wenn der Ordner `/var/lib/libvirt/images` nicht leer ist
sudo mkdir /a/qemu_libvirt

Berechtigungen für den Ordner festlegen

sudo chown root:$USER /a/qemu_libvirt
sudo chmod g+w /a/qemu_libvirt

Legen Sie eine Beschriftung auf der Partition fest – Beispiel /dev/sda1

sudo e2label /dev/sda1 qemu_libvirt

Fügen Sie die Zeile hinzu zu /etc/fstab

LABEL=qemu_libvirt   /a/qemu_libvirt   ext4    defaults,rw    0 1

Dann lauf

sudo mount -a
Anleitung für abnehmbares Gerät

Erstellen Sie zunächst den Ordner

sudo mkdir -p /a/qemu_libvirt

Then set permissions on the folder
Legen Sie dann Berechtigungen für den Ordner fest

sudo chown root:$USER /a/qemu_libvirt
sudo chmod g+w /a/qemu_libvirt

Attach your removable disk to the system, locate the device and set a file system label. Using a unique label will help when writing the mount unit targeting the partition, as it is easier when you have a name instead of the UUID.

In the example the device is /dev/sdc1 and the disk is already labelled.

Schließen Sie Ihre Wechseldatenträger an das System an, lokalisieren Sie das Gerät und legen Sie eine Dateisystembezeichnung fest. Die Verwendung einer eindeutigen Beschriftung ist beim Schreiben der Mount-Einheit hilfreich, die auf die Partition abzielt, da es einfacher ist, wenn Sie einen Namen anstelle der UUID haben.

Im Beispiel ist das Gerät /dev/sdc1 und die Festplatte ist bereits beschriftet.

 $ lsblk -f
...
sdc                                                                                       
└─sdc1      ext4   1.0   seagate-usb  b925148a-0729-447a-ad95-4d9e27dcb442 
...

To set a name for a partition formatted with ext (continuing the <example)

So legen Sie einen Namen für eine mit ext formatierte Partition fest (Fortsetzung des Beispiels)

sudo e2label /dev/sdc1 qemu_libvirt

Listing the device again
Das Gerät erneut auflisten

 $ lsblk -f
...
sdc                                                                                       
└─sdc1      ext4   1.0   qemu_libvirt b925148a-0729-447a-ad95-4d9e27dcb442 
...

Then proceed to create the units controlling (continue with the example, using the qemu-libvirt label) the device

Erstellen Sie dann die Einheiten, die das Gerät steuern (fahren Sie mit dem Beispiel fort und verwenden Sie das Label „qemu-libvirt“)

  1. Mount-Einheit
    Create a new file at /etc/systemd/system with the name a-qemu_libvirt.mount and paste the following content and save the file.
    Erstellen Sie unter /etc/systemd/system eine neue Datei mit dem Namen a-qemu_libvirt.mount, fügen Sie den folgenden Inhalt ein und speichern Sie die Datei.

    [Unit]
    Description=Virtual Machine Images
    
    [Mount]
    What=/dev/disk/by-partlabel/qemu_libvirt
    Where=/a/qemu_libvirt
    Type=ext4
    Options=defaults,rw,noatime
    
    [Install]
    WantedBy=multi-user.target
    
    
  2. Automount-Einheit
    Create a new file at /etc/systemd/system with the name a-qemy_libvirt.automount and past the following content and save the file
    Erstellen Sie eine neue Datei unter /etc/systemd/system mit dem Namen a-qemy_libvirt.automount und fügen Sie den folgenden Inhalt ein und speichern Sie die Datei

    [Unit]
    Description=Virtual Machine Images
    ConditionPathExists=/a/qemu_libvirt
    
    [Automount]
    Where=/a/qemu_libvirt
    TimeoutIdleSec=3600
    
    [Install]
    WantedBy=multi-user.target
    
    
  3. Aktivieren Sie nur die Automount-Einheit

    sudo systemctl enable --now a-qemu_libvirt.automount
    

Attach your disk and use the file manager to navigate to the folder, if you did it right, you should see the content of your removable disk.

With this in place, keep the disk attached and open the Virtual Machine Manager application, and navigate to the QEMU/KVM Storage tab as described above
Hängen Sie Ihre Festplatte an und navigieren Sie mit dem Dateimanager zum Ordner. Wenn Sie es richtig gemacht haben, sollten Sie den Inhalt Ihrer Wechselfestplatte sehen.

Halten Sie die Festplatte angeschlossen, öffnen Sie die Anwendung Virtual Machine Manager und navigieren Sie wie oben beschrieben zur Registerkarte QEMU/KVM Storage

Registerkarte „Speicher“ – klicken Sie auf die Schaltfläche „Pool hinzufügen“

Continuing the example
Fortsetzung des Beispiels

Erstellen Sie einen neuen Speicherpool

- Name the pool **removable pool** or **qemu libvirt pool** something memorable - Set the type to be **dir: Filesystem Directory** - Set the target path to your mount folder **`/a/qemu_libvirt`**

Then click the Finish button

  • Nennen Sie den Pool entfernbarer Pool oder qemu libvirt Pool etwas Einprägsames
  • Legen Sie den Typ auf dir: Dateisystemverzeichnis fest
  • Legen Sie den Zielpfad zu Ihrem Mount-Ordner fest /a/qemu_libvirt

Klicken Sie dann auf die Schaltfläche Fertigstellen

Create a new virtual machine by import and point the process to use the newly created pool and select the relevant qcow2 image from that pool.

Erstellen Sie eine neue virtuelle Maschine, indem Sie importieren und den Prozess so ausrichten, dass er den neu erstellten Pool verwendet und das entsprechende „qcow2“-Bild aus diesem Pool auswählt.

1 Like