复制
存储容器
登录后可跨设备保存划线和私人笔记登录
存储容器(Storage Container,简称 Container,注意不要与 Docker 容器混淆)是 Ozone 的基本复制单元,由存储容器管理器(Storage Container Manager,SCM)服务进行管理。
容器是大型二进制单元(默认 5GB),其中可以包含多个块:

块属于本地信息,不由 SCM 管理。因此,即使系统中创建了数十亿个小文件(这意味着会产生数十亿个块),数据节点(Datanode)也只会报告容器的状态,复制操作也只针对容器进行。当 Ozone Manager 向 SCM 请求分配新的块时,SCM 会确定合适的容器,并生成一个包含 ContainerId + LocalId 的块 ID。客户端将连接到存储该容器的数据节点,数据节点可以基于 LocalId 来管理各个独立的块。
OPEN 与 CLOSED 容器
容器创建时处于 OPEN 状态。当容器写满(约写入 5GB 数据)后,容器将被关闭,成为 CLOSED 容器。
OPEN 与 CLOSED 容器的根本区别:
| OPEN | CLOSED |
|---|---|
| 可变 | 不可变 |
| 使用 RAFT(Ratis)复制 | 使用异步容器复制 |
| 读写操作使用 Raft 主节点 | 所有节点都可用于读取 |
评论
登录后参与评论
正在加载评论…
KnowForge