在Google Cloud上,我有一个Linux计算引擎和一个存储桶。我已经使用gcsfuse将桶作为驱动器安装到CE - 正如Google推荐的那样 - 并且我不时地将一个大的7zip存档(数十GB)上传到存储桶。当我登录CE的终端时,转到已安装的存储桶文件夹并尝试使用以下命令解压缩文件(在同一位置):7z x myarchive.7z
它将文件解压缩到100%(这需要几分钟),然后在结束它将失败:
ERROR: E_FAIL
Archives with Errors: 1
之后,如果我查看存储桶的内容,则存在解压缩的文件名,但它具有0 KB。
据我所知,E_FAIL
通常与空间不足有关,但谷歌桶应该有无限的空间(限制单个文件大小)。例如,命令df -h
表示安装的存储桶应该有1 PB的可用存储空间。
那里的人有类似的设置/问题吗?
正如注释中所建议的那样,解压缩过程可能需要对本地文件系统进行一些特定操作,即使您从挂载目录发出命令也是如此。
实际上,由于GCS-fuse安装的文件系统不是传统的FS,因此某些操作可能需要传输到本地磁盘(例如,see the docs就是随机写入的情况):
随机写入是通过读取整个blob,在本地编辑并将整个修改后的blob写回云存储来完成的。对大文件的小写操作按预期工作,但速度慢且成本高。
要确保解压缩过程具有足够的可用大小,并假设可能在此过程中创建临时文件,则应增加本地磁盘的容量。