Ceph学习之路-fragment理解

    技术2023-09-17  103

    1、frag(目录树关系)

    ceph对目录树的管理,采用类似ip+掩码方式管理;

    IP和子网掩码关系

    ip地址被掩码分为网段和子网,同一个网段下的ip都属于该网段管理的ip,其可以相互通信。

    一个网段,是由一个固定前缀的IP加网段偏移offset组成,表示为(ip/offset,如192.168.1.1/16,掩码为255.255.0.0),通过偏移位就可以确定该网段的掩码(偏移位表示从32位二进制高位开始有多少个1,其余补0,如16就是1111111111111111/000000000)。

    如何确定一个ip是否属于某个网段?只需要拿某网段的掩码和某ip做与操作,结果是否等于某网段的值即可。

    ceph目录树关系

     通过掩码和ip值,就可以确定某ip归属于哪个网段。同理,ceph对父目录和子目录的管理,也采用类似方案。

      每个目录都有其对应的frag_t结构体,包含有frag值(32bits),该值前8位表示bits(类似子网划分的offset),后24位表示目录value(类似ip)。

      当一个目录的frag值确定时,其目录层级关系也确定了。从而实现目录树的关系描述。

      当一个目录A,要确定是否属于B的子目录时,目录A只需要取其value,与B的掩码(由B的value+bites计算出来)做“与”操作,其结果如果等于B的value值,则表示是其子目录,否则就不是。

    Processed: 0.008, SQL: 9