問題タブ [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.

0 投票する
7 に答える
16431 参照

linux - gcsfuse 入出力エラー

Linux (Ubuntu 15.10) ディレクトリにマウントされた Google クラウド ストレージ バケットにディレクトリまたはファイルを作成しようとすると、入出力エラーが発生します。

私が行った手順:

  • 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 して、ローカル ストレージではなく Google ストレージ バケットに保存できるようにすることです。

更新 デバッグ情報を取得するようにコマンドを変更しました。

次にmkdir /mnt/backups/testtransferユーザーとして実行しました。

以下のベダグ情報が出てきました。

注: Web コンソールでディレクトリを作成すると、ディレクトリが正常に表示されます。

0 投票する
1 に答える
1278 参照

git - ファイル共有またはマウントされたフォルダーと一緒に Jupyter を使用する

jupyter サービスと他のサービス (Google Cloud Storage または git リポジトリ) の間でノートブックを同期するにはどうすればよいですか?

この質問の背景:

現在、Google の Datalab から独自のコンテナに移行中です。私の動機は、現在の Tensorflow バージョンを使用したいので、データ リージョン (Datalab ベータ版は米国でのみ提供) とパッケージをより詳細に制御することです。

Google のアイデア ( github を参照) に基づいて、独自の Docker イメージを構築し、それを Google コンテナー エンジンの Kubernetes クラスターで実行します。以前に説明したようにGCP パッケージをインストールできます。Google はnode.js サーバーを使用して GITを datalab インスタンスと同期します。

2 回目の試行はGCSFuse ドライバーでした。これは、Kubernetes v1.0 および Google Container Engine の時点で、非特権コンテナーでは機能しません。だから完全停止。

私の Docker ファイル (Google の GCE Datalab イメージに基づく):

0 投票する
1 に答える
1409 参照

google-cloud-storage - Google Cloud Storage FUSE - gcsfuse を使用するとローカル インスタンス メモリがいっぱいになる

数週間 gcsfuse (FUSE) を使用していますが、インスタンス ディスク (10GB) がどこからともなくいっぱいになるまで、すべてがスムーズに実行されていました。

原因を特定していくつかの一時ファイルを消去しようとしていたところ、バケットをアンマウントすると問題が解決することがわかりました。

クラウドにアップロードするはずですよね?では、ローカル インスタンス スペースとしてカウントされているかのようにスペースを占有しているのはなぜでしょうか?

助けてくれてありがとう。

0 投票する
3 に答える
9339 参照

google-cloud-storage - バケット ストレージにフォルダが表示されない

したがって、私の問題は、マウント時にいくつかのファイルが gcsfuse に表示されないことです。それらはオンライン コンソールに表示され、gsutils で「ls」すると表示されます。また、バケットにフォルダを手動で作成すると、その中のファイルが表示されますが、最初に作成する必要があります。助言がありますか?

gs://mybucket/ dir1/ ok.txt dir2 lafu.txt

mybucket を gcsfuse でマウントして「ls」を実行すると、dir1/ok.txt のみが返されます。次に、マウント ポイントのルートにある dir1 内にフォルダー dir2 を作成すると、突然「lafu.txt」が表示されます。

0 投票する
1 に答える
404 参照

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');Apache を返します

これは gcsfuse またはこれに類似したものでマウントするための一般的な使用法であると想定しましたが、この問題を抱えているのはインターネット上で私だけのようです。マウント方法の問題なのか、httpdのサービスセキュリティの問題なのかわかりません。

0 投票する
1 に答える
560 参照

gcsfuse - gcsfuse でマウントされたバケットを同じマシン上の他のユーザーと共有する

数時間から取り組んでいますが、うまくいきません。

実行中のインスタンスに既存の GCS バケット (my-bucket) を正常にマウントしました。my_user を使用して、マウントされたバケットからファイルを一覧表示およびコピーできます。同じマシン上の別のユーザーが、マウントされた同じバケットからファイルを一覧表示してコピーする必要がありますが、「権限が拒否されました」というエラー メッセージが表示されます。

ここでアクセス許可のセクションを読みました。だから私は次のようにしてみました:

  1. 「bucket-users」という名前のグループを作成しました: sudo groupadd bucket-users
  2. 既存のユーザーを追加: sudo useradd -G bucket-users user_name
  3. --gid オプションを使用してバケットをマウントしました: gcsfuse --gid 1008 my-bucket /mnt/my-bucket
  4. 正常にマウントされました:

$ ls -ltr $ drwxr-xr-x 1 my_user bucket-users 0 Sep 16 09:11 my-bucket

結果: 私はバケットで作業できますが、グループ「bucket-users」の他のユーザーは作業できません。

ここでどこが間違っていますか?

ありがとう!