FSX 是用于挂载存储桶的客户端,通过该客户端,您可以把 TOS 存储桶挂载到 Linux 系统,使得存储桶可以作为 Linux 系统的本地文件系统,实现数据的存储和管理。
使用场景
FSX 支持将存储桶挂载到 Linux 系统作为本地文件系统使用,适用于需要按照文件系统语义使用存储桶中数据的场景,例如 AI 机器学习场景下需要按照文件系统语义训练模型数据。
FSX 支持在挂载存储桶时配置预读、数据缓存,用于提升文件读取性能,使用场景及性能优化详情请参见FSX 性能调优。
功能特性
- 支持挂载桶或桶下的目录到 Linux 系统。
- 挂载存储桶到 Linux 后,在本地新增或覆盖等操作会自动同步到 TOS 存储桶,在 TOS 存储桶的新增、覆盖等操作也会自动同步到本地。
- 支持数据缓存,具体包括读缓存和写缓存功能,可以减少数据访问的延迟,提升系统性能。
- 支持元数据缓存,提升文件操作效率。
运行环境
FSX 客户端当前仅支持 x86_64 的体系结构,暂不支持在 Windows 和 macOS 环境使用,支持的环境请参考下表。
说明
如果您的环境不在以下列表中,您可以提交工单联系我们。
操作系统 | 发行版 | 内核版本 |
---|
Debian | 11 | 5.10.0 |
CentOS | 8 | 4.18.0 |
CentOS Stream | 8 | 4.18.0 |
Ubuntu | 18.04 | 4.15.0 |
20.04 | 5.4.0 |
22.04 | 5.15.0 |
veLinux | 1.0 | 5.4.0 |
5.4.0 CentOS 兼容版 |
5.10.0 |
5.10.0 CentOS 兼容版 |
veLinux | 2.0 | 5.15.0 |
5.15.0 CentOS 兼容版 |
使用限制
限制 | 说明 |
---|
读取限制 | 归档存储、冷归档或深度冷归档的数据需要取回后才能访问,不支持直接读取。 |
写入限制 | - 关闭文件或将修改操作写入到磁盘后,才能对其他客户端可见,且不支持在该文件继续写入。
- 对已存在的文件覆盖写时,打开该文件需要设置 O_TRUNC 标志位。
- 挂载扁平桶时,重命名文件可能为非原子操作:
- FSX 会优先使用 RenameObject API,如果执行成功,则为原子操作;
- 如果该 Object 不支持使用 RenameObject,FSX 会使用 CopyObject + DeleteObject 实现重命名行为,如果 DeleteObject 失败,那么重命名的源对象会被保留。
|
挂载限制 | 仅支持挂载 TOS 扁平桶,暂不支持挂载 TOS 分层桶。 |
POSIX 语义兼容 | 挂载存储桶到 Linux 系统后,Linux 系统可以通过兼容的 POSIX 文件接口管理桶内对象。由于 FSX 客户端只兼容部分 POSIX 语义,因此在 Linux 系统对存储桶执行的操作受限。具体说明如下: - 兼容的操作:
- 文件属性:支持 statfs、getattr 操作。
- 文件写入:支持 flush 操作。
- 目录操作:支持 opendir、readdirplus、releasedir、mkdir、rmdir 操作。
- 文件基本操作:支持 create、open、read、write、release、forget、rename、lookup、unlink 操作。
- 不兼容的操作:
- 文件操作:不支持文件锁、随机写、追加写、truncate、fsync、修改文件或者目录的元数据。
- 链接:不支持硬链接、软链接。
- 扩展属性:不支持 setxattr、getxattr 操作。
- 其他:不支持 mknod、chmod、chown、fallocate、copy_file_range、setlk、getlk、flock、poll、bmap、ioctl 操作。
|
更新日志
版本号 | 版本类型 | 发布日期 | 更新说明 |
---|
1.1.0.400 | 最新版本 | 2024-12-30 | 首次发布。 |
使用流程
- 安装 FSX
- FSX 配置与挂载