Skip to main content
NetApp Automation
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

Cloud Volumes ONTAP for Azure :連拍到雲端

貢獻者 netapp-aoife dmp-netapp

本文支援適用於 Azure 自動化解決方案的NetApp Cloud Volumes ONTAP , NetApp客戶可從NetApp控制台自動化目錄中取得此解決方案。

Cloud Volumes ONTAP for Azure Automation 解決方案使用 Terraform 將 Cloud Volumes ONTAP for Azure 的容器化部署自動化、讓您能夠快速部署 Cloud Volumes ONTAP for Azure 、無需任何手動介入。

開始之前
  • 您必須下載"Cloud Volumes ONTAP Azure :連拍到雲端"透過控制台 Web UI 實現自動化解決方案。該解決方案打包為 CVO-Azure-Burst-To-Cloud.zip

  • 您必須在與 Cloud Volumes ONTAP 相同的網路上安裝 Linux VM 。

  • 安裝 Linux VM 之後、您必須遵循本解決方案中的步驟來安裝必要的相依性。

步驟 1 :安裝 Docker 和 Docker Compose

安裝Docker

以下步驟以 Ubuntu 20.04 Debian Linux 發佈軟體為例。您執行的命令取決於您所使用的 Linux 發佈軟體。請參閱特定的 Linux 發佈軟體文件以瞭解您的組態。

步驟
  1. 執行下列命令來安裝 Docker sudo

    sudo apt-get update
    sudo apt-get install apt-transport-https cacertificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg |
    sudo apt-key add -
    sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”
    sudo apt-get update
    sudo apt-get install dockerce docker-ce-cli containerd.io
  2. 驗證安裝:

    docker –version
  3. 確認您的 Linux 系統上已建立名為「泊塢視窗」的群組。如有必要、請建立群組:

    sudo groupadd docker
  4. 將需要存取 Docker 的使用者新增至群組:

    sudo usermod -aG docker $(whoami)
  5. 您的變更會在登出並重新登入終端機後套用。或者、您也可以立即套用變更:

    newgrp docker

安裝 Docker Compose

步驟
  1. 執行下列命令來安裝 Docker Compose sudo

    sudo curl -L “https://github.com/docker/compose/releases/download/1.29.2/dockercompose-(𝑢𝑛𝑎𝑚𝑒 − 𝑠)−(uname -m)” -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
  2. 驗證安裝:

    docker-compose –version

步驟 2 :準備 Docker 映像檔

步驟
  1. 將資料夾複製 `CVO-Azure-Burst-To-Cloud.zip`到您要用來部署 Cloud Volumes ONTAP 的 Linux VM :

    scp -i ~/<private-key>.pem -r CVO-Azure-Burst-To-Cloud.zip <azureuser>@<IP_ADDRESS_OF_VM>:<LOCATION_TO_BE_COPIED>
    • `private-key.pem`是您的私密金鑰檔案、無需密碼即可登入。

    • `azureuser`是 VM 使用者名稱。

    • `IP_ADDRESS_OF_VM`是 VM IP 位址。

    • `LOCATION_TO_BE_COPIED`為資料夾的複製位置。

  2. 解壓縮 `CVO-Azure-Burst-To-Cloud.zip`資料夾。您可以擷取目前目錄或自訂位置中的資料夾。

    若要擷取目前目錄中的資料夾、請執行:

    unzip CVO-Azure-Burst-To-Cloud.zip

    若要擷取自訂位置中的資料夾、請執行:

    unzip CVO-Azure-Burst-To-Cloud.zip -d ~/<your_folder_name>
  3. 擷取內容之後、請瀏覽至 `CVO_Azure_Deployment`資料夾並執行下列命令以檢視檔案:

     ls -la

    您應該會看到類似下列範例的檔案清單:

    drwxr-xr-x@ 11 user1 staff 352 May 5 13:56 .
    drwxr-xr-x@ 5 user1 staff 160 May 5 14:24 ..
    -rw-r--r--@ 1 user1 staff 324 May 5 13:18 .env
    -rw-r--r--@ 1 user1 staff 1449 May 5 13:18 Dockerfile
    -rw-r--r--@ 1 user1 staff 35149 May 5 13:18 LICENSE
    -rw-r--r--@ 1 user1 staff 13356 May 5 14:26 README.md
    -rw-r--r-- 1  user1 staff 354318151 May 5 13:51 cvo_azure_flexcache_ubuntu_image_latest
    drwxr-xr-x@ 4 user1 staff 128 May 5 13:18 cvo_azure_variables
    -rw-r--r--@ 1 user1 staff 996 May 5 13:18 docker-compose-deploy.yml
    -rw-r--r--@ 1 user1 staff 1041 May 5 13:18 docker-compose-destroy.yml
    -rw-r--r--@ 1 user1 staff 4771 May 5 13:18 sp_role.json
  4. 找到 `cvo_azure_flexcache_ubuntu_image_latest.tar.gz`檔案。其中包含部署 Cloud Volumes ONTAP for Azure 所需的 Docker 映像。

  5. 解壓縮檔案:

    docker load -i cvo_azure_flexcache_ubuntu_image_latest.tar.gz
  6. 等待幾分鐘、讓 Docker 映像檔載入、然後驗證 Docker 映像檔是否成功載入:

    docker images

    您應該會看到一個以 latest`標記命名的 Docker 映像 `cvo_azure_flexcache_ubuntu_image_latest、如下列範例所示:

    REPOSITORY TAG IMAGE ID CREATED SIZE
    cvo_azure_flexcache_ubuntu_image latest 18db15a4d59c 2 weeks ago 1.14GB

