leofs-storage(二)

来源:互联网 发布:linux 修改网络地址 编辑:程序博客网 时间:2024/06/06 12:57

leofs 存储组成

leofs 存储是由对象和元数据存储组成。此外,它包括复制器和修复程序,以实现最终的一致性。

在写操作的情况下,leofs 存储接受来自leofs Gateway 的请求,然后自动将对象复制到leofs 存储集群中。最后,leofs 存储确认存储对象是否满足一致性规则或NOT
另一方面,在读操作的情况下,leofs 网关请求leofs 存储节点。然后leofs 存储节点将一个对象发送给网关,此外,leofs 存储节点检查对象与异步处理的一致性。
如果leofs 存储节点发现对象的不一致,则它将后端进程恢复,该对象最终与其功能保持一致。

数据组成

LeoFS的对象由3层构成,即元数据,针和对象容器。对象存储管理并存储合并为针的对象和元数据。元数据存储管理和存储包括文件名,大小,校验和等的对象的属性。 这取决于bitcask或leveldb。对象容器是一种日志结构化文件格式。这种格式是强大而高性能的,因为本地文件系统的效果只是一小部分。LeoFS存储是GC必需的 - 压缩机制,以便从对象容器中删除不必要的对象。

leofs 大文件的支持

Leofs 支持处理大文件从0.12 版本开始,此功能目的是2件事:
1. 平台每个leofs storage 节点的磁盘使用情况
2. 实现高 I/O 效率和高可用行

    在写入的情况下,大文件在leofs 网关处被划分为多个对象,则他们与小文件处理类似,被复制到leofs  存储集群中,而且,默认组块大小是5兆bytes ,其值可以更改自定义分块对象大小。    大文件在读的情况下,首先,leofs 网关从客户端检索请求的对象的元数据,然后,如果它是一个大文件,leofs  网关将从leofs 存储集群中按块对象编号的顺序检索分块对象。最后,leofs 网关将对象反馈给客户端。

大文件读写图