国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

詳解集群級(jí)備份恢復(fù):物理細(xì)粒度備份恢復(fù)

這篇具有很好參考價(jià)值的文章主要介紹了詳解集群級(jí)備份恢復(fù):物理細(xì)粒度備份恢復(fù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

摘要:在實(shí)際使用過程中,數(shù)據(jù)庫(kù)集群級(jí)的故障并非高概率事件,如何安全高效地幫助客戶備份恢復(fù)一部分?jǐn)?shù)據(jù)庫(kù)元素,才是更加實(shí)際的需求,這也是細(xì)粒度備份恢復(fù)的意義所在。

本文分享自華為云社區(qū)《GaussDB(DWS)之物理細(xì)粒度備份恢復(fù)》,作者:我的橘子呢 。

1.?認(rèn)識(shí)物理細(xì)粒度備份恢復(fù)

相對(duì)于集群級(jí)備份恢復(fù)海量的文件備份恢復(fù)操作,物理細(xì)粒度備份能夠從更小的粒度、以更少的數(shù)據(jù)文件操作,對(duì)單庫(kù)、單表進(jìn)行備份與恢復(fù)。在實(shí)際使用過程中,數(shù)據(jù)庫(kù)集群級(jí)的故障并非高概率事件,如何安全高效地幫助客戶備份恢復(fù)一部分?jǐn)?shù)據(jù)庫(kù)元素,如schema或部分表,才是更加實(shí)際的需求,這也是細(xì)粒度備份恢復(fù)的意義所在。
物理細(xì)粒度備份以小粒度如database級(jí)、schema級(jí)、表級(jí)等為單位,對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行物理備份,由于相對(duì)于集群級(jí)粒度更小,因此也更加高效實(shí)用。目前Roach工具支持的物理細(xì)粒度備份恢復(fù)功能主要包括:schema級(jí)全量備份、schema級(jí)增量備份、從細(xì)粒度備份集恢復(fù)單表/多表、從集群級(jí)備份集(帶細(xì)粒度參數(shù))恢復(fù)單表或多表。這些功能基本上滿足了實(shí)際使用過程中對(duì)細(xì)粒度備份恢復(fù)的要求。物理細(xì)粒度備份恢復(fù)功能圖如圖1所示。

圖1 細(xì)粒度備份恢復(fù)功能示意圖

2. 了解物理細(xì)粒度備份

物理細(xì)粒度的備份能力是從Roach的基線版本繼承而來的,大部分沿用了集群級(jí)備份的設(shè)計(jì)思路,即基本的備份流程是備份行存文件,創(chuàng)建一致性點(diǎn),備份xlog、clog等文件,最后備份列存文件。物理細(xì)粒度備份在此基礎(chǔ)上需要進(jìn)一步考慮以下幾個(gè)問題。

2.1 備份的數(shù)據(jù)內(nèi)容

給定對(duì)應(yīng)粒度備份任務(wù)如一張表,如何在備份最少數(shù)據(jù)的情況下保證恢復(fù)該表時(shí)數(shù)據(jù)的完整性?考慮該問題需要同時(shí)從備份數(shù)據(jù)小和數(shù)據(jù)完整性兩個(gè)方面考慮。備份數(shù)據(jù)量最小最理想的情況是只備份數(shù)據(jù)庫(kù)中該表以及相關(guān)表對(duì)應(yīng)的物理文件,同時(shí)不考慮數(shù)據(jù)的拷貝文件,也就是只備份節(jié)點(diǎn)中主DN對(duì)應(yīng)的數(shù)據(jù)文件。然而從數(shù)據(jù)的完整性角度來說,只備份表對(duì)應(yīng)的物理文件是不夠的,為了保證恢復(fù)階段能恢復(fù)到一致性點(diǎn),需要依賴xlog、clog等日志文件,而這些文件不能以更小的粒度劃分,因此需要全部備份。圖2列出了細(xì)粒度備份在保證數(shù)據(jù)完整性的情況下所必須備份的文件示意圖。