步驟 3 :建立環境變數檔案

在此階段,您必須建立兩個環境變數檔案。一個檔案用於使用服務主體憑證對 Azure 資源管理器 API 進行驗證。第二個檔案用於設定環境變量,以使控制台 Terraform 模組能夠定位和驗證 Azure API。

步驟
  1. 建立服務主體。

    在建立環境變數檔案之前,您必須遵循中的步驟來建立服務主體"建立可存取資源的 Azure Active Directory 應用程式和服務主體"

  2. 將 * 貢獻者 * 角色指派給新建立的服務主體。

  3. 建立自訂角色。

    1. 找到 `sp_role.json`檔案、並在列出的動作下檢查所需的權限。

    2. 插入這些權限、並將自訂角色附加至新建立的服務主體。

  4. 瀏覽至 * 憑證與機密 * 、然後選取 * 新用戶端機密 * 以建立用戶端機密。

    當您建立用戶端機密時、必須從 * 值 * 欄記錄詳細資料、因為您將無法再次看到此值。您也必須記錄下列資訊:

    • 用戶端 ID

    • 訂閱 ID

    • 租戶 ID

      您需要這些資訊來建立環境變數。您可以在「服務主要使用者介面」的 * 總覽 * 區段中找到用戶端 ID 和租戶 ID 資訊。

  5. 建立環境檔案。

    1. 在下列位置建立 `azureauth.env`檔案:

      path/to/env-file/azureauth.env

      1. 將下列內容新增至檔案:

        ClientID=<> clientSecret = <> 訂閱 Id=<> TenantId=<>

      格式 *must * 與上述所示完全相同、且在金鑰與值之間沒有任何空格。

    2. 在下列位置建立 `credentials.env`檔案:

      path/to/env-file/credentials.env

      1. 將下列內容新增至檔案:

        Azure 租戶 ID=<> Azure 用戶端機密 =<> Azure 用戶端 ID =<> Azure 訂閱 ID=<>

    格式 *must * 與上述所示完全相同、且在金鑰與值之間沒有任何空格。

  6. 將絕對檔案路徑新增至 `.env`檔案。

    在對應環境變數的檔案 AZURE_RM_CREDS`中輸入環境檔案的 `.env`絕對路徑 `azureauth.env

    AZURE_RM_CREDS=path/to/env-file/azureauth.env

    在對應環境變數的檔案 BLUEXP_TF_AZURE_CREDS`中輸入環境檔案的 `.env`絕對路徑 `credentials.env

    BLUEXP_TF_AZURE_CREDS=path/to/env-file/credentials.env

步驟 4:註冊NetApp智能服務

透過您的雲端供應商註冊NetApp智慧服務,按小時付費(PAYGO)或透過年度合約付費。NetApp智慧服務包括NetApp備份與復原、 Cloud Volumes ONTAP、 NetApp雲端分層、 NetApp勒索軟體復原和NetApp災難復原。NetApp資料分類包含在您的訂閱中,無需額外付費

步驟
  1. 從 Azure 入口網站導覽至 SaaS 並選擇 訂閱NetApp智慧服務

  2. 選擇 * Cloud Manager (按小時上限 PYGO 、 WORM 和資料服務) * 計畫。

    您可以使用與 Cloud Volumes ONTAP 相同的資源群組或不同的資源群組。

  3. 配置控制台入口網站以將 SaaS 訂閱匯入控制台。

    您可以直接從 Azure 入口網站設定此功能、方法是瀏覽 * 產品與方案詳細資料 * 、然後選取 * 立即設定帳戶 * 選項。

    然後您將被重定向到控制台入口網站以確認配置。

  4. 透過選擇「儲存」確認控制台入口網站中的配置。

