ECS: NFS Write Throws an I/O Error after a Certain Amount of Data

摘要: NFS writes fail with an I/O error due to a synchronization mismatch.

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

There is a new file system-enabled bucket.

NFS writes fail with an I/O error due to a synchronization mismatch.

NFS client example of the issue:
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
Per the logs location below: (An expected request was not seen on the dataheadsvc service)
Command:
# cat /opt/emc/caspian/fabric/agent/services/object/main/log/dataheadsvc.log
Example:
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

原因

There is a synchronization mismatch between client and server.
  1. Either the client mounted the file system-enabled bucket with the sync option.
 Command: (No output expected)
# mount -V nfs -o vers=3,proto=tcp,port=2049,sync <ECS IP> :/ns_nfs/nfs /mnt_ecs
  1. The Export Host Option in the ECS UI File Menu has been changed to Sync (default is Async)
The Export Host Option in the ECS UI File Menu has been changed to Sync (default is Async)

解决方案

Run the following checks:

  • Check if the client specifies the Sync Mount option, and if so, remove it.
  • Check the Write Transfer Policy in the Export Host options (File > Exports), and change it to Async.
NFS v3 allows for safe asynchronous writes which increases performance over synchronous writes that were often a problem in earlier NFS implementations.
 
Note: Increasing the wsize in the mount option allows for more data to be transferred before the I/O error shows up.

From the RFC 1813 NFS Version 3 Protocol This hyperlink is taking you to a website outside of Dell Technologies.:
NFS3ERR_NOT_SYNC:
Update synchronization mismatch was detected during a SETATTR operation.

受影响的产品

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
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。