1

I see instruction for migration like:

virsh migrate web1 qemu+ssh://desthost/system

What does the keyword qemu+ssh://desthost/system mean?

I suppose it means SSH to desthost for authentication purpose? What user does it use? After SSH, does it execute some command at destHost? (If it needs to execute command, how does it do with qemu+tls?)

Also, does the system keyword has any special meaning too?

1 Answer 1

2

TLDR: qemu+ssh://desthost/system mean run command (migrate in your case) using qemu driver on system libvirt daemon which is running on remote host desthost. For connection, use SSH with my current settings.


The "keyword" qemu+ssh://desthost/system you are mentioning is in fact called Remote URI, which is variation of Connection URI which is libvirt using for connecting to remote hosts.

Its general form is described in Remote URI documentation as

driver[+transport]://[username@][hostname][:port]/[path][?extraparameters]

What does the keyword qemu+ssh://desthost/system mean?

It means that you want to execute command

  1. using qemu driver
  2. on desthost host
  3. connecting through ordinary SSH connection
  4. connect to libvirt's system mode daemon

After SSH, does it execute some command at destHost? (If it needs to execute command, how does it do with qemu+tls?)

First of all you are using virsh to execute command migrate on remote host's libvirt daemon. That daemon will handle your command.

Think of SSH usage in this case only as a tunnel.

I suppose it means SSH to desthost for authentication purpose? What user does it use? After SSH, does it execute some command at destHost? (If it needs to execute command, how does it do with qemu+tls?)

ssh is only transport for actual communication. Its useful especially if you have working SSH connection to remote host (desthost) as you avoid need to setup TLS certificates on your machine (client) and desthost.

It uses same user as actual ssh would use - usually current user. But you take advantage of all SSH possibilities and set different user i.e. in .ssh/config for desthost.

Also, does the system keyword has any special meaning too?

Yes, it means that system mode of libvirt daemon will be used. With some simplification, it means it will connect to system libvirt daemon which is running under root user and usually launched at system startup. You can read more about difference between system and session in libvirt's FAQ

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.