[SOLVED] BTRFS error bei Backups

WichtigesYT

Active Member
Feb 21, 2021
31
0
26
Germany
lauchyt.de
Hallo,

Ich habe seit mehreren Tagen das Problem das mein Backup für ein LXC nicht läuft.

Das was im Backup Log steht:
Code:
152: 2024-01-23 02:00:03 INFO: Starting Backup of VM 152 (lxc)
152: 2024-01-23 02:00:03 INFO: status = running
152: 2024-01-23 02:00:03 INFO: CT Name: Docker
152: 2024-01-23 02:00:03 INFO: including mount point rootfs ('/') in backup
152: 2024-01-23 02:00:03 INFO: backup mode: snapshot
152: 2024-01-23 02:00:03 INFO: ionice priority: 7
152: 2024-01-23 02:00:03 INFO: create storage snapshot 'vzdump'
152: 2024-01-23 02:00:03 ERROR: Backup of VM 152 failed - btrfs error: ERROR: Not a Btrfs subvolume: Invalid argument


Mit freundlichen Grüßen
 
bitte mal die config vom container und die /etc/pve/storage.cfg und "pveversion -v" posten..
 
storage.cfg
Code:
dir: local
        path /var/lib/vz
        content images,backup,snippets,vztmpl,iso,rootdir
        prune-backups keep-all=1

btrfs: HDD
        path /mnt/HDD/
        content snippets,images,backup,rootdir,iso,vztmpl

pbs: BACKUPS
        datastore BACKUPS-HETZNER
        server 192.168.1.204
        content backup
        fingerprint 31:b3:15:54:35:b5:e9:a4:4d:31:b3:94:b3:84:86:d8:a1:e3:06:7b:31:cd:65:e3:c5:1b:0f:e1:f0:fe:6d:a8
        prune-backups keep-all=1
        username root@pam

pveversion -v
Code:
proxmox-ve: 8.1.0 (running kernel: 6.2.16-5-pve)
pve-manager: 8.1.4 (running version: 8.1.4/ec5affc9e41f1d79)
proxmox-kernel-helper: 8.1.0
pve-kernel-6.2: 8.0.5
proxmox-kernel-6.5: 6.5.11-7
proxmox-kernel-6.5.11-7-pve-signed: 6.5.11-7
proxmox-kernel-6.5.11-6-pve-signed: 6.5.11-6
proxmox-kernel-6.2.16-20-pve: 6.2.16-20
proxmox-kernel-6.2: 6.2.16-20
pve-kernel-6.2.16-5-pve: 6.2.16-6
ceph-fuse: 16.2.11+ds-2
corosync: 3.1.7-pve3
criu: 3.17.1-2
glusterfs-client: 10.3-5
ifupdown: residual config
ifupdown2: 3.2.0-1+pmx8
libjs-extjs: 7.0.0-4
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.0
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.3
libpve-access-control: 8.0.7
libpve-apiclient-perl: 3.3.1
libpve-common-perl: 8.1.0
libpve-guest-common-perl: 5.0.6
libpve-http-server-perl: 5.0.5
libpve-rs-perl: 0.8.8
libpve-storage-perl: 8.0.5
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 5.0.2-4
lxcfs: 5.0.3-pve4
novnc-pve: 1.4.0-3
proxmox-backup-client: 3.1.2-1
proxmox-backup-file-restore: 3.1.2-1
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.2.3
proxmox-mini-journalreader: 1.4.0
proxmox-widget-toolkit: 4.1.3
pve-cluster: 8.0.5
pve-container: 5.0.8
pve-docs: 8.1.3
pve-edk2-firmware: 4.2023.08-3
pve-firewall: 5.0.3
pve-firmware: 3.9-1
pve-ha-manager: 4.0.3
pve-i18n: 3.2.0
pve-qemu-kvm: 8.1.2-6
pve-xtermjs: 5.3.0-3
qemu-server: 8.0.10
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
 
Hier dann noch die Config

Code:
arch: amd64
features: keyctl=1,nesting=1
hostname: Docker
memory: 3072
net0: name=eth0,bridge=vmbr0,firewall=1,gw=192.168.1.1,gw6=fe80::3e37:12ff:fee3:6249,hwaddr=BC:24:11:CF:8F:58,ip=192.168.1.205/24,ip6=2a02:3102:af04:13a0:be24:11ff:fecf:8f58/64,type=veth
onboot: 1
ostype: debian
rootfs: local-btrfs:152/vm-152-disk-0.raw,size=50G
swap: 0
unprivileged: 1
 
