亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

對象存儲Large omap objects告警處理實踐

2022-12-22 05:46:02
474
0

前言:

        由于(yu)對(dui)象(xiang)存儲主要運用于(yu)影(ying)像(xiang)、多媒體等數(shu)據(ju)規模(mo)較大(da)的場景(jing),單個bucket的對(dui)象(xiang)數(shu)量通常(chang)在(zai)千萬甚(shen)至上(shang)億規模(mo),在(zai)對(dui)對(dui)象(xiang)存儲日(ri)常(chang)巡檢和運維的時候,經常(chang)會遇到(dao)對(dui)象(xiang)存儲的索引存儲池出現large objects告警,影(ying)響數(shu)據(ju)訪問速(su)度,甚(shen)至出現slow requests告警,進而(er)導致存儲集群服務異常(chang)。針對(dui)這(zhe)種(zhong)情況,下面我(wo)們介(jie)紹出現這(zhe)種(zhong)告警后的分析(xi)處理(li)方式。

原因分析

       當對象存儲單個bucket存儲的對象數(shu)量(liang)過多,超過閾(yu)值后(hou),將引發集群large omap objects告警,以對象存儲索(suo)引池(chi)為(wei)例:閾(yu)值上(shang)限為(wei)    bucket_index_max_shard*osd_deep_scrub_large_omap_object_key_threshold。

如果不及時處理(li),將影(ying)響(xiang)這個(ge)bucket的讀寫性能,甚(shen)至會給集(ji)群故障埋(mai)下隱患。

處理步驟:

處理思路:

向上調整osd_deep_scrub_large_omap_object_key_threshold消除告(gao)警,但是單個(ge)shard的對象數量(liang)過(guo)大時,會影響bucket的查(cha)詢性能,不推薦(jian)。

增(zeng)加(jia)shard數(shu)量(liang)(liang),保持單個shard的(de)閾(yu)值(zhi)不(bu)變(bian),通(tong)過增(zeng)加(jia)shard的(de)操作消除告警(jing),默(mo)(mo)認shard值(zhi)為16,osd_deep_scrub_large_omap_object_key_threshold默(mo)(mo)認值(zhi)為20萬(wan),單個bucket不(bu)產生large omap objects告警(jing)的(de)對(dui)象(xiang)數(shu)量(liang)(liang)為320萬(wan),調整bucket_index_max_shard為128,bucket對(dui)象(xiang)數(shu)量(liang)(liang)閾(yu)值(zhi)變(bian)為2560萬(wan),已經滿足大(da)部分(fen)場景(jing)的(de)需求,同是,對(dui)性能的(de)影響很小(xiao)。所以此次我們采用此方法(fa)來(lai)處理告警(jing),方法(fa)如下:

  1. 先找到出現問題的pool

ceph health detail

 

  1. 找到對應的PG

ceph pg ls-by-pool |awk '{print "ceph pg "$1 " query|grep num_large_omap_objects"}'|sh -x

 

  1. 找到對應的OSD

 

  1. 查看OSD日志找到bucket

zcat ceph-osd.40.log-20190614.gz |grep omap

  1. 根據對象ID確定bucket名稱

radosgw-admin bucket stats --bucket-id=8b824a20-985f-11e8-a8d1-0cc47a57b678.225330637.1 > buckets.json

有報錯可以忽(hu)略,查(cha)看buckets.json,根(gen)據關鍵字8b824a20-985f-11e8-a8d1-0cc47a57b678.225330637.1找到bucket名

 

  1. 備份原bucket的index為本地文件

100W個對象的index大約占用(yong)1GB備份文件空間

radosgw-admin bi list --bucket=dutestreshard1 ;> dutestreshard1.list.backup

若(ruo)后續操作出(chu)現問題,恢復index的操作為

radosgw-admin bi put --bucket= < .list.backup

 

  1. 修改zonegroup的bucket_index_max_shards

此值不(bu)宜(yi)過(guo)大(da)不(bu)宜(yi)太小(xiao),依據(ju)集群規模和單桶(tong)對象數設計,每個(ge)shard超過(guo)20W條index就會產生告(gao)警

radosgw-admin zonegroup get > zonegroup.json

radosgw-admin zonegroup set < zonegroup.json

radosgw-admin period update --commit

 

  1. 關閉所有rgw,避免reshard操作時新數據變更

