目錄

簡介

必要條件

需求

採用元件

背景資訊

收集所需資訊

下載和更新指令碼

更新WordPress配置檔案

簡介

本文檔介紹如何使用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類似的更改，即備份指令碼、備份位置和還原指令碼，如下圖所示。

一旦進行了這些更改，只需執行儲存應用程式配置檔案。

現在，新部署必須能夠從一個節點遷移到另一個節點。