步驟 5 :建立外部磁碟區

您應該建立外部磁碟區、以保留 Terraform 狀態檔案及其他重要檔案。您必須確定 Terraform 可以使用這些檔案來執行工作流程和部署。

步驟
  1. 在 Docker Compose 之外建立外部 Volume :

    docker volume create « volume_name »

    範例:

    docker volume create cvo_azure_volume_dst
  2. 請使用下列其中一個選項:

    1. 新增外部磁碟區路徑至 `.env`環境檔案。

      您必須遵循如下所示的確切格式。

      格式:

      PERSISTENT_VOL=path/to/external/volume:/cvo_azure

      範例:
      PERSISTENT_VOL=cvo_azure_volume_dst:/cvo_azure

    2. 將 NFS 共用新增為外部磁碟區。

      請確定 Docker 容器可以與 NFS 共用通訊、而且已設定正確的權限、例如讀取 / 寫入。

      1. 將 NFS 共用路徑新增為 Docker Compose 檔案中外部 Volume 的路徑、如下所示:格式:

        PERSISTENT_VOL=path/to/nfs/volume:/cvo_azure

    範例:
    PERSISTENT_VOL=nfs/mnt/document:/cvo_azure

  3. 瀏覽至 `cvo_azure_variables`資料夾。

    您應該會在資料夾中看到下列變數檔案:

    terraform.tfvars

    variables.tf

  4. 根據您的需求變更檔案內的值 terraform.tfvars

    修改檔案中的任何變數值時、您必須閱讀特定的支援文件 terraform.tfvars。這些值會因地區、可用度區域和 Cloud Volumes ONTAP for Azure 支援的其他因素而異。這包括單一節點和高可用度( HA )配對的授權、磁碟大小和 VM 大小。

    控制台代理程式和Cloud Volumes ONTAP Terraform 模組的所有支援變數均已在 `variables.tf`文件。您必須引用 `variables.tf`在添加到文件之前 `terraform.tfvars`文件。

  5. 根據您的需求,您可以將下列選項設定為或,以啟用或 false`停用 FlexCache 和 FlexClone `true

    下列範例可啟用 FlexCache 和 FlexClone :

    • is_flexcache_required = true

    • is_flexclone_required = true

  6. 如有必要、您可以從 Azure Active Directory 服務擷取 Terraform 變數的值 az_service_principal_object_id

    1. 瀏覽至 * 企業應用程式 → 所有應用程式 * 、然後選取您先前建立的服務主體名稱。

    2. 複製物件 ID 並插入 Terraform 變數的值:

      az_service_principal_object_id

步驟 6 :部署適用於 Azure 的 Cloud Volumes ONTAP

請依照下列步驟部署適用於 Azure 的 Cloud Volumes ONTAP 。

步驟
  1. 從根資料夾執行下列命令以觸發部署:

    docker-compose up -d

    觸發兩個容器、第一個容器會部署 Cloud Volumes ONTAP 、第二個容器則會將遙測資料傳送至 AutoSupport 。

    第二個容器會等待、直到第一個容器成功完成所有步驟為止。

  2. 使用記錄檔監控部署程序的進度:

    docker-compose logs -f

    此命令會即時提供輸出、並擷取下列記錄檔中的資料:

    deployment.log

    telemetry_asup.log

    您可以使用下列環境變數編輯檔案、以變更這些記錄檔的名稱 .env

    DEPLOYMENT_LOGS

    TELEMETRY_ASUP_LOGS

    下列範例說明如何變更記錄檔名稱:

    DEPLOYMENT_LOGS=<your_deployment_log_filename>.log

    TELEMETRY_ASUP_LOGS=<your_telemetry_asup_log_filename>.log

完成後

您可以使用下列步驟移除暫存環境、並清除部署程序期間建立的項目。

步驟
  1. 如果您部署了 FlexCache 、請在檔案中設定下列選項 terraform.tfvars、這樣會清除 FlexCache 磁碟區、並移除先前建立的暫存環境。

    flexcache_operation = "destroy"

    註 可能的選項有 deploy`和 `destroy
  2. 如果您部署了 FlexClone 、請在檔案中設定下列選項 terraform.tfvars、這樣會清除 FlexClone 磁碟區、並移除先前建立的暫存環境。

    flexclone_operation = "destroy"

    註 可能的選項有 deploy`和 `destroy