开发者社区> 问答> 正文

在本地文件系统上构建存储后端其他难点有哪些?

在本地文件系统上构建存储后端其他难点有哪些?

展开
收起
kun坤 2020-04-23 19:49:56 561 0
1 条回答
写回答
取消 提交回答
  • 其他难点 很多公有云和私有云依赖像 Ceph 这样的分布式存储来提供存储服务,但如果没有对 IO 栈的完整控制,很难定义存储的延迟 SLO。其中一个原因是文件系统为基础的存储会使用系统的 page cache。为了提升用户体验,大部分系统都会设计基于 write-back 的 page cache,这样数据可以 buffer 在内存,当系统的 IO 很少,或者达到了预定的周期时间,就将 page cache 回写到磁盘。对于一个复杂系统,write-back 行为会受一些列复杂策略影响,导致不可预测。

    对 Ceph FileStore 来说,尽管有自己周期性的 fsync,但它无法避免 inode 元数据的 write-back,导致性能不稳定。

    再一个难点是基于文件系统的存储后端实现像 COW 这样的操作。如果后端文件系统是 COW 的,那么这些操作的实现会很高效。但是,他也有一些其他缺点,例如在 Btrfs 上会产生碎片。反过来如果文件系统不支持 COW,那么这些操作就需要成本很高的对对象完整复制,导致快照、EC 的覆盖写代价非常高昂。

    2020-04-23 19:50:19
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
十分钟上线-使用函数计算构建支付宝小程序服务 立即下载
机器学习在互联网后端技术中的应用 立即下载
实战-如何基于HBase构建图片视频数据的统一存储检索方案 立即下载