限制说明
以下为您提供zosfs的使用限制,请您仔细阅读下述多项限制条件。
注意
建议您在使用前,提前对您的配置等参数进行测试,避免对您的业务造成影响。
对POSIX语义的支持情况
zosfs仅能提供基础的POSIX语义兼容,兼容情况如下表:
| 功能分类 | 操作/功能 | zosfs支持情况 |
|---|---|---|
| 基础操作 | open | 支持 |
| flush | 支持 | |
| close | 支持 | |
| 文件读写操作 | read | 支持 |
| write | 支持 | |
| truncate | 支持 | |
| 文件操作 | create | 支持 |
| unlink | 支持 | |
| rename | 支持(rename操作并发数限制为100) | |
| 目录操作 | mkdir | 支持 |
| readdir | 支持 | |
| rmdir | 支持 | |
| 权限/属性 | getattr | 支持 |
| chmod | 不支持(操作不报错,但设置不生效) | |
| chown | 不支持(操作不报错,但设置不生效) | |
| utimes | 不支持 | |
| 扩展功能 | setxattr | 不支持 |
| symlink | 不支持 | |
| link | 不支持 | |
| lock | 不支持 |
注意
zosfs将对象存储语义转换为POSIX语义时,由于对象存储的特性,还存在如下限制:
- 不支持操作特殊文件,如:socket、device,以及pipe。
- 不支持对文件手动设置ctime、atime和mtime。
- 不支持打开的文件延迟删除,即:删除打开的文件,对该文件的读写会返错。
- 多个zosfs挂载同一个目录后,不支持多个zosfs同时写入同一个文件,同时写入可能导致数据损坏,需要自行控制文件的并发操作。
- zosfs感知对象存储侧的操作存在延迟,为了避免出现数据不一致导致的问题,建议不要从对象存储侧操作已挂载目录内的文件。
文件规格情况
part-sizes参数在默认配置下,支持的最大文件大小为 :
5M*1000+25M*1000+125M*8000=103000MB
内存限制情况
zosfs的内存使用情况如下:
上传数据需要的额外空间为 max-flushers(默认16) * max-partSize(默认125MB)
本地读写数据所占用的空间为 memory-limit(默认1000MB)
本地保存的文件元数据为 entry-limit(默认100000) * 1KB
说明
- 上述默认配置下zosfs的读写操作最大会分配约 3GB 内存,建议默认配置内存4GB以上。请确保您的设备有足够的内存资源,以避免潜在的OOM(内存不足)问题。
- 并发顺序读取需要保证内存限制(memory-limit)满足要求,并发顺序读所需最大内存的计算方法:4 × 当前文件的最大预读大小(对应参数为read-ahead-large,默认100MB)× 并发读数量
注意事项
挂载目录的存储空间使用情况: 当您挂载完成后,实际使用空间与可用空间仅以对象存储侧的使用情况为准,文件系统磁盘空间的使用情况不作参考。
挂载目录下写入的对象在对象存储侧的存储类型: 仅与本次挂载时storage-class参数的配置有关(默认配置为STANDARD,即标准存储),与对象写入桶的存储方式配置无关。例如:对象写入桶的存储类型为低频存储类型,但挂载时storage-class参数为标准存储,则实际写入的对象在对象存储侧的存储类型为标准存储,与storage-class参数一致。
挂载目录下写入的文件对象和目录对象的权限: 仅与本次挂载时file-mode和dir-mode参数的配置有关,mode为8进制格式。例如:将file-mode设置为0777,则文件权限为-rwxrwxrwx。
挂载目录下对象重命名操作并发限制:对象的重命名操作限制为并发数不超过100,超过则会报错。