systemctl stop ceph-radosgw.target

 

  1. 執行bucket reshard操作

注意(yi)記錄新老bucket id, 100W對象(xiang)reshard時(shi)間約30秒

  1. reshard后檢查,bucket id和marker信息應改變

 

  1. 啟動rgw,驗證數據正確性和bucket可操作性

systemctl start ceph-radosgw.target

 

  1. 刪除reshard前的舊的bucket index instance,

注意此處的(de)bucket-id為第九步的(de)old bucket instance id,刪(shan)除耗時較(jiao)久,耐(nai)心(xin)等(deng)待其(qi)執行完(wan)成

radosgw-admin bi purge --bucket="dutestreshard1" --bucket-id=8b824a20-985f-11e8-a8d1-0cc47a57b678.225330637.1

 

總結

        從(cong)以上(shang)處理步驟(zou)可(ke)以看到我們主要通(tong)過提高bucket的shard數(shu)量(liang)和單個shard的object數(shu)量(liang),來處理large omap objects告警,單個bucket的對象(xiang)數(shu)量(liang)還是存在理論上(shang)閾(yu)值,為(wei)(wei)了(le)保持存儲環境的可(ke)靠(kao)性和數(shu)據安(an)全(quan),在規(gui)劃數(shu)據存儲環境時,應(ying)該根據業務(wu)數(shu)量(liang)規(gui)模(mo),合理規(gui)劃bucket相(xiang)關(guan)(guan)參(can)數(shu),同時,對使用業務(wu)方進行相(xiang)關(guan)(guan)知識(shi)普及,引(yin)導使用者根據業務(wu)類型(xing)、數(shu)據類型(xing)、組(zu)織架構等規(gui)劃不(bu)同的bucket,避免出現超大數(shu)量(liang)規(gui)模(mo)的bucket,為(wei)(wei)數(shu)據存儲服務(wu)可(ke)靠(kao)、安(an)全(quan)、高效保駕護航。

0條評論
0 / 1000
jackLin
2文章(zhang)數
0粉絲數(shu)
jackLin
2 文(wen)章 | 0 粉絲
jackLin
2文章數
0粉(fen)絲數
jackLin
2 文章 | 0 粉絲
原創

對象存儲Large omap objects告警處理實踐

2022-12-22 05:46:02
474
0

前言:

        由(you)于對(dui)象(xiang)(xiang)存儲主要運用于影像、多媒體等數(shu)據規模(mo)較大的(de)場景,單個bucket的(de)對(dui)象(xiang)(xiang)數(shu)量通常(chang)(chang)在(zai)千萬甚至上(shang)億(yi)規模(mo),在(zai)對(dui)對(dui)象(xiang)(xiang)存儲日常(chang)(chang)巡檢和運維的(de)時(shi)候,經常(chang)(chang)會遇到對(dui)象(xiang)(xiang)存儲的(de)索引存儲池(chi)出(chu)現(xian)large objects告警(jing),影響數(shu)據訪問速(su)度,甚至出(chu)現(xian)slow requests告警(jing),進而導致存儲集群服務異常(chang)(chang)。針對(dui)這(zhe)種(zhong)情況,下面(mian)我們介紹出(chu)現(xian)這(zhe)種(zhong)告警(jing)后的(de)分(fen)析處(chu)理方(fang)式(shi)。

原因分析

       當對象(xiang)存儲(chu)(chu)單個bucket存儲(chu)(chu)的(de)對象(xiang)數量過多,超過閾值(zhi)(zhi)后(hou),將引(yin)發集群large omap objects告警,以對象(xiang)存儲(chu)(chu)索引(yin)池為(wei)例:閾值(zhi)(zhi)上(shang)限為(wei)    bucket_index_max_shard*osd_deep_scrub_large_omap_object_key_threshold。

如果不及時(shi)處理,將影(ying)響(xiang)這個bucket的(de)讀寫性能,甚至會給集群(qun)故障埋下隱患(huan)。

處理步驟:

處理思路:

向上調整(zheng)osd_deep_scrub_large_omap_object_key_threshold消除告警(jing),但是單個shard的對象(xiang)數量過大時,會影響bucket的查詢性能,不推薦。

