Cloud Storage FUSE 配置文件

本页面介绍了如何使用 Cloud Storage FUSE 配置文件以永久性的方式配置 Cloud Storage FUSE 的行为。如需使用配置文件,请在装载命令--config-file 标志中指定配置文件的路径。

配置文件是一个 YAML 文件,使用以下格式和字段。部分字段还可使用命令行选项指定。

write:
  create-empty-file: boolean
logging:
  file-path: "string"
  format: enum
  severity: enum
  log-rotate:
    max-file-size-mb: integer
    backup-file-count: integer
    compress: boolean
file-cache:
  max-size-mb: integer
  cache-file-for-range-read: boolean
metadata-cache:
  stat-cache-max-size-mb: integer
  ttl-secs:integer
  type-cache-max-size-mb: integer
cache-dir: integer

配置字段

下表介绍了您可以在配置文件中指定的字段。除非另有说明,否则所有字段均为可选字段。

字段 说明
create-empty-file 一个布尔值,用于指定在开始向装载的存储桶中的新文件写入数据时,是否在 Cloud Storage 中创建零字节文件。如果未指定此字段,则值默认为 false
file-path 日志写入的日志文件的路径,以字符串形式指定。例如 /var/log。如果未指定此字段,则当 Cloud Storage FUSE 在前台模式下运行时,日志会路由到 stdout;当 Cloud Storage FUSE 在后台模式下运行时,日志会路由到 syslogs。
format 生成日志的格式,以枚举表示。 值为 textjson。如果未指定此字段,则值默认为 json
severity

您希望 Cloud Storage FUSE 生成的日志的严重级别,以枚举表示。严重级别按照从最低严重级别到最高严重级别的顺序排列:

  • trace
  • debug
  • info
  • warning
  • error

指定严重级别时,Cloud Storage FUSE 会生成严重级别相同或更高的日志。例如,如果指定 warning,Cloud Storage FUSE 会生成警告和错误日志。 您还可以指定 off 以关闭所有日志记录。如果您的命令中还指定了以下三个选项之一,则严重级别会自动设置为 trace

  • --debug_fuse
  • --debug_gcs
  • --debug_mutex

如果未指定此字段,则值默认为 info

max-file-size-mb 日志文件在轮替之前可以达到的大小上限,以兆字节 (MB) 为单位。最小值为 1。如果未指定此字段,则值默认为 512
backup-file-count 要保留的轮替日志文件数上限,不包括日志写入的活跃文件。如果该值设置为 0,则系统会保留所有轮替的日志文件。如果未指定此字段,则值默认为 10
compress 一个布尔值,用于指定是否使用 gzip 压缩轮替的日志文件。如果未指定此字段,则值默认为 true
max-size-mb

文件缓存可以使用的大小上限(以 MiB 为单位)。max-size-mb 会在 Cloud Storage FUSE 中启用文件缓存(如果存在),并且如果您想要限制 Cloud Storage FUSE 缓存可以在其装载目录中使用的总容量,这将非常有用。

  • 指定 -1 可使用您为 cache-dir 指定的目录中的缓存的全部可用容量。
  • 指定 0 可停用文件缓存。

如果未指定此字段,则值默认为 -1

cache-file-for-range-read

一个布尔值,用于确定在从非零偏移处完成首次读取时,是否应异步下载完整对象并将其存储在 Cloud Storage FUSE 缓存目录中。如果您计划执行多次随机读取或部分读取,则应将其设置为 true。如果未指定此字段,则值默认为 false

请注意,如果您从偏移量 0 开始执行部分读取,则 Cloud Storage FUSE 始终会异步下载并缓存整个对象。

stat-cache-max-size-mb

统计信息缓存可以使用的大小上限(以 MiB 为单位)。统计信息缓存始终完全保留在内存中。

  • 如果您的工作负载最多涉及 20,000 个文件,请指定 32。如果您的工作负载超过 20,000 个文件,则每增加 6,000 个文件,大小值将增加 10,平均每个文件增加大约 1,500 个字节。
  • 指定 -1 可让统计信息缓存根据需要使用尽可能多的内存。
  • 指定 0 可停用统计信息缓存。

如果未指定此字段,则值默认为 32

ttl-secs

定义缓存的元数据条目的存留时间 (TTL)(以秒为单位)。

  • 指定 -1 可绕过 TTL 过期时间,并在文件可用时从缓存中传送文件。
  • 指定 0 可确保读取最新的文件。 使用此值会发出 Get 元数据调用,以确保缓存中文件的对象世代与 Cloud Storage 中存储的文件的对象世代一致。如需了解详情,请参阅 ttl-secs 标志简介

如果未指定此字段,则值默认为 60

type-cache-max-size-mb

类型缓存可以使用的每个目录的大小上限(以 MiB 为单位)。 类型缓存始终完全保留在内存中。

  • 如果要装载的存储桶的单个目录内文件数量上限包含 20,000 个或更少的文件,请指定 4。 如果要装载的单个目录中的最大文件数超过 20,000,则每 5,000 个文件,值将增加 1,平均每个文件大约增加 200 个字节。
  • 指定 -1 可让类型缓存根据需要使用尽可能多的内存。
  • 指定 0 可停用类型缓存。

如果未指定此字段,则值默认为 4

cache-dir 指定用于存储文件缓存数据的目录。必须指定此字段才能启用文件缓存