我把所有文件都存储在我的私人服务器上(DSL 线路,/28 网络,但速度仍然很慢,尤其是 512kBit 的上行)。这对于我较小的文件、所有电子邮件、Zarafa 等来说效果很好。
但对于较大的文件(尤其是照片),它太慢了。此外,我想与家人分享照片。在局域网中,这已经通过 Samba 实现了,每个用户都有不同的用户(LDAP)。
为了加快互联网访问速度,我有一个连接速度很快但空间不大(10GB)的虚拟服务器。
如果这可以用来加速从互联网访问文件的速度就太好了。
一个计划是通过 OpenVPN 隧道通过 Samba/NFS 访问文件,添加一些缓存,然后在 vServer 上使用 ownCloud 或 WebDAV。
缓存系统需要支持:
1.) 将所有访问的文件存储在缓存中(10GB),如果存在则从缓存中获取。可以/应该先进行一个小的元请求,以检查主服务器上的文件是否发生变化(仅修改日期)
2.) 写入的文件应存储到缓存中(速度很快),并在主服务器上按顺序更新。当打开文件进行写入时,该文件可能会在主服务器上被锁定,以避免冲突
3.) 缓存应始终保持满载 (10GB),并且在重新启动/断开连接后仍能继续使用。当需要新空间时,应使用 LRU 或 NRU 等方法从缓存中删除旧条目。
我很难想象这个问题没有解决办法——但我找不到。有什么办法可以解决这个问题吗?
答案1
尝试使用 cachefilesd 和 fs-cache。我没有使用过它们,但它们的描述符合您的要求。
答案2
DropBox、Google Drive、SugarSync 等云存储系统可以满足您的大部分需求,具体取决于文件的数量和大小。棘手的是如何处理锁定/冲突。