增加shard數量(liang),保(bao)持單個shard的(de)閾(yu)值(zhi)(zhi)不變,通過(guo)增加shard的(de)操作消除告(gao)警,默(mo)認(ren)shard值(zhi)(zhi)為16,osd_deep_scrub_large_omap_object_key_threshold默(mo)認(ren)值(zhi)(zhi)為20萬(wan),單個bucket不產生large omap objects告(gao)警的(de)對象數量(liang)為320萬(wan),調(diao)整(zheng)bucket_index_max_shard為128,bucket對象數量(liang)閾(yu)值(zhi)(zhi)變為2560萬(wan),已經滿(man)足大部分場景的(de)需(xu)求,同是,對性能的(de)影響很小。所以此(ci)次我們采用此(ci)方(fang)法(fa)來處(chu)理(li)告(gao)警,方(fang)法(fa)如下:

  1. 先找到出現問題的pool

ceph health detail

 

  1. 找到對應的PG

ceph pg ls-by-pool |awk '{print "ceph pg "$1 " query|grep num_large_omap_objects"}'|sh -x

 

  1. 找到對應的OSD

 

  1. 查看OSD日志找到bucket

zcat ceph-osd.40.log-20190614.gz |grep omap

  1. 根據對象ID確定bucket名稱

radosgw-admin bucket stats --bucket-id=8b824a20-985f-11e8-a8d1-0cc47a57b678.225330637.1 > buckets.json

有報錯可以忽略(lve),查看buckets.json,根據關鍵字8b824a20-985f-11e8-a8d1-0cc47a57b678.225330637.1找到bucket名

 

  1. 備份原bucket的index為本地文件

100W個對象(xiang)的(de)index大約占用1GB備份(fen)文(wen)件空間

radosgw-admin bi list --bucket=dutestreshard1 > dutestreshard1.list.backup

若后續操(cao)作出(chu)現問題,恢復index的操(cao)作為

radosgw-admin bi put --bucket= < .list.backup

 

  1. 修改zonegroup的bucket_index_max_shards

此值(zhi)不宜過大不宜太小,依(yi)據集(ji)群規模和單(dan)桶對象數(shu)設(she)計,每(mei)個shard超過20W條index就(jiu)會產生告(gao)警

radosgw-admin zonegroup get > zonegroup.json

radosgw-admin zonegroup set < zonegroup.json

radosgw-admin period update --commit

 

  1. 關閉所有rgw,避免reshard操作時新數據變更

systemctl stop ceph-radosgw.target

 

  1. 執行bucket reshard操作

注意記(ji)錄新老bucket id, 100W對象reshard時(shi)間約30秒(miao)

  1. reshard后檢查,bucket id和marker信息應改變

 

  1. 啟動rgw,驗證數據正確性和bucket可操作性

systemctl start ceph-radosgw.target

 

  1. 刪除reshard前的舊的bucket index instance,

注意此處的bucket-id為第九步的old bucket instance id,刪除耗時較久,耐心等(deng)待其執行完(wan)成

radosgw-admin bi purge --bucket="dutestreshard1" --bucket-id=8b824a20-985f-11e8-a8d1-0cc47a57b678.225330637.1

 

總結

        從以上處理(li)步驟可以看到我們主要通過提(ti)高(gao)bucket的(de)(de)shard數(shu)(shu)量和單個shard的(de)(de)object數(shu)(shu)量,來處理(li)large omap objects告(gao)警(jing),單個bucket的(de)(de)對象數(shu)(shu)量還(huan)是存(cun)在理(li)論上閾(yu)值,為了保持存(cun)儲環(huan)境(jing)的(de)(de)可靠性和數(shu)(shu)據安全,在規(gui)劃數(shu)(shu)據存(cun)儲環(huan)境(jing)時(shi),應(ying)該根據業務(wu)(wu)數(shu)(shu)量規(gui)模,合理(li)規(gui)劃bucket相(xiang)關參數(shu)(shu),同時(shi),對使用(yong)業務(wu)(wu)方進行相(xiang)關知識普及,引導使用(yong)者根據業務(wu)(wu)類型、數(shu)(shu)據類型、組織架構等(deng)規(gui)劃不同的(de)(de)bucket,避免出現超(chao)大數(shu)(shu)量規(gui)模的(de)(de)bucket,為數(shu)(shu)據存(cun)儲服務(wu)(wu)可靠、安全、高(gao)效保駕護航。

文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0