JuiceFS 如何设置对象存储

通过阅读 JuiceFS 的技术架构JuiceFS 如何存储文件,你会了解到 JuiceFS 被设计成了一种将数据和元数据独立存储的架构,通常来说,数据被存储在以对象存储为主的云存储中,而数据所对应的元数据则被存储在独立的数据库中。

存储参数

在创建 JuiceFS 文件系统时,设置数据存储一般涉及以下几个选项:

  • --storage 指定文件系统要使用的存储服务,例如:--storage s3
  • --bucket 按特定格式指定对象存储的 bucket 地址,例如:--bucket https://myjuicefs.s3.us-east-2.amazonaws.com,具体每个对象存储的 --bucket 选项格式请参考下面的文档。部分对象存储(如 S3、OSS 等)也支持省略 endpoint,如 --bucket myjuicefs。当对象存储在不同的网络环境需要使用不同的地址时,可以在挂载时通过 --bucket 选项为当前挂载点指定跟格式化时不一样的地址。
  • --access-key--secret-key 用来指定访问对象存储的身份认证密钥,需要在相应云平台上创建。如果使用的机器上已经通过环境变量或者其它方式获得了访问对象存储的权限,它们可以不提供。

例如,以下命令使用 Amazon S3 对象存储创建文件系统:

  1. $ juicefs format --storage s3 \
  2. --bucket https://myjuicefs.s3.us-east-2.amazonaws.com \
  3. --access-key abcdefghijklmn \
  4. --secret-key nmlkjihgfedAcBdEfg \
  5. redis://192.168.1.6/1 \
  6. my-juice

类似的,你可以调整参数,使用几乎所有的公有云/私有云对象存储服务来创建文件系统。

Access Key 和 Secret Key

一般而言,对象存储服务通过 access keysecret key 验证用户身份,创建文件系统时,除了使用 --access-key--secret-key 两个选项显式设置以外,还可以通过 ACCESS_KEYSECRET_KEY 这两个环境变量进行设置。

公有云通常允许用户创建 IAM (Identity and Access Management) 角色,例如:AWS IAM 角色阿里云 RAM 角色,可将角色分配给 VM 实例。如果云服务器实例已经拥有访问对象存储的权限,则无需设置 --access-key--secret-key 这两个选项。

支持的存储服务

下表列出了 JuiceFS 支持的对象存储服务,点击名称查看设置方法:

如果你想要的对象存储不在列表中,欢迎提交需求 issue

NameValue
Amazon S3s3
Google 云存储gs
Azure Blob 存储wasb
Backblaze B2b2
IBM 云对象存储ibmcos
Scalewayscw
DigitalOcean Spacesspace
Wasabiwasabi
Storj DCSs3
Vultr 对象存储s3
阿里云 OSSoss
腾讯云 COScos
华为云 OBSobs
百度云 BOSbos
金山云 KS3ks3
美团云 MMSmss
网易云 NOSnos
青云 QingStorqingstor
七牛云 Kodoqiniu
新浪云 SCSscs
天翼云 OOSoos
移动云 EOSeos
优刻得 US3ufile
Ceph RADOSceph
Ceph RGWs3
Swiftswift
MinIOminio
WebDAVwebdav
HDFShdfs
Redisredis
TiKVtikv
本地磁盘file

Amazon S3

S3 支持 两种风格的 endpoint URI虚拟托管类型路径类型

  • 虚拟托管类型:https://<bucket>.s3.<region>.amazonaws.com
  • 路径类型:https://s3.<region>.amazonaws.com/<bucket>

其中 <region> 要替换成实际的区域代码,比如:美国西部(俄勒冈)的区域代码为 us-west-2点此查看所有的区域代码。

注意:AWS 中国的用户,应使用 amazonaws.com.cn 域名。相应的区域代码信息点此查看

