本文介紹如何將無公網訪問條件的自建SQL Server資料庫遷移到RDS SQL Server中。
使用情境
若您的自建SQL Server資料庫所在伺服器無法串連公網,但有一台專門的Bastionhost進行網路通訊時,您可以採用本文操作將自建SQL Server資料庫遷移到RDS SQL Server中:
在Bastionhost上安裝代理網關。
在自建資料庫所在伺服器上安裝DBS備份網關。
通過DTS控制台的物理網關遷移上雲功能將自建SQL Server資料庫遷移到RDS SQL Server中。
若您自建SQL Server資料庫所在伺服器有訪問公網的條件,請參考其他遷移方案,請參見自建SQL Server通過物理網關遷移上雲。
前提條件
源端自建SQL Server需要滿足以下條件。
源端自建資料庫的版本為:SQL Server 2019、2017、2016、2014、2012、2008 R2、2005。
說明支援阿里雲ECS自建資料庫、IDC自建資料庫、其它雲端服務器上的自建資料庫,不支援雲資料庫。
源端自建資料庫所在伺服器請勿設定
HTTP_PROXY
和HTTPS_PROXY
環境變數。重要若設定了上述兩個環境變數,系統會優先使用環境變數指定的代理網關,導致步驟一Bastionhost上安裝的資料庫網關無法生效,從而導致網路連接失敗。
目標端RDS SQL Server執行個體需滿足以下條件。
目標端資料庫的版本為:SQL Server 2019、2017、2016、2012、2008 R2。
目標端RDS SQL Server執行個體版本必須大於或等於源端自建SQL Server版本。
目標使用者已完成如下動作:
已建立AccessKey,並擷取AccessKey ID和AccessKey Secret資訊,用於用戶端網關的身份識別及註冊上線至DBS控制台。具體操作,請參見建立AccessKey。
若用RAM帳號(阿里雲子帳號)進行添加,需要獲得AliyunDBSFullAccess許可權,具體操作,請參見為RAM使用者授權。
說明主帳號預設在開通DBS服務時已開通以上許可權。
添加成功後,當前帳號下的所有使用者在DBS控制台都可以看到該備份網關。
在備份SQL Server時,需要向NT AUTHORITY\SYSTEM帳號授權Sysadmin角色。可執行如下SQL命令進行設定:
ALTER SERVER ROLE [sysadmin] ADD MEMBER [NT AUTHORITY\SYSTEM] GO
說明AliyunDBSAgent預設的啟動帳號為NT AUTHORITY\SYSTEM。
如果Bastionhost作業系統為Linux,請先在自建資料庫所在伺服器中安裝JRE(Java Runtime Environment)1.8版本的Java環境,您可訪問官網下載和安裝。
配置流程
步驟 | 說明 |
在Bastionhost上安裝代理網關。 代理網關的主要功能是在備份時接收從DBS備份網關所在的資料庫主機發送過來的資料,並將資料轉寄至DBS雲端儲存中(外網);同時,在進行恢複或下載資料庫時,代理網關也可以接收DBS雲端儲存發回的資料,並轉寄至資料庫主機上。 | |
在資料庫所在伺服器上安裝DBS備份網關,且在安裝時,填寫代理網關的IP地址(即Bastionhost的內網IP地址)。 DBS備份網關是安裝在資料庫主機上的備份軟體,其主要功能是在備份時串連、查詢資料庫,並將備份資料發送至代理網關所在的Bastionhost。在進行恢複操作時,DBS備份網關通過代理網關從外部擷取資料,並將資料寫入資料庫中。 | |
通過步驟一和步驟二打通網路後,在DTS控制台的選擇接入方式為物理協議將自建SQL Server資料庫遷移到RDS SQL Server。 說明 有關在DTS控制台進行遷移操作時的注意事項、遷移說明、支援的遷移關係等,請參見自建SQL Server通過物理網關遷移上雲。 |
步驟一:安裝代理網關(Bastionhost)
本節介紹在Windows系統或Linux系統的Bastionhost上安裝代理網關的操作步驟。
Windows系統
進入遷移任務的列表頁面。
在頂部功能表列中,單擊整合與開發。
在左側導覽列,選擇 。
說明實際操作可能會因DMS的模式和布局不同,而有所差異。更多資訊,請參見極簡模式控制台和自訂DMS介面布局與樣式。
您也可以登入新版DTS遷移工作清單頁面。
在遷移任務右側,選擇遷移執行個體所屬地區。
說明新版DTS遷移工作清單頁面,需要在頁面左上方選擇遷移執行個體所屬地區。
單擊建立任務,進入配置源庫及目標庫資訊頁面。
依次選擇
,單擊建立物理協議網關按鈕。在彈出的部署命令對話方塊中,選擇備份網關所在地區、備份網關所在網路類型,並複製網關安裝命令,手動下載。
說明公網:通過公網IP訪問。
ECS私網/VPC:通過阿里雲專線訪問。
在Windows系統的Bastionhost上進行安裝。
雙擊下載檔案內的setup.exe應用程式。
選擇安裝語言,單擊OK。
單擊下一步。
閱讀並接受協議條款,單擊下一步。
選擇代理網關,單擊下一步。
選擇代理網關安裝路徑,單擊下一步,並單擊確定。
說明預設安裝在
C:\Program Files(x86)\aliyun\dbs_agent
中。單擊下一步,準備安裝代理網關基礎檔案。
基礎檔案安裝完成後,單擊 。
進入Windows的工作管理員,確認代理網關是否已安裝成功。
如下圖所示,表示代理網關已安裝成功。
Linux系統
請前往DBS控制台,擷取備份網關下載連結,在Linux系統的Bastionhost上進行安裝。
登入DBS控制台。
單擊左側導覽列中的備份網關,然後在上方選擇目標地區。
說明請就近選擇資料庫所在的地區進行備份網關的安裝。例如您的資料庫在華東1(杭州)地區,建議安裝華東1(杭州)地區的備份網關。
單擊頁面右上方的添加備份網關。
選擇備份網關所在網路類型,並複本備份網關安裝命令,在資料庫伺服器上執行安裝命令。
說明公網:通過公網IP訪問DBS。
ECS私網/VPC:通過阿里雲專線訪問DBS。
在Linux命令列中,執行安裝命令,系統會下載並自動運行安裝包。樣本如下:
[root@iZbp****** ~]# wget -O aliyunDBSAgentInstaller.jar https://aliyun-dbs.oss-cn-hangzhou-internal.aliyuncs.com/installer/0.0.141/aliyunDBSAgentInstaller-0.0.141.jar && sudo java -Dregion=cn-hangzhou -jar aliyunDBSAgentInstaller.jar --2023-08-25 16:04:52-- https://aliyun-dbs.oss-cn-hangzhou-internal.aliyuncs.com/installer/0.0.141/aliyunDBSAgentInstaller-0.0.141.jar Resolving aliyun-dbs.oss-cn-hangzhou-internal.aliyuncs.com (aliyun-dbs.oss-cn-hangzhou-internal.aliyuncs.com)... 100.XXX.XX.XX, 100.XXX.XX.XX, 100.XXX.XX.XX, ... Connecting to aliyun-dbs.oss-cn-hangzhou-internal.aliyuncs.com (aliyun-dbs.oss-cn-hangzhou-internal.aliyuncs.com)|100.XXX.XX.XX|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 247955671 (236M) [application/x-java-archive] Saving to: ‘aliyunDBSAgentInstaller.jar’ 100%[=======================================================================================================>] 247,955,671 19.9MB/s in 11s 2023-08-25 16:05:03 (21.4 MB/s) - ‘aliyunDBSAgentInstaller.jar’ saved [247955671/247955671]
選擇安裝語言。輸入0表示選擇中文,1表示選擇英文。
Select your language 0 [x] chn 1 [ ] eng Input selection: 0
輸入1,並閱讀網關協議。
Press 1 to continue, 2 to quit, 3 to redisplay 1
輸入1,接受網關協議。
Press 1 to accept, 2 to reject, 3 to redisplay 1
選擇安裝組件,Y表示安裝備份網關(Agent),N表示安裝代理網關(資料庫網關DG)。本文以安裝代理網關為例,請選擇N,再輸入Y確認組件資訊。
Enter Y for Yes, N for No: N -- DG -- Enter Y for Yes, N for No: Y Done!
輸入1,繼續安裝。
Press 1 to continue, 2 to quit, 3 to redisplay 1
選擇安裝路徑,斷行符號表示預設安裝在預設路徑
/usr/local/aliyun/dbs_agent
下。如需安裝於自訂路徑下,請手動輸入目標路徑,並輸入1進行確認。本文以安裝在自訂目錄
/usr/local/aliyun/daili_dbs_agent
下為例示範。選擇安裝路徑 : [/usr/local/aliyun/dbs_agent] /usr/local/aliyun/daili_dbs_agent Press 1 to continue, 2 to quit, 3 to redisplay 1
確認安裝組件,輸入1開始安裝。
等待安裝完成即可,安裝時間大約為1~5分鐘。
選擇你要安裝的包 : [x] Pack '代理網關基礎檔案' required Done! Press 1 to continue, 2 to quit, 3 to redisplay 1 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 安裝中 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ==================== Installation started Platform: linux,version=3.10.0-1XXX.XX.X.el7.x86_64,arch=x64,symbolicName=null,javaVersion=1.8.0_372 [ Starting to unpack ] [ Processing package: 代理網關基礎檔案 (1/1) ] Cleaning up the target folder ... [ Unpacking finished ] Installation finished ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 安裝完成 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Installation was successful Application installed on /usr/local/aliyun/daili_dbs_agent [ Writing the uninstaller data ... ] [ Console installation done ]
執行如下命令,確認代理網關是否已安裝成功。
ps aux | grep app_aliyun_proxy
如下表示進程正常,代理網關已安裝成功。若出現其他無法解決的報錯,請到DBS客戶諮詢群(DingTalk群號:35585947)進行諮詢。
[root@iZbp****** ~]# ps aux | grep app_aliyun_proxy root 1**** 0.0 0.5 7***** 9*** ? Ssl 16:06 0:00 /usr/local/aliyun/daili_dbs_agent/dist/app_aliyun_proxy/app_aliyun_proxy -addr :9797 -logdir /usr/local/aliyun/daili_dbs_agent/logs root 2**** 0.0 0.0 1***** 9** pts/1 S+ 16:08 0:00 grep --color=auto app_aliyun_proxy
步驟二:安裝備份網關(資料庫主機)
在自建SQL Server所在伺服器上安裝DBS備份網關,安裝方法如下。
複製安裝代理網關部分步驟4的網關下載連結,在自建資料庫所在伺服器中手動下載。
重要備份網關下載連結必須與安裝代理網關部分步驟4的連結一致,否則會導致資料庫主機和外部網路連接失敗。
在本地Windows裝置或伺服器上,安裝AliyunDBSAgent。
雙擊下載檔案內的setup.exe應用程式。
選擇安裝語言,單擊OK,然後單擊下一步。
閱讀並接受協議條款,單擊下一步。
選擇DBS備份網關,單擊下一步。
選擇安裝路徑,單擊下一步並單擊確定。
選擇備份網關地區,並填寫AccessKey ID、AccessKey Secret、代理網關地址和代理網關連接埠號碼,單擊下一步。
重要請確保DBS備份網關安裝的地區和目標RDS SQL Server執行個體所在地區是一致的。
AccessKey資訊以明文方式存放在安裝目錄下的
.\config\dbs-agent.conf
中。代理網關地址填寫步驟一中代理網關的IP地址(Bastionhost的內網IP地址),代理網關連接埠號碼預設為9797。
配置完成後,系統會嘗試串連步驟一Bastionhost中配置好的代理網關,若串連失敗,則系統會報錯,請重新檢查代理網關的安裝情況。
確認要安裝的組件包,單擊下一步。
網關將開始安裝,安裝時間大約為1~5分鐘。
單擊完成。
您可
C:\Program Files\aliyun\dbs_agent\logs\agent.log
安裝目錄下查看網關安裝情況,如下圖表示網關已正常安裝。
DBS備份網關安裝成功後,在DTS控制台的部署命令對話方塊中,單擊完成安裝。
確認DBS備份網關是否已啟動。
在Windows運行視窗中,輸入
services.msc
,單擊確定。開啟系統的服務管理員。
在服務管理員中,確認該服務是否已啟動,如未啟動,請按右鍵AliyunDBSAgent,在彈出的列表中選擇啟動。
說明系統將預設啟動備份網關,您也可以在服務管理員中啟動、停止AliyunDBSAgent的服務。
查看新添加的DBS備份網關。
您可在Database BackupDBS的備份網關頁面,單擊重新整理,查看新添加的DBS備份網關。
說明以DTS_開頭為新添加的DBS備份網關。
步驟三:資料庫遷移上雲
具體操作,請參見操作步驟部分。
配置源庫資訊時,物理協議網關(DBS備份網關)選擇步驟二中新添加的DBS備份網關。