簡介
本文檔介紹如何使用CloudCenter遷移應用程式以備份並將內容恢復到Amazon S3儲存桶。
必要條件
需求
思科建議您瞭解以下主題:
- Linux
- CloudCenter
- Amazon S3
採用元件
本檔案中的資訊是根據CloudCenter v4.8.1.1。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
背景資訊
本文檔假定CloudCenter已經安裝並且工作正常。此外,WordPress已建立模型並已確認能夠正常工作。此流程僅測試了使用S3儲存桶作為儲存庫的流程,並可在公共雲之間從一個部署遷移到另一個部署,不過,只要在目標雲中確認與S3儲存桶的連線,此流程就必須在公共雲和私有雲之間工作。此過程只能用於概念驗證。它沒有採用最佳實踐,因為金鑰已硬編碼到指令碼中以便於使用。指定的指令碼是使用Apache Web伺服器為CentOS編寫的。
收集所需資訊
CloudCenter使用一些指令碼來將資料備份和恢復到正確的VM,為了填充這些指令碼,需要預先收集一些資訊。
- Amazon S3儲存桶的名稱
- 儲存備份資料的儲存桶中的路徑
- Amazon S3金鑰
- Amazon S3金鑰
附註:S3儲存桶也必須新增為CloudCenter中的儲存庫。
下載和更新指令碼
- 需要四個指令碼來處理遷移WordPress。兩個備份指令碼,一個用於資料庫,另一個用於Web伺服器,兩個恢復指令碼。
- 下載BackupRestore.zip並從中解壓縮RestoreServer.sh、RestoreDB.sh、BackupDB.sh和BackupServer.sh。
- 在每個金鑰中,更新Bucket、Path、S3金鑰、S3金鑰。
- Web伺服器的備份指令碼將/var/www/目錄壓縮到一個名為server.zip的檔案,該檔案儲存在/tmp目錄中。然後使用指定的憑據將server.zip上傳到S3儲存桶。
- Web伺服器的恢復指令碼將下載server.zip檔案,並將其解壓縮到/var/www/目錄中。這兩個指令碼均不執行任何錯誤檢查,也不檢查所安裝的作業系統。如果WordPress安裝在不同的作業系統上,或者安裝在除Apache以外的其他Web伺服器上,則可能會導致問題。
- 資料庫的備份指令碼執行資料庫(DB)轉儲並在它上載到S3儲存桶之前將其解壓縮。
- 資料庫的恢復指令碼將建立資料庫,然後使用從S3儲存桶下載的資料庫轉儲來重新建立資料庫。
附註:這些指令碼將S3金鑰和金鑰以明文儲存,不建議這樣做,並且只能用作概念驗證,或者在初始測試時使用。
更新所有欄位後,將指令碼上傳到CloudCenter儲存庫,以便在應用程式配置檔案中引用它們。
更新WordPress配置檔案
要使用這些新指令碼,需要對配置檔案進行一些更新。
在WebServer下,選擇遷移,然後在備份指令碼中新增指向BackupServer.sh的路徑,同時在「備份位置」中引用備份位置,最後在Restore Script中新增路徑,如下圖所示。
RestoreServer.sh需要許可權才能將檔案解壓縮到/var/www/而cliqruser沒有許可權這樣做。 在Node Initialization & Clean Up下,將unzip新增到Sudo命令清單中。這賦予指令碼以超級使用者身份運行unzip的許可權,如圖所示。
資料庫層需要與WebServer類似的更改,即備份指令碼、備份位置和還原指令碼,如下圖所示。
一旦進行了這些更改,只需執行儲存應用程式配置檔案。
現在,新部署必須能夠從一個節點遷移到另一個節點。