ceph radosgw 物件定址和元資料組織
阿新 • • 發佈:2019-01-25
1. 物件定址
rgw物件定址的過程就是“拼接物件串“的過程,再結合bucket.pool就能對應到rados物件。
1.1 普通物件
1.2 multipart 物件
1.3 非multipart versioned物件
1.4 multipart versioned 物件
2. rgw元資料pool的作用
struct RGWZoneParams { rgw_bucket domain_root; // .rgw // bucket 元資料資訊 rgw_bucket control_pool; // .rgw.control // watch/notify cache rgw_bucket gc_pool; // .rgw.gc // 輔助gc rgw_bucket log_pool; // .log // op/meta/data rgw_bucket intent_log_pool; // .intent-log // 沒有用 rgw_bucket usage_log_pool; // .usage // 讀寫等統計資訊 rgw_bucket user_keys_pool; // .users.uid //儲存使用者AK和uid的對應關係 rgw_bucket user_email_pool; // .users.email //email 和 uid的對應關係 rgw_bucket user_swift_pool; // .users.swift // swift key和uid的對應關係 rgw_bucket user_uid_pool; // .users.uid // 使用者資訊和使用者建立的buckets }; // 每個placement 都要設定如下3中pool struct RGWZonePlacementInfo { string index_pool; // .rgw.buckets.index string data_pool; // dpool1 string data_extra_pool; // .rgw.buckets.extra // multiupload 臨時物件 } rgw region root pool // .rgw.root // zone/region(zonegroup) 資訊 rgw zone root pool // .rgw.root //// jewel版之後新增的 metadata_heap // .rgw.lc // lifecycle 資訊 life_cycle // .rgw.meta // metadata heap //metadata 資訊(bucket/user等)