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

使用Amazon FSx for ONTAP將虛擬機器移轉到 Amazon EC2

貢獻者 netapp-jsnyder kevin-hoke

部署Amazon FSx for NetApp ONTAP以將虛擬機器移轉到 Amazon EC2。此過程包括設定 FSx ONTAP環境、配置 iSCSI 連接以及使用 Cirrus Data 的 MigrateOps 進行無縫資料傳輸。

配置 FSx ONTAP和 Cirrus Data 進行遷移操作

"逐步部署指南"展示如何將 FSx ONTAP磁碟區新增至 VPC。由於這些步驟本質上是連續的,因此請確保按順序涵蓋它們。

為了演示的目的,「DRaaSDemo」是創建的檔案系統的名稱。

演示檔案系統使用者介面的圖像

配置 AWS VPC 並根據您的效能要求配置 FSx ONTAP後,請登入"cloud.cirrusdata.com""建立新專案"或造訪現有項目。

Cirrus Data 專案使用者介面圖片

在建立 MigrationOps 配方之前,應將 AWS Cloud 新增為整合。 CMC 提供與 FSx ONTAP和 AWS 的內建整合。 FSx ONTAP整合提供以下自動化功能:

準備您的 FSx ONTAP檔案系統:

  • 建立與來源磁碟區相符的新磁碟區和 LUN

注意:FSx ONTAP FS 模型中的目標磁碟是在“磁碟區”上建立的“LUN”,該磁碟區具有足夠的容量來包含 LUN 以及合理的開銷以促進快照和元資料。 CMC 自動化處理所有這些細節,以使用可選的使用者定義參數建立適當的捲和 LUN。

  • 使用主機啟動器 IQN 建立主機實體(在 FSx 中稱為 iGroups)

  • 使用映射將新建立的磁碟區對應到適當的主機實體

  • 建立所有其他必要的配置

準備生產主機以進行 iSCSI 連線:

  • 如果需要,請安裝並設定 iSCSI 功能並設定啟動器。

  • 如有必要,請使用適當的供應商識別碼安裝和設定多路徑(Windows 的 MPIO)。

  • 如有必要,請根據供應商的最佳實務調整系統設置,例如使用 Linux 上的 udev 設定。

  • 建立和管理 iSCSI 連接,例如 Windows 上的持久/收藏 iSCSI 目標。

若要為 FSx ONTAP和 AWS 設定 CMC 集成,請執行下列步驟:

  1. 登入 Cirrus Data Cloud 入口網站。

  2. 轉到您想要啟用整合的項目。

  3. 導航至整合 → 好東西。

  4. 捲動找到 FSx ONTAP並點擊新增整合。

    Cirrus Data「新增整合」使用者介面圖片

  5. 提供描述性名稱(嚴格用於顯示目的)並新增適當的憑證。

    Cirrus Data「新增整合」使用者介面圖片

  6. 建立整合後,在建立新的遷移工作階段期間,選擇「自動指派目標磁碟區」以在 FSx ONTAP上自動指派新磁碟區。

    注意:除非為遷移啟用了“遷移到較小的磁碟區”,否則將建立與來源磁碟區大小相同的新 LUN。

    注意:如果主機實體(iGroup)尚不存在,則將建立一個新的。所有主機 iSCSI 啟動器 IQN 都會新增至該新主機實體。

    注意:如果具有任何 iSCSI 啟動器的現有主機實體已經存在,則它將重複使用。

  7. 完成後,請依照螢幕上的步驟新增 AWS 的整合。

    Cirrus Data「新增整合」使用者介面圖片

    注意:在將虛擬機器從本機儲存遷移到 AWS 時使用此整合以及 FSx ONTAP整合。

    注意:如果要遷移的生產實例沒有直接出站連接,請使用管理中繼與 Cirrus Data Cloud 進行通訊。

新增整合後,就可以向專案註冊主機了。讓我們透過一個範例場景來討論這一點。

主機註冊場景

駐留在本機資料中心 vCenter 上的來賓 VMware VM:

  • Windows 2016 執行 SQL Server,其中包含三個 VMDK(包括作業系統和資料磁碟)。它正在運行一個活動資料庫。資料庫位於由兩個 VMDK 支援的資料卷上。

注意:由於來源為 VMware 環境並使用 VMDK,因此此來賓 VM 上目前未配置 Windows iSCSI Initiator 軟體。要透過 iSCSI 連接到我們的目標存儲,必須安裝和設定 iSCSI 和 MPIO。 Cirrus Data Cloud 整合將在此過程中自動執行此安裝。

注意:上一節中配置的整合會自動配置新的目標存儲,以建立新磁碟、設定主機實體及其 IQN,甚至修復應用程式 VM(主機)的 iSCSI 和多路徑配置。

將要遷移的 VMware 虛擬機器的映像

此示範將把應用程式 VMDK 從每個 VM 遷移到 FSx ONTAP自動配置和映射的 iSCSI 磁碟區。在這種情況下,OS VMDK 將會移轉到 Amazon EBS 卷,因為 Amazon EC2 執行個體僅支援將此 Amazon EBS 作為啟動磁碟。

注意:此遷移方法的比例因素是網路頻寬和連接本地到 AWS VPC 的管道。由於每個虛擬機器都配置了 1:1 主機會話,因此整體遷移效能取決於兩個因素:

  • 網路頻寬

  • 目標實例類型和 ENI 頻寬