JuiceFS v0.12 之前的版本仅支持虚拟托管类型。v0.12 以及之后的版本两种风格都支持。因此,在创建文件系统时,--bucket 选项既可以使用虚拟托管类型的链接,也可以使用路径类型的链接,例如:

  1. # 虚拟托管类型
  2. $ ./juicefs format \
  3. --storage s3 \
  4. --bucket https://<bucket>.s3.<region>.amazonaws.com \
  5. ... \
  6. localhost test
  1. # 路径类型
  2. $ ./juicefs format \
  3. --storage s3 \
  4. --bucket https://s3.<region>.amazonaws.com/<bucket> \
  5. ... \
  6. localhost test

此外,所有 S3 兼容的对象存储服务,都可以通过 --storage s3 存储类型进行设定。例如:

  1. # 虚拟托管类型
  2. $ ./juicefs format \
  3. --storage s3 \
  4. --bucket https://<bucket>.<endpoint> \
  5. ... \
  6. localhost test
  1. # 路径类型
  2. $ ./juicefs format \
  3. --storage s3 \
  4. --bucket https://<endpoint>/<bucket> \
  5. ... \
  6. localhost test

Google 云存储

使用 Google 云存储创建 JuiceFS 文件系统时,由于 Google 云存储没有 Access keySecret key,因此在创建文件系统时可以忽略 --access-key--secret-key 选项。请查阅 Google Cloud 的文档了解 身份验证身份及访问管理 (IAM) 相关内容。一般来说,无需额外配置,在使用 Google 云服务器时默认已经拥有云存储的访问权限。

另外,由于 bucket 名称是 全局唯一 的,创建文件系统时,--bucket 选项中只需指定 bucket 名称即可。例如:

  1. $ ./juicefs format \
  2. --storage gs \
  3. --bucket gs://<bucket> \
  4. ... \
  5. localhost test

Azure Blob 存储

使用 Azure Blob 存储创建 JuiceFS 文件系统,除了使用 --access-key--secret-key 选项之外,你也可以使用 连接字符串 并通过 AZURE_STORAGE_CONNECTION_STRING 环境变量进行设定。例如:

  1. # Use connection string
  2. $ export AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=https;AccountName=XXX;AccountKey=XXX;EndpointSuffix=core.windows.net"
  3. $ ./juicefs format \
  4. --storage wasb \
  5. --bucket https://<container> \
  6. ... \
  7. localhost test

注意:Azure China 用户,EndpointSuffix 值为 core.chinacloudapi.cn

Backblaze B2

使用 Backblaze B2 创建 JuiceFS 文件系统时,你需要先创建 application keyApplication Key IDApplication Key 分别对应 Access keySecret key

--bucket 选项可以仅指定 bucket 名称。例如:

  1. $ ./juicefs format \
  2. --storage b2 \
  3. --bucket https://<bucket> \
  4. --access-key <application-key-ID> \
  5. --secret-key <application-key> \
  6. ... \
  7. localhost test

IBM 云对象存储

使用 IBM 云对象存储创建 JuiceFS 文件系统,你首先需要创建 API keyinstance IDAPI keyinstance ID 分别对应 Access keySecret key

IBM Cloud Object Storage provides multiple endpoints for each region, depends on your network (e.g. public or private network), you should use appropriate endpoint. For example:

IBM 云对象存储为每一个区域提供了 公网内网 两种 endpoint 地址,你可以根据实际需要选用。例如:

  1. $ ./juicefs format \
  2. --storage ibmcos \
  3. --bucket https://<bucket>.<endpoint> \
  4. --access-key <API-key> \
  5. --secret-key <instance-ID> \
  6. ... \
  7. localhost test

Scaleway

使用 Scaleway 对象存储创建 JuiceFS 文件系统时,请先 查看文档 了解如何创建 Access keySecret key

