NAS 通过提供多用户网络数据存取服务,极大地简化了数据共享和管理。而 NFS 作为实现这种共享的一种主流协议,尽管广泛应用,但在处理复杂的 AI 训练场景时常常受限于其性能和一致性问题。
JuiceFS 在最新的1.2版本中增加了直连 NFS 功能,这一创新允许 JuiceFS 直接利用 NAS 上的 NFS 服务,而无需预挂载。 通过 JuiceFS 的直连 NFS 功能,用户可以直接使用现有的 NAS 的存储空间创建 JuiceFS 文件系统,无需额外准备其他的对象存储。
1. 直连 NFS 存储的优势
- 免预先挂载:直接使用 NFS 作为 JuiceFS 的底层存储,无需预先挂载,简化了配置和管理。
- 高性能:JuiceFS 通过缓存和预读等技术,提升了 NFS 存储的性能,支持高并发读写。
- 跨平台共享:JuiceFS 能够将 NFS 存储转换为分布式文件系统,实现了跨平台共享,不仅可以在 Linux、macOS、Windows 等操作系统上使用,还可以在 Hadoop、Kubernetes、Docker 等容器环境中使用。
2. JuiceFS 助力本地 AI 模型训练
借助 JuiceFS,用户可以将训练数据、模型文件等存储在现有的 NAS 上。借助 JuiceFS 的分布式、高性能、高可用的特性,用户可以在多个计算节点上同时访问这些数据,提升 AI 模型训练的效率。
在训练机上,用可以户通过 JuiceFS 挂载点、S3 Gateway、WebDAV、CSI Driver、Hadoop API 等多种方式访问 NAS 上的数据,JuiceFS 会自动缓存数据,提升训练的性能。
JuiceFS 支持多种缓存策略,可以根据不同的场景选择合适的缓存策略,提升训练的性能。例如,可以使用 --cache-size
参数设置缓存大小,使用 --cache-dir
参数指定缓存目录,使用 warmup 策略预读数据等。
更多关于 JuiceFS 的缓存策略,请参考官方文档。
3. 直连 NFS 创建 JuiceFS 文件系统
使用直连 NFS 存储创建 JuiceFS 文件系统的过程十分简单,只需在 NAS 或文件服务器上配置好 NFS 服务,然后在 JuiceFS 创建文件系统时指定 NFS 存储的地址即可。
例如,使用 NFSv3 协议的 NFS 存储,在相同网络内任何安装了 JuiceFS 客户端的计算机上,通过以下命令创建 JuiceFS 文件系统:
bash
sudo juicefs format --storage nfs \
--bucket 192.168.1.88:/data/nfs \
redis://192.168.1.88/0 \
myjfs
其中,--storage nfs
指定了使用 NFS 存储,--bucket
指定了 NFS 存储的地址,redis://192.168.1.88/0 指定了 Redis 作为元数据存储,myjfs 是文件系统的名称。
更多关于直连 NFS 存储的内容,请参考官方文档。
4. 注意事项
在使用 NFS 作为存储层创建 JuiceFS 文件系统时,需要注意以下几点:
- JuiceFS 暂不不支持 NFSv4 的身份认证机制,因此需要遵循 NFSv3 协议配置 NFS 存储,在创建文件系统时也无需指定
--access-key
和--secret-key
。 - 为了充分发挥 JuiceFS 的缓存能力,建议在 JuiceFS 客户端所在机器上准备充足的高速 SSD 空间作为缓存设备,以提升性能。
- NFS 默认采用 root_squash 机制,它会将 root 身份执行的操作映射为
nobody:nogroup
,因此在 NFS 服务器上需要配置好权限,确保 JuiceFS 客户端有权限访问 NFS 存储。
5. 总结
JuiceFS v1.2.0 版本新增的直连 NFS 存储功能,让 JuiceFS 可以更好的与 NAS 配合使用,提升了 JuiceFS 对 NFS 的兼容性,同时也为企业提供了更简易的存储解决方案。用户可以利用现有的存储资源在本地构建高性能、高可用的分布式文件系统,为 AI 模型训练、数据分析等场景提供更好的支持。
欢迎大家下载试用 JuiceFS v1.2.0 版本,体验直连 NFS 创建文件系统,为本地 AI 模型训练提供强大动力!