gcsfuse CLI

本页面介绍用来与 Cloud Storage FUSE 交互的 gcsfuse 命令行选项。

摘要

gcsfuse GLOBAL_OPTIONS BUCKET_NAME MOUNT_POINT

其中:

  • GLOBAL_OPTIONS 是用于控制装载的设置方式以及 Cloud Storage FUSE 行为方式的选项

  • BUCKET_NAME 是要装载的存储桶的名称。例如 my-mount-bucket。可选。从此命令中排除存储桶名称以执行动态装载。

  • MOUNT_POINT 是装载存储桶的本地目录。例如 /path/to/mount/point

说明

gcsfuse CLI 用于将 Cloud Storage 存储桶作为文件系统装载到本地机器上。

全局选项

全局选项 说明
--anonymous-access BOOLEAN 停用请求的身份验证。如果您使用的自定义端点不支持身份验证,则应设置此标志。如果您将 Cloud Storage FUSE 与公共存储桶搭配使用,也应设置此标志。默认值为 false
--app-name VALUE 装载的应用名称。
--billing-project VALUE 指定在访问已装载的存储桶时要用于结算的项目。在装载启用了请求者付款功能的存储桶时,此标志通常是必需的。默认项目为无。
--cache-dir VALUE 指定用于存储文件缓存数据的目录。

注意:如需启用文件缓存,您必须使用 --cache-dir 指定目录,并使用 --file-cache-max-size-mb 标志指定一个正整数,以表示特定的文件缓存大小上限(以兆比字节 [MiB] 为单位),或者使用 -1 值来指定无限制。

--client-protocol VALUE 指定用于与 Cloud Storage 后端进行通信的协议。值必须是 http1(对于 HTTP/1.1)或 http2(对于 HTTP/2)。默认值为 http1
--config-file VALUE 指定要用于配置 Cloud Storage FUSE 行为的配置文件的路径。例如 --config-file /etc/gcsfuse.yaml
--custom-endpoint VALUE 指定用于提取数据的备用自定义端点。 自定义端点必须支持与 Cloud Storage JSON 端点 https://storage.googleapis.com/storage/v1 等效的资源和操作。 如果未指定自定义端点,Cloud Storage FUSE 会使用全球 Cloud Storage JSON API 端点 https://storage.googleapis.com/storage/v1。 如果您指定的自定义端点不支持身份验证,请将 --anonymous-access 标志设置为 true 以绕过身份验证。
--debug_fuse BOOLEAN 已弃用。启用与 FUSE 相关的调试输出。此选项已被 --log-severity 选项取代。如需启用调试输出,请将 --log-severity 选项设置为 trace,这包括轨迹日志、调试、信息、警告和错误日志。
--debug_gcs BOOLEAN 已弃用。输出 Cloud Storage 请求和时间信息。此选项已被 --log-severity 选项取代。如需启用调试输出,请将 --log-severity 选项设置为 trace,这包括轨迹日志、调试日志、信息日志、警告日志和错误日志。
--debug_invariants BOOLEAN 检测到内部不变违规行为时退出程序。默认值为 false
--debug_mutex BOOLEAN 当互斥锁持续时间过长时,输出调试消息。 如果指定了此选项,则日志的严重级别会自动设置为 trace,这包括轨迹日志、调试日志、信息日志、警告日志和错误日志。默认值为 false
--dir-mode VALUE 目录的权限位,以八进制表示。最小值为 000,最大值为 777。默认值为 755
--enable-nonexistent-type-cache BOOLEAN 如果在 Cloud Storage 中找不到某个文件,则会创建一个类型为 NonexistentType 的类型缓存条目。如果文件是在 Cloud Storage 中创建的,但文件的 NonexistentType 条目已缓存,则在从类型缓存中移除 NonexistentType 条目之前,Cloud Storage FUSE 无法请求该文件。 默认值为 false
--file-cache-cache-file-for-range-read BOOLEAN

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

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

--file-cache-download-chunk-size-mb VALUE