--bucket 选项的设置格式为 https://<bucket>.s3.<region>.scw.cloud,请将其中的 <region> 替换成实际的区域代码,例如:荷兰阿姆斯特丹的区域代码是 nl-ams点此查看 所有可用的区域代码。

  1. $ ./juicefs format \
  2. --storage scw \
  3. --bucket https://<bucket>.s3.<region>.scw.cloud \
  4. ... \
  5. localhost test

DigitalOcean Spaces

使用 DigitalOcean Spaces 创建 JuiceFS 文件系统时,请先 查看文档 了解如何创建 Access keySecret key

--bucket 选项的设置格式为 https://<space-name>.<region>.digitaloceanspaces.com,请将其中的 <region> 替换成实际的区域代码,例如:nyc3点此查看 所有可用的区域代码。

  1. $ ./juicefs format \
  2. --storage space \
  3. --bucket https://<space-name>.<region>.digitaloceanspaces.com \
  4. ... \
  5. localhost test

Wasabi

使用 Wasabi 创建 JuiceFS 文件系统时,请先 查看文档 了解如何创建 Access keySecret key

--bucket 选项的设置格式为 https://<bucket>.s3.<region>.wasabisys.com,请将其中的 <region> 替换成实际的区域代码,例如:US East 1 (N. Virginia) 的区域代码为 us-east-1点此查看 所有可用的区域代码。

  1. $ ./juicefs format \
  2. --storage wasabi \
  3. --bucket https://<bucket>.s3.<region>.wasabisys.com \
  4. ... \
  5. localhost test

提示:Tokyo (ap-northeast-1) 区域的用户,查看 这篇文档 了解 endpoint URI 的设置方法。

Storj DCS

使用 Storj DCS 创建 JuiceFS 文件系统时,请先参照 这篇文档 了解如何创建 Access keySecret key

Storj DCS 兼容 AWS S3,--storage 使用 s3 即可。--bucket 选项的设置格式为 https://gateway.<region>.storjshare.io/<bucket>,请将 <region> 替换成你实际使用的存储区域,目前 DCS 有三个可用存储区域:us1、ap1 和 eu1。

  1. $ juicefs format \
  2. --storage s3 \
  3. --bucket https://gateway.<region>.storjshare.io/<bucket> \
  4. --access-key <your-access-key> \
  5. --secret-key <your-sceret-key> \
  6. redis://localhost/1 my-jfs

Vultr 对象存储

Vultr 的对象存储是跟 S3 完全兼容的,可以使用 s3 作为 --storage 选项. --bucket 需要设置为 https://<bucket>.<region>.vultrobjects.com/. 当前只有一个区域可用: ewr1. 比如:

  1. $ juicefs format \
  2. --storage s3 \
  3. --bucket https://<bucket>.ewr1.vultrobjects.com/ \
  4. --access-key <your-access-key> \
  5. --secret-key <your-sceret-key> \
  6. redis://localhost/1 my-jfs

访问对象存储的 API 密钥可以在 管理控制台 中找到。

阿里云 OSS

使用阿里云 OSS 创建 JuiceFS 文件系统时,请先参照 这篇文档 了解如何创建 Access keySecret key。如果你已经创建了 RAM 角色 并指派给了云服务器实例,则在创建文件系统时可以忽略 --access-key--secret-key 选项。

阿里云也支持使用 Security Token Service (STS) 作为 OSS 的临时访问身份验证。如果你要使用 STS,请设置 ALICLOUD_ACCESS_KEY_IDALICLOUD_ACCESS_KEY_SECRETSECURITY_TOKEN 环境变量,不要设置 --access-key and --secret-key 选项。例如:

  1. # Use Security Token Service (STS)
  2. $ export ALICLOUD_ACCESS_KEY_ID=XXX
  3. $ export ALICLOUD_ACCESS_KEY_SECRET=XXX
  4. $ export SECURITY_TOKEN=XXX
  5. $ ./juicefs format \
  6. --storage oss \
  7. --bucket https://<bucket>.<endpoint> \
  8. ... \
  9. localhost test

