2016-06-07 128 views
0

我創建了一個GCS桶上https://console.cloud.google.com/storage/
併成功安裝在與gcsfuse一個實例, 然而,當我嘗試寫的安裝目錄下,它顯示了一個輸入/輸出錯誤。輸入/輸出錯誤寫入到谷歌雲存儲桶時

fuse_debug: Op 0x00000003  connection.go:395] <- LookUpInode (parent 1, name "test") 
gcs: Req    0x1: <- StatObject("test/") 
gcs: Req    0x2: <- StatObject("test") 
gcs: Req    0x1: -> StatObject("test/") (31.355698ms): gcs.NotFoundError: googleapi: Error 404: Not Found, notFound 
gcs: Req    0x2: -> StatObject("test") (51.589538ms): gcs.NotFoundError: googleapi: Error 404: Not Found, notFound 
fuse_debug: Op 0x00000003  connection.go:476] -> Error: "no such file or directory" 
fuse_debug: Op 0x00000004  connection.go:395] <- MkDir (parent 1, name "test") 
gcs: Req    0x3: <- CreateObject("test/") 
gcs: Req    0x3: -> CreateObject("test/") (13.513239ms): googleapi: Error 403: Insufficient Permission, insufficientPermissions 
fuse_debug: Op 0x00000004  connection.go:476] -> Error: "CreateChildDir: googleapi: Error 403: Insufficient Permission, insufficientPermissions" 
fuse: 2016/06/09 02:12:40.128885 *fuseops.MkDirOp error: CreateChildDir: googleapi: Error 403: Insufficient Permission, insufficientPermissions 

回答

1

--foreground --debug_fuse輸出中顯示您正在使用不允許寫入存儲桶的憑據。它們可能是隻讀的(StatObject沒有返回403,並且gcsfuse在啓動時檢查它可以列出存儲桶)。

嘗試給docs about credentials仔細閱讀。特別是,如果您在Google Compute Engine虛擬機上自動獲取憑證,則可能忘記使用storage-full範圍創建憑證。

+0

「gcloud身份驗證登錄」工作! –

1

請運行具有--foreground(也許--debug_fuse)gcsfuse得到的,當它發生的錯誤是什麼的一些跡象。

+0

我使用了這兩個選項,gcsfuse的輸出沒有錯誤,輸入/輸出錯誤只發生在我寫入新的掛載目錄時 –

+1

你確定嗎? '--debug_fuse'顯示對來自內核的每個請求的響應,並且應該指出哪些操作失敗並顯示錯誤消息。 (你也應該看到所有的成功操作。) – jacobsa

+0

我附加了所有的命令行,沒有其他的錯誤信息。 –