btrfs for template/appvm

15 views
Skip to first unread message

keyandthegate

unread,
Dec 11, 2020, 7:36:59 PM12/11/20
to qubes...@googlegroups.com
I want to use btrfs for the snapshots feature in my appvms.

I know Qubes supports btrfs for dom0:
https://github.com/QubesOS/qubes-issues/issues/2340

Does Qubes support using btrfs in individual appvms?

If not is there some other way I can get snapshots? It would make me less afraid to make a mistake while using my computer.
Message has been deleted

Tim W

unread,
Dec 11, 2020, 10:53:00 PM12/11/20
to qubes-users
Looks to me that is has support for functioning in appvms.,  But I can not test currently

keyandthegate

unread,
Dec 12, 2020, 2:32:28 AM12/12/20
to qubes...@googlegroups.com
I have btrfs set up for dom0 and I'm using the refilnk driver, but my appvms themselves seem to be ext4? Where would I even set this? I don't see an option on the pool or on qvm-create.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

donoban

unread,
Dec 12, 2020, 6:30:13 AM12/12/20
to qubes...@googlegroups.com
Hi,
Qubes creates a "snapshot" when you start a VM using reflink copies.

If you look at "/var/lib/qubes/appvms/<SomeAppVM>" (or other btrfs pool)
on dom0 you will see some "private.img.XX@XXXX-XX-XXXX". This files are
snapshots from that date before the AppVM was started.

Currently you can use 'qvm-volume' for revert some image to an older
state but you will lose the present image. If you want to start an older
image you can create a new VM and overwrite his 'private.img' with some
"private.img.XX@XXXX-XX-XXXX".

Hopefully in the future this could be improved, I would like to just
start a DispVM based in a snapshot using few mouse clicks or a single
command.

In any case I recommend you to do regular backups ;)

OpenPGP_signature

unman

unread,
Dec 12, 2020, 11:14:15 AM12/12/20
to keyandthegate, qubes...@googlegroups.com
On Sat, Dec 12, 2020 at 07:32:13AM +0000, 'keyandthegate' via qubes-users wrote:
> I have btrfs set up for dom0 and I'm using the refilnk driver, but my appvms themselves seem to be ext4? Where would I even set this? I don't see an option on the pool or on qvm-create.
>
> ????????????????????? Original Message ?????????????????????
> On Saturday, December 12, 2020 12:36 AM, keyandthegate <keyand...@protonmail.com> wrote:
>
> > I want to use btrfs for the snapshots feature in my appvms.
> >
> > I know Qubes supports btrfs for dom0:
> > https://github.com/QubesOS/qubes-issues/issues/2340
> >
> > Does Qubes support using btrfs in individual appvms?
> >
> > If not is there some other way I can get snapshots? It would make me less afraid to make a mistake while using my computer.
>

I *think* you would have to custom build templates using btrfs, but I
have no idea if that would work - I'll try and report back.

When I'm making significant changes then I make liberal use of
qvm-clone: then I may archive off, but more usually just throw away the
clone if I'm happy. (On the rare occasions that I work with Windows
qubes I do this a lot.)

Chris Laprise

unread,
Dec 13, 2020, 8:20:00 PM12/13/20
to unman, keyandthegate, qubes...@googlegroups.com
Yes. If you have Btrfs in dom0 then you already have those features at
the VM level at least. And I would recommend against putting Btrfs on
top of Btrfs, as its more CPU intensive.

For those who have the default LVM in dom0, Btrfs in appVMs is a better
prospect. But since LVM also has snapshots, to me the only two
overriding reasons to use Btrfs this way is for compression (Btrfs has
Zstandard now!) of things like databases and email archives; and also
for its integrity checking.

--
Chris Laprise, tas...@posteo.net
https://github.com/tasket
https://twitter.com/ttaskett
PGP: BEE2 20C5 356E 764A 73EB 4AB3 1DC4 D106 F07F 1886
Reply all
Reply to author
Forward
0 new messages