成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Ceph 對象存儲分層功能增強:在不同存儲類別之間無縫遷移數(shù)據(jù)來優(yōu)化成本和性能

存儲 數(shù)據(jù)管理
本篇博客介紹了如何通過分層和生命周期策略將冷數(shù)據(jù)遷移到更具成本效益的存儲類別,并將其歸檔到 IBM Cloud Object Storage (COS)。

介  紹

Ceph 提供了對象存儲分層功能,通過在不同存儲類別之間無縫遷移數(shù)據(jù)來優(yōu)化成本和性能。這些層級可以在本地基礎(chǔ)設(shè)施內(nèi)配置,也可以擴展到基于云的存儲類別,從而為多樣化的工作負載提供靈活且可擴展的解決方案。借助基于策略的自動化功能,管理員可以定義生命周期策略,將數(shù)據(jù)從高性能存儲遷移到經(jīng)濟高效的歸檔層級,確保在速度、持久性和成本效益之間取得最佳平衡。

Ceph 的本地存儲類別允許配置在本地 Ceph 集群內(nèi),將數(shù)據(jù)在快速的 NVMe 或 SAS/SATA SSD 存儲池與經(jīng)濟型的 HDD 或 QLC 存儲池之間進行分層存儲。這對于需要不同性能級別的應(yīng)用程序或數(shù)據(jù)“老化”后不再需要高性能的場景尤為有益,此時可以將數(shù)據(jù)遷移到速度較慢但更經(jīng)濟的存儲中。

圖片圖片

除了本地分層存儲外,Ceph 還提供了基于策略的數(shù)據(jù)歸檔和檢索功能,能夠與 S3 兼容平臺集成,實現(xiàn)異地數(shù)據(jù)管理。組織可以利用此功能將數(shù)據(jù)歸檔到基于云的存儲層級,例如 IBM Cloud Object Storage、AWS S3、Azure Blob 或 S3 磁帶端點,以實現(xiàn)長期保留、災(zāi)難恢復(fù)或成本優(yōu)化的冷存儲。通過基于策略的自動化功能,Ceph 確保數(shù)據(jù)能夠根據(jù)預(yù)定義的生命周期規(guī)則遷移到云端或其他目標位置,從而增強其在混合云策略中的價值。

圖片圖片

Squid 版本中的新功能:基于策略的數(shù)據(jù)檢索

最初,Ceph 基于策略的數(shù)據(jù)歸檔(云同步)功能僅支持單向數(shù)據(jù)流,即數(shù)據(jù)只能從本地存儲池歸檔到指定的云存儲層級。雖然這使用戶能夠利用經(jīng)濟高效的云平臺進行冷存儲或長期數(shù)據(jù)保留,但缺乏數(shù)據(jù)檢索能力限制了該解決方案在數(shù)據(jù)管理中的靈活性。這意味著,一旦數(shù)據(jù)被歸檔到云存儲,就無法再通過 Ceph 直接主動檢索或重新集成到本地工作流中。

Ceph Squid 引入了基于策略的數(shù)據(jù)檢索功能,這標志著其能力的重大演進,目前作為技術(shù)預(yù)覽版提供。這一增強功能使用戶能夠?qū)?S3 云存儲或磁帶存儲中的對象直接檢索回本地 Ceph 環(huán)境,消除了之前單向數(shù)據(jù)流的限制。數(shù)據(jù)可以作為臨時或永久對象進行恢復(fù)。

  • 臨時恢復(fù):恢復(fù)的數(shù)據(jù)會繞過生命周期云遷移規(guī)則,并在指定時間后自動刪除,對象將恢復(fù)為之前的存根狀態(tài)。
  • 永久恢復(fù):這些對象會完全重新集成到 Ceph 集群中,被視為(并成為)常規(guī)對象,并遵循標準的生命周期策略和復(fù)制流程。

對象檢索可以通過兩種不同的方式實現(xiàn):

  • S3 RestoreObject API:允許用戶使用 S3RestoreObject API 請求從遠程 S3 端點檢索對象。
  • 讀取時透明檢索:支持對已遷移對象執(zhí)行標準的 S3 GET 請求,從而透明地將對象恢復(fù)到 Ceph 集群中。

圖片圖片

在此版本中,我們不支持從使用不同 Glacier API(例如 IBM Deep Archive)的 S3 云/磁帶端點檢索對象。此功能增強針對 Ceph 的 Tentacle 版本。

基于策略的數(shù)據(jù)歸檔測試

在本節(jié)中,我們將配置和設(shè)置 Ceph 的基于策略的數(shù)據(jù)歸檔功能。我們將討論使用數(shù)據(jù)生命周期策略,通過將冷數(shù)據(jù)歸檔到 IBM Cloud Object Storage (COS),將其轉(zhuǎn)換為異地、經(jīng)濟高效的存儲類。

