偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Ceph 對象存儲多站點(diǎn)復(fù)制:多站點(diǎn)同步策略

存儲 存儲架構(gòu)
存儲桶同步策略主要應(yīng)用于歸檔區(qū)域(archive zones)。從歸檔區(qū)域的數(shù)據(jù)移動是單向的,即所有對象可以從活躍區(qū)域(active zone)移動到歸檔區(qū)域,但不能從歸檔區(qū)域移動到活躍區(qū)域,因?yàn)闅w檔區(qū)域是只讀的。我們將在博客系列的第六部分詳細(xì)討論歸檔區(qū)域。

多站點(diǎn)同步策略介紹

在從 Quincy 開始的 Ceph 版本中,Ceph 對象存儲提供了細(xì)粒度的存儲桶級復(fù)制,提供了很多有用的功能。用戶可以啟用或禁用每個存儲桶的同步,從而實(shí)現(xiàn)對復(fù)制工作流程的精確控制。這支持全區(qū)域復(fù)制,同時可以排除特定存儲桶的復(fù)制、將單個源存儲桶復(fù)制到多目標(biāo)存儲桶,并實(shí)現(xiàn)對稱和定向數(shù)據(jù)流配置。下圖顯示了正在運(yùn)行的同步策略功能的示例:

圖片圖片

在我們之前的同步模型中,采用的是全區(qū)域同步(full zone sync),即所有數(shù)據(jù)和元數(shù)據(jù)都會在區(qū)域之間同步。而新的同步策略功能為我們提供了更高的靈活性和細(xì)粒度控制,允許我們按存儲桶(bucket)配置復(fù)制。

存儲桶同步策略主要應(yīng)用于歸檔區(qū)域(archive zones)。從歸檔區(qū)域的數(shù)據(jù)移動是單向的,即所有對象可以從活躍區(qū)域(active zone)移動到歸檔區(qū)域,但不能從歸檔區(qū)域移動到活躍區(qū)域,因?yàn)闅w檔區(qū)域是只讀的。我們將在博客系列的第六部分詳細(xì)討論歸檔區(qū)域。

以下是Quincy和Reef版本中提供的一些功能列表:

Quincy 版本功能:

  • 一對一存儲桶復(fù)制
  • 區(qū)域組(Zonegroup)級別的策略配置
  • 存儲桶(Bucket)級別的策略配置
  • 可配置的數(shù)據(jù)流 - 對稱模式
  • 僅支持全新的多站點(diǎn)部署(Greenfield/New Multisite Deployments)

Reef 版本功能:

  • 對象名稱過濾
  • 從傳統(tǒng)的多站點(diǎn)同步(全區(qū)域復(fù)制)遷移到同步策略(區(qū)域組或存儲桶級別)
  • 歸檔區(qū)域同步策略(按存儲桶啟用/禁用復(fù)制到歸檔區(qū)域)
  • 數(shù)據(jù)流 - 對稱或定向模式
  • 部分用戶 S3 復(fù)制 API(GetBucketReplication、PutBucketReplication、DeleteBucketReplication)
  • 支持不同存儲桶之間的同步(一對一或一對多)
  • 目標(biāo)參數(shù)修改:存儲類別(Storage Class)、目標(biāo)所有者轉(zhuǎn)換、用戶模式

同步策略的核心概念:

在深入操作之前,我們需要理解以下同步策略的核心概念。同步策略由以下組件構(gòu)成:

  1. 組(Groups):包含一個或多個組,每個組可以包含數(shù)據(jù)流配置列表。
  2. 數(shù)據(jù)流(Data-flow):定義區(qū)域之間復(fù)制數(shù)據(jù)的流向。可以配置為對稱數(shù)據(jù)流(多個區(qū)域同步數(shù)據(jù)),也可以配置為定向數(shù)據(jù)流(數(shù)據(jù)從一個區(qū)域單向傳輸?shù)搅硪粋€區(qū)域)。
  3. 管道(Pipes):定義可以使用這些數(shù)據(jù)流的區(qū)域和存儲桶及其相關(guān)屬性。

同步策略組的三種狀態(tài):

  1. 啟用(Enabled):同步被允許并啟用。啟用后,復(fù)制將開始。例如,我們可以啟用全區(qū)域組同步,然后按存儲桶禁用(禁止)同步。
  2. 允許(Allowed):同步被允許,但不會自動開始。例如,我們可以將區(qū)域組策略配置為“允許”,然后按存儲桶啟用同步策略。
  3. 禁止(Forbidden):該組定義的同步不被允許。