圖2 物理細(xì)粒度備份數(shù)據(jù)內(nèi)容示意圖

2.2 備份集的存儲(chǔ)結(jié)構(gòu)

現(xiàn)階段集群級(jí)備份時(shí)會(huì)將數(shù)據(jù)文件和配置文件等壓縮進(jìn)同一個(gè)備份的rch文件中,在恢復(fù)單表時(shí)需要一起獲取回來并過濾,邏輯較為混亂。因此,為了恢復(fù)時(shí)能夠更精確地獲取文件,細(xì)粒度備份對(duì)數(shù)據(jù)備份結(jié)構(gòu)進(jìn)行了進(jìn)一步改造,將不同類型的文件存儲(chǔ)在不同的rch文件中,以更小的粒度對(duì)存儲(chǔ)結(jié)構(gòu)進(jìn)行了劃分。如圖3所示,行列存相關(guān)的文件存儲(chǔ)在data目錄下,以database為單位進(jìn)行了劃分,每個(gè)database目錄下存在row目錄和col目錄,分別對(duì)應(yīng)存儲(chǔ)行存文件和列存文件。archive文件夾保存xlog相關(guān)文件,xact文件存儲(chǔ)clog相關(guān)文件,gloabal文件夾保存數(shù)據(jù)目錄下其他文件。

圖3 物理細(xì)粒度備份存儲(chǔ)結(jié)構(gòu)示意圖

2.3 備份數(shù)據(jù)相關(guān)文件的組織形式

考慮這樣一個(gè)問題,當(dāng)備份一張表時(shí),除了備份這張表本身對(duì)應(yīng)的數(shù)據(jù)文件,我們還應(yīng)該備份與這張表關(guān)聯(lián)的一些輔助表,比如列存表的cudesc表、存在變長(zhǎng)字段對(duì)應(yīng)的toast表等,只有這樣才能保證恢復(fù)后這張表的可用性,那么備份的時(shí)候怎么知道該表存在哪些關(guān)聯(lián)表呢?細(xì)粒度備份采用Map文件對(duì)表關(guān)系進(jìn)行組織,對(duì)表所有的關(guān)聯(lián)表及文件進(jìn)行統(tǒng)一收集記錄。該信息對(duì)于細(xì)粒度備份恢復(fù)至關(guān)重要,主要有以下兩個(gè)方面的作用:

(1)備份時(shí):得到一張表的Map信息,在備份行列存文件時(shí),按照Map中記錄的信息,將表需要備份的相關(guān)文件加入到需要備份的file_list中,后續(xù)備份時(shí)就可以按照該file_list進(jìn)行文件的備份,省去了文件的掃描動(dòng)作。
(2)恢復(fù)時(shí):恢復(fù)時(shí)根據(jù)Map信息,得到目標(biāo)表相關(guān)的文件記錄,就可以對(duì)應(yīng)獲取所需的數(shù)據(jù)文件,并根據(jù)表的元信息建立恢復(fù)時(shí)的路徑映射關(guān)系。

Map文件的生成是在備份行存文件之前,各節(jié)點(diǎn)以主DN個(gè)數(shù)為單位,并行獲取Map信息,分別生成自己的Map文件。Map信息的獲取,需要從多個(gè)level進(jìn)行:

Agent –> Instance –> Database –> Schema –>Table –> RelatedRelations

在得到各表對(duì)應(yīng)的Map信息后,會(huì)按照一定的格式框架組織多層的json格式,并將對(duì)應(yīng)的json信息以schema為單位寫入到schemaname.map中,最終持久化存儲(chǔ)到介質(zhì)下元數(shù)據(jù)目錄對(duì)應(yīng)的節(jié)點(diǎn)級(jí)根路徑中:

/roach/backup_key/map/dn_6001_6002/databasename/schemaname.map

Map文件對(duì)應(yīng)的json存儲(chǔ)內(nèi)容如圖4所示。

圖4 Map文件Json格式