阿里云 OSS 为每个区域都提供了 公网内网 endpoint 链接,你可以根据实际的场景选用。

如果你是在阿里云的服务器上创建文件系统,则无需在 --bucket 选项中设置 endpoint 链接,JuiceFS 会自动帮你设置。例如:

  1. # Running within Alibaba Cloud
  2. $ ./juicefs format \
  3. --storage oss \
  4. --bucket https://<bucket> \
  5. ... \
  6. localhost test

腾讯云 COS

使用腾讯云 COS 创建 JuiceFS 文件系统时,Bucket 名称格式为 <bucket>-<APPID>,即需要在 bucket 名称后面指定 APPID点此查看 如何获取 APPID

--bucket 选项的完整格式为 https://<bucket>-<APPID>.cos.<region>.myqcloud.com,请将 <region> 替换成你实际使用的存储区域,例如:上海的区域代码为 ap-shanghai点此查看 所有可用的区域代码。例如:

  1. $ ./juicefs format \
  2. --storage cos \
  3. --bucket https://<bucket>-<APPID>.cos.<region>.myqcloud.com \
  4. ... \
  5. localhost test

如果你是在腾讯云的服务器上创建文件系统,可以在 --bucket 选项中省略 .cos.<region>.myqcloud.com 部分。 JuiceFS 会自动设置 endpoint 链接。 例如:

  1. # Running within Tencent Cloud
  2. $ ./juicefs format \
  3. --storage cos \
  4. --bucket https://<bucket>-<APPID> \
  5. ... \
  6. localhost test

华为云 OBS

使用华为云 OBS 创建 JuiceFS 文件系统时,请先参照 这篇文档 了解如何创建 Access keySecret key

--bucket 选项的格式为 https://<bucket>.obs.<region>.myhuaweicloud.com,请将 <region> 替换成你实际使用的存储区域,例如:北京一的区域代码为 cn-north-1点此查看 所有可用的区域代码。例如:

  1. $ ./juicefs format \
  2. --storage obs \
  3. --bucket https://<bucket>.obs.<region>.myhuaweicloud.com \
  4. ... \
  5. localhost test

如果是你在华为云的服务器上创建文件系统,可以在 --bucket 选项中省略 .obs.<region>.myhuaweicloud.com 部分。 JuiceFS 会自动设置 endpoint 链接。 例如:

  1. # Running within Huawei Cloud
  2. $ ./juicefs format \
  3. --storage obs \
  4. --bucket https://<bucket> \
  5. ... \
  6. localhost test

百度 BOS

使用百度云 BOS 创建 JuiceFS 文件系统时,请先参照 这篇文档 了解如何创建 Access keySecret key

--bucket 选项的格式为 https://<bucket>.<region>.bcebos.com,请将 <region> 替换成你实际使用的存储区域,例如:北京的区域代码为 bj点此查看 所有可用的区域代码。例如:

  1. $ ./juicefs format \
  2. --storage bos \
  3. --bucket https://<bucket>.<region>.bcebos.com \
  4. ... \
  5. localhost test

如果你是在百度云的服务器上创建文件系统,可以在 --bucket 选项中省略 .<region>.bcebos.com 部分。 JuiceFS 会自动设置 endpoint 链接。 例如:

  1. # Running within Baidu Cloud
  2. $ ./juicefs format \
  3. --storage bos \
  4. --bucket https://<bucket> \
  5. ... \
  6. localhost test

金山云 KS3

使用金山云 KS3 创建 JuiceFS 文件系统时,请先参照 这篇文档 了解如何创建 Access keySecret key

金山云 KS3 为每个区域都提供了 公网内网 endpoint 链接,你可以根据实际的场景选用。

  1. $ ./juicefs format \
  2. --storage ks3 \
  3. --bucket https://<bucket>.<endpoint> \
  4. ... \
  5. localhost test

