参数列表

JUICE 模块提供了 2 个参数用于 JuiceFS 部署与配置

JUICE 模块的参数列表,共有 2 个参数:


参数概览

参数类型级别说明
juice_cachepathCJuiceFS 共享缓存目录
juice_instancesdictHJuiceFS 实例定义字典,必选参数

参数级别说明C 表示 Cluster 级别,可在全局或集群中统一配置;H 表示 Host 级别,必须在节点层面定义。


默认参数

JUICE:2 个参数,定义于 roles/juice/defaults/main.yml

#-----------------------------------------------------------------
# JUICE
#-----------------------------------------------------------------
juice_cache: /data/juice              # JuiceFS 共享缓存目录
juice_instances: {}                   # JuiceFS 实例定义字典

JUICE

本节包含 juice 角色的参数, 这些是 juice.yml 剧本使用的配置参数。

juice_cache

参数名称: juice_cache, 类型: path, 层次:C

JuiceFS 所有实例共享的本地缓存目录,默认为 /data/juice

JuiceFS 会在此目录下按文件系统 UUID 隔离各实例的缓存数据,用于加速频繁访问的文件读取。

juice_cache: /data/juice

juice_instances

参数名称: juice_instances, 类型: dict, 层次:H

JuiceFS 实例定义字典,必选参数,必须在节点(Host)层面显式配置。

内容为 JSON/YAML 字典格式,Key 为文件系统名称(实例标识),Value 为该实例的配置对象。

juice_instances:
  jfs:                                          # 文件系统名称
    path  : /fs                                 # [必选] 挂载点路径
    meta  : postgres://u:p@h:5432/db            # [必选] 元数据引擎 URL
    data  : --storage postgres --bucket ...    # 存储后端选项
    unit  : juicefs-jfs                         # systemd 服务名
    mount : ''                                  # 额外挂载选项
    port  : 9567                                # 指标端口(同节点必须唯一)
    owner : root                                # 挂载点属主
    group : root                                # 挂载点属组
    mode  : '0755'                              # 挂载点权限
    state : create                              # create | absent

每个实例的配置项说明:

字段必选默认值说明
path-挂载点路径,如 /fs/pgfs
meta-元数据引擎 URL,通常为 PostgreSQL 连接串
data''juicefs format 存储后端参数
unitjuicefs-<name>systemd 服务单元名称
mount''juicefs mount 额外参数
port9567Prometheus 指标端口,同节点多实例必须唯一
ownerroot挂载点目录属主
grouproot挂载点目录属组
mode0755挂载点目录权限
statecreatecreate 创建实例,absent 移除实例

配置示例

使用 PostgreSQL 作为元数据和数据存储:

juice_instances:
  jfs:
    path  : /fs
    meta  : postgres://dbuser_meta:DBUser.Meta@10.10.10.10:5432/meta
    data  : --storage postgres --bucket 10.10.10.10:5432/meta --access-key dbuser_meta --secret-key DBUser.Meta
    port  : 9567

使用 MinIO 作为数据存储:

juice_instances:
  jfs:
    path  : /fs
    meta  : postgres://dbuser_meta:DBUser.Meta@10.10.10.10:5432/meta
    data  : --storage minio --bucket http://10.10.10.10:9000/juice --access-key minioadmin --secret-key minioadmin
    port  : 9567

多实例配置(注意端口唯一):

juice_instances:
  pgfs:
    path  : /pgfs
    meta  : postgres://dbuser_meta:DBUser.Meta@10.10.10.10:5432/meta
    data  : --storage postgres --bucket 10.10.10.10:5432/meta --access-key dbuser_meta --secret-key DBUser.Meta
    port  : 9567
  shared:
    path  : /shared
    meta  : postgres://dbuser_meta:DBUser.Meta@10.10.10.10:5432/shared
    port  : 9568    # 必须与 pgfs 不同
    owner : postgres
    group : postgres

最后修改 2026-01-25: add piglet docs (9e7ad23)