配置級別:

同步策略(組、數(shù)據(jù)流和管道)可以在區(qū)域組和存儲桶級別配置。存儲桶的同步策略始終是其所屬區(qū)域組定義策略的子集。例如,如果在區(qū)域組級別不允許某種數(shù)據(jù)流,即使在存儲桶級別允許,該數(shù)據(jù)流也不會生效。更多關(guān)于預(yù)期行為的詳細(xì)信息,請參考官方文檔。

多站點(diǎn)同步策略配置

以下部分將解釋如何使用新的多站點(diǎn)同步策略功能。默認(rèn)情況下,正如我們在本系列的第一篇文章中設(shè)置的那樣,多站點(diǎn)復(fù)制會將所有元數(shù)據(jù)和數(shù)據(jù)在區(qū)域組(zonegroup)內(nèi)的所有區(qū)域之間進(jìn)行復(fù)制。在本文的剩余部分中,我們將這種同步方法稱為“傳統(tǒng)同步”。

正如我們在上一節(jié)中解釋的那樣,同步策略由組(group)、數(shù)據(jù)流(flow)和管道(pipe)組成。我們首先配置一個非常寬松的區(qū)域組策略,允許所有區(qū)域上的所有存儲桶進(jìn)行雙向流量傳輸。配置完成后,我們將添加按存儲桶的同步策略,這些策略在設(shè)計(jì)上是區(qū)域組策略的子集,并具有更嚴(yán)格的規(guī)則集。

添加區(qū)域組策略

我們首先創(chuàng)建一個名為 group1 的新組,并將其狀態(tài)設(shè)置為“允許”(allowed)?;仡櫳弦还?jié)的內(nèi)容,區(qū)域組將允許同步流量流動。策略將被設(shè)置為“允許”而非“啟用”(enabled)。在“允許”狀態(tài)下,數(shù)據(jù)同步不會在區(qū)域組級別發(fā)生,目的是在按存儲桶的基礎(chǔ)上啟用同步。

[root@ceph-node-00 ~]# radosgw-admin sync group create --group-id=group1 --status=allowed --rgw-realm=multisite --rgw-znotallow=multizg

創(chuàng)建對稱/雙向數(shù)據(jù)流

接下來,我們創(chuàng)建一個對稱/雙向數(shù)據(jù)流,允許數(shù)據(jù)在 zone1 和 zone2 之間雙向同步。

[root@ceph-node-00 ~]# radosgw-admin sync group flow create --group-id=group1 --flow-id=flow-mirror --flow-type=symmetrical --znotallow=zone1,zone2

創(chuàng)建管道

最后,我們創(chuàng)建一個管道。在管道中,我們指定要使用的組 ID(group-id),然后為源和目標(biāo)存儲桶及區(qū)域設(shè)置通配符 *,這意味著所有區(qū)域和存儲桶都可以作為數(shù)據(jù)的源和目標(biāo)進(jìn)行復(fù)制。

[root@ceph-node-00 ~]# radosgw-admin sync group pipe create --group-id=group1 --pipe-id=pipe1 --source-znotallow='*' --source-bucket='*' --dest-znotallow='*' --dest-bucket='*'

更新區(qū)域組同步策略

區(qū)域組同步策略的修改需要更新周期(period),而存儲桶同步策略的修改則不需要更新周期。

[root@ceph-node-00 ~]# radosgw-admin period update --commit

提交新周期(period)后,區(qū)域組內(nèi)的所有數(shù)據(jù)同步將停止,因?yàn)槲覀兊膮^(qū)域組策略設(shè)置為“允許”。如果將其設(shè)置為“啟用”,同步將繼續(xù)以與初始多站點(diǎn)配置相同的方式進(jìn)行。

區(qū)域間的單存儲桶雙向同步

現(xiàn)在,我們可以按存儲桶啟用同步。我們將為現(xiàn)有的存儲桶 testbucket 創(chuàng)建一個存儲桶級別的策略規(guī)則。請注意,存儲桶必須在設(shè)置此策略之前存在,并且修改存儲桶策略的管理命令必須在主區(qū)域(master zone)上運(yùn)行。不過,存儲桶同步策略不需要更新周期。數(shù)據(jù)流無需更改,因?yàn)樗^承自區(qū)域組策略。存儲桶策略的數(shù)據(jù)流只能是區(qū)域組策略中定義的流的子集,管道也是如此。

圖片圖片

創(chuàng)建存儲桶:

[root@ceph-node-00 ~]# aws --endpoint https://s3.zone1.cephlab.com:443 s3 mb s3://testbucket
make_bucket: testbucket