美团云 MMS

使用美团云 MMS 创建 JuiceFS 文件系统时,请先参照 这篇文档 了解如何创建 Access keySecret key

--bucket 选项的格式为 https://<bucket>.<endpoint>,请将 <endpoint> 替换成你实际地址,例如:mtmss.com点此查看 所有可用的 endpoint 地址。例如:

  1. $ ./juicefs format \
  2. --storage mss \
  3. --bucket https://<bucket>.<endpoint> \
  4. ... \
  5. localhost test

网易云 NOS

使用网易云 NOS 创建 JuiceFS 文件系统时,请先参照 这篇文档 了解如何创建 Access keySecret key

网易云 NOS 为每个区域都提供了 公网内网 endpoint 链接,你可以根据实际的场景选用。例如:

  1. $ ./juicefs format \
  2. --storage nos \
  3. --bucket https://<bucket>.<endpoint> \
  4. ... \
  5. localhost test

青云 QingStor

使用青云 QingStor 创建 JuiceFS 文件系统时,请先参照 这篇文档 了解如何创建 Access keySecret key

--bucket 选项的格式为 https://<bucket>.<region>.qingstor.com,请将 <region> 替换成你实际使用的存储区域,例如:北京 3-A 的区域代码为 pek3a点此查看 所有可用的区域代码。例如:

  1. $ ./juicefs format \
  2. --storage qingstor \
  3. --bucket https://<bucket>.<region>.qingstor.com \
  4. ... \
  5. localhost test

七牛云 Kodo

使用七牛云 Kodo 创建 JuiceFS 文件系统时,请先参照 这篇文档 了解如何创建 Access keySecret key

--bucket 选项的格式为 https://<bucket>.s3-<region>.qiniucs.com,请将 <region> 替换成你实际使用的存储区域,例如:中国东部的区域代码为 cn-east-1点此查看 所有可用的区域代码。例如:

  1. $ ./juicefs format \
  2. --storage qiniu \
  3. --bucket https://<bucket>.s3-<region>.qiniucs.com \
  4. ... \
  5. localhost test

新浪云 SCS

使用新浪云 SCS 创建 JuiceFS 文件系统时,请先参照 这篇文档 了解如何创建 Access keySecret key

--bucket 选项格式为 https://<bucket>.stor.sinaapp.com。例如:

  1. $ ./juicefs format \
  2. --storage scs \
  3. --bucket https://<bucket>.stor.sinaapp.com \
  4. ... \
  5. localhost test

天翼云 OOS

使用天翼云 OOS 创建 JuiceFS 文件系统时,请先参照 这篇文档 了解如何创建 Access keySecret key

--bucket 选项的格式为 https://<bucket>.oss-<region>.ctyunapi.cn,请将 <region> 替换成你实际使用的存储区域,例如:成都的区域代码为 sccd点此查看 所有可用的区域代码。例如:

  1. $ ./juicefs format \
  2. --storage oos \
  3. --bucket https://<bucket>.oss-<region>.ctyunapi.cn \
  4. ... \
  5. localhost test

移动云 EOS

使用移动云 EOS 创建 JuiceFS 文件系统时,请先参照 这篇文档 了解如何创建 Access keySecret key

移动云 EOS 为每个区域都提供了 公网内网 endpoint 链接,你可以根据实际的场景选用。例如:

  1. $ ./juicefs format \
  2. --storage eos \
  3. --bucket https://<bucket>.<endpoint> \
  4. ... \
  5. localhost test

优刻得 US3

使用优刻得 US3 创建 JuiceFS 文件系统时,请先参照 这篇文档 了解如何创建 Access keySecret key

优刻得 US3(原名 UFile) 为每个区域都提供了 公网内网 endpoint 链接,你可以根据实际的场景选用。例如:

  1. $ ./juicefs format \
  2. --storage ufile \
  3. --bucket https://<bucket>.<endpoint> \
  4. ... \
  5. localhost test

