Very much new to Qubes, and trying to ease my way into it,
albeit possibly hindered by having had some previous exposure
to non-Qubes Xen environments.
I'd like to ask a question about the way in which an AppVM's
Copy-on-Write partition, from within the "volatile.img" VBD
is used.
>From reading the Template Implementation page, I note
Block devices of a VM
Every VM has 4 block devices connected:
* xvda – base root device (/) – details described below
* xvdb – private.img – place where VM always can write.
* xvdc – volatile.img, discarded at each VM restart – here is placed
swap and temporal “/” modifications (see below)
* xvdd – modules.img – kernel modules and firmware
and then, below,
Snapshot device in Dom0
This device consists of:
* root.img – real template filesystem
* root-cow.img – differences between the device as seen by AppVM
and the current root.img
The above is achieved through creating device-mapper snapshots for each
version of root.img. When an AppVM is started, a xen hotplug script
(/etc/xen/scripts/block-snapshot) reads the inode numbers of root.img and
root-cow.img; these numbers are used as the snapshot device’s name. When a
device with the same name exists the new AppVM will use it – therefore,
AppVMs based on the same version of root.img will use the same device. Of
course, the device-mapper cannot use the files directly – it must be
connected through /dev/loop*. The same mechanism detects if there is a
loop device associated with a file determined by the device and inode
numbers – or if creating a new loop device is necessary.
Then, from inspection of the block devices within a VM, I can see
xvda
Number Start End Size File system Name Flags
34s 2047s 2014s Free Space
1 1.00MiB 201MiB 200MiB EFI System boot, esp
2 201MiB 203MiB 2.00MiB BIOS boot partition bios_grub
3 0.02GiB 20.0GiB 19.8GiB ext4 Root filesystem
20.0GiB 20.0Gib 2015s Free Space
xvdc
Number Start End Size Type File system Flags
63s 2047s 1985s Free Space
1 0.00GiB 1.00GiB 1.00GiB primary linux-swap(v1)
3 1.00GiB 10.0GiB 9.00GiB primary
but what I can't seem to work out is where the Copy-on-Write partition
(as I think of it: xvdc3) is being "associated" with the VM's "Root
filesystem" (xvda3), nor where the loop devices, required for it all
to hang together, are created.
The reference to the
"xen hotplug script (/etc/xen/scripts/block-snapshot)"
has me thinking that the "association" is happening in the Dom0,
but I can't seem to see the "various parts", when taking a look
around the Dom0 or AppVM, after invoking an "Xfce Terminal" from
the personal qube.
I do note though, that inside the VM, a 'df' shows the root device
being presented as
/dev/mapper/dmroot
and not
/dev/xvda3
which then has me thinking that the "association" might be
taking place within the AppVM, but again, I can't see any
obvious evidence for that.
I feel that I should be able to see the "various parts", but,
when looking around, am clearly missing them.
Could someone point me to a document, or previous answer, that
makes things clearer, and/or to what I might have missed in
looking around inside the Dom0 and AppVM.
--
You received this message because you are subscribed to the Google Groups
"qubes-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/qubes-devel/175238788117.6.6581072717512967123.805990082%404forl1st5.slmail.me.