5
0
mirror of git://git.proxmox.com/git/pve-storage.git synced 2025-01-05 09:17:59 +03:00
Go to file
Wolfgang Bumiller af50c2e671 add BTRFS storage plugin
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`
* in both cases, snapshots add an '@name' suffix to the
  subvolume's directory name, so snapshot 'foo' of the above
  would be found under
  `$path/images/100/vm-100-disk-1@foo/disk.raw`
  or for format "subvol":
  `$path/images/100/subvol-100-disk-1.subvol@foo`

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).

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-06-23 20:20:31 +02:00
debian bump version to 7.0-3 2021-06-21 11:30:10 +02:00
PVE add BTRFS storage plugin 2021-06-23 20:20:31 +02:00
test factoring out regex for vztmpl 2021-06-23 20:19:09 +02:00
.gitignore generate correct manual page and .pod 2011-10-20 08:21:56 +02:00
Makefile use ssh -X for upload 2020-07-09 15:00:38 +02:00
pvesm add setup_environment hook to CLIHandler class 2017-01-12 13:27:43 +01:00