#qemu

canoodle@nerdpol.ch

GNU Linux - how to migrate vm from virtualbox to kvm qemu - convert virtualbox vdi disk image to kvm qcow2 format

# if the user wants to be converted from VirtualBox to kvm # 1. first clone the VirtualBox vm into a new vm (to consolidate all snapshots into one vdi # 2. convert file format qemu-img convert -f vdi -O qcow2 virtualbox.vm.vdi[...]

#linux #gnu #gnulinux #opensource #administration #sysops #kvm #virtualization #qemu #gnu-linux

Originally posted at: https://dwaves.de/2022/03/02/gnu-linux-how-to-migrate-vm-from-virtualbox-to-kvm-qemu-convert-virtualbox-vdi-disk-image-to-kvm-qcow2-format/

canoodle@nerdpol.ch

GNU Linux Debian 11 - Gnome Boxes - an Open Source VirtualBox replacement?

In search for alternatives, decided to test drive “gnome boxes“, which is said, to be an easy-going gui for the libvirt qemu virtualization system.

<span style="color: #00ffff;">lsb_release -d</span>; # tested on
Description:    Debian GNU/Linux 11 (bullseye)

<span style="color: #00ffff;">su - root
apt update
</span># with MATE Desktop (Gnome2) it's actually only 175MBytes that needs to be downloaded<span style="color: #00ffff;">
apt install gnome-boxes
apt show gnome-boxes</span>
Package: gnome-boxes
Version: 3.38.2-1
Priority: optional
Section: gnome
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Installed-Size: 7,140 kB
Depends: genisoimage, libosinfo-bin, libvirt-daemon, tracker (>= 2.0), dconf-gsettings-backend | gsettings-backend, libarchive13 (>= 3.1.2), libc6 (>= 2.7), libcairo2 (>= 1.6.0), libfreerdp2-2 (>= 2.0.0~git20160317.1.75ae3f5+dfsg1), libgdk-pixbuf-2.0-0 (>= 2.25.2) | libgdk-pixbuf2.0-0 (>= 2.25.2), libglib2.0-0 (>= 2.52.0), libgtk-3-0 (>= 3.22.20), libgtk-vnc-2.0-0 (>= 0.5.1), libgtksourceview-4-0 (>= 2.91.4), libgudev-1.0-0 (>= 165), libhandy-0.0-0 (>= 0.0.11), libosinfo-1.0-0 (>= 1.4.0~), libpango-1.0-0 (>= 1.14.0), libsecret-1-0 (>= 0.7), libsoup2.4-1 (>= 2.44), libspice-client-glib-2.0-8 (>= 0.35), libspice-client-gtk-3.0-5 (>= 0.32), libtracker-sparql-2.0-0 (>= 0.10.0), libusb-1.0-0 (>= 2:1.0.8), libvirt-glib-1.0-0 (>= 3.0.0), libvte-2.91-0 (>= 0.40.2), libwebkit2gtk-4.0-37 (>= 2.26), libwinpr2-2 (>= 2.0.0~git20160317.1.75ae3f5+dfsg1), libxml2 (>= 2.7.8)
Recommends: qemu-system-x86
Breaks: libspice-server1 (<< 0.12.5-1.1~)
Homepage: <a href="https://wiki.gnome.org/Apps/Boxes">https://wiki.gnome.org/Apps/Boxes</a>
Tag: admin::virtualization, hardware::emulation, implemented-in::python,
 implemented-in::vala, interface::graphical, interface::x11,
 role::program, scope::application, suite::gnome, suite::openstack,
 system::cloud, system::virtual, uitoolkit::gtk, use::simulating,
 use::viewing, x11::application
Download-Size: 1,085 kB
APT-Manual-Installed: yes
APT-Sources: <a href="http://ftp.halifax.rwth-aachen.de/debian">http://ftp.halifax.rwth-aachen.de/debian</a> bullseye/main amd64 Packages
Description: Simple GNOME app to access remote or virtual systems

 GNOME Boxes is a desktop client to view or use local virtual machines,

 remote physical machines, or remote virtual machines.

Boxes is intentionally simple and easy to use.

Hardware virtualization is required to use local virtual machines.

as minimalistic as the description is the gui:

indeed nothing against a bit of gui minimalism…

kvm is developed by Redhat… that’s why it is right there on top… but there is more for “easy” or “instant” install…

would have been nice, if the disk size can be directly entered in numbers as well…

also a checkbox for “thin provisioning” would have been nice

but it definately works

the vm properties tab, might be a bit too minimalistic… when changing vm settings afterwards, the user will have to rely on the user’s xml editing skillz ;-p

