Storage Container Manager

    Storage Container Manager (SCM) 为 Ozone 集群提供了多项关键功能,承担了集群管理器、证书颁发机构、块管理器以及复制管理器的角色。

    1. SCM 作为块管理器,负责将块分配给相应的数据节点,客户端可以直接读写这些块;

    2. SCM 负责跟踪所有块的副本,当有数据节点或磁盘掉线,SCM 侦测到后,会启动相应的数据节点复制缺失的块,以确保高可用;

    针对 Storage Container Manager 的详细视图,本节提供有关网络服务和持久化数据的快速概述。

    • 管道: 列出/删除/激活/停用
      • SCM 负责划分 Raft group
    • 容器: 创建/列出/删除容器
    • 管控相关的请求
    • 安全模式的状态查看/修改
    • 复制管理器的启动/停止
    • 证书鉴权服务
    • 其他服务组件所需
    • 数据节点的心跳协议
      • 从数据节点到 SCM(默认是30秒)
      • SCM 可以添加命令到心跳回包中

    注意:客户端不能直接连接 SCM 。

    持久化状态

    • 管道
      • 服务器的复制组,维护以用于查找新容器或块分配的组
    • 容器
      • 容器是基本的复制单元,数据用于防止复制不足或过度复制。
    • 删除块
      • 块数据在后台删除时,需要一个列表来跟踪进度
    • 有效证书,失效证书
      • 由内部证书颁发机构来授权其他 Ozone 服务