[pve-devel] [PATCH storage 2/4] add BTRFS storage plugin

Wolfgang Bumiller w.bumiller at proxmox.com
Thu Jun 10 14:59:29 CEST 2021

On Thu, Jun 10, 2021 at 02:40:22PM +0200, Fabian Grünbichler wrote:
> On June 9, 2021 3:18 pm, Wolfgang Bumiller wrote:
> > This is mostly the same as a directory storage, with 2 major
> > differences:
> > 
> > * 'subvol' volumes are actual btrfs subvolumes and therefore
> >   allow snapshots
> > * 'raw' files are placed *into* a subvolume and therefore
> >   also allow snapshots, the raw file for volume
> >   `btrstore:100/vm-100-disk-1.raw` can be found under
> >   `$path/images/100/vm-100-disk-1/disk.raw`
> > * snapshots add an '@name' suffix to the subvolume's name,
> >   so snapshot 'foo' of the above would be found under
> >   `$path/images/100/vm-100-disk-1 at foo/disk.raw`
> > 
> > Note that qgroups aren't included in btrfs-send streams,
> > therefore for now we will only be using *unsized* subvolumes
> > for containers and place a regular raw+ext4 file for sized
> > containers.
> > We could extend the import/export stream format to include
> > the information at the front (similar to how we do the
> > "tar+size" format, but we need to include the size of all
> > the contained snapshots as well, since they can technically
> > change). (But before enabling quotas we should do some
> > performance testing on bigger file systems with multiple
> > snapshots as there are quite a few reports of the fs slowing
> > down considerably in such scenarios).
> this should probably be mentioned prominently in the docs somewhere, 
> else it could cause quite some confusion. also is ext4 in raw image on 
> btrfs really faster than btrfs with quotas? Oo we really should do some 
> benchmarks first before going down either route..

I do also have an idea for a simple-enough & extendable import/export
format change for also sending the quota info over the wire, so we can
go either way.
But yes, we definitely need to do some performance tests... And also
watch btrfs-scrubs with quotas in use... ;-)

More information about the pve-devel mailing list