指定每个 goroutine 将对象下载到文件缓存时向 Cloud Storage 发出的每个读取请求的大小(以 MiB 为单位)。默认值为 50

--file-cache-enable-parallel-downloads BOOLEAN

通过使用文件缓存目录作为预提取缓冲区,并使用多个工作器并行下载大型文件,从而加快大型文件的读取速度。默认值为 false


如需使用并行下载,您必须启用文件缓存。如需详细了解并行下载并配置其支持的属性,请参阅使用并行下载提升读取性能
--file-cache-max-parallel-downloads VALUE

在任何给定时间,所有文件下载作业可同时生成的 goroutine 数上限。默认值是机器上的 CPU 核心数的两倍或 16(以较高者为准)。如需指定无限制,请输入值 -1

--file-mode VALUE 指定文件的权限位,以八进制表示。最小值为 000,最大值为 777。默认值为 644
--foreground BOOLEAN 在前台运行 gcsfuse 命令。 默认值为 false
--gid VALUE 指定所有 inode 的群组标识符 (GID) 所有者。值必须是整数。默认值为 -1
--help-h 显示有关 Cloud Storage FUSE 的帮助。
version-v 显示您已安装的 Cloud Storage FUSE 版本。
--http-client-timeout VALUE 指定 Cloud Storage FUSE HTTP 客户端在超时之前等待多长时间才能收到来自服务器的响应。值必须是时长。例如 1h10m10s。默认值为 0s,表示无超时。
--ignore-interrupts VALUE 指示 Cloud Storage FUSE 忽略系统中断信号,例如由 Control+C 触发的 SIGINT。这样可以防止信号终止进行中的操作。值为 truefalse。默认值为 true
--implicit-dirs BOOLEAN

隐式包含文件夹托管文件夹

如需了解详情,请参阅 GitHub 中的文件和目录文档。 默认值为 false
--kernel-list-cache-ttl-secs VALUE 启用列表缓存,并定义缓存列表条目的存留时间 (TTL)(以秒为单位)。列表缓存保留在页面缓存的内存中,由内核根据可用内存进行控制。默认值为 0,会停用列表缓存。

如需设置 --kernel-list-cache-ttl-secs 标志,请指定一个正整数值(以秒为单位),以将目录列表响应保留在内核的页面缓存中。如需绕过条目到期时间,并在缓存可用时始终从缓存中返回列表响应,请指定值 -1
--key-file VALUE 指定用于对发送到 Cloud Storage 的请求进行身份验证的凭据 JSON 密钥文件的绝对路径。默认情况下,Cloud Storage FUSE 使用应用默认凭据对请求进行身份验证。
--limit-bytes-per-sec VALUE 指定供 Cloud Storage FUSE 可从 Cloud Storage 中读取数据的带宽限制(根据 30 秒的时间段计量得出)。该值必须是浮点数。默认值为 -1,指定无限制。
--limit-ops-per-sec VALUE 指定每秒执行的操作数限制(根据 30 秒的时间段计量得出)。值必须是浮点数。默认值为 -1,指定无限制。
--log-file VALUE 指定用于存储可由 Fluentd 解析的日志的文件。如果未提供,则当 Cloud Storage FUSE 在前台运行时,纯文本日志会输出到 stdout;如果 Cloud Storage FUSE 在后台运行,则输出到 syslog
--log-format VALUE 指定日志文件的格式。值必须为 textjson。默认值为 json
--log-rotate-backup-file-count VALUE 要保留的轮替日志文件数上限,不包括日志写入的活跃文件。如果该值设置为 0,则系统会保留所有轮替的日志文件。如果未指定此字段,则值默认为 10
--log-rotate-compress BOOLEAN 一个布尔值,用于指定是否使用 gzip 压缩轮替的日志文件。如果未指定此标志,则值默认为 true
--log-rotate-max-file-size-mb VALUE 日志文件在轮替之前可以达到的大小上限,以兆字节 (MB) 为单位。最小值为 1。如果未指定此字段,则值默认为 512
--log-severity ENUM

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

  • trace
  • debug
  • info
  • warning
  • error

