美文网首页
OShomework6

OShomework6

作者: ZoltanJin | 来源:发表于2018-04-24 17:24 被阅读0次

    Btrfs 架构

    微信截图_20180424165837.png 微信截图_20180424165852.png

    和许多其他 fs 一样,Btrfs 的第一部分是一块 header,存储一些 metadata。

    Btrfs 的整个架构是一个 B-tree,其中非叶子节点只包含 [ key,block pointer ] 的数据对。叶子节点储存着固定长度的 items 和这些 items 对应的数据的储存位置信息。

    Btrfs 中仍然有 inode 和 extent 的概念。

    Btrfs 特性

    • 可扩展性(scalability)

      Btrfs 中所有元数据都以 B-Tree 的结构组织。相比 ex2/ex3 中的线性表格,B-Tree 的好处查找、插入、删除的操作都比较高效。

      Btrfs 和 ex4 一样,以 extent 的形式储存文件,对于夸多个 block 的大文件是很好的优化。

      Btrfs 支持动态 inode 分配。 ext2 中对于最大文件数量是有限制的(磁盘总空间/8192),但在 Btrfs 中每个 inode 是 B-Tree 中的一个节点,用户可以无限制地插入新的 inode,无个数限制。

    • 数据一致性

      Btrfs 支持事务粒度地 COW。

      Btrfs 采用单独地 checksum tree 来做数据校验。读写数据和 check 工作分别用不同地内核线程并行执行,不会拖慢性能。

    • 多设备管理特性

      Btrfs 引入了 subvolume 的概念,把文件系统分为多个相对完整的子系统。所以 Btrfs 可以支持动态添加设备。

    Btrfs 的劣势

    • 由于结构是 B-Tree,当一个非叶子节点出现错误之后就会影响到其所有的子树,会丧失大量数据。
    • 因为 COW、快照、checksum 等功能的支持,总体性能偏慢。

    相关文章

      网友评论

          本文标题:OShomework6

          本文链接:https://www.haomeiwen.com/subject/iwbjlftx.html