Storage Container Manager
Storage Container Manager (SCM) 为 Ozone 集群提供了多项关键功能,承担了集群管理器、证书颁发机构、块管理器以及复制管理器的角色。
SCM 作为块管理器,负责将块分配给相应的数据节点,客户端可以直接读写这些块;
SCM 负责跟踪所有块的副本,当有数据节点或磁盘掉线,SCM 侦测到后,会启动相应的数据节点复制缺失的块,以确保高可用;
针对 Storage Container Manager 的详细视图,本节提供有关网络服务和持久化数据的快速概述。
- 管道: 列出/删除/激活/停用
- SCM 负责划分 Raft group
- 容器: 创建/列出/删除容器
- 管控相关的请求
- 安全模式的状态查看/修改
- 复制管理器的启动/停止
- 证书鉴权服务
- 其他服务组件所需
- 数据节点的心跳协议
- 从数据节点到 SCM(默认是30秒)
- SCM 可以添加命令到心跳回包中
注意:客户端不能直接连接 SCM 。
持久化状态
- 管道
- 服务器的复制组,维护以用于查找新容器或块分配的组
- 容器
- 容器是基本的复制单元,数据用于防止复制不足或过度复制。
- 删除块
- 块数据在后台删除时,需要一个列表来跟踪进度
- 有效证书,失效证书
- 由内部证书颁发机构来授权其他 Ozone 服务