最近有个东西比较折腾,需要将synology的nfs共享存储添加为存储域,原本以为只是很简单的问题,但是发现添加后总是提示报错。查看synology下的日志提示下述报错( kernel: NFSD: client X.X.X.X testing state ID with incorrect client ID)
查询该问题指出该问题有可能是安全软件或者是缺少对应的用户和用户组,恰好ovirt似乎有对应的解决方法。
参考上述链接,我们使用ssh登录到synology终端下。
- 创建kvm group(id 36)
echo "kvm:x:36" >> /etc/group
- 创建vdsm用户(uid 36)
echo "vdsm:x:36:36::/dev/null:/bin/false" >> /etc/passwd
- 更新synology ACLs以允许kvm:vsdm访问
EXPORT_DIR=/volume1/...
ALLOW_USER='user:vdsm:allow:rwxpdDaARWcCo:fd--'
ALLOW_GROUP='group:kvm:allow:rwxpdDaARWcCo:fd--'
synoacltool -get "$EXPORT_DIR" | grep -q "$ALLOW_USER" || synoacltool -add "$EXPORT_DIR" $ALLOW_USER > /dev/null
synoacltool -get "$EXPORT_DIR" | grep -q "$ALLOW_GROUP" || synoacltool -add "$EXPORT_DIR" $ALLOW_GROUP > /dev/null
synoacltool -get "$EXPORT_DIR"
- 编辑/etc/exports,将需要共享的目录的anonuid和anongid替换为36
/volume1/ovirt 1.1.1.1(<Synology defined options>,anonuid=1025,anongid=100) 1.1.1.2(<Synology defined options>anonuid=1025,anongid=100)
结束这一个步骤后,重新nfs-server服务,然后重新添加还是有问题。
最后发现,在添加域时,需要将nfs的"自动协商"修改成"nfsv3"