本文档介绍用于与 Cloud Storage FUSE 交互的 gcsfuse
命令选项。如果您使用 Cloud Storage FUSE CSI 驱动程序将存储桶装载到 Google Kubernetes Engine 中的本地文件系统,请参阅 Cloud Storage FUSE CSI 驱动程序的装载选项。
Cloud Storage FUSE 命令行界面 (CLI)(即 gcsfuse
CLI)用于将 Cloud Storage 存储桶作为文件系统装载到本地机器上。
gcsfuse
CLI 命令结构
以下示例展示了 gcsfuse
命令的结构,包括必需的命令和可选的 gcsfuse
选项。
gcsfuse GLOBAL_OPTIONS BUCKET_NAME MOUNT_POINT
其中:
GLOBAL_OPTIONS
是用于控制装载的设置方式以及 Cloud Storage FUSE 行为方式的gcsfuse
选项。BUCKET_NAME
是要装载的存储桶的名称。例如my-mount-bucket
。可选。从此命令中排除存储桶名称以执行动态装载。MOUNT_POINT
是装载存储桶的本地目录。例如/path/to/mount/point
。
gcsfuse
CLI 选项
gcsfuse 选项 |
说明 | 有效值 | 默认值 |
---|---|---|---|
|
为请求停用身份验证。如果您使用的是不支持身份验证的自定义端点,应设置此选项。如果您将 Cloud Storage FUSE 与公共存储桶搭配使用,也应设置此选项。 | 布尔值:true 、false 。 |
false |
|
装载的应用名称。 | 字符串值,例如:my-bucket-mount 。 |
"" |
|
指定在访问已装载的存储桶时要用于结算的项目。在装载启用了请求者付款功能的存储桶时,此选项通常是必需的。 | 表示项目 ID 的字符串值。 | "" |
|
启用文件缓存并指定用于存储文件缓存数据的目录。 |
路径,例如:/tmp/gcsfuse-cache-path 。 空值表示此选项处于停用状态。此 gcsfuse 选项在默认情况下处于停用状态。 |
"" |
|
指定用于与 Cloud Storage 后端进行通信的协议。 |
|
http1 |
|
以指定的时间间隔将指标导出到 Cloud Monitoring。 |
表示以秒为单位的值的整数,例如:10 (10 秒)。0 指定禁止导出。 |
0 |
|
指定要用于配置 Cloud Storage FUSE 行为的配置文件的路径。 | 路径,例如:/etc/gcsfuse.yaml 。 |
"" |
|
指定用于提取数据的备用自定义端点。
自定义端点必须支持与 Cloud Storage JSON 端点 storage.UNIVERSE_DOMAIN_NAME:443 等效的资源和操作。
如果未指定自定义端点,Cloud Storage FUSE 会使用全球 Cloud Storage JSON API 端点 storage.googleapis.com:443 。
如果您指定的自定义端点不支持身份验证,请将 --anonymous-access gcsfuse 选项设置为 true 以绕过身份验证。 |
端点,例如:storage.googleapis.com:443 。 |
"" |
|
启用 与 FUSE 相关的调试输出。此选项已被 --log-severity gcsfuse 选项取代。如需启用调试输出,请将 --log-severity gcsfuse 选项设置为 trace ,这包括轨迹日志、调试日志、信息日志、警告日志和错误日志。 |
布尔值:true 、false 。 |
false |
|
输出 Cloud Storage 请求和时间信息。 此 gcsfuse 选项已被 --log-severity gcsfuse 选项取代。如需启用调试输出,请将 --log-severity gcsfuse 选项设置为 trace ,这包括轨迹日志、调试日志、信息日志、警告日志和错误日志。 |
布尔值:true 、false 。 |
false |
|
检测到内部不变违规行为时退出程序。 | 布尔值:true 、false 。 |
false |
|
当互斥锁持续时间过长时,输出调试消息。如果指定了此 gcsfuse 选项,则日志的严重级别会自动设置为 trace ,这包括轨迹日志、调试日志、信息日志、警告日志和错误日志。 |
布尔值:true 、false 。 |
false |
|
目录的权限位,以八进制表示。 | 介于 000 和 777 之间的整数(含边界值)。 |
755 |
|
指定将 Cloud Storage 对象的部分内容异步预提取到内存缓冲区中,从而可以从缓冲区进行后续读取操作,而无需进行网络调用。 | 布尔值:true 、false 。 |
false |
|
如果在 Cloud Storage 中找不到某个文件,则会创建一个类型为 NonexistentType 的类型缓存条目。如果文件是在 Cloud Storage 中创建的,但文件的 NonexistentType 条目已缓存,则在从类型缓存中移除 NonexistentType 条目之前,Cloud Storage FUSE 无法请求该文件。 |
布尔值:true 、false 。 |
false |
|
控制写入路径流程,以便在写入数据时将其直接上传到 Cloud Storage,而不是在本地完全暂存写入内容,然后在执行 close() 或 fsync() 时上传。如需详细了解流式写入,请参阅 Cloud Storage FUSE GitHub 文档中的 Cloud Storage FUSE 语义。 |
布尔值:true 、false 。 |
true |
|
用于指定文件缓存可以使用的大小上限(以 MiB 为单位),并使您能够限制文件缓存可以在其装载的目录中使用的总容量。 |
|
-1 |
|
确定从非零偏移量完成首次读取时,是否应异步下载完整对象并将其存储在 Cloud Storage FUSE 缓存目录中。如果您打算执行多次随机读取或部分读取,则应将此 gcsfuse 选项设置为 true 。 |
布尔值:true 、false 。 |
false |
|
指定每个 goroutine 将对象下载到文件缓存时向 Cloud Storage 发出的每个读取请求的大小(以 MiB 为单位)。 | 整数 | 200 |
|
通过使用文件缓存目录作为预提取缓冲区,并使用多个工作器并行下载文件的多个部分,从而加快大型文件的读取速度。 启用文件缓存后,系统会自动启用并行下载。 如需详细了解文件缓存,请参阅使用Cloud Storage FUSE 文件缓存。 如需详细了解并行下载以及如何配置支持的属性,请参阅并行下载。 |
布尔值:true 、false 。 |
true |
|
在任何给定时间,所有文件下载作业可同时生成的 goroutine 数上限。 |
|
机器上的 CPU 核心数的两倍或 16 (以较高者为准)。 |
|
每个文件的并发下载请求数。 | 整数 | 16 |
|
指定文件的权限位,以八进制表示。 | 介于 000 和 777 之间的整数(含边界值)。 |
644 |
|
在前台运行 gcsfuse 命令。 |
布尔值:true 、false 。 |
false |
|
指定所有 inode 的群组标识符 (GID) 所有者。 |
|
-1 |
|
显示有关 Cloud Storage FUSE 的帮助。 | 无 | 无 |
|
显示您已安装的 Cloud Storage FUSE 版本。 | 无 | 无 |
|
指定 Cloud Storage FUSE HTTP 客户端在超时之前等待多长时间才能收到来自服务器的响应。 | 时长,例如:1h10m10s 表示 1 小时 10 分钟 10 秒。0s 指定不超时。 |
0s |
|
指示 Cloud Storage FUSE 忽略系统中断信号,例如由 Control+C 触发的 SIGINT。这样可以防止信号终止进行中的操作。 |
布尔值:true 、false 。 |
true |
|
隐式包含文件夹和托管文件夹。 如需了解详情,请参阅 Cloud Storage FUSE GitHub 文档中的文件和目录。 | 布尔值:true 、false 。 |
false |
|
启用列表缓存,并定义缓存列表条目的存留时间 (TTL)(以秒为单位)。列表缓存保留在页面缓存的内存中,由内核根据可用内存进行控制。 |
|
0 |
|
指定用于对发送到 Cloud Storage 的请求进行身份验证的凭据 JSON 密钥文件的绝对路径。默认情况下,Cloud Storage FUSE 使用应用默认凭据对请求进行身份验证。 | 路径,例如:/home/example_user/gcloud-key.json 。 |
如果未设置此选项,系统将使用应用默认凭证。 |
|
指定供 Cloud Storage FUSE 可从 Cloud Storage 中读取数据的带宽限制(根据 30 秒的时间段计量得出)。 | 浮点数。-1 指定无限制。 |
-1 |
|
指定每秒执行的操作数限制(根据 30 秒的时间段计量得出)。 | 浮点数。-1 指定无限制。 |
-1 |
|
指定用于存储可由 Fluentd 解析的日志的文件。 | 路径,例如:/tmp/user-example-bucket-gcsfuse-logs.txt 。 |
如果 Cloud Storage FUSE 在前台运行,则为 stdout ;如果 Cloud Storage FUSE 在后台运行,则为 syslog |
|
指定日志文件的格式。 |
|
json |
|
要保留的轮替日志文件数上限,不包括日志写入的活跃文件。 |
|
10 |
|
指定是否使用 gzip 压缩轮替的日志文件。 |
布尔值:true 、false 。 |
true |
|
日志文件在轮替之前可以达到的大小上限,以兆字节 (MB) 为单位。 | 整数。最小值为 1 。 |
512 |
|
您希望 Cloud Storage FUSE 生成日志时所对应的严重级别。严重级别按照从最低严重级别到最高严重级别的顺序排列。例如,如果指定 |
|
info |
|
指定每个服务器允许的 TCP 连接数上限。
此选项在 --client-protocol 设置为 http1 时生效。 |
介于 0 和 2147483647 之间的整数。
0 指定 TCP 连接数量不受限制。 |
0 |
|
指定每个服务器允许的空闲连接数上限。
此选项在 --client-protocol 设置为 http1 时生效。 |
介于 0 和 2147483647 之间的整数。
0 指定空闲连接数不受限制。 |
0 |
|
指定操作失败时重试操作的最大次数,以防止无限重试循环。 |
|
0 |
|
使用指数退避算法指定在重试循环中允许 Cloud Storage FUSE 休眠的时长上限。退避时长超过指定的时长上限后,重试会以指定的时长上限继续。 | 时长,例如:1h5m50s (1 小时 5 分钟 50 秒)或 60s (60 秒)。 |
30s |
|
定义负统计信息缓存条目的存留时间 (TTL)(以秒为单位),该条目会存储缓存中不存在的文件的结果。 |
|
5 |
|
定义缓存元数据条目的存留时间 (TTL)(以秒为单位)。 |
|
60 |
|
指定其他系统特定的装载选项。FUSE 中的大多数通用装载选项(例如 suid )受 Cloud Storage FUSE 支持,并且可与 -o 选项一起传递。 |
FUSE 中的装载选项,例如:
|
"" |
|
仅在存储桶中装载特定目录。 | 路径,例如:/etc/gcsfuse.yaml 。 |
"" |
|
在指定的端口和 |
表示您要指定的端口的整数。 | 0 |
|
指定在所有文件句柄间可用于缓冲读取的最大块数。 |
|
40 |
|
允许重命名包含的后代目录少于指定限制的目录。 | 介于 0 和 2147483647 之间的整数。 |
0 |
|
指定连续重试之间的指数退避算法的乘数。 | 浮点数。 | 2 |
|
指定是否重复使用从 --token-url 获取的令牌。 |
布尔值:true 、false 。 |
true |
|
指定要从 Cloud Storage 下载的数据的区块大小,以兆字节 (MB) 为单位。 | 介于 1 和 1024 之间的整数。 |
200 |
|
指定统计信息缓存可以包含的条目数。此 gcsfuse 选项已被 --stat-cache-max-size-mb gcsfuse 选项取代。 |
整数 | 4096 |
|
统计信息缓存可以使用的内存大小上限(以 MiB 为单位)。统计信息缓存始终完全保留在内存中。 |
|
32 |
|
指定缓存 StatObject 结果和 inode 属性的时长。此选项已被 --metadata-cache-ttl-secs gcsfuse 选项取代。 |
时长,例如:20s (20 秒)。 |
60s |
|
指定在上传到 Cloud Storage 之前用于暂存写入数据的临时目录的路径。 | 路径,例如:/mnt/ssd/example-user-gcsfuse-temp-dir 。 |
|
|
指定不存在 --key-file 时用于获取访问令牌的网址。 |
网址。 | "" |
|
指定缓存目录 inode 中的名称与文件或目录之间的映射的时长(以秒为单位)。此 gcsfuse 选项已被 --metadata-cache-ttl-secs gcsfuse 选项取代。 |
时长(以秒为单位),例如:20s (20 秒)。 |
60s |
|
类型缓存可以使用的每个目录的大小上限(以 MiB 为单位)。 类型缓存始终完全保留在内存中。 |
|
4 |
|
指定所有 inode 的用户标识符 (UID) 所有者。 |
|
-1 |
|
指定可用于跨所有文件进行流式写入的数据块数量上限。默认情况下,每个文件使用一个 32 MiB 数据块。 |
|
|