指定严重级别时,Cloud Storage FUSE 会生成严重级别相同或更高的日志。例如,如果指定 warning,Cloud Storage FUSE 会生成警告和错误日志。 您还可以指定 off 以关闭所有日志记录。如果您在命令中指定了 --debug_mutex,则严重级别会自动设置为 trace 并替换 log-severity

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

--max-conns-per-host VALUE 指定每个服务器允许的 TCP 连接数上限。 此选项在 --client-protocol 设置为 http1 时生效。值必须介于 02147483647 之间。默认值为 0,指定 TCP 连接数量不受限制,机器规范设置的限制除外。
--max-idle-conns-per-host VALUE 指定每个服务器允许的空闲连接数上限。值必须介于 02147483647 之间。默认值为 100
--max-retry-sleep VALUE 使用指数退避算法指定在重试循环中允许 Cloud Storage FUSE 休眠的时长上限。值必须是时长值。例如,1h5m50s(1 小时 5 分 50 秒)或 60s(60 秒)。退避时长超过指定的时长上限后,重试会以指定的时长上限继续。默认值为 30s
--metadata-cache-ttl-secs VALUE

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

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

如果未指定此字段,则值默认为 60(60 秒)。

-o VALUE

指定其他系统特定的装载选项。

FUSE 中的大多数通用装载选项(例如 rwsuidro)受 Cloud Storage FUSE 支持,并且可与 -o 标志一起传递。如需了解详情,请参阅 Linux FUSE 文档

--only-dir VALUE 仅在存储桶中装载特定目录。
--rename-dir-limit VALUE 允许重命名包含的后代目录少于指定限制的目录。值必须介于 02147483647 之间。默认限制值为 0
--retry-multiplier VALUE 指定连续重试之间的指数退避算法的乘数。值必须是浮点数。默认值为 2
--reuse-token-from-url 指定是否重复使用从 --token-url 获取的令牌。默认值为 true
--sequential-read-size-mb VALUE 指定要从 Cloud Storage 下载的数据的区块大小,以兆字节 (MB) 为单位。 值必须介于 11024 之间。默认值为 200
--stackdriver-export-interval VALUE 以指定的时间间隔将指标导出到 Stackdriver。值必须是时长。例如 1h10m10s。默认值为 0s,指定无导出。
--stat-cache-capacity VALUE 已弃用。指定统计信息缓存可以包含的条目数。这会影响内存消耗量。值必须是整数。默认值为 4096

此标志已被 --stat-cache-max-size-mb 取代。如需指定统计信息缓存可以使用的大小上限(以兆比字节 [MiB] 为单位),请使用 --stat-cache-max-size-mb 标志。
--stat-cache-max-size-mb VALUE

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

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

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

--stat-cache-ttl VALUE 已弃用。指定缓存 StatObject 结果和 inode 属性的时长。默认值为 60s(60 秒)。

此标志已被 --metadata-cache-ttl-secs 取代。如需指定缓存元数据条目的存留时间 (TTL)(以秒为单位),请使用 --metadata-cache-ttl-secs 标志。
--temp-dir VALUE 指定在上传到 Cloud Storage 之前用于暂存写入数据的临时目录的路径。默认值为系统默认值,最有可能是 /tmp
--token-url VALUE 指定不存在 --key-file 时用于获取访问令牌的网址。
--type-cache-ttl VALUE 已弃用。指定缓存目录 inode 中的名称与文件或目录之间的映射的时长。此选项已被 --metadata-cache-ttl-secs 选项取代。如需指定要为类型缓存设置的时间长度,请使用 --metadata-cache-ttl-secs 选项,用于指定统计信息缓存和类型缓存的元数据条目的存留时间 (TTL)。--metadata-cache-ttl-secs 的默认值为 60s(60 秒)。
--type-cache-max-size-mb VALUE

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

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

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

--uid VALUE 指定所有 inode 的用户标识符 (UID) 所有者。值必须是整数。默认 UID 值为 -1