2.4 備份壓縮文件與數(shù)據(jù)文件的映射關(guān)系

考慮細(xì)粒度恢復(fù)一張表時(shí),如何在備份集大量的rch壓縮文件中挑選出我們想要的表在哪些rch文件里。細(xì)粒度備份恢復(fù)在備份過程中會(huì)生成額外的fine_file_list信息,每張rch文件都有一個(gè)fine_file_list文件與之相對(duì)應(yīng)。該fine_file_list文件記錄了對(duì)應(yīng)rch文件中保存了哪些表,在恢復(fù)時(shí)就可以根據(jù)fine_file_list找到待恢復(fù)表涉及哪些rch文件,精準(zhǔn)獲取必要的rch文件,這樣就可以大幅提升細(xì)粒度恢復(fù)的性能。

只有行列存數(shù)據(jù)的rch文件存在對(duì)應(yīng)的fine_file_list文件。fine_file_list保存在節(jié)點(diǎn)元信息目錄下對(duì)應(yīng)的文件夾中:

/roach/backup_key/fine_file_list/dn_6001_6002/row/file_0_fine_list
/roach/backup_key/fine_file_list/dn_6001_6002/col/file_0_fine_list

2.5 備份表定義導(dǎo)出文件

細(xì)粒度恢復(fù)是在線進(jìn)行的,在進(jìn)行單表或多表恢復(fù)時(shí)需要?jiǎng)?chuàng)建出與原表定義相同的表,再進(jìn)行表物理文件的替換,這就必須知道原表的DDL元信息。因此,在備份過程中需要同時(shí)導(dǎo)出各個(gè)表的DDL元信息。物理細(xì)粒度備份恢復(fù)利用的GaussDB(DWS)自帶的gs_dump工具對(duì)表定義進(jìn)行導(dǎo)出。由于該信息只用于恢復(fù)過程,因此在細(xì)粒度備份剛開始時(shí)會(huì)啟動(dòng)gs_dump去導(dǎo)出所有的表的DDL信息,并讓備份過程與DDL導(dǎo)出并行,不需要阻塞等待,減少整體物理細(xì)粒度的備份時(shí)間。DDL導(dǎo)出流程如圖5所示。

圖5 導(dǎo)出DDL流程圖

導(dǎo)出的DDL信息以schema為單位存儲(chǔ)在節(jié)點(diǎn)元信息目錄下對(duì)應(yīng)的文件夾中:

/roach/backup_key/dumped_ddl/databasename.schemaname

2.6 物理細(xì)粒度備份整體流程

經(jīng)過以上介紹,細(xì)粒度備份的關(guān)鍵步驟都已經(jīng)清楚了,下面給出細(xì)粒度備份的整體流程圖,如圖6所示。

圖6 物理細(xì)粒度備份流程圖

3. 了解物理細(xì)粒度恢復(fù)

與集群級(jí)恢復(fù)停止集群進(jìn)行數(shù)據(jù)覆蓋的方式不同,細(xì)粒度恢復(fù)采用在線恢復(fù)的方式,該方法的核心思想就是在當(dāng)前集群中創(chuàng)建與原表定義完全相同的目標(biāo)表,再將兩張表相關(guān)的物理文件進(jìn)行一一替換。細(xì)粒度恢復(fù)的方法能夠在線進(jìn)行,對(duì)現(xiàn)有集群影響較小,但同時(shí)也對(duì)恢復(fù)過程數(shù)據(jù)的控制有了更高的要求。

物理細(xì)粒度恢復(fù)的大致流程如圖7所示。

圖7 物理細(xì)粒度恢復(fù)流程圖

4. 使用物理細(xì)粒度備份恢復(fù)

GaussDB(DWS)的Roach工具現(xiàn)階段支持schema級(jí)的物理細(xì)粒度備份,下面介紹如何發(fā)起物理細(xì)粒度備份以及如何從細(xì)粒度備份集中恢復(fù)一張表。

4.1 獲取物理細(xì)粒度備份集

