自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Ceph (S3)對象存儲通過生命周期管理實現(xiàn)存儲的智能分層

存儲 數(shù)據(jù)管理
本文詳細介紹了對象存儲的生命周期管理是什么、如何使用它以及使用 RGW 創(chuàng)建自定義存儲類。

本文轉(zhuǎn)載自微信公眾號「新鈦云服」,作者祝祥。轉(zhuǎn)載本文請聯(lián)系新鈦云服公眾號。

概述

  • 本文詳細介紹了對象存儲的生命周期管理是什么、如何使用它以及使用 RGW 創(chuàng)建自定義存儲類。

前提條件

  • 本文假設(shè)您部署了一個 Ceph 集群,其中包含 2 個 RGW,并創(chuàng)建了所需的 RGW 池,例如 buckets.data、buckets.index、buckets.non-ec、rgw.log rgw.meta。
  • 如果沒有ceph存儲或者 RGW 未啟用,請參考Ceph官網(wǎng)文檔進行安裝以及啟用您的 RGW 。

步驟

  • 本文將詳細介紹我們?nèi)绾螌ο筮w移到不同類別的存儲中,以便根據(jù)時間將它們分開。例如,我們可以規(guī)定將超過 N 天的對象移動到稱為“cold”的存儲類??梢詫ο笤O(shè)置為在一段時間后過期,而不是移動到單獨的存儲類,然后將其發(fā)送到 Ceph 垃圾回收器進行刪除。
  • 除了刪除之外,輔助存儲類可以綁定到一個具有更激進的糾刪碼池的池,該池可以提供更好的存儲效率,但可能不會那么冗余。對于不再被認為生產(chǎn)所需但仍希望保留副本而不是徹底刪除的文件,這可能是一個很好的折衷方案。

創(chuàng)建新的存儲類和池

注意:如果您只希望創(chuàng)建過期和刪除對象的規(guī)則,而不是將它們移動到新的存儲層,則可以跳過此部分,您可以直接轉(zhuǎn)到“創(chuàng)建 S3 生命周期管理策略”

  • 本文假定默認 RGW 配置。如果您設(shè)置了自定義區(qū)域組或區(qū)域和放置目標,則必須將默認名稱替換為您配置的名稱。
  • 要確定您是否使用默認配置,請運行以下命令:
root@labosd1:~# radosgw-admin zonegroup list
root@labosd1:~# radosgw-admin zone list
root@labosd1:~# radosgw-admin zonegroup placement list
  • 對于默認配置,它將如下所示:

  • 如果輸出不同,請務(wù)必在以下指南中將“default”和“default-placement”替換為正確的命名方案。

添加新的存儲類

首先,在 Ceph RGW 結(jié)構(gòu)中創(chuàng)建一個新的存儲類,以便可以創(chuàng)建一個新池,然后將該池分配給新類。本文將為其存儲類使用名稱“COLD”。您可能希望改用 AWS 使用的存儲類。它們有預(yù)定義的存儲類別,例如 1A-Standard。你可以在https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html鏈接處獲取AWS常用的存儲類。

root@labosd1:~# radosgw-admin zonegroup placement add \
--rgw-zonegroup default \
--placement-id default-placement \
--storage-class COLD

  • 接下來,為剛剛創(chuàng)建的存儲類提供區(qū)域放置信息。此外,設(shè)置存儲類“COLD”將綁定到的池的名稱。尚未創(chuàng)建池。可以在下一步中完成。root@labosd1:~# radosgw-admin zone placement add \--rgw-zone default \--placement-id default-placement \--storage-class COLD \--data-pool default.rgw.cold.data \--compression lz4

  • 輸出應(yīng)顯示在存儲類“COLD”下分配了新的數(shù)據(jù)池。接下來,創(chuàng)建新池。這可以通過儀表板輕松完成,您可以在其中選擇池類型(副本或糾刪碼)、歸置組的數(shù)量、壓縮類型等。只需確保池名稱與上述命令中使用的名稱匹配即可。

  • 新的存儲類現(xiàn)在已經(jīng)完成并且可以使用了。接下來的步驟是創(chuàng)建和設(shè)計一個生命周期,以完全按照您的意愿去做。本文將使用一些簡單的示例。

