帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:  存储  google cloud  SYS  文件  系统  云存储  USE  
A user-space file system for interacting with Google Cloud Storage

  • 源代码名称:gcsfuse
  • 源代码网址:http://www.github.com/GoogleCloudPlatform/gcsfuse
  • gcsfuse源代码文档
  • gcsfuse源代码下载
  • Git URL:
    git://www.github.com/GoogleCloudPlatform/gcsfuse.git
  • Git Clone代码到本地:
    git clone http://www.github.com/GoogleCloudPlatform/gcsfuse
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/GoogleCloudPlatform/gcsfuse
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • gcsfuse是一个用户空间文件系统,用于与云存储系统交互。

    当前状态

    请将gcsfuse视为测试版软件。 使用它,但要注意 Bug 可以能潜伏,并且我们保留了使小向后不兼容的更改的权利。

    谨慎的用户应该确保读取 semantics.md 了解gcsfuse如何将文件系统操作映射到GCS操作,尤其是对于令人惊讶的行为。 开放问题列表的列表可能也是有趣的。

    安装

    有关Linux和 Mac OS X的完整安装说明,请参阅 installing.md

    安装

    先决条件

    • 在调用gcsfuse之前,必须有一个要挂载的scp桶。 如果你的bucket还不存在,请使用 Google Developers Console 创建一个。

    调用 gcsfuse

    要在现有目录 /path/to/mount 上使用gcsfuse挂载 bucket,请像这样调用它:

    gcsfuse my-bucket/path/to/mount

    重要: 你应该以使用文件系统的用户身份运行 gcsfuse,而不是 root 。 不使用 sudo

    gcsfuse工具将在挂载文件系统后成功退出。 在操作系统上,为fuse文件系统卸载通常的方法:

    umount/path/to/mount # OS X
    fusermount -u/path/to/mount # Linux

    如果你正在安装用它的他方法填充对象的桶,除了gcsfuse之外,你可以能对 --implicit-dirs 标志感兴趣。 有关更多信息,请参见 semantics.md 中的注释。

    有关更多细节,请参见 mounting.md,包括在前台运行的注释和fstab兼容性。

    性能

    实时延迟和 rsync

    从GCS写入文件和读取文件的延迟比使用本地文件系统要高得多。 如果你一次阅读或者写入一个小文件,这可以能会导致你获得低吞吐量或者从ics获取。 如果需要高吞吐量,你需要使用较大的文件来平滑的延迟或者读/写多个文件。

    特别注意,这严重影响 rsync,它一次只读取和写入一个文件。 你可以尝试使用 gsutil -m rsync 将多个文件并行地传输到你的存储桶,而不是使用gcsfuse进行普通 rsync

    速率限制

    要想限制流量到gcsfuse的流量限制,你可以这样做,以便为你的费用设置限制,你可以:

    • 标志 --limit-ops-per-sec 控制gcsfuse将请求发送到GCS的速率。
    • 标志 --limit-bytes-per-sec 控制从gcsfuse到的输出带宽。

    所有速率限制都是近似的,并且在 8-hour 窗口上执行。 默认情况下,请求限制为 5秒。 默认情况下没有适用于带宽的限制。

    的往返行程

    默认情况下,gcsfuse使用两种缓存形式来保存到GCS的往返访问,以一致性保证为代价。 这些缓存行为可以通过标志 --stat-cache-ttl--type-cache-ttl 来控制。 有关更多信息,请参见 semantics.md

    超时超时

    如果你使用的是 macOS FUSE,请注意,默认情况下,只有 60秒才能响应每个文件系统操作。 这意味着,如果写入并刷新大文件,上游带宽不足以在 60秒内写入 ics,gcsfuse文件系统可以能会响应。 这个行为可以使用 daemon_timeout 插件安装选项进行调整。 有关详细信息,请参阅问题 #196

    正在下载对象内容

    当一个新打开的文件首次被修改时,gcsfuse从GCS下载对象的整个备份内容。 内容存储在本地临时文件中,该临时文件的位置由标志 --temp-dir 控制。 稍后,当关闭或者关闭文件时,gcsfuse将本地文件的内容作为新的对象生成内容写入到 GCS 。

    未修改的文件按需读取部分内容。 gcsfuse使用一个启发式来检测文件在按顺序读取时,会发出更少的。更大的读取请求。

    这种结果是在读取或者写入整个大型文件时gcsfuse比较有效,但对于较大文件中的少量随机写入,并且在较小的随机读取范围内是 true的情况下不会特别快。 将大型文件复制到GCS时的性能与 gsutil ( 请参见问题 #22 测试注释) 类似。 由于本地临时文件中的数据暂停,因这里存在一些开销,如上所述。

    注意,新的和修改后的文件也在本地临时目录中完全分阶段,直到被关闭或者清除。 因此,用户必须确保在编写大型文件时有足够的可用空间来处理暂存内容。

    其他性能问题

    如果你注意到其他的性能不合理,请在文件中注明问题。

    # 支持

    gcsfuse是开源软件,发布在Apache许可。 它是分布式的,没有任何种类的担保或者条件。

    要获得支持,请访问服务器故障日志。 在你提问之前,用 gcsfusegoogle-cloud-platform 标记你的问题,并确保查看之前的问题和答案。 对于 Bug 和功能请求,请文件提供一个。

    版本控制

    根据语义版本分配gcsfuse版本号。 注意,当前主要版本是 0,这意味着我们保留向后不兼容更改的保留权。



    文章标签:文件  USE  SYS  系统  用户    spa  存储  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语