Roach工具現(xiàn)支持schema級(jí)的細(xì)粒度備份,如下為命令行中發(fā)起schema級(jí)物理細(xì)粒度備份的命令:

圖8 發(fā)起schema級(jí)備份

以下參數(shù)為必選參數(shù):

  • –master-port : 進(jìn)程端口號(hào)
  • –media-type : 存儲(chǔ)介質(zhì)
  • –media-destination : 壓縮數(shù)據(jù)存儲(chǔ)路徑
  • –metadata-destination : 元數(shù)據(jù)存儲(chǔ)路徑
  • –dbname : 數(shù)據(jù)庫(kù)名稱
  • –schema-list : 多schema清單文件名,內(nèi)容格式為每行一個(gè)schema名
  • –physical-fine-grained : 物理細(xì)粒度參數(shù)

其中指定schema清單時(shí)如果只有一個(gè)schema,也可以直接使用–schemaname參數(shù)直接指定需要備份的schema名稱,此外,同時(shí)備份多個(gè)schema時(shí),schema需要在同一個(gè)database下。

除了schema級(jí)別備份,為支持從集群級(jí)備份集中細(xì)粒度恢復(fù)單表或多表,可以通過在集群級(jí)命令中加入物理細(xì)粒度參數(shù):–physical-fine-grained來生成細(xì)粒度恢復(fù)需要的Map文件、fine_file_list信息。如下為集群級(jí)帶細(xì)粒度參數(shù)的命令:

圖9 集群級(jí)備份帶細(xì)粒度參數(shù)

需要說明的是,帶細(xì)粒度參數(shù)的集群級(jí)備份依然是集群級(jí)的,只是為支持從該備份集細(xì)粒度恢復(fù)單表生成了額外的細(xì)粒度相關(guān)文件。

4.2 從物理細(xì)粒度備份集恢復(fù)表

Roach工具現(xiàn)支持從細(xì)粒度備份集或(集群級(jí)帶細(xì)粒度參數(shù)備份集)恢復(fù)單表或多表,假如當(dāng)前數(shù)據(jù)庫(kù)用戶不小心刪除了一張表,又不想對(duì)停止業(yè)務(wù)對(duì)整個(gè)集群進(jìn)行恢復(fù),如果之前做過物理細(xì)粒度相關(guān)備份,備份集中有這張表,那么細(xì)粒度恢復(fù)就是最好的選擇。細(xì)粒度恢復(fù)可以在線進(jìn)行,不影響集群的正常使用,發(fā)起細(xì)粒度恢復(fù)的命令如下:

圖10 細(xì)粒度恢復(fù)表命令

以下參數(shù)為必選參數(shù):

  • –clean
  • –master-port
  • –media-type
  • –media-destination
  • –metadata-destination
  • –backup-key : 恢復(fù)基于的備份集
  • –physical-fine-grained : 物理細(xì)粒度參數(shù)
  • –dbname : 數(shù)據(jù)庫(kù)名稱
  • –table-list : 待恢復(fù)表列表,格式為schemaname.tablename
  • –restore-target-list : 恢復(fù)后表列表,格式為schemaname.tablename

其中–table-list指定了需要恢復(fù)的哪些表,–restore-target-list指定了恢復(fù)后表的名稱,要求–restore-target-list的表順序與–table-list的表順序一一對(duì)應(yīng)。如果要全部恢復(fù)到原表,則這兩個(gè)表清單可以指向相同文件。兩個(gè)表清單參數(shù)對(duì)應(yīng)的文件內(nèi)容格式是:每個(gè)表一行,且必須帶schema名。

5. 總結(jié)