創(chuàng)建一個bucket同步組,使用--bucket參數(shù)指定bucket并將狀態(tài)設(shè)置為enabled以便為我們的bucket testbucket啟用復(fù)制

[root@ceph-node-00 ~]# radosgw-admin sync group create --bucket=testbucket --group-id=testbucket-1 --status=enabled

無需指定流,因?yàn)槲覀儗?zonegroup 繼承流,因此我們只需為存儲桶同步策略組定義一個名為testbucket-1管道。一旦應(yīng)用此命令,該存儲桶的數(shù)據(jù)同步復(fù)制就會開始。

[root@ceph-node-00 ~]# radosgw-admin sync group pipe create --bucket=testbucket --group-id=testbucket-1 --pipe-id=test-pipe1 --source-znotallow='*' --dest-znotallow='*'

[!CAUTION]

注意:您可以安全地忽略以下警告:

WARNING: cannot find source zone id for name=*

使用sync group get命令,可以查看組、流和管道配置。我們在區(qū)域組級別運(yùn)行該命令,我們可以看到狀態(tài)是allowed 。

"allowed"

我們在存儲桶級別運(yùn)行sync group get命令并提供--bucket參數(shù)。在這種情況下, testbucket的狀態(tài)為Enabled :

[root@ceph-node-00 ~]# radosgw-admin sync group get --bucket testbucket | jq .[0].val.status
"Enabled"

另一個有用的命令是sync info 。通過sync info ,我們可以預(yù)覽當(dāng)前配置將實(shí)現(xiàn)的同步復(fù)制。因此,例如,在我們當(dāng)前的區(qū)域組同步策略處于allowed狀態(tài)的情況下,區(qū)域組級別不會發(fā)生同步,因此同步信息命令將不會顯示配置的任何源或目標(biāo)。

[root@ceph-node-00 ~]# radosgw-admin sync info
{
    "sources": [],
    "dests": [],
    "hints": {
        "sources": [],
        "dests": []
    },
    "resolved-hints-1": {
        "sources": [],
        "dests": []
    },
    "resolved-hints": {
        "sources": [],
        "dests": []
    }
}

我們還可以在存儲桶級別使用sync info命令,使用--bucket參數(shù),因?yàn)槲覀円呀?jīng)配置了雙向管道。我們將使用zone2 -> zone1作為源,將zone1 -> zone2作為目的地。這意味著testbucket存儲桶上的復(fù)制發(fā)生在兩個方向。如果我們將一個對象從zone1放入testbucket ,它將被復(fù)制到zone2 ,如果我們將對象放入zone2它將被復(fù)制到zone1 。