Ceph 術(shù)語說明

  • 區(qū)域組(Zonegroup):通常位于同一地理區(qū)域(也稱為區(qū)域)的多個區(qū)域的集合。
  • 區(qū)域(Zone):包含對象網(wǎng)關(guān)(RGW)端點的一個或多個實例,屬于某個區(qū)域組。
  • 放置(Placement):在同一區(qū)域內(nèi)對 RADOS 數(shù)據(jù)池進行邏輯分離。
  • 存儲類別(Storage Class):存儲類別用于自定義對象數(shù)據(jù)的放置位置,S3 存儲桶生命周期規(guī)則則用于自動化這些類別之間的數(shù)據(jù)遷移。

[!CAUTION]

注意:此處描述的 RGW 存儲類別不應(yīng)與 Kubernetes 的 PV/PVC 存儲類別混淆。

生命周期策略介紹

下表總結(jié)了 Ceph 對象網(wǎng)關(guān)支持的各種生命周期策略:

策略類型

描述

示例用例

過期(Expiration)

在指定時間后刪除對象

30 天后自動刪除臨時文件

非當前版本過期(Concurrent Version Expiration)

在版本化存儲桶中,刪除指定時間后的非當前版本對象

通過刪除舊版本對象來管理存儲成本

中止未完成的分段上傳(Abort Incomplete Multipart Upload)

取消未在指定時間內(nèi)完成的分段上傳

通過清理未完成的上傳來釋放存儲空間

存儲類別間遷移(Transition Between Storage Classes)

在指定時間后,將對象在同一 Ceph 集群內(nèi)的不同存儲類別之間遷移

90 天后將數(shù)據(jù)從 SSD/復(fù)制存儲遷移到 HDD/糾刪碼(EC)存儲

較新非當前版本過濾器(NewerNoncurrentVersions Filter)

過濾比指定數(shù)量更新的非當前版本,用于過期或遷移操作

僅保留對象的最后三個非當前版本

對象大小大于過濾器(ObjectSizeGreaterThan Filter)

僅對大于指定大小的對象應(yīng)用生命周期規(guī)則

將大型視頻文件遷移到成本較低的存儲類別

對象大小小于過濾器(ObjectSizeLess Filter)

僅對小于指定大小的對象應(yīng)用生命周期規(guī)則

在一定時間后將小型日志文件歸檔

除了指定策略外,生命周期規(guī)則還可以使用標簽(tags)或前綴(prefixes)進行過濾,從而更精細地控制哪些對象受到影響。標簽可以根據(jù)每個對象的標簽標識特定對象子集,而前綴則有助于根據(jù)對象鍵名(key names)定位對象。

配置遠程云服務(wù)進行分層

首先,我們將遠程 S3 云服務(wù)配置為本地遷移對象的未來目標。在本示例中,我們將創(chuàng)建一個名為 ceph-s3-tier 的 IBM COS 存儲桶。

圖片圖片

值得注意的是,我們需要為我們的存儲桶創(chuàng)建一個啟用了 HMAC 密鑰的服務(wù)憑證。

為 Cloud-S3 分層創(chuàng)建新的存儲類

在默認區(qū)域組內(nèi)的默認位置上創(chuàng)建新的存儲類;我們使用 rgw-admin --tier-type=cloud-s3 參數(shù)來根據(jù)我們之前在 COS S3 中配置的存儲桶來配置存儲類別。

# radosgw-admin zonegroup placement add --rgw-znotallow=default --placement-id=default-placement --storage-class=ibm-cos --tier-type=cloud-s3

[!CAUTION]

注意:Ceph 允許使用任意名稱創(chuàng)建存儲類別,但某些客戶端和客戶端庫僅接受 AWS 存儲類別名稱,或者在存儲類別為 GLACIER 等特定名稱時表現(xiàn)出獨特的行為。

我們可以驗證默認區(qū)域組和放置目標中的可用存儲類:

# radosgw-admin zonegroup get --rgw-znotallow=default | jq .placement_targets[0].storage_classes
[
  "STANDARD_IA",
  "STANDARD",
  "ibm-cos"
]

配置具有分層設(shè)置的 Cloud-S3 存儲類別

接下來,我們使用 radosgw-admin 命令配置 cloud-s3 存儲類別,并指定 IBM COS 存儲桶的相關(guān)參數(shù):端點(endpoint)、區(qū)域(region)和賬戶憑證(credentials)。

# radosgw-admin zonegroup placement modify --rgw-zonegroup default  --placement-id default-placement --storage-class ibm-cos --tier-config=endpoint=https://s3.eu-de.cloud-object-storage.appdomain.cloud,access_key=YOUR_ACCESS_KEY,secret=YOUR_SECRET_KEY,target_path="ceph-s3-tier",multipart_sync_threshold=44432,multipart_min_part_size=44432,retain_head_object=true,reginotallow=eu-de

