ECS:NFS 写入在一定数量的数据后引发 I/O 错误
摘要: 由于同步不匹配,NFS 写入失败并显示 I/O 错误。
本文适用于
本文不适用于
本文并非针对某种特定的产品。
本文并非包含所有产品版本。
症状
有一个新的启用文件系统的存储区。
由于同步不匹配,NFS 写入失败并显示 I/O 错误。
此问题的 NFS 客户端示例:
由于同步不匹配,NFS 写入失败并显示 I/O 错误。
此问题的 NFS 客户端示例:
root@client~:/mnt_ecs# dd if=/dev/zero of=/mnt_ecs/test bs=1024 count=80000 dd: write error: I/O error dd: write error: I/O error root@client:/mnt_ecs# ll total 8222 drwx---rwx- 3 2147483647 2147483647 96 Aug 13 10:51 . drwxr-xr-x- 30 root system 4096 Aug 07 10:46 .. -rw-r--r--- 1 root system 2102272 Aug 13 10:51 test根据下面的日志位置:(在
dataheadsvc 服务)
命令:
# cat /opt/emc/caspian/fabric/agent/services/object/main/log/dataheadsvc.log
示例:
admin@node1~>cat /opt/emc/caspian/fabric/agent/services/object/main/log/dataheadsvc.log 2018-08-17T06:09:02,499 [RpcDispatcherWriteIO-5411370] INFO RpcProgramNfs3.java (line 241) No sync response, expect an async response for request WriteRequest : FileHandle:[objectId = e7e6d9327488f5a316420e1f8805fac18d8a4f0773173ff12de2512a384d25de, ownerZoneUUID = 4f7a7b18-4e08-4e25-9bbb-ebeb02b085c3]Export:2 offset:0 count:524288 stablehowUNSTABLE 2018-08-17T06:09:03,261 [RpcDispatcherMD-5323256] ERROR RpcProgramNfs3.java (line 277) Error processing NfsRequest: xid:1229074411 ip:/<Client IP> SysSecurity: AuthStatus:AUTH_OK Uid:0 Gid:0 Proc:SETATTR SetAttrRequest : FileHandle:[objectId = e7e6d9327488f5a316420e1f8805fac18d8a4f0773173ff12de2512a384d25de, ownerZoneUUID = 4f7a7b18-4e08-4e25-9bbb-ebeb02b085c3]Export:2 SetAttr3Object : uid:0 gid:0 mode:0 atime:null mtime:null verf:10487808 updateFields:[SIZE] check:true ctime(NfsTime-1534486142s, 467000000ns) NfsResponse: SetAttr3Response : status:NFS3ERR_NOT_SYNC wccData: WccData: WccAttr: size:10485760 mtime:(NfsTime-1534486142s, 600000000ns) ctime:(NfsTime-1534486143s, 243000000ns) postOpAttr type:NFSREG mode:rw-r--r-- nlink:1 uid:0 gid:0 size:10485760 used:10485760 rdev:(Specdata3: specdata10, specdata2:0) fileid:1019241384186633961 atime:(NfsTime-1534486143s, 243000000ns) mtime:(NfsTime-1534486142s, 600000000ns) ctime:(NfsTime-1534486143s, 243000000ns) RpcError: null
原因
客户端和服务器之间存在同步不匹配。
- 客户端是否使用同步选项装载了启用文件系统的存储区。
命令:(无输出)
# mount -V nfs -o vers=3,proto=tcp,port=2049,sync <ECS IP> :/ns_nfs/nfs /mnt_ecs
- ECS UI 文件菜单中的导出主机选项已更改为同步(默认值为 Async)
解决方案
运行以下检查:
- 检查客户端是否指定 了同步装载 选项,如果是,请将其删除。
- 检查“导出主机”选项(文件 >导出)中的“写入传输策略”,并将其更改为“异步”。
NFS v3 允许安全的异步写入,这比在早期 NFS 实施中经常出现问题的同步写入提高了性能。
从 RFC 1813 NFS 版本 3 协议
:
提醒:增加
wsize 在装载选项中允许在显示 I/O 错误之前传输更多数据。
从 RFC 1813 NFS 版本 3 协议
NFS3ERR_NOT_SYNC: Update synchronization mismatch was detected during a SETATTR operation.
其他信息
相关 NFS 知识库文章:
- ECS:如何创建基本 NFS 导出并在客户端上装载它
- ECS:NFS 无法写入或删除对象
- ECS:在 3.2 升级后,来自 ESX 的大量 NFS 写入可能会失败
- ECS:在多 VDC 环境中添加新导出后,NFS 导出配置重置
- ECS:dataheadsvc 日志流式传输错误:请求 ReadLinkRequest 中不支持 NFSv3 过程 LINK
- ECS:列出 NFS 时出现重复 cookie 错误
- ECS:NFS 装载失败,并出现“No such file or directory”(没有此类文件或目录)或“ERROR_OBJECT_NOT_FOUND”(错误:未找到对象)
- ECS:NFS 客户端/Linux 计算机未列出使用 S3 浏览器创建的子文件夹或目录,但子文件夹内容显示在主目录或根目录中
- ECS:NFS 远程 I/O 错误;更改已启用 FS 的存储桶的存储桶所有者可能会导致应用程序/用户无法访问 NFS 文件
- ECS:NFS 写入会在一定数量的数据后引发 I/O 错误。
- ECS:将来自 ECS 的 NFS 文件共享与 VMware NFS 数据存储区配合使用
- ECS:装载 ECS NFS 导出的最佳实践
- ECS:如何在 Windows 客户端上装载 NFS 共享
- ECS:在 UI 中更改文件导出设置后,NFS 无法装载
- ECS:Oracle WebCenter Content (WCC) 是否与 ECS 兼容?
受影响的产品
Elastic Cloud Storage产品
ECS Appliance, ECS Appliance Hardware Gen1 U-Series, ECS Appliance Software with Encryption, ECS Appliance Software without Encryption, Elastic Cloud Storage文章属性
文章编号: 000042461
文章类型: Solution
上次修改时间: 03 9月 2025
版本: 5
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。