我想通过 gcsfuse 将大型二进制文件(mongodump bson 文件)存储在安装在 Google Compute 实例上的 Google Cloud Storage 存储桶中。一切运行良好,只是每次我写入文件时,fuse 都会将每个文件复制到临时文件夹中。我的用例是在 GCS 上存储最多 4TB 的文件以降低我们的存储成本,但如果我必须保留一个足够大的磁盘来存储临时文件,GCS 不会降低我的成本,因为我必须保留两种存储(磁盘和 GCS)。
有没有办法将大文件写入已挂载的 GCS 存储桶,而无需在 GC 实例上使用所有临时空间?
答案1
这是一种实现相同结果但无需挂载 GCS bucket 的方法。只需使用 gsutil 的流式上传功能将 mongodump 的输出直接导入到 bucket 中:
mongodump -d DBNAME -c COLLECTIONNAME --out - | gsutil cp - gs://cold-backups/daily/COLLECTIONNAME.bson