創(chuàng)建 S3 生命周期管理策略

  • 下一步將需要在系統(tǒng)上安裝 s3cmd。您還可以使用適用于 Windows 的 S3 browser之類的工具,它允許您創(chuàng)建 s3 ACL 策略。
  • 本文將使用 s3cmd。安裝 s3cmd,然后使用他們的內(nèi)置工具通過 –configure 參數(shù)對其進行配置。輸入將構(gòu)建 s3 策略的 s3 存儲桶的訪問密鑰和密鑰,并將其指向正確的 RGW 端點和端口。
  • 下面的示例將提供設(shè)置的格式。
  • 確保“DNS-style bucket+hostname:port template”只是您的 RGW 的 IP 地址和它使用的端口,而不使用存儲桶或位置變量。
  • 不需要默認區(qū)域。您只需要在該配置處通過 Enter 跳過。
  • 在配置結(jié)束時,s3cmd 將要求測試設(shè)置。如果成功,您可以繼續(xù)。S3cmd 將在 /root/.s3cfg 生成一個配置文件。
root@octrgw1:~# apt install s3cmd
root@octrgw1:~# s3cmd –configure

  • 要測試功能,請運行 s3cmd ls。這應(yīng)該列出與提供的訪問密鑰和秘密密鑰相關(guān)的存儲桶。

生命周期配置

  • 創(chuàng)建存儲類并配置 s3cmd 后,我們現(xiàn)在可以創(chuàng)建一些生命周期管理規(guī)則。這些管理規(guī)則通過 xml 文件創(chuàng)建,然后可以使用 s3cmd 將其傳遞到存儲桶。
  • 可以在 AWS (https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html)網(wǎng)站上找到更全面的生命周期規(guī)則列表。但是,請注意此頁面針對的是 Amazon S3,因此請記住,有些內(nèi)容可能不會與 Ceph 一致,但大多數(shù)規(guī)則都應(yīng)該適用于Ceph RGW。
  • 使用生命周期管理工具,您可以選擇“transition”和“expiration”
  • 您可以創(chuàng)建包含兩個步驟的規(guī)則。
  • 為了創(chuàng)建這些生命周期規(guī)則,請創(chuàng)建一個 XML 文件并在該 XML 文件中創(chuàng)建您的規(guī)則。
  • 例如,可以制定一條規(guī)則,在 1 個月后將對象移到新的存儲類,然后在 2 個月后將它們過期以刪除。該生命周期規(guī)則如下所示:
<LifecycleConfiguration>
<Rule>
<ID>Transition then Expire Rule</ID>
<Filter>
<Prefix></Prefix>
</Filter>
<Status>Enabled</Status>
<Transition>
<Days>30</Days>
<StorageClass>COLD</StorageClass>
</Transition>
<Expiration>
<Days>60</Days>
</Expiration>
</Rule>
</LifecycleConfiguration>
  • 對于更簡單的規(guī)則,您可以簡單地指示刪除早于設(shè)定日期的對象。這條規(guī)則看起來類似于:
<LifecycleConfiguration>
<Rule>
<ID>Expire after 1 year</ID>
<Filter>
<Prefix></Prefix>
</Filter>
<Status>Enabled</Status>
<Expiration>
<Days>365</Days>
</Expiration>
</Rule>
</LifecycleConfiguration>
  • 最后,對于僅將對象移動到新存儲類而不將它們標記為過期的規(guī)則,您可以使用如下規(guī)則:
<LifecycleConfiguration>
<Rule>
<ID>Transition objects to COLD storage class</ID>
<Filter>
<Prefix></Prefix>
</Filter>
<Status>Enabled</Status>
<Transition>
<Days>30</Days>
<StorageClass>COLD</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>
  • 在這些規(guī)則中,您還可以看到“前綴”匹配的配置。這允許靈活地在單個存儲桶上運行所有不同的規(guī)則,并且只要使用正確的前綴上傳對象,該規(guī)則將僅適用于它。這可以讓您在單個存儲桶中擁有多個過期規(guī)則。這看起來像這樣:
<LifecycleConfiguration>
<Rule>
<ID>prefix expiration</ID>
<Filter>
<Prefix>dir1</Prefix>
</Filter>
<Status>Enabled</Status>
<Expiration>
<Days>120</Days>
</Expiration>
<Filter>
<Prefix>dir2</Prefix>
</Filter>
<Status>Enabled</Status>
<Expiration>
<Days>60</Days>
</Expiration>
</Rule>
</LifecycleConfiguration>
  • 上面的規(guī)則會在 120 天后過期所有前綴為 dir1 的對象,并在 60 天后過期所有前綴為 dir2 的對象。
  • 要使創(chuàng)建的規(guī)則生效,請在安裝了 s3cmd 的主機上創(chuàng)建一個新的 xml 文件。
  • 復(fù)制上面的規(guī)則以及您的環(huán)境所需的更改。