細(xì)粒度備份和恢復(fù)以更小的粒度對(duì)數(shù)據(jù)文件進(jìn)行了備份恢復(fù)操作??紤]到備份數(shù)據(jù)的完整性以及備份恢復(fù)的性能,細(xì)粒度備份過程增加了ddl導(dǎo)出、Map文件生成等關(guān)鍵步驟,其中從數(shù)據(jù)目錄下的物理文件信息到Map信息、再?gòu)腗ap信息到備份的rch文件對(duì)應(yīng)的fine_file_list信息,形成了對(duì)備份數(shù)據(jù)文件連續(xù)的記錄鏈條?;謴?fù)過程中如果出現(xiàn)缺少數(shù)據(jù)的情況,可以通過對(duì)備份過程中以上所說信息的互相對(duì)比快速定位到出現(xiàn)問題的環(huán)節(jié),因此,掌握以上信息十分關(guān)鍵,可以幫助我們更好地使用細(xì)粒度備份恢復(fù)功能。

?

點(diǎn)擊關(guān)注,第一時(shí)間了解華為云新鮮技術(shù)~文章來源地址http://www.zghlxwxcb.cn/news/detail-440763.html

到了這里,關(guān)于詳解集群級(jí)備份恢復(fù):物理細(xì)粒度備份恢復(fù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • k8s-1.22.3集群etcd備份與恢復(fù)

    kubeadm-1.22.3-0.x86_64 kubelet-1.22.3-0.x86_64 kubectl-1.22.3-0.x86_64 kubernetes-cni-0.8.7-0.x86_64 主機(jī)名 IP VIP k8s-master01 192.168.10.61 192.168.10.70 k8s-master02 192.168.10.62 k8s-master03 192.168.10.63 k8s-node01 192.168.10.64 k8s-node02 192.168.10.65 注:etcd最新的API版本是v3,與v2相比,v3更高效更清晰。k8s默認(rèn)使用的etcd

    2024年02月13日
    瀏覽(29)
  • 使用Velero備份、恢復(fù)k8s集群上的資源

    使用Velero備份、恢復(fù)k8s集群上的資源

    一、Velero簡(jiǎn)介 Velero提供備份和恢復(fù) Kubernetes 集群資源和持久卷的工具。 Velero功能: 對(duì)群集進(jìn)行備份,并在丟失時(shí)進(jìn)行還原。 將集群資源遷移到其他集群。 Velero 包括: 在群集上運(yùn)行的服務(wù)器 在本地運(yùn)行的命令行客戶端 開源地址:https://github.com/vmware-tanzu/velero 官方文檔:

    2024年02月04日
    瀏覽(35)
  • AntDB 企業(yè)增強(qiáng)特性介紹——分布式集群下強(qiáng)一致備份恢復(fù)技術(shù)

    AntDB 企業(yè)增強(qiáng)特性介紹——分布式集群下強(qiáng)一致備份恢復(fù)技術(shù)

    AntDB 使用 barman 實(shí)現(xiàn)數(shù)據(jù)的備份和恢復(fù),但是集群節(jié)點(diǎn)部署在多臺(tái)主機(jī)上,每個(gè)節(jié)點(diǎn)單獨(dú)備份和恢復(fù)。多臺(tái)服務(wù)器時(shí)鐘不同步的情況下同時(shí)備份后, 無法真正實(shí)現(xiàn)基于時(shí)間點(diǎn)的數(shù)據(jù)完全和不完全恢復(fù)。AntDB 提供基于時(shí)間點(diǎn)的全局一致性備份恢復(fù)。 AntDB 可以根據(jù)用戶定制的備份

    2024年02月08日
    瀏覽(20)
  • mysql 增量備份與恢復(fù)使用詳解

    目錄 一、前言 二、數(shù)據(jù)備份策略 2.1 全備 2.2 增量備份 2.3?差異備份

    2024年02月09日
    瀏覽(28)
  • mysql 數(shù)據(jù)備份與恢復(fù)使用詳解

    對(duì)一個(gè)運(yùn)行中的線上系統(tǒng)來說,定期對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份是非常重要的,備份不僅可以確保數(shù)據(jù)的局部完整性,一定程度上也為數(shù)據(jù)安全性提供了保障,設(shè)想如果某種極端的場(chǎng)景下,比如磁盤損壞導(dǎo)致某個(gè)時(shí)間段數(shù)據(jù)丟失,或者誤操作導(dǎo)致數(shù)據(jù)表數(shù)據(jù)被刪等... 這種情況在現(xiàn)實(shí)中

    2024年02月08日
    瀏覽(34)
  • 對(duì)HBase集群進(jìn)行持續(xù)備份和恢復(fù)的策略 Continuous Backup & Restore Strategy for Apache HBase

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 2019年初,Apache HBase項(xiàng)目啟動(dòng)了9個(gè)年頭。從最初僅僅是Hadoop生態(tài)圈中的一個(gè)組件,逐漸演變成越來越多的大數(shù)據(jù)存儲(chǔ)解決方案的一部分。在快速發(fā)展的同時(shí),也帶來了許多技術(shù)上的挑戰(zhàn),如一致性、性能等方面的問題。而在這樣的背景下,HBa

    2024年02月09日
    瀏覽(21)
  • Docker環(huán)境下MySQL備份恢復(fù)工具XtraBackup使用詳解 | Spring Cloud 62

    Percona XtraBackup 是一個(gè)開源的 MySQL 和 MariaDB 數(shù)據(jù)庫(kù)備份工具,它能夠創(chuàng)建高性能、一致性的備份,并且對(duì)生產(chǎn)環(huán)境的影響很小。 Percona XtraBackup 通過在不停止 MySQL 服務(wù)器的情況下,復(fù)制 InnoDB 存儲(chǔ)引擎的數(shù)據(jù)文件和事務(wù)日志,來實(shí)現(xiàn)備份和還原操作。 Percona XtraBackup 的主要特點(diǎn)

    2024年02月06日
    瀏覽(30)
  • 機(jī)器人物理交互場(chǎng)景及應(yīng)用的實(shí)際意義

    機(jī)器人物理交互場(chǎng)景是指機(jī)器人與物理世界或人類進(jìn)行實(shí)際的物理互動(dòng)和交互的情境。這些場(chǎng)景涉及機(jī)器人在不同環(huán)境和應(yīng)用中使用其物理能力,以執(zhí)行任務(wù)、提供服務(wù)或與人類互動(dòng)。 醫(yī)療協(xié)助 : 外科手術(shù)助手 :機(jī)器人可以用于外科手術(shù),提供高精度的操作,減小手術(shù)風(fēng)險(xiǎn)

    2024年02月05日
    瀏覽(24)
  • mysql物理備份步驟

    原庫(kù)10.153.88.5,新建數(shù)據(jù)庫(kù)實(shí)例10.153.88.6,注意/etc/my.cnf配置和88.5一致,測(cè)試目的是通過copy數(shù)據(jù)文件到88.6來恢復(fù)數(shù)據(jù)庫(kù)。 在數(shù)據(jù)庫(kù)10.153.88.5打包數(shù)據(jù)文件 : [mysql@t3-dtpoc-dtpoc-web04 mysql]$ cd /testdata/mysql [mysql@t3-dtpoc-dtpoc-web04 mysql]$ tar zcf /home/mysql/liys/mysql_backup.tar.gz ./ [mysql@t3-dtpoc

    2024年02月09日
    瀏覽(11)
  • mysql備份恢復(fù)(mysqldump備份 mysqlbinlog恢復(fù))

    物理備份 ?物理備份:對(duì)數(shù)據(jù)庫(kù)操作系統(tǒng)的物理文件(如數(shù)據(jù)文件、日志文件等) 冷備份(脫機(jī)備份) :是在關(guān)閉數(shù)據(jù)庫(kù)的時(shí)候進(jìn)行的 熱備份(聯(lián)機(jī)備份) :數(shù)據(jù)庫(kù)處于運(yùn)行狀態(tài),依賴于數(shù)據(jù)庫(kù)的日志文件 溫備份:數(shù)據(jù)庫(kù)鎖定表格(不可寫入但可讀)的狀態(tài)下進(jìn)行備份操作 邏輯備份 邏輯

    2024年02月14日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包