12.4.3.7. 从启用了 root_squash 的 NFS 存储中迁移时的 Restic 权限错误

如果您要从 NFS 存储中迁移数据,并且启用了 root_squashRestic 会映射到 nfsnobody,且没有执行迁移的权限。Restic pod 日志显示以下错误:

Restic 权限错误

backup=openshift-migration/<backup_id> controller=pod-volume-backup error="fork/exec
/usr/bin/restic: permission denied" error.file="/go/src/github.com/vmware-tanzu/
velero/pkg/controller/pod_volume_backup_controller.go:280" error.function=
"github.com/vmware-tanzu/velero/pkg/controller.(*podVolumeBackupController).processBackup"
logSource="pkg/controller/pod_volume_backup_controller.go:280" name=<backup_id>
namespace=openshift-migration

您可以通过为 Restic 创建补充组并将组 ID 添加到 MigrationController CR 清单来解决这个问题。

流程

  1. 在 NFS 存储上为 Restic 创建补充组。
  2. 在 NFS 目录上设置 setgid 位,以便继承组所有权。
  3. restic_supplemental_groups 参数添加到源和目标集群上的 MigrationController CR 清单:

    spec:
      restic_supplemental_groups: <group_id> 1
    1
    指定补充组 ID。
  4. 等待 Restic pod 重启,以便应用更改。