[pve-devel] better BTRFS integration

Fabio Fantoni fabio.fantoni at m2r.biz
Mon Jan 13 15:28:56 CET 2025


Il 10/01/2025 13:20, Udo Rader ha scritto:
> Hi,
>
> I have been using PVE with BTRFS as root on some nodes for some time now and all in all it seems to work quite well. What is missing, however, is a deeper integration into the user interface, for example.
>
> Browsing through the ML archives, I see that every now and then something has been done to fix minor BTRFS issues and add features, but as far as I can tell, no further attempts have been made recently to fully integrate it into the UI and/or backend API.
>
> Although I'm no BTRFS expert, I'm still tempted to improve this situation by adding the necessary code for the user interface and backend. I have contributed a few things in the past, such as the ISCSI ILO plugin, so I am generally familiar with the PVE sources, though not really in detail anymore. What I would like, for example, would be an integration into the UI + API as for ZFS, i.e. at least the display of existing BTRFS devices, profiles etc., but ideally of course also the creation and editing of existing BTRFS profiles.
>
> But before I jump into it, I'd like to know if anyone else has worked on this or is currently working on this, as there's no point in duplicating work. Or maybe it's on the roadmap for the next version anyway :D
>
> BR Udo

Thanks for wanting to help improve btrfs support, currently 
unfortunately very limited, from what I've seen unfortunately there has 
been little interest from developers (or I'm wrong?), so I think any 
help is useful, I'm also using btrfs on system disks and storage for iso 
and other data while I use lvmthin for vm disks (I use all ssd/nvme 
customers level disks).

Before implementing new things in the interface I think there are some 
more important things to fix/improve first, some of which I already 
tried to write something about.

For example efi boot support on multiple disks 
(https://bugzilla.proxmox.com/show_bug.cgi?id=5433), currently only done 
at creation, one possibility would be to use proxmox-boot-tool and do 
what it already does on zfs but having the entire /boot in the ESP 
partition does not seem optimal to me and I have seen many posts on the 
forum of failed updates due to full space for several kernel versions, 
if you really wanted to do it you would have to increase the size of the 
partition to limit such problems as much as possible.

I saw that Ubuntu has implemented multiple ESP management (for the 
resilient boot project) over 4 years ago but asking the Grub team on 
Debian why it was not applied there too, they told me that it should be 
re-implemented better, avoiding code duplication, before it can be 
accepted on Debian (which requires higher quality) so I don't know if 
and when it will be done.

Then unfortunately I noticed a limited support for btrfs also from 
Debian, for several packages unfortunately it seems that their 
maintainers are inactive (not only for those but also for other packages 
that they maintain), even if I don't have much time to maintain other 
packages I kept an eye on some, for btrfs-progs which is essential 
another maintainer took over since the previous one was confirmed MIA, 
so basic support still seems guaranteed for Debian 13.

I wanted to see about packaging btdu which would be very useful even 
though I have no experience with the D language but unfortunately at the 
moment there is a lack of support even for basic compilation packages 
for D due to the main maintainer being inactive, I'm keeping an eye on 
it and writing to unblock the situation and then maybe I'll try to see 
if I can package btdu.

About proxmox another thing useful would be improve the subvolumes on 
the install: 
https://forum.proxmox.com/threads/btrfs-subvolumes.120055/#post-722177

At the interface level one thing that could be improved is perhaps the 
management or even just additional warnings to avoid a problem using vm 
disks on btrfs that must not have cache=none if cow is active: 
https://bugzilla.proxmox.com/show_bug.cgi?id=5320


Regarding having more information about btrfs volumes in the interface I 
think it could be useful, even if those with a bit of experience can do 
it in a simple and fast way, having some information in the interface 
would be faster anyway, while performing any delicate operations making 
it too simple in some cases would risk increasing the risks that 
inexperienced users cause problems but since even more complex and 
delicate things are already implemented in other parts it could be done 
later also with btrfs.

Do you already have in mind how to do it and what?

> ________________________________
>
> Udo Rader, MSc, MBA, Chief Geek
> BestSolution.at EDV Systemhaus GmbH
> Salurner Straße 15, 6020 Innsbruck, Austria
> https://www.BestSolution.at
> Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck
> [BestSolution]
>
> _______________________________________________
> pve-devel mailing list
> pve-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>


-- 
Questa email è stata esaminata alla ricerca di virus dal software antivirus Avast.
www.avast.com



More information about the pve-devel mailing list