this isa nicely done overview screen… showing real time thumbnails of the all vm’s current desktop…

when almost finished installing Debian 11… gnome boxes skips the “where to install grub” screen and reports “debian 11 is ready to use”

but it won’t boot X-D

just in case if the cursor is “stuck” it can be released by hitting Ctrl+Alt

the gui minimalism is a nice try, but gnome-boxes got some quality issues there, not ready for use with Debian, not ready to replace redhat’s kvm’s excellent virtmanager, which works flawless under GNU Linux Debian and has way more settings to modify vms

https://dwaves.de/2020/12/05/gnu-linux-debian-10-how-to-install-kvm-virtualization-qemu-basic-virsh-commands-kvm-cheat-sheed/

#linux #gnu #gnulinux #opensource #administration #sysops #gnome #boxes #virtualbox #kvm #virtual #vm #virtualization #qemu

Originally posted at: https://dwaves.de/2022/05/10/gnu-linux-debian-11-gnome-boxes-an-open-source-virtualbox-replacement/

mileon@nerdpol.ch

ARCHLINUX NEWS

QEMU >= 7.0.0 changes split package setup

2022-05-09 - David Runge

With the update to qemu 7.0.0 the package has been turned into a more fine grained split package utilizing meta packages.

The qemu package is now virtually provided by the meta packages qemu-base, qemu-desktop and qemu-full.
The functionality of qemu prior to 7.0.0 is replaced by qemu-desktop
The functionality of qemu-headless is replaced by qemu-base
The functionality of qemu-arch-extra and qemu-headless-arch-extra is replaced by qemu-emulators-full
The meta package qemu-full provides all QEMU related packages (excluding qemu-guest-agent)

https://archlinux.org/news/qemu-700-changes-split-package-setup/

#archlinux #QEMU #news

bkoehn@diaspora.koehn.com

Tried an interesting experiment this morning where I built an #amd64/#arm64 #Docker image of Diaspora, which heretofore had always been just an amd64 image. Building this on an arm64 laptop meant that all the amd64 stuff took place in (quite slow) #qemu emulation. Here are the timings for the two builds, which #BuildKit runs in parallel. You can see the commands and architectures, and how long each took to run:

➜  diaspora git:(master) ✗ ./build          
[+] Building 4636.0s (35/35) FINISHED                                                                                                                            
 => [internal] load build definition from Dockerfile                                                                                                        0.0s
 => => transferring dockerfile: 2.65kB                                                                                                                      0.0s
 => [internal] load .dockerignore                                                                                                                           0.0s
 => => transferring context: 96B                                                                                                                            0.0s
 => [linux/arm64 internal] load metadata for docker.io/library/debian:buster-slim                                                                           0.6s
 => [linux/amd64 internal] load metadata for docker.io/library/debian:buster-slim                                                                           0.6s
 => CACHED [linux/amd64 build 1/9] FROM docker.io/library/debian:buster-slim@sha256:544c93597c784cf68dbe492ef35c00de7f4f6a990955c7144a40b20d86a3475f        0.0s
 => => resolve docker.io/library/debian:buster-slim@sha256:544c93597c784cf68dbe492ef35c00de7f4f6a990955c7144a40b20d86a3475f                                 0.0s
 => [internal] load build context                                                                                                                           0.0s
 => => transferring context: 389B                                                                                                                           0.0s
 => CACHED [linux/arm64 build 1/9] FROM docker.io/library/debian:buster-slim@sha256:544c93597c784cf68dbe492ef35c00de7f4f6a990955c7144a40b20d86a3475f        0.0s
 => => resolve docker.io/library/debian:buster-slim@sha256:544c93597c784cf68dbe492ef35c00de7f4f6a990955c7144a40b20d86a3475f                                 0.0s
 => [linux/amd64 stage-1 2/5] RUN adduser --gecos "" --disabled-login --home /home/diaspora diaspora                                                        0.6s
 => [linux/arm64 stage-1 2/5] RUN adduser --gecos "" --disabled-login --home /home/diaspora diaspora                                                        0.2s
 => [linux/arm64 build 2/9] COPY run_as_diaspora.sh /run_as_diaspora.sh                                                                                     0.0s
 => [linux/amd64 build 2/9] COPY run_as_diaspora.sh /run_as_diaspora.sh                                                                                     0.0s
 => [linux/arm64 build 3/9] RUN mkdir -p /usr/share/man/man1     && mkdir -p /usr/share/man/man7                                                            0.1s
 => [linux/amd64 build 3/9] RUN mkdir -p /usr/share/man/man1     && mkdir -p /usr/share/man/man7                                                            0.1s
 => [linux/arm64 build 4/9] RUN apt-get update &&  apt-get install -y -qq  cmake  postgresql-client  build-essential  libgmp-dev  libssl-dev  libcurl4-op  55.2s
 => [linux/amd64 build 4/9] RUN apt-get update &&  apt-get install -y -qq  cmake  postgresql-client  build-essential  libgmp-dev  libssl-dev  libcurl4-o  309.0s
 => [linux/arm64 build 5/9] RUN adduser --gecos "" --disabled-login --home /home/diaspora diaspora                                                          0.2s 
 => [linux/arm64 build 6/9] COPY compose/diaspora.yml.example /diaspora.yml                                                                                 0.0s
 => [linux/arm64 build 7/9] RUN su diaspora -c '/run_as_diaspora.sh'                                                                                      614.1s
 => [linux/amd64 build 5/9] RUN adduser --gecos "" --disabled-login --home /home/diaspora diaspora                                                          0.8s
 => [linux/amd64 build 6/9] COPY compose/diaspora.yml.example /diaspora.yml                                                                                 0.0s
 => [linux/amd64 build 7/9] RUN su diaspora -c '/run_as_diaspora.sh'                                                                                     3765.4s
 => [linux/arm64 build 8/9] RUN rm -rf /home/diaspora/diaspora/.git            /home/diaspora/.gnupg            /home/diaspora/diaspora/vendor/bundle/ruby  0.6s 
 => [linux/arm64 build 9/9] COPY startup.sh startup-lighttpd.sh /home/diaspora/                                                                             0.0s 
 => [linux/arm64 stage-1 3/5] COPY --chown=diaspora:diaspora --from=build /home/diaspora /home/diaspora                                                     3.7s 
 => [linux/arm64 stage-1 4/5] RUN apt-get update &&     apt-get install -yqq         postgresql-client         imagemagick         libyaml-0-2         li  66.6s 
 => [linux/arm64 stage-1 5/5] WORKDIR /home/diaspora                                                                                                        0.1s 
 => [linux/amd64 build 8/9] RUN rm -rf /home/diaspora/diaspora/.git            /home/diaspora/.gnupg            /home/diaspora/diaspora/vendor/bundle/ruby  0.6s 
 => [linux/amd64 build 9/9] COPY startup.sh startup-lighttpd.sh /home/diaspora/                                                                             0.0s 
 => [linux/amd64 stage-1 3/5] COPY --chown=diaspora:diaspora --from=build /home/diaspora /home/diaspora                                                     2.3s 
 => [linux/amd64 stage-1 4/5] RUN apt-get update &&     apt-get install -yqq         postgresql-client         imagemagick         libyaml-0-2         l  121.3s 
 => [linux/amd64 stage-1 5/5] WORKDIR /home/diaspora                                                                                                        0.1s 
 => exporting to image                                                                                                                                    432.9s 
 => => exporting layers                                                                                                                                    22.8s 
 => => exporting manifest sha256:5c3109ef5d47350be207113c3dd037221932180f0f0374cfbec992b13f739968                                                           0.0s 
 => => exporting config sha256:e985585531e41253882bd21211a415dbd1a8d1d074ee71018b49273ab29be3bd                                                             0.0s 
 => => exporting manifest sha256:eea973c274f1be5708a580f9b681ab496877b27a25319e2d21049cd01fc84c5f                                                           0.0s 
 => => exporting config sha256:ce33e251e6f0e332163507d4498e3c7cd4a2c795e17b1aa6f537a035add446f1                                                             0.0s 
 => => exporting manifest list sha256:f299453f87d034fb6d971677e24a41d2bfe07c065affdc6e63cd08306ca6df0c                                                      0.0s
 => => pushing layers                                                                                                                                     408.7s
 => => pushing manifest for docker.io/koehn/diaspora:latest@sha256:f299453f87d034fb6d971677e24a41d2bfe07c065affdc6e63cd08306ca6df0c                         1.3s
 => [auth] koehn/diaspora:pull,push token for registry-1.docker.io                                                                                          0.0s
 => [auth] koehn/diaspora:pull,push token for registry-1.docker.io                                                                                          0.0s
 => [auth] koehn/diaspora:pull,push token for registry-1.docker.io                                                                                          0.0s
The push refers to repository [docker.io/koehn/diaspora]
canoodle@nerdpol.ch