例子:

  • 保存文件。此文件保存為生命周期過期.xml。此策略將附加到的 s3 存儲桶且命名為 lifecycletest。
  • 使用 s3cmd,在正確的存儲桶上設(shè)置生命周期策略。
root@octrgw1:~# s3cmd setlifecycle lifecycle-expire.xml s3://lifecycletest

  • 測試是否已設(shè)置生命周期。
root@octrgw1:~# s3cmd info s3://lifecycletest

當使用 transition 規(guī)則而不是 expire 規(guī)則時,s3cmd info 將無法正確顯示出它。您將需要使用 S3 Browser這樣的工具來查看生命周期規(guī)則。S3 Browser也可用于創(chuàng)建這些規(guī)則。使用 S3 Browser 的唯一缺點是它不允許使用自定義存儲類,例如使用“COLD”。它僅使用標準 Amazon S3 命名,因此在使用 transition 而不是 expire 規(guī)則時,最好使用 s3cmd 和 XML 文件。

  • 可在此處找到 s3 Browser生命周期管理指南:https ://s3browser.com/bucket-lifecycle-configuration.aspx

Debug 配置

  • 如果您想創(chuàng)建和測試其中的一些規(guī)則,最好使用 Ceph 內(nèi)置的 RGW debug 模式 。這允許設(shè)置任意的時間段(通常為 60 秒)。通過該 debug 模式, 我們可以快速測試規(guī)則以確保它們完全按照預(yù)期進行,并提供快速調(diào)試的能力。
  • 為此,您必須通過 SSH 連接到充當 RGW 的節(jié)點。進入系統(tǒng)盤后,使用 sudo 權(quán)限打開 ceph.conf。它可以在 /etc/ceph/ceph.conf 中找到相關(guān)配置
  • 將以下行添加到 conf 文件中:
rgw lc debug interval = 60
  • 這將生命周期間隔設(shè)置為每 60 秒到 24 小時關(guān)聯(lián)一次。另外,需要確認您是否使用多個 RGW,如果是的話,則將其添加到每個 RGW 的配置文件中。
  • 保存配置文件后,重新啟動 RGW。將下面 octrgw1 替換為您的 RGW 的名稱。
root@octrgw1:~# systemctl restart ceph-radosgw@rgw.octrgw1

故障排除

如果您的生命周期規(guī)則有問題,很可能是因為規(guī)則編寫不正確,或者 RGW debug interval 不起作用。

為了檢查您的 RGW 生命周期規(guī)則的狀態(tài),請在帶有管理員密鑰環(huán)的節(jié)點上運行以下命令。

root@octrgw1:~# radosgw-admin lc list
  • 這列出了您已有的生命周期規(guī)則。如果它們未設(shè)置為“完成”,您可以通過運行以下命令強制 Ceph 啟動規(guī)則:
root@octrgw1:~# radosgw-admin lc process


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

2009-07-31 17:01:00

ibmdwAmazon

2012-04-27 11:09:44

AmazonAWS

2009-06-17 15:06:50

Hibernate實體

2013-08-19 17:03:00

.Net生命周期對象

2009-08-27 10:51:15

ibmdw云計算

2013-03-14 09:39:37

云存儲Azure亞馬遜S3

2012-06-20 10:29:16

敏捷開發(fā)

2021-07-19 05:52:29

網(wǎng)絡(luò)生命周期網(wǎng)絡(luò)框架

2013-11-11 10:22:14

存儲虛擬化

2017-04-24 11:18:14

美團云

2013-07-24 18:06:07

存儲存儲虛擬化

2017-09-04 15:37:19

2023-03-16 15:29:57

鴻蒙工具

2015-07-08 16:28:23

weak生命周期

2018-04-23 15:14:02

混合云云存儲公有云

2018-07-13 08:45:57

Ceph對象存儲混合云

2018-07-17 14:50:47

存儲虛擬化技術(shù)

2022-04-19 07:20:24

軟件開發(fā)安全生命周期SSDLC應(yīng)用安全

2009-05-21 09:12:41

Java開發(fā)平臺生命周期管理

2024-05-28 07:55:31

SpringBean用域
點贊
收藏

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