[root@ceph-node-00 ~]# radosgw-admin sync info --bucket testbucket
{
    "sources": [
        {
            "id": "test-pipe1",
            "source": {
                "zone": "zone2",
                "bucket": "testbucket:89c43fae-cd94-4f93-b21c-76cd1a64788d.34553.1"
            },
            "dest": {
                "zone": "zone1",
                "bucket": "testbucket:89c43fae-cd94-4f93-b21c-76cd1a64788d.34553.1"
            },
            "params": {
                "source": {
                    "filter": {
                        "tags": []
                    }
                },
                "dest": {},
                "priority": 0,
                "mode": "system",
                "user": "user1"
            }
        }
    ],
    "dests": [
        {
            "id": "test-pipe1",
            "source": {
                "zone": "zone1",
                "bucket": "testbucket:89c43fae-cd94-4f93-b21c-76cd1a64788d.34553.1"
            },
            "dest": {
                "zone": "zone2",
                "bucket": "testbucket:89c43fae-cd94-4f93-b21c-76cd1a64788d.34553.1"
            },
            "params": {
                "source": {
                    "filter": {
                        "tags": []
                    }
                },
                "dest": {},
                "priority": 0,
                "mode": "system",
                "user": "user1"
            }
        }
    ],

因此,例如,如果我們只查看源,可以看到它們會根據(jù)運(yùn)行radosgw-admin命令的集群而有所不同。例如,從cluster2 ( ceph-node04 ) 中,我們將zone1視為源:

[root@ceph-node-00 ~]# ssh ceph-node-04 radosgw-admin sync info --bucket testbucket | jq '.sources[].source, .sources[].dest'
{
  "zone": "zone1",
  "bucket": "testbucket:66df8c0a-c67d-4bd7-9975-bc02a549f13e.45330.2"
}
{
  "zone": "zone2",
  "bucket": "testbucket:66df8c0a-c67d-4bd7-9975-bc02a549f13e.45330.2"
}

在cluster1 ( ceph-node-00 ) 中,我們將zone2視為源:

[root@ceph-node-00 ~]# radosgw-admin sync info --bucket testbucket | jq '.sources[].source, .sources[].dest'
{
  "zone": "zone2",
  "bucket": "testbucket:66df8c0a-c67d-4bd7-9975-bc02a549f13e.45330.2"
}
{
  "zone": "zone1",
  "bucket": "testbucket:66df8c0a-c67d-4bd7-9975-bc02a549f13e.45330.2"
}

讓我們使用 AWS CLI 執(zhí)行快速測試,以驗(yàn)證配置并確認(rèn)復(fù)制適用于testbucket 。我們將一個對象放入zone1并檢查它是否已復(fù)制到zone2 :

[root@ceph-node-00 ~]# aws --endpoint https://s3.zone1.cephlab.com:443 s3 cp /etc/hosts s3://testbucket/firsfile
upload: ../etc/hosts to s3://testbucket/firsfile

我們可以檢查同步是否已完成 radosgw-admin bucket sync checkpoint 命令:

[root@ceph-node-00 ~]# ssh ceph-node-04 radosgw-admin bucket sync checkpoint --bucket testbucket
2024-02-02T02:17:26.858-0500 7f3f38729800  1 bucket sync caught up with source:
      local status: [, , , 00000000004.531.6, , , , , , , ]
    remote markers: [, , , 00000000004.531.6, , , , , , , ]
2024-02-02T02:17:26.858-0500 7f3f38729800  0 bucket checkpoint complete

檢查同步狀態(tài)的另一種方法是使用 radosgw-admin bucket sync status 命令:

[root@ceph-node-00 ~]# radosgw-admin bucket sync status --bucket=testbucket
          realm beeea955-8341-41cc-a046-46de2d5ddeb9 (multisite)
      zonegroup 2761ad42-fd71-4170-87c6-74c20dd1e334 (multizg)
           zone 66df8c0a-c67d-4bd7-9975-bc02a549f13e (zone1)
         bucket :testbucket[66df8c0a-c67d-4bd7-9975-bc02a549f13e.37124.2])
   current time 2024-02-02T09:07:42Z


    source zone 7b9273a9-eb59-413d-a465-3029664c73d7 (zone2)
  source bucket :testbucket[66df8c0a-c67d-4bd7-9975-bc02a549f13e.37124.2])
                incremental sync on 11 shards
                bucket is caught up with source

我們看到該對象在zone2中可用。

[root@ceph-node-00 ~]# aws  --endpoint https://object.s3.zone2.dan.ceph.blue:443 s3 ls s3://testbucket/
2024-01-09 06:27:24        233 firsfile

由于復(fù)制是雙向的,我們將一個對象放入zone2中,并將其復(fù)制到zone1 :

[root@ceph-node-00 ~]# aws --endpoint https://object.s3.zone2.dan.ceph.blue:443 s3 cp   /etc/hosts s3://testbucket/secondfile
upload: ../etc/hosts to s3://testbucket/secondfile
[root@ceph-node-00 ~]# aws  --endpoint https://object.s3.zone1.dan.ceph.blue:443 s3 ls s3://testbucket/
2024-01-09 06:27:24        233 firsfile
2024-02-02 00:40:15        233 secondfile

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

2025-05-29 01:20:00

Ceph對象存儲

2025-03-05 08:02:45

2025-06-12 00:00:00

對象存儲多站點(diǎn)

2025-04-16 08:01:05

Ceph對象存儲

2025-06-04 08:04:26

2025-01-22 08:01:53

2012-11-06 16:51:29

nginx負(fù)載均衡

2010-05-19 10:28:55

虛擬化

2015-05-15 10:36:43

ngx_lua_waf多站點(diǎn)

2018-11-30 12:48:36

SDS故障硬件

2024-10-15 11:04:18

2013-11-01 10:43:35

日志分析Awstats實(shí)戰(zhàn)Apache

2023-08-30 00:08:22

災(zāi)難恢復(fù)備份

2021-10-12 10:36:06

存儲公有云同步

2011-10-31 10:57:44

VPNIpsec VPN

2011-03-04 16:13:54

FileZilla

2009-08-27 14:32:12

VeriSign站點(diǎn)簽章標(biāo)志

2011-05-27 14:47:50

友情鏈接

2021-09-30 19:00:17

對象存儲Ceph

2019-01-09 16:28:50

點(diǎn)贊
收藏

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