一鍵上云
本文中含有需要您注意的重要提示信息,忽略該信息可能對(duì)您的業(yè)務(wù)造成影響,請(qǐng)務(wù)必仔細(xì)閱讀。
本文介紹如何通過(guò)RDS PostgreSQL的一鍵上云功能將ECS或IDC自建PostgreSQL數(shù)據(jù)庫(kù)遷移到RDS PostgreSQL。該功能采用物理流復(fù)制方式,具有速度快、操作簡(jiǎn)單、穩(wěn)定性好、場(chǎng)景覆蓋全等特點(diǎn),能夠有效提高遷移效率。
前提條件
RDS PostgreSQL實(shí)例需滿足以下條件。
實(shí)例大版本與自建PostgreSQL相同,當(dāng)前支持PostgreSQL 10及以上版本。
說(shuō)明如需跨大版本遷移,例如從PostgreSQL 10遷移至RDS PostgreSQL 13,需要先參考本文檔完成一鍵上云,再通過(guò)升級(jí)數(shù)據(jù)庫(kù)大版本將RDS PostgreSQL 10升級(jí)至RDS PostgreSQL 13。
實(shí)例需要為主實(shí)例,只讀實(shí)例不支持一鍵上云。
實(shí)例的存儲(chǔ)類(lèi)型為云盤(pán)。
實(shí)例為空,無(wú)數(shù)據(jù),可用存儲(chǔ)空間大于等于自建PostgreSQL中數(shù)據(jù)大小的總和。
自建PostgreSQL需要滿足以下條件。
網(wǎng)絡(luò)
遷移來(lái)源
網(wǎng)絡(luò)配置要求
阿里云ECS自建PostgreSQL或阿里云RDS PostgreSQL
ECS實(shí)例或源RDS PostgreSQL實(shí)例需要與目標(biāo)RDS PostgreSQL實(shí)例處于相同VPC。如果VPC不同,則需要使用云企業(yè)網(wǎng)打通,更多信息,請(qǐng)參見(jiàn)云企業(yè)網(wǎng)。
線下IDC自建PostgreSQL(IDC與VPC打通)
需要打通IDC與RDS PostgreSQL實(shí)例之間的內(nèi)網(wǎng)連接。配置方法請(qǐng)參見(jiàn)VPC連接本地IDC。
如果從ECS自建PostgreSQL遷移至RDS PostgreSQL實(shí)例,需先完成(可選)ECS配置安全組。
已完成配置:配置postgresql.conf文件。
已完成配置:創(chuàng)建遷移賬號(hào)。
已完成配置:更新pg_hba.conf文件。
已完成配置:配置服務(wù)器防火墻。
注意事項(xiàng)
遷移上云任務(wù)期間可以對(duì)自建PostgreSQL數(shù)據(jù)庫(kù)進(jìn)行讀寫(xiě),但請(qǐng)勿執(zhí)行遷移、重啟、變配等操作。
步驟一:上云評(píng)估
訪問(wèn)RDS實(shí)例列表,在上方選擇地域,然后單擊目標(biāo)實(shí)例ID。
在左側(cè)導(dǎo)航欄單擊一鍵上云/容災(zāi)搭建,單擊可行性評(píng)估頁(yè)簽。
在配置向?qū)У?b data-tag="uicontrol" id="uicontrol-1ts-2uy-7cc" class="uicontrol">選擇場(chǎng)景與源端類(lèi)型步驟,選擇場(chǎng)景為遷移上云,并選擇遷移來(lái)源后,單擊下一步。
在目標(biāo)實(shí)例配置步驟,單擊下一步。
在源實(shí)例配置步驟,選中所有已完成的配置準(zhǔn)備項(xiàng),單擊下一步。
說(shuō)明源實(shí)例配置步驟的具體操作,請(qǐng)參見(jiàn)(可選)ECS配置安全組、創(chuàng)建遷移賬號(hào)和更新pg_hba.conf文件。
在發(fā)起可行性評(píng)估步驟,配置源實(shí)例信息。
參數(shù)
取值說(shuō)明
遷移任務(wù)名
系統(tǒng)自動(dòng)生成,無(wú)需修改。
源端 VPC IP/DNS
ECS自建PostgreSQL數(shù)據(jù)庫(kù)一鍵上云場(chǎng)景,配置ECS實(shí)例的私網(wǎng)IP。獲取方法請(qǐng)參見(jiàn)查看IP地址。
IDC自建PostgreSQL數(shù)據(jù)庫(kù)一鍵上云場(chǎng)景,配置為IDC的內(nèi)網(wǎng)IP。
源端Port
自建PostgreSQL數(shù)據(jù)庫(kù)的端口,可通過(guò)
netstat -a | grep PGSQL
命令查看。用戶名
migratetest
,創(chuàng)建遷移賬號(hào)步驟創(chuàng)建的數(shù)據(jù)庫(kù)賬號(hào)。密碼
123456
,創(chuàng)建遷移賬號(hào)步驟創(chuàng)建的數(shù)據(jù)庫(kù)賬號(hào)的密碼。單擊創(chuàng)建可行性評(píng)估任務(wù)。
說(shuō)明可行性評(píng)估任務(wù)期間,實(shí)例狀態(tài)將變更為維護(hù)實(shí)例中。
遷移評(píng)估完成后,您可以在可行性評(píng)估頁(yè)面的遷移上云列表查看遷移評(píng)估任務(wù)的狀態(tài)。
只有狀態(tài)為成功,您才能進(jìn)行遷移上云步驟,具體請(qǐng)參見(jiàn)步驟二:遷移上云。
如果狀態(tài)為失敗,請(qǐng)單擊操作列的查看報(bào)告,根據(jù)報(bào)錯(cuò)進(jìn)行處理,常見(jiàn)報(bào)錯(cuò)請(qǐng)參見(jiàn)解讀上云評(píng)估報(bào)告。
處理報(bào)錯(cuò)后,您可以單擊操作列的重新評(píng)估,重新開(kāi)始評(píng)估任務(wù)。
步驟二:遷移上云
只有上云評(píng)估狀態(tài)為成功時(shí),才能執(zhí)行本步驟。
訪問(wèn)RDS實(shí)例列表,在上方選擇地域,然后單擊目標(biāo)實(shí)例ID。
在左側(cè)導(dǎo)航欄單擊一鍵上云/容災(zāi)搭建,切換至遷移上云頁(yè)簽,單擊創(chuàng)建遷移上云任務(wù)。
在創(chuàng)建遷移上云任務(wù)窗口中,從關(guān)聯(lián)評(píng)估任務(wù)列表中選擇步驟一:上云評(píng)估中已成功的上云評(píng)估任務(wù)。
說(shuō)明選擇關(guān)聯(lián)評(píng)估任務(wù)后,源庫(kù)類(lèi)型、源端 IP/DNS、源端Port和用戶名參數(shù)將會(huì)自動(dòng)獲取,無(wú)需配置。
單擊發(fā)起遷移上云,系統(tǒng)將自動(dòng)啟動(dòng)上云任務(wù)。
警告上云任務(wù)期間,實(shí)例狀態(tài)將變更為遷入數(shù)據(jù)中。您可以對(duì)自建PostgreSQL數(shù)據(jù)庫(kù)進(jìn)行讀寫(xiě),但請(qǐng)勿執(zhí)行遷移、重啟、變配等操作,否則將導(dǎo)致上云任務(wù)失敗。
上云切換。
在遷移上云任務(wù)中,單擊上云階段列的鏈接,查看當(dāng)前上云任務(wù)進(jìn)度。
當(dāng)上云階段為增量同步時(shí),可單擊操作列的上云切換,將RDS PostgreSQL提升為主庫(kù),正式提供服務(wù)。
在切換上云窗口,根據(jù)上云須知提示,設(shè)置源實(shí)例只讀或應(yīng)用停止寫(xiě)入。
說(shuō)明設(shè)置源實(shí)例只讀:
如果源實(shí)例為RDS PostgreSQL實(shí)例,則參考如下步驟配置:
通過(guò)設(shè)置實(shí)例參數(shù)功能,修改源實(shí)例參數(shù)rds_force_trans_ro_non_sup取值為on。
使用如下語(yǔ)句,中斷所有現(xiàn)有會(huì)話。
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();
如果源實(shí)例為自建數(shù)據(jù)庫(kù),則參考如下步驟配置:
-- 設(shè)置數(shù)據(jù)庫(kù)只讀 ALTER SYSTEM SET default_transaction_read_only=on; -- 重新加載參數(shù)配置使修改生效 SELECT pg_reload_conf(); -- 中斷所有現(xiàn)有會(huì)話 SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();
選中所有復(fù)選框,單擊立即切換,等待遷移完成。