GNU Linux Debian 10 - kvm-qemu virtualization host - sata disk access performance problems with Windows 7 64Bit vm guest (only 32Bit works with virtio drivers crystal disk benchmark looking good)

  1. first off the praise:
    • kvm-qemu is a high performance nicely scriptable virtualization system
    • if it works, it can do pretty things 🙂
    • especially like the x11 forwarded virt-manager gui over ssh (yes it is a bit slow… but simplicity at it’s best)
  2. now the critique:
    • it does not feel very user friendly X-D
    • why is thin provisioning not the disk-saving default option?
      • or at least should be possible for the user to select this option in virt-manager
    • do not drop windows 7 support just yet… many virtualization systems such as VirtualBox are actually intended to run “outdated” OS on newer hardware for the sake of getting programs to run, that are incompatible with recent OS.
    • please double check that virtio 64Bit drivers actually work under win 7 64bit (home, pro and ultimate)
<span style="color: #00ffff;">
hostnamectl</span>; # host is
           Chassis: desktop
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.19.0-17-amd64
      Architecture: x86-64

# hardware used
<span style="color: #00ffff;">cat /proc/cpuinfo |head</span>
processor   : 0
vendor_id   : AuthenticAMD
cpu family  : 23
model       : 113
model name  : AMD Ryzen 5 3600 6-Core Processor
stepping    : 0
microcode   : 0x8701021
cpu MHz     : 1870.721
cache size  : 512 KB
physical id : 0

<span style="color: #00ffff;">dmidecode | less</span>
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: Pro WS 565-ACE
Version: Rev X.0x
<span style="color: #00ffff;">qemu-system-x86_64 --version</span>
QEMU emulator version 3.1.0 (Debian 1:3.1+dfsg-8+deb10u8)
Copyright (c) 2003-2018 Fabrice Bellard and the QEMU Project developers

# installed software
<span style="color: #00ffff;">dpkg -l|grep virt</span>
ii  gir1.2-libvirt-glib-1.0:amd64        1.0.0-1                                 amd64        GObject introspection files for the libvirt-glib library
ii  libgovirt-common                     0.3.4-3.1                               all          GObject-based library to access oVirt REST API (common files)
ii  libgovirt2:amd64                     0.3.4-3.1                               amd64        GObject-based library to access oVirt REST API
ii  libvirglrenderer0:amd64              0.7.0-2                                 amd64        virtual GPU for KVM virtualization
ii  libvirt-clients                      5.0.0-4+deb10u1                         amd64        Programs for the libvirt library
ii  libvirt-daemon                       5.0.0-4+deb10u1                         amd64        Virtualization daemon
ii  libvirt-daemon-system                5.0.0-4+deb10u1                         amd64        Libvirt daemon configuration files
ii  libvirt-glib-1.0-0:amd64             1.0.0-1                                 amd64        libvirt GLib and GObject mapping library
ii  libvirt0:amd64                       5.0.0-4+deb10u1                         amd64        library for interfacing with different virtualization systems
ii  ovmf                                 0~20181115.85588389-3+deb10u3           all          UEFI firmware for 64-bit x86 virtual machines
ii  python3-libvirt                      5.0.0-1                                 amd64        libvirt Python 3 bindings
ii  qemu-kvm                             1:3.1+dfsg-8+deb10u8                    amd64        QEMU Full virtualization on x86 hardware
ii  virt-manager                         1:2.0.0-3                               all          desktop application for managing virtual machines
ii  virt-viewer                          7.0-2                                   amd64        Displaying the graphical console of a virtual machine
ii  virtinst                             1:2.0.0-3                               all          Programs to create and clone virtual machines

something is pretty off here.

it all starts of with virsh-manager not detect Windows 7 iso correctly, and having to chose it manually enabling the legacy checkbox.

the idea was to install:

actually managed to install it once… but when trying to install the updates, things became very very slow aka stuck.

next try… it won’t go over this screen: “windows files are being extracted 0%” just sits there doing nothing.

what worked: virtio & 32Bit

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.173-4/

the only success that can be reported is for 32Bit! (virtio-win-0.1.173.iso being the last version supporting Windows 7)

now the performance is pretty decent X-D (of course this is all RAM cached stuff)

no chance to select any 64Bit drivers!? in any virtio iso!?

#linux #gnu #gnulinux #opensource #administration #sysops #windows #kvm #qemu #debian #virtualization #virtio

Originally posted at: https://dwaves.de/2021/09/15/gnu-linux-debian-10-kvm-qemu-virtualization-host-sata-disk-access-performance-problems-with-windows-7-64bit-vm-guest-only-32bit-works-with-virtio-drivers-crystal-disk-benchmark-looking-good/