问题标签 [gcsfuse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - gcsfuse 输入/输出错误
当我尝试在安装在 linux (Ubuntu 15.10) 目录上的谷歌云存储桶中创建目录或文件时,出现输入/输出错误。
我已经完成的步骤:
- 创建了一个名为 transfer 的用户
- 创建
/mnt/backups
目录并运行chown -R transfer /mnt/backups
- 随着用户转移,运行
gcsfuse --implicit-dir backup01-bucket /mnt/backups
. 文件系统挂载成功 - 运行
mkdir test
并得到错误mkdir: cannot create directory test: Input/output error
有什么我错过的吗?我想要做的是能够将文件 ftp 到服务器并将它们存储在谷歌存储桶而不是本地存储中。
更新 我修改了命令以获取一些调试信息:
然后mkdir /mnt/backups/test
以transfer
用户身份运行。
下面的bedug信息出来了:
注意:如果我在 Web 控制台中创建一个目录,我可以看到该目录正常。
google-cloud-platform - 如何使用 gcsfuse allow_other 选项?
我应该如何将 Google Cloud SSH 会话中的命令写入 Ubuntu 实例?我试过gcsfuse <bucket> <mount point> --allow_other
了,它给了我一个错误,即 gcsfuse 与两个参数完全一致。
git - 将 Jupyter 与文件共享或挂载文件夹一起使用
我们如何在 jupyter 服务和其他服务(谷歌云存储或 git 存储库)之间同步笔记本?
关于这个问题的一些背景:
目前,我正在从 Google 的 Datalab 迁移到我自己的容器。我的动机是更好地控制数据区域(Datalab Beta 仅在美国提供)和包,因为我想使用当前的 Tensorflow 版本。
根据 Google 的想法(见 github),我构建了自己的 Docker 镜像,并在 Google 容器引擎中的 Kubernetes 集群上运行它。GCP 包可以像我之前解释的那样安装。Google 使用node.js 服务器将 GIT与 datalab 实例同步 - 但是我无法在欧盟使用自行部署的容器运行它。
第二次尝试是GCSFuse 驱动程序。从 Kubernetes v1.0 和 Google Container Engine 开始,这不适用于非特权容器。所以句号。
我的 Docker 文件(基于 Google 的 GCE Datalab 图像):
google-cloud-storage - 写入谷歌云存储桶时输入/输出错误
我在https://console.cloud.google.com/storage/上创建了一个 gcs 存储桶,
并使用 gcsfuse 成功安装在一个实例上,但是,当我尝试写入安装的目录时,它显示输入/输出错误。
google-cloud-storage - Google Cloud Storage FUSE - 使用 gcsfuse 填满本地实例内存
我已经使用 gcsfuse (FUSE) 几个星期了,一切都运行顺利,直到我的实例磁盘 (10GB) 突然被填满。
我试图找出原因并删除一些临时文件,发现卸载存储桶解决了这个问题。
应该是上传到云端吧?那么为什么它占用空间就好像它被算作本地实例空间一样呢?
谢谢你们的帮助。
streaming - 从谷歌云存储访问数据并将其流式传输到谷歌云虚拟机上运行的软件的最快方法是什么
现在我正在谷歌云存储(GCS)上存储约 300Gb 的图像。我有在谷歌计算引擎 (GCE) 虚拟机 (VM) 上运行的软件,需要读取所有这些图像并按顺序处理它们。这些图像不需要加载到内存中,可以作为程序的输入流式传输。我很难找到一种有效的方法来做到这一点。
我努力了:
1)GCSfuse。使用 GCSfuse,我可以在我的 VM 上安装 gcs-bucket 并直接访问数据。起初这似乎很理想,但 I/O 速度非常慢。
2)GSutil。这允许我使用“gsutil cp gs://my-gcs-bucket/training_data/*.jpg - |”将数据流式传输到我的程序中。这比 GCSfuse 好得多,但仍然很慢。
我想我有两个主要问题。1) 访问存储在 GCS 存储桶中的数据并将其作为输入流式传输到 GCE VM 上的脚本的最快方法是什么?我需要每天这样做一次,但随着时间的推移,需求可能会增加。2)如果没有快速和聪明的方法来做到这一点,我在存储方面有什么选择?我应该使用不同的谷歌云产品吗?我想避免将所有数据直接加载到 VM 上。
谢谢!
google-cloud-storage - 文件夹未显示在存储桶存储中
所以我的问题是安装时有一些文件没有显示在 gcsfuse 中。我在在线控制台中看到它们,如果我使用 gsutils 'ls'。另外,如果我在存储桶中手动创建文件夹,我可以看到其中的文件,但我需要先创建它。有什么建议么?
gs://mybucket/
dir1/
ok.txt
dir2
lafu.txt
如果我用 gcsfuse 安装 mybucket 并执行“ls”,它只会返回 dir1/ok.txt。然后我将在挂载点的根目录下的 dir1 中创建文件夹 dir2,然后突然出现“lafu.txt”。
google-cloud-storage - 执行的 PHP 脚本无法访问 GCE 上的 GCS 安装驱动器
我可以使用下面的命令行挂载我的 Google Cloud Storage:
gcsfuse -o allow_other -file-mode=660 -dir-mode=770 --uid=<uid> --gid=<gid> testbucket /path/to/domain/folder
该组包括用户apache。Apache 能够像这样写入已安装的驱动器:
sudo -u apache echo 'Some Test Text' > /path/to/domain/folder/hello.txt
hello.txt按预期出现在存储桶中。但是,当我执行以下 php 脚本时,出现错误:
<?php file_put_contents('/path/to/domain/folder/hello.txt', 'Some Test Text');
PHP错误:无法打开流:权限被拒绝
echo exec('whoami');
返回阿帕奇
我认为这是使用 gcsfuse 或类似的东西进行安装的常见用途,但我似乎是互联网上唯一遇到此问题的人。我不知道这是我安装它的方式或httpd的服务安全性的问题。
apache - Apache Web 服务器作为文档根目录的 GCS Fuse 存储挂载问题
我正在尝试使用 fuse 工具作为我的 Web 服务器的 apache doucment 根安装谷歌云存储。云存储桶成功安装在我的 apache 文档根目录中,但是当我访问 index.html 之类的任何文件时,它显示 403 Forbidden。我也尝试了 apache 的 uid n gid 的挂载选项,但仍然面临同样的问题。
gcsfuse - 与同一台机器上的其他用户共享一个安装了 gcsfuse 的存储桶
几个小时以来我一直在研究它,但我无法让它工作。
我成功地在一个正在运行的实例上安装了一个现有的 GCS 存储桶(my-bucket)。我和 my_user 能够列出和复制挂载的存储桶中的文件。现在,同一台机器上的另一个用户需要从同一个挂载的存储桶中列出和复制文件,但他收到“权限被拒绝”错误消息。
我在这里阅读了访问权限部分。所以我尝试如下:
- 创建了一个名为“bucket-users”的组:sudo groupadd bucket-users
- 添加现有用户:sudo useradd -G bucket-users user_name
- 使用 --gid 选项安装存储桶: gcsfuse --gid 1008 my-bucket /mnt/my-bucket
- 挂载成功:
$ ls -ltr $ drwxr-xr-x 1 my_user bucket-users 0 Sep 16 09:11 my-bucket
结果:我可以在存储桶上工作,但“bucket-users”组中的其他用户不能。
我在哪里错了?
谢谢!