應(yīng)用生命周期策略

一旦 COS cloud-S3 存儲類就位,我們將把用戶切換為 Ceph Object S3 API 的使用者,并通過 RGW S3 API 端點配置生命周期策略。我們的用戶名為tiering ,并且我們已使用分層用戶的憑據(jù)預(yù)先配置了 S3 AWC CLI。

# aws --profile tiering --endpoint https://s3.cephlabs.com s3 mb s3://databucket
# aws --profile tiering --endpoint https://s3.cephlabs.com s3 /etc/hosts s3://databucket

我們將把一個 JSON 生命周期策略附加到之前創(chuàng)建的存儲桶中。例如,存儲桶databucket將具有以下策略,將所有超過 30 天的對象轉(zhuǎn)換為 COS 存儲類別:

{
  "Rules": [
    {"ID": "Transition objects from Ceph to COS that are older than 30 days",
      "Prefix": "",
      "Status": "Enabled",
      "Transitions": [
        {
          "Days": 30,
          "StorageClass": "ibm-cos"
        }
      ]
    }
   ]
}

作為 S3 API 使用者,我們將使用 AWS S3 CLI 將存儲桶生命周期配置應(yīng)用到名為ibm-cos-lc.json的本地文件中:

# aws --profile tiering --endpoint https://s3.cephlabs.com s3api put-bucket-lifecycle-configuration --lifecycle-configuration file://ibm-cos-lc.json --bucket databucket

驗證該策略是否已應(yīng)用:

# aws --profile tiering --endpoint https://s3.cephlabs.com s3api get-bucket-lifecycle-configuration  --bucket databucket

我們還可以通過以下 radosgw-admin 命令檢查 Ceph/RGW 是否已注冊此新的生命周期(LC)策略。狀態(tài)顯示為 UNINITIAL,因為此生命周期策略尚未被處理;一旦處理完成,狀態(tài)將變?yōu)?nbsp;COMPLETED:

# radosgw-admin lc list | jq .[1]
{
  "bucket": ":databucket:fcabdf4a-86f2-452f-a13f-e0902685c655.310403.1",
  "shard": "lc.23",
  "started": "Thu, 01 Jan 1970 00:00:00 GMT",
  "status": "UNINITIAL"
}

我們可以使用以下命令獲取應(yīng)用于存儲桶的規(guī)則的更多詳細信息:

# radosgw-admin lc get --bucket databucket
{
    "prefix_map": {
        "": {
            "status": true,
            "dm_expiration": false,
            "expiration": 0,
            "noncur_expiration": 0,
            "mp_expiration": 0,
            "transitions": {
                "ibm-cos": {
                    "days": 30
                }
            },
        }
    }
}

測試配置的生命周期策略

[!WARNING]

更改此參數(shù)僅用于 LC 測試目的。不要在生產(chǎn) Ceph 集群上更改它,并記住適當重置!

我們可以通過為生命周期進程啟用調(diào)試間隔來加速生命周期策略的測試。在此設(shè)置中,存儲桶生命周期配置中的每“天”相當于 60 秒,因此三天的過期時間實際上僅為三分鐘:

# ceph config set client.rgw  rgw_lc_debug_interval 60
# ceph orch restart rgw.default

如果我們現(xiàn)在運行radosgw-admin lc list我們應(yīng)該會看到轉(zhuǎn)換存儲桶的生命周期策略處于已完成狀態(tài):

[root@ceph01 ~]# radosgw-admin lc list| jq .[1]
{
  "bucket": ":databucket:fcabdf4a-86f2-452f-a13f-e0902685c655.310403.1",
  "shard": "lc.23",
  "started": "Mon, 25 Nov 2024 10:43:31 GMT",
  "status": "COMPLETE"
}

如果我們在本地集群中列出過渡存儲桶中的可用對象,可以看到對象大小為 0。這是因為它們已被遷移到云端。然而,由于在創(chuàng)建云存儲類別時使用了 "retain_head_object": "true" 參數(shù),對象的元數(shù)據(jù)/頭部信息仍然保留在本地:

# aws --profile tiering --endpoint https://s3.cephlabs.com s3 ls s3://databucket
2024-11-25 05:41:33          0 hosts

如果我們使用s3api get-object-attributes調(diào)用檢查對象屬性,我們可以看到該對象的存儲類現(xiàn)在是ibm-cos ,因此該對象已成功轉(zhuǎn)換到 S3 云提供商:

# aws --profile tiering --endpoint https://s3.cephlabs.com s3api  get-object-attributes --object-attributes StorageClass ObjectSize --bucket databucket --key hosts
{
    "LastModified": "2024-11-25T10:41:33+00:00",
    "StorageClass": "ibm-cos",
    "ObjectSize": 0
}

如果我們使用 AWS CLI S3 客戶端(但使用 IBM COS 用戶的端點和配置文件)在 IBM COS 中檢查,可以看到對象已存在于 IBM COS 存儲桶中。由于 API 限制,原始對象的修改時間和 ETag 無法保留,但它們會作為元數(shù)據(jù)屬性存儲在目標對象上。

aws --profile cos --endpoint https://s3.eu-de.cloud-object-storage.appdomain.cloud s3api head-object --bucket ceph-s3-tier --key databucket/hosts | jq .
{
  "AcceptRanges": "bytes",
  "LastModified": "2024-11-25T10:41:33+00:00",
  "ContentLength": 304,
  "ETag": "\"01a72b8a9d073d6bcae565bd523a76c5\"",
  "ContentType": "binary/octet-stream",
  "Metadata": {
    "rgwx-source-mtime": "1732529733.944271939",
    "rgwx-versioned-epoch": "0",
    "rgwx-source": "rgw",
    "rgwx-source-etag": "01a72b8a9d073d6bcae565bd523a76c5",
    "rgwx-source-key": "hosts"
  }
}

為了避免存儲桶之間的沖突,源存儲桶名稱會添加到目標對象名稱之前。如果對象有版本控制,則對象版本 ID 會附加到末尾。

以下是對象名稱格式示例:

s3://<target_path>/<source_bucket_name>/<source_object_name>(-<source_object_version_id>)

以下對版本化和鎖定對象應(yīng)用了與 LifecycleExpiration類似的語義。如果對象在遷移到云端后是當前版本,則會將其標記為非當前版本,并創(chuàng)建一個刪除標記。如果對象是非當前版本且被鎖定,則跳過其遷移過程。

結(jié)  論

本篇博客介紹了如何通過分層和生命周期策略將冷數(shù)據(jù)遷移到更具成本效益的存儲類別,并將其歸檔到 IBM Cloud Object Storage (COS)。

原文: https://ceph.io/en/news/blog/2025/rgw-tiering-enhancements-part2/

責任編輯:武曉燕 來源: 新鈦云服
相關(guān)推薦

2025-01-22 08:01:53

2019-04-10 11:06:54

前端HTMLCSS

2009-06-09 14:40:01

Javascript表單驗證

2009-06-11 15:25:39

Java隨機數(shù)

2009-06-12 10:34:40

Java Date

2011-08-03 10:12:38

2025-04-24 00:10:00

RAGAI人工智能

2013-07-08 15:45:04

Python

2009-06-12 10:08:05

StaticJava

2013-04-08 15:42:38

Backbone.js入門

2018-11-15 14:52:15

Spark數(shù)據(jù)機器學(xué)習

2013-09-24 10:07:19

Ruby項目

2009-06-15 13:32:18

Java applet插件

2013-11-14 16:18:05

AndroidAudioAudioTrack

2020-10-10 14:36:10

Python

2018-12-19 09:03:04

物聯(lián)網(wǎng)供應(yīng)鏈物聯(lián)網(wǎng)應(yīng)用

2009-07-14 13:49:28

Swing組件AWT

2010-03-11 11:29:51

喬布斯

2020-10-12 00:41:52

Python變量

2024-05-15 08:12:11

SignalJavaScriptPromises
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 一级一级一级毛片 | 免费看国产a | 偷拍自拍第一页 | 国产精品久久片 | 亚洲不卡在线观看 | 日本免费黄色一级片 | 欧美mv日韩mv国产网站91进入 | 久久国产欧美日韩精品 | 91看片在线观看 | 亚洲国产一区在线 | av免费入口| 欧美日韩一二三区 | 夜夜爽99久久国产综合精品女不卡 | 亚洲天堂色 | 亚州精品天堂中文字幕 | 久久久久久高潮国产精品视 | 2020亚洲天堂| 亚洲国产欧美日韩 | 麻豆一区二区三区精品视频 | 亚洲欧洲av在线 | 亚洲成人精品一区二区 | 91精品国产手机 | 波多野结衣中文视频 | 情侣酒店偷拍一区二区在线播放 | www.99re| 日美女逼逼 | 黑人精品 | 免费激情网站 | 91精品久久久久久久久 | 午夜精品一区二区三区三上悠亚 | 日韩中文字幕一区 | 在线中文字幕亚洲 | 久久婷婷色 | 亚洲视频精品 | 国产免费看 | 午夜视频一区二区 | 亚洲三级在线观看 | 国产 欧美 日韩 一区 | www.久久久久久久久久久久 | 狠狠色综合欧美激情 | 日韩av在线一区二区 |