jxnxsdengyu
作者jxnxsdengyu课题专家组·2020-04-07 17:19
系统工程师·江西农信

故障处理---NFSV4无法读写中文名文件

字数 1277阅读 2221评论 0赞 2

问题描述

在NFS方式挂载的文件系统,创建非UTF-8编码文件名文件时,系统报输入输出错误(UTF-8编码文件名文件无报错),报错如下所示:

[root@zxpt-app3 zxptfile]# touch 啊啊啊
touch: cannot touch `\\260\\241\\260\\241\\260\\241': Input/output error

问题产生环境

NFS Clinet端:RHEL6.6版本操作系统作为client端,采用NFSV4挂载

NFS Server端:AIX7.1版本操作系统作为Server端,通过NFSV4方式挂载至Client端。

问题分析

AIX5.3及以后的版本支持NFSV4。默认情况下,NFS Server会对NFS Client输入的字符串数据进行UTF-8校验,当输入的字符串非UTF-8编码时,校验失败将报错。这种校验特性由utf8_validation参数控制,如下所示:

nfso -a

client_delegation = 1

nfs_max_read_size = 65536

nfs_max_write_size = 65536

nfs_rfc1323 = 1

nfs_securenfs_authtimeout = 0

nfs_server_base_priority = 0

nfs_server_clread = 1

nfs_use_reserved_ports = 0

nfs_v3_server_readdirplus = 1

nfs_v4_fail_over_timeout = 0

portcheck = 0

server_delegation = 1

utf8_validation = 1

nfs_server_close_delay = 0

nfs_hang_log = 6

经测试,NFS Client端采用NFSV4方式挂载RHEL6.6版本的NFS Server端本地文件系统无此问题。通过NFS Client端采用NFSV3方式挂载AIX7.1版本的NFS Server端GPFS文件系统无此问题。通过NFS Client端采用NFSV4方式挂载AIX7.1版本的NFS Server本地文件系统有此问题。

问题解决

“utf8_validation”参数可以在NFS Server端通过nfso进行修改,以取消NFS Server对NFS Client输入字符的UTF-8编码校验,如下所示:

nfso -p -o utf8_validation=0

参考

1)NFS version 4 support https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/com.ibm.aix.networkcomm/nfs_v4.htm

2)nfso 命令 https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_71/com.ibm.aix.cmds4/nfso.htm

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广