Questions tagged «cloud»


3
如何透明地缓存任何目录或装入的文件系统以进行读取和回写?
假设我使用的FUSE客户端挂载了一些云存储(在我的情况下为Amazon Cloud Drive)/mnt/cloud。但是,由于直接读写文件的/mnt/cloud速度很慢,因为它必须通过Internet进行传输,因此我想缓存正在读取并写入云存储的文件。由于我可能一次写入大量数据,因此缓存应位于磁盘上而不是RAM中。但是我不想在磁盘上复制整个云存储,因为磁盘可能太小。 因此,我想将缓存视图装入/mnt/cloud挂载在/mnt/cloud_cache,该视图使用另一条路径,例如/var/cache/cloud作为缓存位置。 如果我现在阅读/mnt/cloud_cache/file,我希望发生以下情况: 检查是否file在缓存/var/cache/cloud/file。 如果已缓存:file通过从中获取modtime和/或校验和,来检入缓存是最新的/mnt/cloud。如果是最新版本,请从缓存中提供文件,否则转到2。 如果未缓存或缓存已过期:复制/mnt/cloud/file到/var/cache/cloud/file缓存并从缓存中提供。 当我写信给时/mnt/cloud_cache/file,我希望发生这种情况: 写入/var/cache/cloud/file并记录在file需要回写的日记中/mnt/cloud 等待写入/var/cache/cloud/file完成和/或之前的回写操作/mnt/cloud完成 复制/var/cache/cloud/file到/mnt/cloud 我有以下要求和约束: 免费和开源 能够将缓存设置为任意缓存位置 能够缓存任意位置(可能是一些FUSE挂载点) 透明缓存,即使用/mnt/cloud_cache对缓存机制是透明的,并且像任何其他已挂载文件系统一样工作 记录需要回写的内容(缓存可能会在几天内将很多数据需要回写到原始存储位置) 自动删除已写回或一段时间未访问的缓存文件 一致性(即反映对的外部更改/mnt/cloud)并不是非常重要,因为我一次可能只有一个客户端访问/mnt/cloud,但是拥有它会很好。 我花了很多时间寻找现有的解决方案,但还没有找到令人满意的解决方案。 FS-Cache和CacheFS(https://www.kernel.org/doc/Documentation/filesystems/caching/fscache.txt)似乎仅适用于nfs或afs文件系统,我不知道如何使它缓存另一个FUSE文件系统或任何常规目录。 bcache(https://bcache.evilpiepirate.org/)似乎仅适用于块设备,即无法缓存另一个FUSE文件系统 gcsfuse(https://github.com/GoogleCloudPlatform/gcsfuse)我认为这完全符合我的要求,但已与Google Cloud Storage集成在一起。为了使其正常工作,我将不得不对其进行破解,并将对GCS的所有访问更改为给定安装点中的本地文件访问或对Amazon Cloud Drive的访问。
22 cache  fuse  cloud 

3
Box.com云的davfs安装时rsync mkstemp失败无效参数(22)
根据这些说明,我使用davfs安装了Box.com云存储。我将Box.com帐户安装在/ home / me / Cloud / Box下 我可以通过Dolphin以及通过终端访问已挂载的文件系统。这有点慢,但是我可以列出(ls)并浏览整个目录结构,而不会出现错误。 接下来,我尝试如下运行rsync: rsync -auvz --max-size=250M --exclude '.*' /home/me/Music/ /home/me/Cloud/Box/Music 我也尝试过: rsync -auv /home/me/Music/A /home/me/Cloud/Box/Music 和rsync命令的其他变体。该命令是通过davfs挂载将我的音乐从本地文件系统(/ home / me / Music /)复制到Box云(/ home / me / Cloud / Box / Music)。 我总是会收到很多这种形式的错误: rsync: mkstemp <filename> failed: Invalid argument (22) 一个具体的例子是: rsync: mkstemp "/home/me/Cloud/Box/Music/VariousArtists/.01_Track_1.mp3.YVmFI9" …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.