Ceph RADOS

注意

JuiceFS 支持的 Ceph 最低版本是 Luminous(v12.2.*),请确认你的 Ceph 版本是否符合要求。

Ceph 存储集群 具有消息传递层协议,该协议使客户端能够与 Ceph Monitor 和 Ceph OSD 守护程序进行交互。librados API 使您可以与这两种类型的守护程序进行交互:

JuiceFS 支持使用基于 librados 的本地 Ceph API。您需要分别安装 librados 库并重新编译 juicefs 二进制文件。

首先安装 librados

注意

建议使用匹配你的 Ceph 版本的 librados,例如 Ceph 版本是 Octopus(v15.2.*),那么 librados 也建议使用 v15.2.* 版本。某些 Linux 发行版(如 CentOS 7)自带的 librados 版本可能较低,如果编译 JuiceFS 失败可以尝试下载更高版本的安装包。

  1. # Debian based system
  2. $ sudo apt-get install librados-dev
  3. # RPM based system
  4. $ sudo yum install librados2-devel

然后为 Ceph 编译 JuiceFS(要求 Go 1.16+ 和 GCC 5.4+):

  1. $ make juicefs.ceph

存储池 是用于存储对象的逻辑分区,您可能需要首先创建一个存储池。 --access-key 选项的值是 Ceph 集群名称,默认集群名称是 ceph--secret-key 选项的值是 Ceph 客户端用户名,默认用户名是 client.admin

为了连接到 Ceph Monitor,librados 将通过搜索默认位置读取 Ceph 的配置文件,并使用找到的第一个。 这些位置是:

  • CEPH_CONF 环境变量
  • /etc/ceph/ceph.conf
  • ~/.ceph/config
  • 在当前工作目录中的 ceph.conf

例如:

  1. $ ./juicefs.ceph format \
  2. --storage ceph \
  3. --bucket ceph://<pool-name> \
  4. --access-key <cluster-name> \
  5. --secret-key <user-name> \
  6. ... \
  7. localhost test

Ceph RGW

Ceph Object Gateway 是在 librados 之上构建的对象存储接口,旨在为应用程序提供访问 Ceph 存储集群的 RESTful 网关。Ceph 对象网关支持 S3 兼容的接口,因此我们可以将 --storage 设置为 s3

--bucket 选项的格式为 http://<bucket>.<endpoint>(虚拟托管类型),例如:

  1. $ ./juicefs format \
  2. --storage s3 \
  3. --bucket http://<bucket>.<endpoint> \
  4. ... \
  5. localhost test

Swift

OpenStack Swift 是一种分布式对象存储系统,旨在从一台计算机扩展到数千台服务器。Swift 已针对多租户和高并发进行了优化。Swift 广泛适用于备份、Web 和移动内容的理想选择,可以无限量存储任何非结构化数据。

--bucket 选项格式为 http://<container>.<endpoint>container 用来设定对象的命名空间。

当前,JuiceFS 仅支持 Swift V1 authentication

--access-key 选项的值是用户名,--secret-key 选项的值是密码。例如:

  1. $ ./juicefs format \
  2. --storage swift \
  3. --bucket http://<container>.<endpoint> \
  4. --access-key <username> \
  5. --secret-key <password> \
  6. ... \
  7. localhost test

MinIO

MinIO 是一款开源的高性能对象存储。它提供了于 Amazon S3 兼容的 API。

使用 MinIO 创建 JuiceFS 文件系统,--storage 选项设置为 minio

当前,JuiceFS 仅支持路径风格的 MinIO URI 地址,例如:<endpoint>1.2.3.4:9000

  1. $ ./juicefs format \
  2. --storage minio \
  3. --bucket http://<endpoint>/<bucket> \
  4. ... \
  5. localhost test

WebDAV