dein rootfs liegt auf einem storage namens "local-btrfs", aber es gibt keinen storage.cfg eintrag dafuer?
 
Sorry habe die Storage.cfg vom falschen Proxmox Server kopiert

Das ist hier ist nun die richtige:
Code:
dir: local
        disable
        path /var/lib/vz
        content iso,backup,vztmpl

btrfs: local-btrfs
        path /var/lib/pve/local-btrfs
        content vztmpl,iso,images,rootdir,backup

zfspool: NAS
        pool NAS
        content rootdir,images
        mountpoint /NAS
        nodes proxmox
        sparse 0

dir: BACKUP-HDD
        path /mnt/BACKUP-HDD
        content images,rootdir
        nodes proxmox
        prune-backups keep-all=1
        shared 0

pbs: BACKUPS-HOME
        datastore BACKUPS-HOME
        server 192.168.1.204
        content backup
        fingerprint 31:b3:15:54:35:b5:e9:a4:4d:31:b3:94:b3:84:86:d8:a1:e3:06:7b:31:cd:65:e3:c5:1b:0f:e1:f0:fe:6d:a8
        prune-backups keep-all=1
        username root@pam

pbs: BACKUPS-HETZNER
        datastore BACKUPS-HETZNER
        server 192.168.1.204
        content backup
        fingerprint 31:b3:15:54:35:b5:e9:a4:4d:31:b3:94:b3:84:86:d8:a1:e3:06:7b:31:cd:65:e3:c5:1b:0f:e1:f0:fe:6d:a8
        prune-backups keep-all=1
        username root@pam

pbs: BACKUPS-NAS
        datastore BACKUPS-NAS
        server 192.168.1.204
        content backup
        fingerprint 31:b3:15:54:35:b5:e9:a4:4d:31:b3:94:b3:84:86:d8:a1:e3:06:7b:31:cd:65:e3:c5:1b:0f:e1:f0:fe:6d:a8
        prune-backups keep-all=1
        username root@pam
 
okay, dann mal:

"pvesm list local-btrfs"
"btrfs subvolume list /var/lib/pve/local-btrfs/images/152"
 
Code:
root@proxmox:~# pvesm list local-btrfs
Volid                                                      Format  Type             Size VMID
local-btrfs:100/vm-100-disk-0.raw                          raw     rootdir   53687091200 100
local-btrfs:110/vm-110-disk-0.raw                          raw     images    34359738368 110
local-btrfs:110/vm-110-disk-1.raw                          raw     images    53687091200 110
local-btrfs:110/vm-110-disk-2.raw                          raw     images    53687091200 110
local-btrfs:151/vm-151-disk-0.raw                          raw     images    34359738368 151
local-btrfs:152/vm-152-disk-0.raw                          raw     rootdir   53687091200 152
local-btrfs:154/vm-154-disk-0.raw                          raw     rootdir    2147483648 154
local-btrfs:vztmpl/debian-12-standard_12.2-1_amd64.tar.zst tzst    vztmpl      126129049

und einmal
Code:
root@proxmox:~# btrfs subvolume list /var/lib/pve/local-btrfs/images/152
ID 256 gen 10680 top level 5 path var/lib/pve/local-btrfs
ID 257 gen 10680 top level 256 path images/154/vm-154-disk-0
ID 258 gen 10679 top level 256 path images/110/vm-110-disk-1
ID 259 gen 10679 top level 256 path images/110/vm-110-disk-2
 
Sieht aus als wäre images/152/vm-152-disk-0 keine subvolume, sondern ein normales directory.
Auf btrfs sollten raw files innerhalb von subvolumes angelegt werden.
Hast du die files mal manuell verschoben mit cp/rsync/mv/... oder irgendein anderes tooling, das btrfs subvolumes nicht mitnimmt...?
Sollte aber behebbar sein (ordner umbenennen, subvolume erzeugen, disk.raw hineinschieben, alten umbenannten ordner löschen)
Code:
# cd /var/lib/pve/local-btrfs/images/152
# mv vm-152-disk-0 vm-152-disk-0.old
# btrfs subvolume create vm-152-disk-0
# mv vm-152-disk-0.old/disk.raw vm-152-disk-0/
# rmdir vm-152-disk-0.old