Proxmox虚拟机备份失败,报错backup connect failed: command error: Invalid argument (os error 22)
我之前也碰到过这个一模一样的报错,折腾了好一会儿才捋清楚几个有效的排查方向,你可以挨个试试:
检查PBS存储的权限与连通性
先确认Proxmox Backup Server(PBS)上的存储池(datastore)配置没问题:登录PBS后台,查看对应datastore的存储目录,确保目录所有者是backup:backup,权限设置为750。另外在PVE节点上用命令测试和PBS的连通性,比如执行proxmox-backup-client ping --repository pbsexternal(把pbsexternal换成你的存储名),如果连不通先解决网络问题,比如防火墙规则、IP是否可达这些。排查虚拟机磁盘与Guest Agent状态
日志里能看到Guest Agent的冻结/解冻命令执行成功,但不代表磁盘本身没问题。先在虚拟机内部检查磁盘健康:Linux机器可以用fsck扫描文件系统,Windows机器用chkdsk检查。另外可以临时把备份模式从snapshot改成stop或者suspend试试,如果能成功备份,基本可以确定是快照模式下的磁盘交互出了问题,可能需要重新初始化虚拟机的磁盘控制器(比如把scsi控制器换成virtio-scsi单控制器)。确认PVE与PBS的版本兼容性
版本不兼容是很容易被忽略的点,比如PVE已经升级到8.x,但PBS还停留在2.x,这种跨大版本的组合很容易出现各种奇怪的命令错误。建议把两者升级到匹配的大版本:PVE 8.x对应PBS 3.x,PVE 7.x对应PBS 2.x。升级时先更新系统源,再执行apt update && apt full-upgrade,PBS端同样操作。检查网络MTU配置
如果PVE和PBS两端的MTU值不匹配(比如一端用1500,另一端用9000的巨帧),传输备份数据时就会触发参数错误。可以把两边的MTU统一改成1500(默认值),再尝试备份。重启相关服务试手气
有时候服务进程卡死也会导致这种无厘头的错误,你可以在PVE节点上重启pvedaemon服务:systemctl restart pvedaemon;在PBS上重启proxmox-backup-proxy服务:systemctl restart proxmox-backup-proxy,之后再发起备份试试。
备注:内容来源于stack exchange,提问作者mapr

