关于 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。然后再启动,就没有问题了。