常见问题

JuiceFS 可以用于生产环境吗?

当然!JuiceFS 自 2017年发布正式商用版,已经运行在多家互联网和高科技企业的生产环境中,承载他们不同的工作负载 700 多天,数据接近 2PB。同时,JuiceFS 的每个版本在发布前都需要经过大量测试。

JuiceFS 是按照高可用的服务设计的,会自动在多个机器甚至可用区间复制,标准版承诺每月 99.95% 的可使用时间。JuiceFS 的可用性同时依赖于所使用的对象存储的可用性,具体的服务 SLA 请参考各个公有云的文档。

此外,JuiceFS 还支持自动复制数据到另外一个不同云或者区的对象存储,以达到更高的可用性和可靠性。

JuiceFS 支持哪些公有云和服务区?

已经支持 Amazon AWS、谷歌云、微软 Azure、阿里云、腾讯云、UCloud、青云、七牛云、百度云、金山云、网易云、京东云、Digital Ocean 的所有服务区(部分区还未开放)。

JuiceFS 可以支持任何有 Linux 虚拟机和对象存储的云,如果您要使用公有云或服务区还没支持,请联系我们开通。

JuiceFS 也支持在企业自己公有云 VPC 和机房中独立部署,请与我们联系。

JuiceFS 可以在哪些操作系统中使用?

JuiceFS 是通过 FUSE 实现的,可以在支持 FUSE 的 Linux, *BSD 和 macOS 上使用,Windows 客户端正在开发中。大多数 Linux 和 BSD 发行版以及内置了 FUSE 模块,没有的话你需要安装或者编译 FUSE 模块。 macOS 上需要安装 FUSE for macOS

JuiceFS 的性能如何?

JuiceFS 是一个分布式文件系统,元数据访问的延时取决于挂载点到服务端之间 1 到 2 个网络来回(通常 1-3ms),数据访问的延时取决于对象存储的延时 (通常 20-100ms)。顺序读写的吞吐量可以到 50MB/s 到 400MB/s, 取决于网络带宽以及数据是否容易被压缩。

JuiceFS 内置多级缓存(主动失效),一旦缓存预热好,访问的延时和吞吐量非常接近单机文件系统的性能(FUSE 会带来少量的开销)。

JuiceFS 支持随机读写吗?

支持,包括通过 mmap 等进行的随机读写。目前 JuiceFS 主要是对顺序读写进行了大量优化,对随机读写的优化也在进行中。

数据更新什么时候会对其他客户端可见?

所有的元数据更新都是立即对其他客户端可见。通过 write() 新写入的数据会缓存在内核和客户端中,可以被当前机器的其他进程看到,其他机器暂时看不到。 而一定时间之后,调用 fdatasync() 或者 close() 来强制将数据上传到对象存储并更新元数据,其他客户端才能看到更新,这也是绝大多数分布式文件系统采取的策略。

怎么快速地拷贝大量小文件到 JuiceFS?

请在挂载时加上 --writeback 选项,它会先把数据写入本机的缓存,然后再异步上传到对象存储,会比直接上传到对象存储快很多倍。

对象存储中已有的文件在哪里?

如果使用已有的对象存储来创建 JuiceFS,它里面已有的文件不会自动出现在 JuiceFS 里,需要使用 juicefs import 来快速导入,请查看使用指南获得详细信息。

可以用 root 以外的用户挂载吗?

可以, JuiceFS 可以由任何用户挂载。默认的缓存目录是 /var/jfsCache/JFS_NAME ,请确保该用户对这个目录有写权限,或者切换到其他有权限的目录。

存储容量是怎么计算的?

JuiceFS 使用量是文件系统中所有对象的大小之和,每个文件和目录有一个 4KB 最小计费单位 (参考自微软的 Azure Data Lake Store 的计费方法),推荐尽量使用大文件来存储数据以节省成本,同时也能提高访问性能。

JuiceFS 会实时更新文件系统和目录的大小,可以在我们的 Web 控制台或者命令行中查看。

怎么升级客户端?

请使用 juicefs version --upgrade 进行客户端升级,详细文档说明在 命令指南 中。

怎么卸载?

请查看 上手指南 中的说明。

怎么联系你们?

您可以用网站页面右下角的聊天框联系我们,也欢迎给我们发邮件 hello AT juicedata.io