关于 PVE 中 lxc 容器往 NFS 存储备份的问题解决
在 PVE 中 CT 的应用非常常见,部署方便快捷,而且非常轻便。所以在日常工作中使用得比较多,为了数据和应用环境的安全,计划用 PVE 内置的备份功能进行备份。
在 PVE 上加载了一个 NFS 的 nas,容量比较大,所以把备份目的设备在 nas 上。但在启动的时候总是报错:
ERROR: Backup of VM 100 failed - command '...' failed: exit code 2 #或 ERROR: Backup of VM 100 failed - command '...' failed: exit code 23
按在网上查到的信息,大致原因是 vzdump 进行备份的时候会把 /tmp 当临时中转的目录,不过这个目录的权限有些问题,无法让 10000 以上的用户写入,所以会导致失败。
知道原因后,解决问题就比较简单了,直接改 vzdump 的配置文件,重新指定一个用于备份中转的 tmp 目录:
cat /etc/vzdump.conf
# vzdump default settings
#tmpdir: DIR
tmpdir: /usr/local/vzdump/tmp
#dumpdir: DIR
#storage: STORAGE_ID
#mode: snapshot|suspend|stop
#bwlimit: KBPS
#performance: [max-workers=N][,pbs-entries-max=N]
#ionice: PRI
#lockwait: MINUTES
#stopwait: MINUTES
#stdexcludes: BOOLEAN
#mailto: ADDRESSLIST
#prune-backups: keep-INTERVAL=N[,...]
#script: FILENAME
#exclude-path: PATHLIST
#pigz: N
#notes-template: {{guestname}}
然后再新建一个备份任务,由于是 CT,所以 Mode 用不了 Snapshot,选 Suspend。然后再启动,就没有问题了。