遷移步驟如下:

  1. 在指定用於遷移波次的每台主機(Windows 和 Linux)上安裝 CMC 代理程式。這可以透過執行一行安裝命令來實現。

    為此,請存取資料遷移 > 遷移主機 > 按一下“部署 Cirrus Migrate Cloud”,然後按一下以選擇“Windows”。

    然後,複製 `iex`命令到主機並使用 PowerShell 運行它。一旦代理部署成功,主機將被加入到「遷移主機」下的專案中。

    Cirrus Data 安裝介面圖片

    Windows 安裝進度圖片

  2. 為每個虛擬機器準備 YAML。

    注意:為每個 VM 建立一個 YAML 來指定遷移任務所需的配方或藍圖是至關重要的步驟。

    YAML 提供操作名稱、註解(說明)以及配方名稱 MIGRATEOPS_AWS_COMPUTE,主機名(system_name) 和整合名稱(integration_name)以及來源和目標配置。可以將自訂腳本指定為切換操作之前和之後的操作。

    operations:
        -   name: Win2016 SQL server to AWS
            notes: Migrate OS to AWS with EBS and Data to FSx ONTAP
            recipe: MIGRATEOPS_AWS_COMPUTE
            config:
                system_name: Win2016-123
                integration_name: NimAWShybrid
                migrateops_aws_compute:
                    region: us-west-2
                    compute:
                        instance_type: t3.medium
                        availability_zone: us-west-2b
                    network:
                        vpc_id: vpc-05596abe79cb653b7
                        subnet_id: subnet-070aeb9d6b1b804dd
                        security_group_names:
                            - default
                    destination:
                        default_volume_params:
                            volume_type: GP2
                        iscsi_data_storage:
                            integration_name: DemoDRaaS
                            default_volume_params:
                                netapp:
                                    qos_policy_name: ""
                    migration:
                        session_description: Migrate OS to AWS with EBS and Data to FSx ONTAP
                        qos_level: MODERATE
                    cutover:
                        stop_applications:
                            - os_shell:
                                  script:
                                      - stop-service -name 'MSSQLSERVER' -Force
                                      - Start-Sleep -Seconds 5
                                      - Set-Service -Name 'MSSQLSERVER' -StartupType Disabled
                                      - write-output "SQL service stopped and disabled"
    
                            - storage_unmount:
                                  mountpoint: e
                            - storage_unmount:
                                  mountpoint: f
                        after_cutover:
                            - os_shell:
                                  script:
                                      - stop-service -name 'MSSQLSERVER' -Force
                                      - write-output "Waiting 90 seconds to mount disks..." > log.txt
                                      - Start-Sleep -Seconds 90
                                      - write-output "Now re-mounting disks E and F for SQL..." >>log.txt
                            - storage_unmount:
                                  mountpoint: e
                            - storage_unmount:
                                  mountpoint: f
                            - storage_mount_all: {}
                            - os_shell:
                                  script:
                                      - write-output "Waiting 60 seconds to restart SQL Services..." >>log.txt
                                      - Start-Sleep -Seconds 60
                                      - stop-service -name 'MSSQLSERVER' -Force
                                      - Start-Sleep -Seconds 3
                                      - write-output "Start SQL Services..." >>log.txt
                                      - Set-Service -Name 'MSSQLSERVER' -StartupType Automatic
                                      - start-service -name 'MSSQLSERVER'
                                      - write-output "SQL started" >>log.txt
  3. 一旦 YAML 到位,就建立 MigrateOps 設定。為此,請前往資料遷移> MigrateOps,按一下「開始新操作」並以有效的 YAML 格式輸入配置。

  4. 按一下“建立操作”。

    注意:為了實現並行,每個主機都需要指定和配置一個 YAML 檔案。

  5. 除非 `scheduled_start_time`欄位在配置中指定,操作將立即開始。

  6. 該操作現在將執行並繼續。您可以從 Cirrus Data Cloud UI 中透過詳細訊息監控進度。這些步驟自動包括通常手動完成的任務,例如執行自動分配和建立遷移會話。

    Cirrus Data 遷移進度圖

    注意:在主機到主機遷移期間,將建立一個額外的安全群組,其規則允許入站 4996 端口,該安全組將允許所需的端口進行通信,並且在同步完成後將自動刪除。

    Cirrus Data 遷移所需的入站規則影像

  7. 當此遷移會話正在同步時,第 3 階段(切換)中有一個帶有標籤「需要批准」的未來步驟。在 MigrateOps 配方中,關鍵任務(例如遷移切換)需要使用者批准才能執行。專案操作員或管理員可以從 UI 批准這些任務。還可以創建未來的批准視窗。

    Cirrus Data 遷移同步影像

  8. 一旦獲得批准,MigrateOps 操作將繼續進行切換。

  9. 片刻之後,操作就會完成。

    Cirrus Data 遷移完成的影像

    注意:借助 Cirrus Data cMotion 技術,目標儲存已保持所有最新變更的更新。因此,在獲得批准後,整個最終切換過程將花費很短的時間(不到一分鐘)即可完成。

遷移後驗證

讓我們來看看執行 Windows Server OS 的已移轉 Amazon EC2 執行個體以及已完成的下列步驟:

  1. Windows SQL 服務現已啟動。

  2. 資料庫已恢復上線並使用 iSCSI 多路徑設備的儲存。

  3. 遷移期間新增的所有新資料庫記錄都可以在新遷移的資料庫中找到。

  4. 舊存儲現已離線。

注意:只需單擊即可將資料移動操作作為代碼提交,並單擊以批准切換,虛擬機器即可使用 FSx ONTAP及其 iSCSI 功能成功從本地 VMware 遷移到 Amazon EC2 執行個體。

注意:由於 AWS API 限制,轉換後的虛擬機器將顯示為「Ubuntu」。這嚴格來說是顯示問題,並不會影響遷移實例的功能。即將發布的版本將解決此問題。

注意:可以使用在本地端使用的憑證存取已移轉的 Amazon EC2 執行個體。