How to check/change/set the default pool used by (Disp)VMs?

Hi,

I know it is possible to set the pool of any VM when creating it. That works fine for named disposables too.

But how can one set the default pool of a non-named DispVM?
Also how does one check which pool a VM uses? (it doesn’t show in qvm-prefs)

qvm-volume list VMNAME

The pool for each volume is mentioned in the 1st column (since each volume could be on a different pool).

Other method to list all qubes with their respective pools:

qvm-ls --fields NAME,ROOT-POOL,PRIV-POOL

They inherit it from their DispVM Template.

1 Like

Thanks.

Other method to list all qubes with their respective pools:

qvm-ls --fields NAME,ROOT-POOL,PRIV-POOL

This shows ‘-’ for pools of all VMs, i.e. no actual info.
What does it show for you?

The pools of course.

Don’t you see ROOT-POOL and PRIV-POOL listed if you run qvm-ls --help-columns?

Oh. I see. It is currently available only on Qubes OS r4.3. It is not backported to r4.2 yet:

1 Like

Don’t you see ROOT-POOL and PRIV-POOL listed if you run qvm-ls --help-columns?

user@dom0:~ > qvm-ls --fields NAME,ROOT-POOL,PRIV-POOL
NAME                          ROOT-POOL  PRIV-POOL
vm1                           -          -
vm2                           -          -
vm3                           -          -
...

(only the names are redacted for posting on the forum)

Might that be a difference between 4.3 and 4.2.4?

user@dom0:~ > qvm-ls --help-columns
Available columns:
  CLASS      Class of the qube.
  DISK       Total disk utilisation.
  FLAGS      Some fancy flags that describe general status of the domain.
  GATEWAY    Network gateway.
  MEMORY     Memory currently used by VM
  PRIV-CURR  Disk utilisation by private image (/home, /usr/local).
  PRIV-MAX   Maximum available space for private image.
  PRIV-USED  Disk utilisation by private image as a percentage of available
               space.
  ROOT-CURR  Disk utilisation by root image (/usr, /lib, /etc, ...).
  ROOT-MAX   Maximum available space for root image.
  ROOT-USED  Disk utilisation by root image as a percentage of available space.
  STATE      Current power state.

Additionally any VM property may be used as a column, see qvm-prefs --help-properties for available value

OK. We posted simultaneously :slight_smile:

Does Qube Manager in 4.3 show columns for pools?

No. Qube Manager does not show columns for vm pools. And I believe there is no any plan to add that information to it. Actually the current trend is to make Qube Manager smaller and lighter. There are columns which might be added to it (such as CPU & RAM utilization). But that information is very high in demand compared to qube pools (since varlibqubes in the only private/root pool for default installation).

I see.
Thanks for the feedback!

Its volumes are created in the same pool as the volume with the same name of the disposable template. There’s no way to override this for the “volatile” volume. The “private” and “root” are snap_on_start volumes, so they must be located in the pool of their source volume anyway.

Essentially: You can affect where disp1234 “private” and “volatile” volumes are placed by deciding where to place its -dvm disposable template; and you can affect where its “root” volume is placed by deciding where to place its -dvm disposable template’s TemplateVM.

qvm-volume list [VM...] or qvm-volume info VM:VOLUME pool

This isnt the first time I have seen this.
It would be really helpful if you posted answers that explicitly said
“I am testing 4.3, it may be different in 4.2”, as I always says, “I dont use Whonix”.
That way people wont be misled about what is available or not in 4.2.

I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.

1 Like

Ok. I set it on my profile. I am sorry if the users who access forum via unconventional methods (e.g. via mail) could not see it (or the modification to posts, other common forum functionalities, etc.).

Thanks, but my understanding is that profiles are not available unless you
are logged in, so this isnt particularly helpful. Also, even if logged
in,is a user going to check your profile before relying on what you
say?
Can you not include this information in your posts?

I never presume to speak for the Qubes team. When I comment in the Forum I speak for myself.

I usually include that information (that I use r4.3) when I believe it is relevant. In this specific case, honestly I expected that PR to be backported to r4.2 already. Since I made the PR personally back in September 2024 and eight months have passed already since it is merged. And the PR is relatively simple and straight forward.

And also many forum regulars already know I use r4.3 (I believe I had discussed this with @qubist before).

The Forum is indexed on search engines and users who come to it by that
“unconventional” means wont know this.

I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.

@rustybird

Thanks for your feedback. We discussed some of that in a GitHub issue some time ago.

Its volumes are created in the same pool as the volume with the same name of the disposable template. There’s no way to override this for the “volatile” volume. The “private” and “root” are snap_on_start volumes, so they must be located in the pool of their source volume anyway.

OK, I checked:

Creating a named disposable and explicitly setting its pool to e.g. pool2 does not result in what the user expects because only the “volatile” is be on pool2.

Doesn’t that qualify as a (UI) bug?

Conceptually, it makes sense because snapshotting must be done within one pool - there’s no way to efficiently implement snapshotting across what could be two very different types of pools - and “private” and “root” of a disposable are snapshotted at start from the disposable template.

I realize that this is not super intuitive though. Maybe it’s possible to tweak the VM creation UI to make it clearer which volumes are affected by the pool selection and which aren’t.

Maybe it’s possible to tweak the VM creation UI to make it clearer which volumes are affected by the pool selection and which aren’t.

That’s what I mean.