RGW池放置和儲存類(Octopus版本)

2022-10-11 15:06:14 字數 3354 閱讀 2499

1. 放置目標

放置目標控制哪些

池與特定桶。 儲存桶的放置目標是在建立時選擇的,不能修改的。radosgw-admin

bucket

stats命令將顯示其placement_rule.

2. 儲存類

nautilus 版本中的新功能。

儲存類用於自定義物件資料的放置。 s3 儲存桶生命週期規則可以自動化儲存類之間的物件轉換。

儲存類是根據放置目標定義的。每個區域組放置目標列出其可用的儲存類和初始類命名為standard. 區域配置負責提供乙個 每個區域組的儲存類的池名稱

data_pool

3. 區域組和區域配置

檢視放置配置:

$ radosgw-admin zonegroup get

],"default_placement": "default-placement",

...}

$ radosgw-admin zone get

},"data_extra_pool": "default.rgw.buckets.non-ec",

"index_type": 0}}

],...

}

3.1 新增放置目標

建立乙個名為temporary,首先將其新增到區域組:

$ radosgw-admin zonegroup placement add \

--rgw-zonegroup default \

--placement-id temporary

然後提供該目標的區域放置資訊:

$ radosgw-admin zone placement add \

--rgw-zone default \

--placement-id temporary \

--data-pool default.rgw.temporary.data \

--index-pool default.rgw.temporary.index \

--data-extra-pool default.rgw.temporary.non-ec

3.2 新增儲存類

新增乙個名為cold的新儲存類

default-placement目標, 首先將其新增到區域組:

$ radosgw-admin zonegroup placement add \

--rgw-zonegroup default \

--placement-id default-placement \

--storage-class cold

然後提供該儲存類的區域放置資訊:

$ radosgw-admin zone placement add \

--rgw-zone default \

--placement-id default-placement \

--storage-class cold \

--data-pool default.rgw.cold.data \

--compression lz4

4. 自定義放置

4.1 預設位置

預設情況下,新儲存桶將使用 zonegroup 的default_placement目標。 可以通過以下方式更改此區域組設定:

$ radosgw-admin zonegroup placement default \

--rgw-zonegroup default \

--placement-id new-placement

4.2 使用者布局

ceph 物件閘道器使用者可以通過設定非空目標

使用者資訊中的default_placement字段覆蓋區域組的預設位置

。 同樣,default_storage_class可以覆蓋

預設情況下應用於物件的standard儲存類。

$ radosgw-admin user info --uid testid

如果區域組的放置目標包含任何 ,使用者將無法使用該放置目標建立儲存桶,除非它們的使用者資訊在其placement_tags包含至少有乙個匹配的標籤

。 這在限制對某些型別的儲存的訪問時可能很有用。

radosgw-admin命令可以直接修改這些字段:

$ radosgw-admin user modify \

--uid \

--placement-id \

--storage-class \

--tags

5. s3儲存桶放置

使用 s3 協議建立儲存桶時,放置目標可以是來自使用者和區域組的目標作為 locationconstraint 的一部分提供以覆蓋預設位置。

通常,locationconstraint 必須與 zonegroup 的api_name:

default

可以將自定義放置目標新增到api_name冒號後:

default:new-placement

6. swift放置桶

使用 swift 協議建立儲存桶時,放置目標可以是 在 http 標頭中提供x-storage-policy:

x-storage-policy: new-placement

7. 使用儲存類

所有放置位置目標都有乙個

適用於新物件預設為standard

的儲存類。使用者可以用default_storage_class覆蓋這個預設值。

要在非預設儲存類中建立物件,請提供請求的 http 標頭中該儲存類的名稱。 s3 協議使用x-amz-storage-class標頭,而 swift 協議使用x-object-storage-class標頭。

然後可以使用 s3 物件生命週期管理使用transition在儲存類之間移動物件資料。

String類和常量池

1.全域性字串常量池 string pool 全域性字串常量池中存放的內容是在類載入完成後存到string pool中的,在每個vm中只有乙份,存放的是字串常量的引用值 在堆中生成字串物件例項 2.class檔案常量池 class constant pool class常量池是在編譯的時候每個cla...

String類和常量池

string物件的兩種建立方式 string str1 abcd 先檢查字串常量池中有沒有 abcd 如果字串常量池中沒有,則建立乙個,然後 str1 指向字串常量池中的物件,如果有,則直接將 str1 指向 abcd string str2 new string abcd 堆中建立乙個新的物件 s...

String 類和常量池

1 string 物件的兩種建立方式 string str1 abcd 先檢查字串常量池中有沒有 abcd 如果字串常量池中沒有,則建立乙個,然後 str1 指向字串常量池中的物件,如果有,則直接將 str1 指向 abcd string str2 new string abcd 堆中建立乙個新的物...