VIRTXEND(8)

πŸ“¦
version 12.3.0 Β· 4 versions
, in alpine 3.24

πŸ’… VIRTXEND β€” the libvirt Xen management daemon (yes bestie, that's virtxend(8), the whole manual right here)

okay so picture this: it's virtxend(8), straight out of the Virtualization Support section, and it's literally the whole page. stay with me, it's gonna slay ✨


🌸 SYNOPSIS 🌸

virtxend [OPTION]...

that's it. that's the whole vibe. one program, a bunch of options, we move. πŸŽ€


✨ DESCRIPTION ✨

okay so virtxend is a server side daemon component of the libvirt virtualization management system. it's the behind-the-scenes bestie doing the actual work while everyone else takes credit πŸ’…

it's one of a whole collection of modular daemons β€” the crew that replaced the functionality previously provided by the monolithic libvirtd daemon. glow-up era, fr fr πŸ”₯

this daemon runs on virtualization hosts and provides management for Xen virtual machines. that's its whole personality, and it's iconic for it.

here's the important bit, bestie: the virtxend daemon only listens for requests on a local Unix domain socket. that's it. no wild internet energy. if you want remote access via TLS/TCP, and backwards compatibility with legacy clients that are still expecting libvirtd? that's a whole different girl β€” the virtproxyd daemon handles all that. don't ask virtxend to do it, she will not. πŸ™ˆ

and now the part that lowkey matters most: restarting virtxend does not interrupt running guests. guests keep operating, and changes in their state will generally be picked up automatically during startup. none the less (yes I'm keeping that exact spelling, don't @ me) it is recommended to avoid restarting with running guests whenever practical. like, it's fine, but also, why risk it? ⭐


πŸ¦‹ DAEMON STARTUP MODES πŸ¦‹

the virtxend daemon is capable of starting in two modes. two modes! main character has range πŸ’–

🌈 Socket activation mode

on hosts with systemd it is started in socket activation mode, and it will rely on systemd to create and listen on the UNIX sockets and pass them as pre-opened file descriptors. in this mode, most of the socket related config options in /etc/libvirt/virtxend.conf will no longer have any effect. systemd said "I got this," and honestly? she does.

🌸 Traditional service mode

on hosts without systemd, it will create and listen on UNIX sockets itself. DIY queen energy. self-made. no notes πŸ‘‘


πŸ’œ OPTIONS πŸ’œ

  • -h, --help β€” display command line help usage, then exit. the "wait what does this do again" button 🫢
  • -d, --daemon β€” run as a daemon & write PID file. she's going to the background, bye bestie πŸ‘‹
  • -f, --config FILE β€” use this configuration file, overriding the default value.
  • -p, --pid-file FILE β€” use this name for the PID file, overriding the default value.
  • -t, --timeout SECONDS β€” exit after timeout period (in seconds), provided there are neither any client connections nor any running domains. like an Irish goodbye, but scheduled ⏰
  • -v, --verbose β€” enable output of verbose messages. she's talking now. all the tea. β˜•
  • --version β€” display version information, then exit.

πŸŽ€ SIGNALS πŸŽ€

on receipt of SIGHUP, virtxend will reload its configuration. that's it. that's the signal. one signal, one job, ate πŸ’…


πŸ“ FILES πŸ“

real talk first: the virtxend program must be ran as root. trying to start the program under a different user results in error. root only. no exceptions. periodt. πŸ”₯

  • /etc/libvirt/virtxend.conf

the default configuration file used by virtxend, unless overridden on the command line using the -f | --config option.

in addition to the default configuration file, virtxend reads configuration for the libxl driver from:

  • /etc/libvirt/libxl.conf

this file contains various knobs and default values for virtual machines created within libxl driver, and offers a way to override the built in defaults. location of this file can't be overridden by any command line switch. nope. not a single one. πŸ’€

  • /run/libvirt/virtxend-sock
  • /run/libvirt/virtxend-sock-ro
  • /run/libvirt/virtxend-admin-sock

the sockets virtxend will use.

the TLS Server private key virtxend will use. (yes, it's just sitting here in the list like that, no path attached β€” I don't make the rules, I just relay them faithfully πŸ™ˆ)

  • /run/virtxend.pid

the PID file to use, unless overridden by the -p | --pid-file option.


⭐ EXAMPLES ⭐

to retrieve the version of virtxend:

# virtxend --version
virtxend (libvirt) 12.3.0

to start virtxend, instructing it to daemonize and create a PID file:

# virtxend -d
# ls -la /run/virtxend.pid
-rw-r--r-- 1 root root 6 Jul  9 02:40 /run/virtxend.pid

look at that PID file. living its best life at 6 bytes. we love to see it πŸ₯Ή


🧚 BUGS 🧚

please report all bugs you discover. this should be done via either:

  1. the mailing list

<https://libvirt.org/contact.html>

  1. the bug tracker

<https://libvirt.org/bugs.html>

alternatively, you may report bugs to your software distributor / vendor. no gatekeeping, just tell someone πŸ’–


πŸ‘‘ AUTHORS πŸ‘‘

please refer to the AUTHORS file distributed with libvirt. the whole squad is credited in there.


Copyright (C) 2006-2020 Red Hat, Inc., and the authors listed in the libvirt AUTHORS file.


🌈 LICENSE 🌈

virtxend is distributed under the terms of the GNU LGPL v2.1+. this is free software; see the source for copying conditions. there is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. like, zero. none. don't come for her if it breaks 😭


🫢 SEE ALSO 🫢


okay that's the whole page, nothing skipped, every flag accounted for πŸ’… and for the cute sign-off: this was the VIRTXEND(8) page from the Virtualization Support section, libvirt edition β€” footer's giving VIRTXEND(8) all over again, no date in sight, just vibes. mwah. πŸŽ€πŸ’–βœ¨

πŸ“¦ where this page comes from