分布式緩存服務(wù)數(shù)據(jù)遷移概述
分布式緩存服務(wù)遷移流程
評估
獲取當(dāng)前待遷移的緩存數(shù)據(jù)信息(可參考緩存數(shù)據(jù)信息記錄以下信息),包括:
實(shí)例數(shù)量、各實(shí)例配置的數(shù)據(jù)庫數(shù)量、各數(shù)據(jù)庫的key數(shù)量、業(yè)務(wù)用到的數(shù)據(jù)庫、各實(shí)例數(shù)據(jù)占用空間、Redis版本、Redis實(shí)例配置(單機(jī)/主備/集群)、業(yè)務(wù)與各實(shí)例的連接關(guān)系。
根據(jù)獲取到的信息規(guī)劃分布式緩存服務(wù)DCS緩存實(shí)例,包括:
申請緩存實(shí)例數(shù)量、各緩存實(shí)例的規(guī)格、類型(單機(jī)/主備/集群)、緩存實(shí)例與業(yè)務(wù)所屬網(wǎng)絡(luò)規(guī)劃(VPC/子網(wǎng)/安全組)。
準(zhǔn)備
當(dāng)完成遷移評估后,需要準(zhǔn)備以下內(nèi)容:
移動存儲介質(zhì):用于在網(wǎng)絡(luò)不通(自建數(shù)據(jù)中心場景)的情況下以復(fù)制方式傳輸數(shù)據(jù)。
網(wǎng)絡(luò)資源:為彈性云服務(wù)器申請彈性IP、按照業(yè)務(wù)規(guī)劃創(chuàng)建虛擬私有云與子網(wǎng),設(shè)置安全組規(guī)則。建議為彈性IP申請臨時(shí)性高規(guī)格帶寬,提升傳輸效率。
服務(wù)器資源:申請彈性云服務(wù)器,承載Redis客戶端。用于導(dǎo)出或?qū)刖彺鏀?shù)據(jù)。彈性云服務(wù)器的規(guī)格建議不低于8C16G。
分布式緩存服務(wù)DCS緩存實(shí)例:按照遷移規(guī)劃申請緩存實(shí)例,如果實(shí)例數(shù)量超過用戶默認(rèn)配額,請?zhí)峁位蛘呗?lián)系客服支持。
相關(guān)工具安裝:包括SSH工具、FTP工具、Redis遷移工具等。
信息收集:信息收集包括參與人員聯(lián)系方式,服務(wù)器地址、登錄信息,緩存實(shí)例信息與數(shù)據(jù)庫信息等。
分布式緩存服務(wù)整體遷移方案:制定總體遷移計(jì)劃,包括人員安排、演練方案、遷移方案、驗(yàn)證方案、業(yè)務(wù)切換方案、回退方案。
每一份方案需要有細(xì)化到可執(zhí)行的操作步驟,以及可標(biāo)記任務(wù)結(jié)束的里程碑。
演練
演練的目的主要有以下:
驗(yàn)證遷移工具與過程的可行。
發(fā)掘遷移過程中遇到的問題,并作出有效的改進(jìn)。
評估遷移耗時(shí)。
優(yōu)化遷移步驟,驗(yàn)證部分工作并行的可行性,提高遷移效率。
備份
在遷移前,需要先行備份,包括但不限于緩存數(shù)據(jù)、Redis配置文件,用于應(yīng)急。
遷移
在完成一到兩輪的遷移演練,并根據(jù)演練過程中發(fā)現(xiàn)的問題進(jìn)行優(yōu)化后,正式開始數(shù)據(jù)遷移。
遷移過程應(yīng)該細(xì)化到每一步可執(zhí)行的步驟,有明確的開始與結(jié)束確認(rèn)動作。
數(shù)據(jù)驗(yàn)證
緩存數(shù)據(jù)的驗(yàn)證可以包括以下幾方面:各數(shù)據(jù)庫的key分布是否與原來或者遷移預(yù)期一致、關(guān)鍵key的檢查、key的過期時(shí)間檢查、實(shí)例是否能夠正常備份和恢復(fù)。
業(yè)務(wù)切換
當(dāng)緩存數(shù)據(jù)完成遷移,且驗(yàn)證無誤后,業(yè)務(wù)可以正式切換緩存數(shù)據(jù)的連接,恢復(fù)對外。
如果涉及到緩存數(shù)據(jù)庫編號的變化,業(yè)務(wù)還需修改編號的選擇配置。
如果業(yè)務(wù)整體由數(shù)據(jù)中心或其他云廠商遷移到華為云,業(yè)務(wù)和緩存數(shù)據(jù)的遷移可并行。
業(yè)務(wù)驗(yàn)證
業(yè)務(wù)切換后建議驗(yàn)證內(nèi)容包含以下:
業(yè)務(wù)應(yīng)用與分布式緩存服務(wù)DCS緩存實(shí)例的連通。
通過業(yè)務(wù)操作對緩存數(shù)據(jù)的增刪改查。
如果條件滿足,進(jìn)行壓測,確認(rèn)性能滿足業(yè)務(wù)峰值壓力。
回退
當(dāng)遇到演練中沒有及時(shí)發(fā)現(xiàn)的問題,導(dǎo)致數(shù)據(jù)遷移后無法供業(yè)務(wù)使用,且短期無法解決,則涉及到業(yè)務(wù)回退。
由于源Redis數(shù)據(jù)仍然存在,因此只需業(yè)務(wù)完成回退,重新接入源Redis實(shí)例即可。
在完成回退后,可繼續(xù)從演練甚至準(zhǔn)備階段重新開始,解決問題。
遷移信息收集表
評估和準(zhǔn)備階段收集的信息填寫參考下表:
遷移源
|
信息項(xiàng)
|
說明
|
---|---|---|
源Redis(列出所有待遷移的實(shí)例) |
源Redis實(shí)例的IP地址 |
— |
Redis訪問密碼(如有) |
— |
|
源Redis(列出所有待遷移的實(shí)例) |
總數(shù)據(jù)量大小 |
info memory命令查詢得到,參考used_memory_human的值。 用于評估遷移方案、分布式緩存服務(wù)DCS緩存實(shí)例規(guī)格、ECS可用磁盤空間等是否滿足,以及預(yù)估遷移耗時(shí)(業(yè)務(wù)中斷時(shí)間)。 |
源Redis(列出所有待遷移的實(shí)例) |
不為空的數(shù)據(jù)庫編號 |
info keyspace命令查詢得到。 用于確認(rèn)遷移是否涉及多數(shù)據(jù)庫,非AOF文件方式遷移,部分開源工具可能須逐庫處理導(dǎo)出和導(dǎo)入。 分布式緩存服務(wù)DCS緩存實(shí)例中,單機(jī)和主備實(shí)例支持0-255共256個數(shù)據(jù)庫,集群默認(rèn)只提供一個數(shù)據(jù)庫。 |
源Redis(列出所有待遷移的實(shí)例) |
各數(shù)據(jù)庫的key數(shù)量 |
用于遷移后進(jìn)行數(shù)據(jù)完整性驗(yàn)證。 |
源Redis(列出所有待遷移的實(shí)例) |
數(shù)據(jù)類型 |
CDM遷移服務(wù)當(dāng)前支持Hash和String兩種數(shù)據(jù)格式,如果源數(shù)據(jù)含有l(wèi)ist、set之類數(shù)據(jù),請采用第三方遷移工具。 |
華為云ECS(彈性云服務(wù)器) 如果待遷移實(shí)例較多,可準(zhǔn)備多臺ECS并行遷移 |
彈性IP地址 |
選擇與分布式緩存服務(wù)DCS緩存實(shí)例網(wǎng)絡(luò)互通的彈性云服務(wù)器進(jìn)行數(shù)據(jù)導(dǎo)入,確保導(dǎo)入過程網(wǎng)絡(luò)穩(wěn)定。 帶寬建議選取高配,提升數(shù)據(jù)傳輸效率。 |
華為云ECS(彈性云服務(wù)器) 如果待遷移實(shí)例較多,可準(zhǔn)備多臺ECS并行遷移 |
系統(tǒng)登錄用戶/密碼 |
|
華為云ECS(彈性云服務(wù)器) 如果待遷移實(shí)例較多,可準(zhǔn)備多臺ECS并行遷移 |
CPU/內(nèi)存 |
部分遷移工具支持多線程并行導(dǎo)入,使用高規(guī)格ECS,能提升導(dǎo)入速度。 |
華為云ECS(彈性云服務(wù)器) 如果待遷移實(shí)例較多,可準(zhǔn)備多臺ECS并行遷移 |
可用磁盤空間 |
ECS需要預(yù)留足夠的可用磁盤空間,存儲壓縮文件以及解壓后的緩存數(shù)據(jù)文件。 注:為提高數(shù)據(jù)傳輸效率,對于較大的數(shù)據(jù)文件,建議壓縮后再傳輸?shù)綇椥栽品?wù)器。 |
分布式緩存服務(wù)DCS緩存實(shí)例 (根據(jù)源Redis實(shí)例數(shù)與數(shù)據(jù)量情況選擇合適的規(guī)格與實(shí)例數(shù)) |
實(shí)例連接地址 |
— |
分布式緩存服務(wù)DCS緩存實(shí)例 (根據(jù)源Redis實(shí)例數(shù)與數(shù)據(jù)量情況選擇合適的規(guī)格與實(shí)例數(shù)) |
實(shí)例連接端口 |
— |
分布式緩存服務(wù)DCS緩存實(shí)例 (根據(jù)源Redis實(shí)例數(shù)與數(shù)據(jù)量情況選擇合適的規(guī)格與實(shí)例數(shù)) |
實(shí)例訪問密碼 |
|
分布式緩存服務(wù)DCS緩存實(shí)例 (根據(jù)源Redis實(shí)例數(shù)與數(shù)據(jù)量情況選擇合適的規(guī)格與實(shí)例數(shù)) |
實(shí)例類型 |
— |
分布式緩存服務(wù)DCS緩存實(shí)例 (根據(jù)源Redis實(shí)例數(shù)與數(shù)據(jù)量情況選擇合適的規(guī)格與實(shí)例數(shù)) |
實(shí)例規(guī)格/可用內(nèi)存 |
— |
網(wǎng)絡(luò)配置 |
VPC |
提前規(guī)劃VPC,確保應(yīng)用服務(wù)、分布式緩存服務(wù)DCS緩存實(shí)例等處于相同VPC中。 |
網(wǎng)絡(luò)配置 |
子網(wǎng) |
|
網(wǎng)絡(luò)配置 |
安全組或白名單 |
由于Redis 3.0和Redis 4.0/5.0/企業(yè)版Redis 6.0實(shí)例部署模式不一樣,控制訪問方式也不一樣,需要制定相應(yīng)的安全組或白名單規(guī)則,確保網(wǎng)絡(luò)連通。具體請根據(jù)目標(biāo)Redis實(shí)例參考配置安全組或者配置白名單 |
分布式緩存服務(wù)遷移方案
自建Redis,指的是在華為云、其他云廠商、本地?cái)?shù)據(jù)中心自行搭建的Redis。
自建Redis遷移至分布式緩存服務(wù)DCS
分布式緩存服務(wù)DCS控制臺界面一鍵式遷移:
1、如果自建Redis和分布式緩存服務(wù)DCS Redis實(shí)例網(wǎng)絡(luò)連通,推薦使用在線遷移自建Redis。
2、如果自建Redis和分布式緩存服務(wù)DCS Redis實(shí)例網(wǎng)絡(luò)不通,推薦使用備份文件遷移自建Redis。
Redis-cli:
1、使用Redis-cli遷移自建Redis(AOF文件)。
2、使用Redis-cli遷移自建Redis(RDB文件)。
Redis-Shake:
使用Redis-Shake工具遷移自建Redis Cluster集群。
分布式緩存服務(wù)DCS實(shí)例間遷移
分布式緩存服務(wù)DCS控制臺界面一鍵式遷移:
1、低版本Redis實(shí)例遷移到高版本Redis實(shí)例,例如Redis 3.0遷移至Redis 4.0/5.0:
如果源Redis實(shí)例和目標(biāo)Redis實(shí)例的網(wǎng)絡(luò)連通,推薦使用在線遷移Redis實(shí)例。
如果網(wǎng)絡(luò)不連通,推薦使用備份文件遷移不同Redis版本的實(shí)例。
2、不同Region的Redis實(shí)例遷移,推薦使用備份文件遷移不同Region的實(shí)例。
3、不同帳號的Redis實(shí)例遷移,例如從華為云帳號A遷移到帳號B:
如果可以打通網(wǎng)絡(luò),也可以使用在線遷移Redis實(shí)例。
其他云廠商Redis服務(wù)遷移至分布式緩存服務(wù)DCS
分布式緩存服務(wù)DCS控制臺界面一鍵式遷移:
1、如果其他云廠商Redis服務(wù),沒有禁用SYNC和PSYNC命令,推薦使用在線遷移其他云廠商Redis。
2、如果其他云廠商Redis服務(wù),禁用了SYNC和PSYNC命令,推薦使用備份文件遷移其他云廠商Redis。
Rump:
Redis-Shake:
分布式緩存服務(wù)教程視頻
分布式緩存服務(wù)DCS
04:53
分布式緩存服務(wù)DCS
03:40
分布式緩存服務(wù)DCS
04:16