14

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 ストレージ バケットに保存できるようにすることです。

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

gcsfuse --implicit-dirs --foreground --debug_gcs --debug_fuse backup01-bucket /mnt/backups

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

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

fuse_debug: Op 0x00000060        connection.go:395] <- GetInodeAttributes (inode 1)
fuse_debug: Op 0x00000060        connection.go:474] -> OK
fuse_debug: Op 0x00000061        connection.go:395] <- LookUpInode (parent 1, name "test")
gcs: Req             0x3a: <- StatObject("test/")
gcs: Req             0x3b: <- ListObjects()
gcs: Req             0x3c: <- StatObject("test")
gcs: Req             0x3c: -> StatObject("test") (53.375107ms): gcs.NotFoundError: googleapi: Error 404: Not Found, notFound
gcs: Req             0x3b: -> ListObjects() (59.061271ms): OK
gcs: Req             0x3a: -> StatObject("test/") (71.666112ms): gcs.NotFoundError: googleapi: Error 404: Not Found, notFound
fuse_debug: Op 0x00000061        connection.go:476] -> Error: "no such file or directory"
fuse_debug: Op 0x00000062        connection.go:395] <- MkDir
gcs: Req             0x3d: <- CreateObject("test/")
gcs: Req             0x3d: -> CreateObject("test/") (22.090155ms): googleapi: Error 403: Insufficient Permission, insufficientPermissions
fuse_debug: Op 0x00000062        connection.go:476] -> Error: "CreateChildDir: googleapi: Error 403: Insufficient Permission, insufficientPermissions"
fuse: 2016/04/04 06:51:02.922866 *fuseops.MkDirOp error: CreateChildDir: googleapi: Error 403: Insufficient Permission, insufficientPermissions
2016/04/04 06:51:08.378100 Starting a garbage collection run.
gcs: Req             0x3e: <- ListObjects()
gcs: Req             0x3e: -> ListObjects() (54.901164ms): OK
2016/04/04 06:51:08.433405 Garbage collection succeeded after deleted 0 objects in 55.248203ms.

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

4

7 に答える 7

15

デバッグ出力のエラーから、Insufficient Permissiongcsfuse がバケットに対して十分な権限を持っていないようです。おそらく読み取り専用アクセスです。

gcsfuseの資格情報のドキュメントを必ずお読みください。特に、GCE VM でサービス アカウントを使用している場合は、VM にstorage-fullアクセス スコープを設定してください。

于 2016-04-05T10:43:32.730 に答える