WebDAV 是 HTTP 的扩展协议,有利于用户间协同编辑和管理存储在万维网服务器的文档。JuiceFS 0.15+ 支持使用 WebDAV 协议的存储系统作为后端数据存储。

你需要将 --storage 设置为 webdav,并通过 --bucket 来指定访问 WebDAV 的地址。如果存储系统启用了用户验证,用户名和密码可以通过 --access-key--secret-key 来指定,例如:

  1. $ ./juicefs format \
  2. --storage webdav \
  3. --bucket http://<endpoint>/ \
  4. --access-key <username> \
  5. --secret-key <password> \
  6. localhost test

HDFS

Hadoop 的文件系统 HDFS 也可以作为对象存储供 JuiceFS 使用。

当使用 HDFS 创建 JuiceFS 文件系统时,--access-key 的值设置为用户名,默认的超级用户通常是 hdfs。例如:

  1. $ ./juicefs format \
  2. --storage hdfs \
  3. --bucket namenode1:8020 \
  4. --access-key hdfs \
  5. localhost test

如果在创建文件系统时不指定 --access-key,JuiceFS 会使用执行 juicefs mount 命令的用户身份或通过 Hadoop SDK 访问 HDFS 的用户身份。如果该用户没有 HDFS 的读写权限,则程序会失败挂起,发生 IO 错误。

JuiceFS 会尝试基于 $HADOOP_CONF_DIR$HADOOP_HOME 为 HDFS 客户端加载配置。如果 --bucket 选项留空,将使用在 Hadoop 配置中找到的默认 HDFS。

对于 HA 群集,可以像下面这样一起指定 NameNodes 的地址:--bucket=namenode1:port,namenode2:port

Redis

Redis 是一个开源全内存数据存储,广泛用于数据库、缓存以及消息队列场景。除了将 Redis 作为 JuiceFS 的元数据引擎以外,Redis 还可以作为数据存储。推荐使用 Redis 存储数据量较小的数据,如应用配置。

--bucket 选项格式为 redis://<host>:<port>/<db>--access-key 选项的值是用户名,--secret-key 选项的值是密码。例如:

  1. $ ./juicefs format \
  2. --storage redis \
  3. --bucket redis://<host>:<port>/<db> \
  4. --access-key <username> \
  5. --secret-key <password> \
  6. ... \
  7. localhost test

TiKV

TiKV 是一个高度可扩展、低延迟且易于使用的键值数据库。它提供原始和符合 ACID 的事务键值 API。

--bucket 选项格式类似 <host>:<port>,<host>:<port>,<host>:<port>,其中 <host> 是 Placement Driver(PD)的地址。--access-key--secret-key 选项没有作用,可以省略。例如:

  1. $ ./juicefs format \
  2. --storage tikv \
  3. --bucket "<host>:<port>,<host>:<port>,<host>:<port>" \
  4. ... \
  5. localhost test

本地磁盘

在创建 JuiceFS 存储时,如果没有指定任何存储类型,会默认使用本地磁盘存储数据,root 用户默认存储路径为 /var/jfs,普通用户默认存储路径为 ~/.juicefs/local

例如,以下命令使用本地的 Redis 数据库和本地磁盘创建了一个名为 test 的 JuiceFS 存储:

  1. $ ./juicefs format redis://localhost:6379/1 test

本地存储通常仅用于了解和体验 JuiceFS 的基本功能,创建的 JuiceFS 存储无法被网络内的其他客户端挂载,只能单机使用。如果你需要评估 JuiceFS,建议使用对象存储服务。

注意:使用本地存储创建的 JuiceFS 存储,无法被网络中的其他主机挂载使用。这是因为 JuiceFS 的数据共享功能依赖于可以被所有客户端访问到的对象存储和元数据服务,如果创建 JuiceFS 存储时使用的存储服务和元数据服务无法被网络内的其他客户端访问,那么,其他客户端就会因此而不能挂载和使用该 JuiceFS 存储。