做网站编辑累吗,平台推广策划,销售渠道建设网站,网站建设手机站文件条带化
以下文本描述了 Ceph 文件系统客户端中的文件是如何 存储在 RADOS 中的对象之间。
CEPH_FILE_LAYOUT
Ceph 将给定文件的数据分布#xff08;条带化#xff09;到多个 的基础对象。文件数据映射到这些对象的方式 由ceph_file_layout结构定义。数据分布 是修改后…文件条带化
以下文本描述了 Ceph 文件系统客户端中的文件是如何 存储在 RADOS 中的对象之间。
CEPH_FILE_LAYOUT
Ceph 将给定文件的数据分布条带化到多个 的基础对象。文件数据映射到这些对象的方式 由ceph_file_layout结构定义。数据分布 是修改后的 RAID 0其中数据在一组对象上条带化 设置为每个文件固定大小此时另一组对象 保存文件的数据。第二组也不超过 固定的数据量然后使用另一组数据依此类推。
定义一些术语将大大有助于解释 文件数据在 Ceph 对象中的布局方式。 文件 连续数据的集合从 Ceph 客户端即使用 Ceph 的 Linux 系统上的文件 存储。文件的数据分为固定大小 “条带单元”存储在 Ceph 的“对象”中。 条带单元 RAID 0 中使用的数据块的大小以字节为单位 文件的分发。文件的所有条带单位都相等 大小。最后一个条带单元通常是不完整的即 表示文件末尾的数据以及未使用的数据 超出它的“空间”直到固定条带单元大小的末尾。 条带计数 构成 RAID 0 的连续条带单元数 文件数据的“条带化”。 条纹 连续的文件数据范围RAID 0 条带化“条带化” 计数“固定大小的”条带单元“块中的对象。 对象 由 Ceph 存储维护的数据集合。对象是 用于保存部分 Ceph 客户端文件。 对象集 一组对象它们共同表示 一个文件。
ceph_file_layout结构中的三个字段定义了此映射 u32 fl_stripe_unit;
u32 fl_stripe_count;
u32 fl_object_size;__le32它们实际上是以磁盘格式维护的。
前两个字段的作用应该从 上面的定义。
第三个字段是用于 返回文件数据。对象大小是条带单位的倍数。
文件的数据被阻止为条带单元和连续条带 单位存储在对象集中的对象上。对象数 在集合中与条带计数相同。没有对象存储文件 数据将超过文件指定的对象大小因此在一些 固定数量的完整条带使用新的对象集来存储 后续文件数据。
请注意默认情况下Ceph 使用简单的条带化策略其中 object_size 等于 stripe_unitstripe_count 是 1。这很简单 在每个对象中放置一个stripe_unit。
下面是一个更复杂的示例 file size 1 trillion 1000000000000 bytesfl_stripe_unit 64KB 65536 bytes
fl_stripe_count 5 stripe units per stripe
fl_object_size 64GB 68719476736 bytes这意味着 file stripe size 64KB * 5 320KB 327680 bytes
each object holds 64GB / 64KB 1048576 stripe units
file object set size 64GB * 5 320GB 343597383680 bytes(also 1048576 stripe units * 327680 bytes per stripe unit)所以文件的 1 万亿字节可以划分为完整的对象 集合然后是完整的条带然后是完整的条带单元最后是 单个不完整的条带单元 - 1 trillion bytes / 320GB per object set 2 complete object sets(with 312805232640 bytes remaining)
- 312805232640 bytes / 320KB per stripe 954605 complete stripes(with 266240 bytes remaining)
- 266240 bytes / 64KB per stripe unit 4 complete stripe units(with 4096 bytes remaining)
- and the final incomplete stripe unit holds those 4096 bytes.下面的 ASCII 艺术试图捕捉到这一点 _________ _________ _________ _________ _________/object 0\ /object 1\ /object 2\ /object 3\ /object 4\ | stripe | | stripe | | stripe | | stripe | | stripe |
o | unit | | unit | | unit | | unit | | unit | stripe 0
b | 0 | | 1 | | 2 | | 3 | | 4 |
j |---------| |---------| |---------| |---------| |---------|
e | stripe | | stripe | | stripe | | stripe | | stripe |
c | unit | | unit | | unit | | unit | | unit | stripe 1
t | 5 | | 6 | | 7 | | 8 | | 9 ||---------| |---------| |---------| |---------| |---------|
s | . | | . | | . | | . | | . |
e . . . . .
t | . | | . | | . | | . | | . ||---------| |---------| |---------| |---------| |---------|
0 | stripe | | stripe | | stripe | | stripe | | stripe | stripe| unit | | unit | | unit | | unit | | unit | 1048575| 5242875 | | 5242876 | | 5242877 | | 5242878 | | 5242879 |\/ \/ \/ \/ \/_________ _________ _________ _________ _________/object 5\ /object 6\ /object 7\ /object 8\ /object 9\ | stripe | | stripe | | stripe | | stripe | | stripe | stripe
o | unit | | unit | | unit | | unit | | unit | 1048576
b | 5242880 | | 5242881 | | 5242882 | | 5242883 | | 5242884 |
j |---------| |---------| |---------| |---------| |---------|
e | stripe | | stripe | | stripe | | stripe | | stripe | stripe
c | unit | | unit | | unit | | unit | | unit | 1048577
t | 5242885 | | 5242886 | | 5242887 | | 5242888 | | 5242889 ||---------| |---------| |---------| |---------| |---------|
s | . | | . | | . | | . | | . |
e . . . . .
t | . | | . | | . | | . | | . ||---------| |---------| |---------| |---------| |---------|
1 | stripe | | stripe | | stripe | | stripe | | stripe | stripe| unit | | unit | | unit | | unit | | unit | 2097151| 10485755| | 10485756| | 10485757| | 10485758| | 10485759|\/ \/ \/ \/ \/_________ _________ _________ _________ _________/object 10\ /object 11\ /object 12\ /object 13\ /object 14\ | stripe | | stripe | | stripe | | stripe | | stripe | stripe
o | unit | | unit | | unit | | unit | | unit | 2097152
b | 10485760| | 10485761| | 10485762| | 10485763| | 10485764|
j |---------| |---------| |---------| |---------| |---------|
e | stripe | | stripe | | stripe | | stripe | | stripe | stripe
c | unit | | unit | | unit | | unit | | unit | 2097153
t | 10485765| | 10485766| | 10485767| | 10485768| | 10485769||---------| |---------| |---------| |---------| |---------|
s | . | | . | | . | | . | | . |
e . . . . .
t | . | | . | | . | | . | | . ||---------| |---------| |---------| |---------| |---------|
2 | stripe | | stripe | | stripe | | stripe | | stripe | stripe| unit | | unit | | unit | | unit | | unit | 3051756| 15258780| | 15258781| | 15258782| | 15258783| | 15258784||---------| |---------| |---------| |---------| |---------|| stripe | | stripe | | stripe | | stripe | | (partial| (partial| unit | | unit | | unit | | unit | | stripe | stripe| 15258785| | 15258786| | 15258787| | 15258788| | unit) | 3051757)\/ \/ \/ \/ \/