如何在 Azure 上使用 Hyper-V 嵌套虛擬化進行複製、還原和故障轉移

災難還原的前提是至少設有一個被稱為"災難還原站點"的備援站點。遠端資料中心可視為災難還原站點(DR 站點)。然而,熱備援災難還原站點本身會帶來高昂的成本。如果您沒有遠端資料中心作為災難還原站點,卻可能需要在極短時間內還原您的環境,該怎麼辦?

目前,您可以利用頂尖供應商的雲端環境作為災難還原站點,將備份和虛擬機器(VM)複本儲存於此,並在發生災難時於雲端運行您的虛擬機器(VM)。 若您希望在短時間內執行虛擬機器故障移轉,並在發生故障時將主站點的工作負載遷移至災難復原站點,則必須具備虛擬機器複本。Hyper-V 虛擬機器也不例外。

這篇部落格文章說明如何透過 NAKIVO Backup & Replication.

NAKIVO for Hyper-V 備份

NAKIVO for Hyper-V 備份

適用於 Hyper-V 的無代理程式、具備應用程式感知能力的備份解決方案。具備防勒索軟體防護、從備份即時啟動虛擬機器,以及支援其他虛擬/實體平台等功能。

關於 Azure 和 Hyper-V

Hyper-V 是一種由微軟開發、用於執行虛擬機器的虛擬化平台。Hyper-V 角色僅能部署於 Windows 電腦上,並被定位為以下產品的替代方案: VMware 以及 VirtualBox 硬體虛擬化解決方案。此外,Hyper-V Server 亦有獨立版本。

Azure 是由微軟打造的公有雲。Azure 提供多樣化的服務,例如 Azure 虛擬機器、Azure Active Directory、容器服務、資料庫、儲存服務、網路服務等。微軟採用 Hyper-V 虛擬化平台,在 Azure 雲端中運行 Azure 虛擬機器。Azure 虛擬機器承襲了 Hyper-V 虛擬機器的許多特點,例如虛擬硬體、虛擬磁碟格式等。

然而,就虛擬機器格式而言,Hyper-V 虛擬機器與 Azure 虛擬機器仍存在差異。Azure 虛擬機器具有特定的虛擬機器規格,這些規格可視為預設配置,能提供適當的效能(處理器、記憶體、儲存空間、輸入/輸出值)。可掛載至 Azure 虛擬機器的虛擬磁碟最大容量為 1 TB。Azure 虛擬機器僅支援 VHD 格式的虛擬磁碟,且僅能部署第一代(Generation 1)虛擬機器於 Azure 環境中。

如何將 Hyper-V 虛擬機器複製到 Azure

由於 Hyper-V 虛擬機器與 Azure 虛擬機器之間存在差異,您無法直接將 Hyper-V 虛擬機器複製到 Azure,然後將該 Azure 虛擬機器作為虛擬機器複本來運行。所幸,有一種解決方案可以幫助您解決此問題。微軟在發布 Windows Server 2016 時,同步發布了新的 Hyper-V 嵌套虛擬化特點,此特點可協助您應對此類情況。透過使用 Azure 嵌套虛擬化 此功能讓您能夠在虛擬機器內運行另一台虛擬機器——可在 Azure 中部署 Windows Server 虛擬機器,並在其中運行 Hyper-V 格式的嵌套虛擬機器。此環境讓您能夠將本機端的 Hyper-V 虛擬機器複製到 Azure。

Hyper-V 虛擬機器故障移轉至 Azure 的運作流程如下:

  • 在 Azure 雲端環境中部署一台執行 Windows Server 2016 或 Windows Server 2019 的 Azure 虛擬機器。
  • 在 Azure 中運行的該 Windows Server 虛擬機器上安裝 Hyper-V 角色。
  • 為在 Azure 中的虛擬 Hyper-V 主機上執行的嵌套虛擬機器設定網路。
  • 將您在本地(現場)Hyper-V 主機上的虛擬機器複製到在 Azure 中作為虛擬機器執行的虛擬 Hyper-V 主機。
  • 發生災難時,切換至運行於 Azure 中 Hyper-V 主機上的嵌套虛擬機器副本。

今天的部落格文章將說明如何在 Azure 中建立 Hyper-V 複本,以及如何進行故障移轉,將系統遷移至位於 Azure 中的該 Hyper-V 格式嵌套虛擬機器。希望這份附有螢幕截圖的詳細逐步操作指南,能幫助您更清楚地理解整個工作流程。

示範環境

在本篇部落格文章中所示的範例中,有一個本地網站(位於 辦公室 1) 以及一個災難還原站點(部署於 Azure 雲端中的 Hyper-V 虛擬環境)。

The environment of Office 1

  • 一台內建交換器的實體路由器。此路由器上設有防火牆。此路由器的 WAN IP 位址為 77.88.196.86,LAN IP 位址為 192.168.17.1。LAN(區域網路)的網段位址為 192.168.17.0/24。
  • 一台(實體或虛擬)機器,其具備 NAKIVO Backup & Replication 已安裝(一套由 Director 和 Transporter 組成的完整解決方案)。其 IP 位址為 192.168.17.63。
  • 一台在實體伺服器上運行的 Hyper-V 主機。其 IP 位址為 192.168.17.23。該 Hyper-V 主機及正在運行的虛擬機器 NAKIVO Backup & Replication 連接到同一個網路(192.168.17.0/24)。此 Hyper-V 主機已新增至 NAKIVO Backup & Replication 並且受到保護。
  • 該 Hyper-V 主機擁有一組虛擬網路介面卡,並已連線至一個虛擬交換器 (192.168.117.0/24)。此虛擬網路介面卡在 Hyper-V 伺服器上的 IP 位址為 192.168.117.1。
  • 在 Hyper-V 主機 (192.168.17.23) 上執行的虛擬機器已連接到虛擬交換器,並連接到網路 (192.168.117.0/24)。 名為 WinServer2016blog 的 Hyper-V 虛擬機器正在此 Hyper-V 主機上執行,並將被複製到 Azure。如您所見,此虛擬機器已安裝 Windows Server 2016。

Azure Cloud environment

  • 有一台執行 Windows Server 2016 的 Azure 虛擬機器。此機器已啟用 Hyper-V 角色。這台在 Azure 中執行的 Hyper-V 伺服器的外部 IP 位址為 55.105.221.43。此 IP 位址用於從網際網路連線至 Hyper-V 主機。Azure 防火牆已設定為僅允許來自以下外部 IP 位址的連線: 辦公室 1. 在 Azure 中運行 Hyper-V 的 Windows Server 2016 上也設有 Windows 防火牆,此防火牆的設定方式與前述類似,同時允許 Hyper-V 主機與嵌套虛擬機器之間相互連線。
  • Hyper-V 主機上的虛擬交換機已配置為將嵌套虛擬機器連接到虛擬 NAT 裝置後方的網路。此網路的名稱為"NAT Network",而虛擬交換機的名稱為 InternalSwitchNAT. 連接至此虛擬交換器的虛擬 NAT 裝置的 IP 位址為 192.168.217.1,網路位址為 192.168.217.0/24。
  • 嵌套虛擬機器已連接到 NAT 網路 (192.168.217.0/24),並可存取網際網路。在 Azure 的 Hyper-V 主機上建立兩台測試虛擬機器,然後建立該 WinServer2016blog 在 Hyper-V 主機上運行的虛擬機器,位於 辦公室 1 是在 Azure 雲端中運行的 Hyper-V 主機上建立的。
  • 在 Azure 中運行 Hyper-V 的 Windows Server 2016 虛擬機器,也連接到一個用於讓 Azure 虛擬機器彼此連線的虛擬區域網路。此網路的位址為 10.0.4.0/24。
  • 若要從以下位置連線,則需要網際網路連線: 辦公室 1 至 Azure,包括部署在 Azure 雲端中的 Hyper-V 環境。

您可以在下方的示意圖中看到所有提及的元素。

Hyper V nested virtualization environment in Azure and local environment in the Office 1

Azure 中故障移轉至嵌套 Hyper-V 虛擬機的工作流程

讓我們來看看如何設定您的環境,包括在 辦公室 1 並根據上述方案,在 Azure 雲端中建立遠端環境。假設您的主要資料中心已安裝並設定好 Hyper-V 伺服器(辦公室 1), NAKIVO Backup & Replication 也是 已安裝 在實體或虛擬機器上,且主資料中心上至少有一台 Hyper-V 虛擬機器正在執行(辦公室 1)。在我們的範例中,原始 Hyper-V 虛擬機器的名稱是 WinServer2016部落格.

建立新的 Azure 虛擬機器

在 Azure 中建立一台執行 Windows Server 2016 的虛擬機器。這台虛擬機器將用於安裝 Hyper-V 伺服器,並執行嵌套的 Hyper-V 虛擬機器。請開啟您的網頁瀏覽器,並前往 Microsoft Azure 網站。請使用您的帳戶登入 Microsoft Azure。您必須擁有適當的訂閱,才能使用 Azure 雲端服務。在 https://portal.azure.com/ 頁面,選擇 Virtual machines 在網頁介面中。

The web interface of Microsoft Azure (Hyper-V Nested Virtualization)

虛擬機器 頁面 (Home > Virtual Machine),點擊 Add 建立一台虛擬機器。

Creating a new VM in Azure

"建立虛擬機器"頁面包含多個分頁,每個分頁又包含幾個區段。

基礎知識

基礎知識 在精靈的 [] 標籤頁中設定以下參數:

Project details

訂閱: 隨用隨付(請選擇您可使用的訂閱方案)。

資源群組. 選擇現有的資源群組,或建立新的資源群組。在此範例中, testnbr 是資源群組的名稱。

Instance details

虛擬機器名稱: Server2016Azure。

地區:(歐洲)西歐。請選擇所需的地區(例如,離您所在地區最近的地區)。

可用性選項: 無需基礎架構冗餘(您可以保留此預設選項)。

圖片: Windows Server 2016 資料中心版(建議使用 Windows Server 2016,因為它支援的 Hyper-V 特點比 Windows Server 2012 R2 資料中心版更多)。

Azure 即時型實例: 否。

尺寸: D2s_v3 此範例中使用的是此虛擬機器規格。您可以選擇其他支援執行 Hyper-V Server 的虛擬機器規格。所有 v3 一系列 Azure 虛擬機器 (VM) 支援嵌套虛擬化。請注意,虛擬機器的效能必須足以在故障移轉至 Azure 中運行的 Hyper-V 主機後,執行所有必要的 Hyper-V 虛擬機器。

Administrator account

使用者名稱: nakivo(您可以輸入自訂的使用者名稱)

密碼: *************(設定密碼)

確認密碼: *************

Inbound port rules

您可以選取必須開啟的傳入埠,以便從公有網際網路存取 Azure 虛擬機器。 在遠端管理這台虛擬機器時,請先保持 RDP 埠開啟。RDP 會使用 TCP 3389 埠進行傳入連線。完成虛擬機器的設定後,您可以停用透過 RDP(遠端桌面協定)的網路存取。之後,您可以更細緻地設定 Azure 防火牆,並允許來自自訂 IP 位址或網路的傳入連線至自訂埠。

公開的入站埠: 允許選定的埠

選取傳入埠: RDP (3389)

Save money

請選擇您是否已擁有 Windows Server 授權,因為這有助於降低成本。

No 預設已選取此選項。

您可在下方的螢幕截圖中看到這些設定。

Creating a new VM in Azure – basics settings

選擇虛擬機器規格時,您將可看到虛擬機器的名稱、虛擬處理器(vCPU)數量、記憶體(RAM)容量、最大 IOPS 值(每秒輸入/輸出操作次數)、儲存空間大小、是否支援 Premium 磁碟,以及每月費用。

Selecting a VM size in Azure

點擊 下一個 當您準備好繼續並切換至精靈的下一步時。

磁碟

在此分頁中,您應選擇要建立的虛擬磁碟設定。

Disk options

作業系統磁碟類型: 高級 SSD。先前選取的虛擬機器大小支援高級 SSD 磁碟,此選項保持預設值最為實用。其他可選選項包括"標準 HDD"和"標準 SSD"。

您可以在建立 Azure 虛擬機器時為其建立額外磁碟,即使該虛擬機器目前正在執行中亦可。

Creating a virtual disk for the Azure VM

點擊 下一個 以設定網路。

網路

在"網路"索引標籤中,您應選取以下參數。

Network interface

虛擬網路: 選擇現有的虛擬網路,或建立一個新的虛擬網路。在此範例中, testnbr-vnet 是虛擬網路的名稱。

子網: 預設 (10.0.4.0/24)。請選擇將用於讓 Azure 虛擬機器在 Azure 雲端中的虛擬區域網路 (LAN) 內相互通訊的子網。您可以建立新的子網。

公共 IP: 您可以保留預設值。

NIC 網路安全小組: 基礎

公開的入站端口: 允許選定的埠

選取傳入埠: RDP (3389)。這就是您在虛擬機器建立精靈的第一個畫面中所看到的設定。

加速網路建置: 關閉

Load balancing

將此虛擬機器配置在現有的負載平衡解決方案之後: 否

Configuring a network for the new Azure VM (Hyper-V Nested Virtualization)

現在您可以前往設定管理設定了。

管理

在此索引標籤中,您可以為您的 Azure 虛擬機器設定監控與管理選項。您可以保留預設的管理參數,並在尚未建立診斷儲存帳戶的情況下建立一個。如果您不確定應在此索引標籤中設定哪些選項,請保留預設參數。

Configuring management parameters for the new Azure VM

進階

在此分頁中,您可以保留預設設定,並選擇虛擬機器的世代(第一代或第二代). 在本例中,一個 Generation 1 正在建立虛擬機器。

Configuring advanced settings for a new Azure VM

標籤

如有需要,您可以新增自訂標籤。

Tags for a new Azure VM

現在您可以點擊 Review + create 以檢查新虛擬機器的設定。

驗證通過 表示一切正常,您可以建立新的虛擬機器。

Reviewing new VM settings before starting the process of VM creation

如果您需要部署類似且完全相同的新 Azure 虛擬機器,可以下載範本以進行自動化。

最後,請按一下藍色的 Create 按下按鈕以開始建立虛擬機器的程序。

請等待虛擬機器建立完成。

當虛擬機器成功部署後,您將看到以下畫面。

A new VM has been successfully deployed in Azure

安裝 Hyper-V 伺服器角色

部署完一臺執行 Windows Server 2016 的新 Azure 虛擬機器後,即可安裝 Hyper-V 角色。您在 Azure 中建立的虛擬機器應會在建立完成後自動啟動。您也可以隨時手動啟動該虛擬機器。若要在 Azure 網頁介面中啟動虛擬機器,請前往 Home > Virtual machines, 選取虛擬機器 您已部署(勾選核取方塊),然後按一下 Start.

Starting a new Azure VM to enable nested Hyper-V virtualization

按一下虛擬機器以檢視選項選單和虛擬機器資訊。找出此虛擬機器的外部 IP 位址。使用此 IP 位址透過遠端桌面連線至在 Azure 上執行的 Windows Server 2016 虛擬機器。在此範例中,Azure 虛擬機器的外部 IP 位址為 51.105.221.43。

Detecting the external IP address of the Azure VM to connect to the Azure VM remotely

在您的本地 Windows 電腦上,開啟 遠端桌面客戶端 並連線至在 Azure 上執行的 Windows Server 2016。您可以在 Windows"開始"選單中找到相應的捷徑("開始" > Windows 附屬應用程式 > 遠端桌面連線) 或開啟 CMD 然後執行以下指令:

mstsc -v: 51.105.221.43

請輸入您在建立 Azure 虛擬機器過程中所設定的 Windows 管理員憑證。

Entering Windows user credentials when connecting to the Azure VM via RDP

點擊 是的 如果出現確認彈出視窗。

Hyper-V 安裝前的準備工作

建立遠端桌面連線並連接到在 Azure 上執行的遠端 Windows Server 2016 虛擬機器後,您應會在螢幕右側看到一個藍色彈出視窗。當網路介面卡首次連接到網路時,此視窗便會出現。您應會在這個藍色視窗中看到以下問題:

您是否要允許本電腦被此網路上的其他電腦和裝置偵測到?

點擊 Yes.

Allowing the Windows machine in Azure to be discoverable in the network

接著,請確認您的網路介面卡是否使用 私人 網路設定檔。此外,您也可以變更設定檔… 公開私人 手動設定。

預設的網路介面卡名稱是 乙太網路.

您可以將網路設定檔變更為 私人 在 PowerShell 中:

$Profile = Get-NetConnectionProfile -InterfaceAlias Ethernet

$Profile.NetworkCategory = "Private"

Set-NetConnectionProfile -InputObject $Profile

Changing the network profile in Windows

開啟 "網路和共用中心". 右鍵點擊工作列中的網路圖示(位於時鐘附近),然後選擇 開啟"網路和共用中心". 在開啟的 "網路和共用中心" 視窗中,您可以檢查網路設定檔(必須為 私人 網路)。點擊 變更適配器設定控制台首頁 視窗的該區塊。

Configuring advanced sharing settings (Hyper-V Nested Virtualizatiton)

進階分享設定 視窗中,選取 私人 設定檔(這必須是當前的設定檔)以及 turn on network discovery, 然後 turn on file and printer sharing (請參閱下方的螢幕截圖)。

Changing sharing options for Windows Firewall network profiles

點擊 Save Changes 然後關閉視窗。

安裝 Hyper-V

以系統管理員身分執行 PowerShell,並執行以下指令來 安裝 Hyper-V 角色 在 Azure 上的 Windows Server 2016 伺服器上。

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

Installing the Hyper-V role on the Azure VM before configuring Azure nested virtualization

執行 Windows Server 2016 的 Azure 虛擬機器將自動重新啟動,以完成 Hyper-V 的安裝。遠端桌面連線將因此中斷。請在機器重新啟動後,使用遠端桌面客戶端手動連線至您的 Azure 虛擬機器。

透過 RDP 連線至在 Azure 上執行的 Windows Server 2016 虛擬機器後,請設定 Hyper-V 伺服器。在 伺服器管理員 在 Windows Server 2016 開機時自動開啟的視窗中,您可以看到 Hyper-V 選項。若要開啟 Hyper-V 管理員,請前往 Tools > Hyper-V Manager. 如螢幕截圖所示,主機名稱與您在建立虛擬機器時所定義的 Azure 虛擬機器名稱相同。

Hyper-V Manager is displayed in the Server Manager window

設定 Hyper-V 虛擬網路

Hyper-V 預設並未建立任何虛擬交換機,因此您應手動建立並設定新的虛擬交換機。

在 Hyper-V 管理員中,您可以右鍵點擊您的 Hyper-V 伺服器名稱,然後在快顯選單中選擇 虛擬交換機管理員. 在"虛擬交換機管理員"的圖形化使用者介面中,您可以建立三種類型的虛擬交換機: External, 內部, 和 私人.

閱讀這篇關於 Hyper-V 虛擬交換器 並建立上述三種虛擬交換機中,其中一種符合您需求的配置。不過,請注意,建立 NAT 網路僅能在 PowerShell 的命令列介面中進行。

NAT 虛擬交換器 本篇部落格文章將建立位於 NAT 後方的網路,用以建立嵌套式 Hyper-V 虛擬機器,這些虛擬機器將在各自隔離的網路中運行,但仍可存取網際網路及 Hyper-V 主機。Hyper-V 主機將能夠連線至這些嵌套式 Hyper-V 虛擬機器。

現在讓我們開啟 PowerShell,以 NAT 模式建立並設定一個新的虛擬交換器:

New-VMSwitch -Name "InternalSwitchNAT" -SwitchType Internal

在哪裡 InternalSwitchNAT 是虛擬交換器的名稱,而 內部 這是虛擬交換機的類型。

檢查網路介面的索引:

Get-NetAdapter

Viewing the list of network adapters in Windows PowerShell

如您所見,一個 vEthernet (內部交換機 NAT) 在 Azure 中作為 Hyper-V 主機運行的 Windows Server 2016 上建立虛擬網路介面卡。

在本範例中,所需介面卡的介面索引為 20.

設定該的 IP 位址 vEthernet (InternalSwitchNAT) 您先前建立的虛擬網路介面:

New-NetIPAddress -IPAddress 192.168.217.1 -PrefixLength 24 -InterfaceIndex 20

在此範例中,此介面的 IP 位址為 192.168.217.1

24 是網路掩碼的長度,等於 255.255.255.0

Setting the IP address for the virtual network interface used for the virtual switch in the NAT mode

建立一個新的虛擬網路,並為所建立的網路設定網路位址:

New-NetNat -Name "InternalNATnet" -InternalIPInterfaceAddressPrefix 192.168.217.0/24

Creating a new virtual network for Hyper-V VMs

您可以開啟"虛擬交換機管理員"的圖形化使用者介面(GUI),以確認是否已建立新的虛擬交換機。

Selecting virtual switch settings in the GUI of Hyper-V Manager

最後,虛擬網路介面 vEthernet (內部交換機 NAT)) 具有以下設定:

IP 位址:192.168.217.1

子網遮罩:255.255.255.0

為 NAT 網路設定防火牆

您必須設定 Windows 防火牆,以允許網路連線,並允許嵌套虛擬機器存取 Hyper-V 主機。

建立一個新的 Inbound 在 Hyper-V 主機的 Windows 防火牆中設定規則(您應允許來自先前建立的內部 NAT 網路的傳入連線)。

規則名稱: Allow217net

行動: 允許此連線

通訊協定與埠號: 任何

計畫與服務: 任何

適用範圍: 192.168.217.0/24

個人檔案: 網域、私有、公共(您只能選取上述設定中使用的"私有"設定檔)

您可透過一則 PowerShell 指令建立此規則:

New-NetFirewallRule -RemoteAddress 192.168.217.0/24 -DisplayName "Allow217net" -Profile Any -Action Allow

您可以開啟 Windows 防火牆 的 圖形化使用者介面 (GUI),並確認該規則已建立。

Creating a new rule in Windows firewall

您可以使用 PowerShell cmdlet 列出 Windows 防火牆的所有可用規則

Get-NetFirewallRule

建立嵌套虛擬機器以進行測試

建議您建立兩個嵌套的 Hyper-V 虛擬機器,以測試嵌套虛擬機器之間的網路連線、Hyper-V 主機與嵌套虛擬機器之間的網路連線,以及從嵌套虛擬機器存取網際網路的情況。

現在,讓我們將 Windows Server 2016 的安裝 ISO 映像檔複製到運行於 Azure 上的 Hyper-V 主機,並建立兩台運行 Windows Server 2016 的嵌套 Hyper-V 虛擬機器(如果您沒有 Windows Server 2016 的安裝映像檔,應先下載該映像檔或手動建立)。接下來,我們將嘗試將這兩台嵌套虛擬機器連接到虛擬 Hyper-V NAT 網路 並檢查 Hyper-V 網路設定是否正確。

ISO 映像檔已複製到暫存目錄 (C:temp) 在此範例中(因為在建立兩台測試用的 Hyper-V 嵌套虛擬機器後,ISO 檔案無論如何都會被刪除)。請勿將任何重要資料複製到 Azure 虛擬機器的暫存儲存空間(磁碟 D: (在此情況下)因為資料可能會從該暫存區中自動刪除。

根據建議的做法,您可以為 Azure 虛擬機器建立第二個持久性虛擬磁碟,並將嵌套的 Hyper-V 虛擬機器(包括虛擬機器複本(Hyper-V 複本))儲存於該磁碟上(例如, E:). 如您所知,在 Azure 虛擬機器運行的過程中,可以熱添加新的虛擬磁碟。在這篇部落格文章中,所有虛擬機器都將儲存於磁碟上 C: 僅供教育用途。

另一項建議是,您應在 Hyper-V 的全域設定中指定用來存放虛擬機器檔案和虛擬磁碟的目錄。例如,您可以設定 E:虛擬機器 Hyper-V 作為儲存 VM 檔案的目錄,以及 E:虛擬機器、Hyper-V、虛擬硬碟 作為儲存虛擬磁碟的目錄。

Selecting a directory to store a nester VM on the Hyper-V server

您可以在以下連結中閱讀如何在 Hyper-V 中建立新的 Windows 虛擬機器: 這篇部落格文章.

建立嵌套式 Hyper-V 虛擬機器時,請勿為該虛擬機器建立過大的虛擬磁碟。一個 20 GB 的動態虛擬磁碟已足以安裝 Windows Server 2016。測試完成後,您可以刪除這些虛擬機器,並進入環境設定階段,為 Hyper-V 虛擬機器的故障移轉在 Azure 雲端中準備遠端站點。 請勿忘記將嵌套式 Hyper-V 虛擬機器的虛擬網路介面卡連接到 NAT 網路(InternalSwitchNAT) 這是最近建立的,您即將對其進行測試。

其他虛擬機器參數可設定如下:

記憶體:2 GB

處理器:1 顆

世代:1

嵌套虛擬機器的虛擬網路介面卡 IP 位址需手動設定:

NestedWinTest

IP 位址 192.168.217.21

子網掩碼 255.255.255.0

預設閘道:192.168.217.1

DNS 伺服器 1:8.8.8.8

DNS 伺服器 2:192.168.217.1

NestedWinTest2

IP 位址:192.168.17.22

子網掩碼:255.255.255.0

預設閘道:192.168.217.1

DNS 伺服器 1: 8.8.8.8

DNS 伺服器 2:192.168.217.1

如有需要,您可以在 Azure 中執行的 Hyper-V 主機上,或於嵌套的 Hyper-V 虛擬機器上配置 DHCP 伺服器。

部署兩台連接到 InternalSwitchNAT 設定網路並配置 Windows 防火牆(此情況下所有通訊協定和埠皆已開放)後,您即可從嵌套虛擬機器以及 Hyper-V 主機對各主機執行 ping 指令。如下方螢幕截圖所示,在作為 Azure 虛擬機器運行的 Hyper-V 伺服器上,位於 NAT 後方的虛擬網路已正確設定。

Hyper-V Nested virtualization - the network for nested VMs is configured properly

這表示現在您可以將 Azure 環境設定為遠端站點,以便在建立 Hyper-V 複本時,以及將 Hyper-V 虛擬機器從本地站點故障轉移至這些複本時使用。在進行設定之前,您必須先在執行 Hyper-V 的 Azure 虛擬機器上,開放適當的 TCP 埠以允許傳入連線,並開放 ICMP 連線。 NAKIVO Backup & Replication 組件。在完成防火牆設定後,將於運行於 Azure 中的 Hyper-V 主機上安裝 NAKIVO Transporter。

為 設定防火牆 NAKIVO Backup & Replication

根據 NAKIVO Backup & Replication 網路 需求, 必須開啟以下端口以允許傳入流量,以便在 Director 與 Transporter 之間建立網路連線:

TCP:9445、9446、9448-10000、445、137-139、5986;

必須允許 ICMP 流量進行 NAKIVO Backup & Replication 在網路環境中正常運作。

NAKIVO Director 這是安裝完整解決方案時,會安裝在指定機器上的集中式管理介面。Director 用於管理 Transporters、備份儲存庫、資產清單、VMware 環境、Hyper-V 環境等。僅能有一台 總監 可在部署時進行安裝 NAKIVO Backup & Replication.

NAKIVO Transporter 此元件負責執行包括壓縮、加密及去重在內的資料傳輸作業,並旨在執行備份、複寫與還原。在安裝 Director 的機器上,預設會安裝一個 Onboard Transporter,且此 Onboard Transporter 無法從產品中移除。您也可以選擇部署多個 傳送器 在其他機器上,以便進行資料加密、壓縮,並簡化將資料傳輸至遠端網路的設定,同時用於分散工作負載。

The principal scheme of the crucial components

您需要在 Azure 中設定防火牆,同時也需在作為 Azure 虛擬機器運作的 Hyper-V 主機上設定 Windows 防火牆。

在 Azure 中設定防火牆

在 Azure 的網頁介面中,請前往 Home > Virtual machines, 選擇您的虛擬機器 (Server 2016 Azure (在此情況下)並按一下此虛擬機器名稱以開啟虛擬機器設定。接著在左側窗格中,按一下 Networking 以開啟網路設定。按下 Add inbound port rule 建立新的防火牆規則。

Creating a new firewall rule in Azure (Hyper-V Nested Virtualization)

在螢幕右側,您會看到一個新視窗,您應在此處設定新防火牆規則的參數。在本範例中,為確保 NAKIVO Backup & Replication 如下所示。

來源: IP 位址

來源 IP 位址: 77.88.196.86、77.88.196.87(請選擇"辦公室 1"、"辦公室 2"等處路由器所使用的外部 IP 位址)

來源埠範圍: *

目的地: 任何

目的港範圍: 9445,9446,9448-10000,445,137-139,5986

議程: TCP

行動: 允許

優先順序: 310(預設)

姓名: Allow_NAKIVO_ports

點擊 Add 按一下此按鈕以儲存設定並新增新的防火牆規則。

Allowing inbound TCP connections to the Azure VM

點擊 Add inbound port rule 再次允許 ICMP 連線。第二條規則必須包含如下所示的參數。

來源: IP 位址

來源 IP 位址: 77.88.196.86、77.88.196.87(請選擇您在路由器上使用的可信外部 IP 位址,位於 辦公室 1)

來源埠範圍: *

目的地: 任何

目的港範圍: *

議程: ICMP

行動: 允許

優先順序: 320(預設)

姓名: Allow_ICMP_NAKIVO

Allowing inbound ICMP connections to the Azure VM

目前,已在 Azure 中為作為 Azure 虛擬機器(VM)在 Azure 雲端上運行的 Hyper-V 主機建立所需的設定。

The necessary firewall rules have been created for the VM in Azure

Azure 中的防火牆現已設定完成。您還必須在運行於 Azure 虛擬機上的 Windows 系統中設定另一道防火牆。

在 Azure 的 Hyper-V 主機上設定 Windows 防火牆

請返回您用於管理在 Azure 中運行的 Hyper-V 主機的 RDP 連線。如果您已關閉該連線,請再次透過 RDP 連線至在 Azure 中運行的 Hyper-V 主機。開啟 Windows 防火牆,並在 Windows Server 2016 中新增兩條類似的規則。

Rule 1 必須包含以下參數:

姓名: Allow_NAKIVO_ports

來源: IP 位址

來源 IP 位址/CIDR 範圍: 77.88.196.86, 77.88.196.87

來源連接埠範圍: *

目的地: 任何

目的港範圍: TCP 9445、9446、445、5986、9448-10000、137-139

協定:TCP

動作:允許

優先級:310(預設)

可在 Windows 防火牆圖形介面及 PowerShell 中建立規則。讓我們在 PowerShell 中建立此規則。

以系統管理員身分執行 PowerShell,並執行以下指令:

New-NetFirewallRule -DisplayName 'Allow_Nakivo_ports' -Profile @('Domain', 'Private', 'Public') -Direction Inbound -Action Allow -Protocol TCP -LocalPort @('9445', '9446', '445', '5986', '9448-10000', '137-139') -RemoteAddress @('77.88.196.86', '77.88.196.87')

Creating a new rule in Windows Firewall 1 (Hyper-V Nested Virtualization)

同樣地,請建立第二條規則,以允許傳入的 ICMP 連線。在 Windows Server 2016 中,您應使用兩條指令來允許 ICMPv4 和 ICMPv6 的傳入連線。

New-NetFirewallRule -DisplayName "Allow_ping_NAKIVO4" -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -RemoteAddress @('77.88.196.86', '77.88.196.87')

New-NetFirewallRule -DisplayName "Allow _ping_NAKIVO6" -Direction Inbound -Protocol ICMPv6 -IcmpType 8 -RemoteAddress @('77.88.196.86', '77.88.196.87')

目前,位於 Azure 中的 Hyper-V 主機的 Windows 防火牆中,所有必要的規則均已新增。您可以透過 Windows 防火牆的圖形化使用者介面 (GUI) 檢查,以確認這些規則已成功建立。

The needed rules are created in Windows Firewall on Windows Server 2016 before creating a nested VM replica

在 Azure 中重新啟動 Windows Server 2016 虛擬機器,然後進行設定 NAKIVO Backup & Replication.

設定 NAKIVO Backup & Replication

現在,您可以將作為 Azure 虛擬機器執行的 Hyper-V 主機新增至 NAKIVO Backup & Replication. 在這個範例中, NAKIVO Backup & Replication 已部署於主站點(本地)上的一台機器,該機器的名稱是 辦公室 1. 若您尚未安裝該 NAKIVO Backup & Replication 目前尚無完整的解決方案,您可以手動將該產品安裝在 Linux 電腦、Windows 電腦或 NAS設備上,並部署一個 VA (virtual appliance) 在 VMware ESXi 主機上。進一步了解如何安裝 NAKIVO Backup & Replication 在 協助中心.

將 Hyper-V 主機新增至清單

請注意,當您將 Hyper-V 主機新增至 NAKIVO Backup & Replication, Transporter 會自動安裝在該 Hyper-V 主機上。因此,您無需在 Azure 中運行的遠端 Hyper-V 主機上手動部署 Transporter。請檢查您那台運行 Hyper-V 的 Azure 虛擬機的外部 IP 位址。您可以使用 Azure 的網頁介面來執行此操作。

Checking the WAN IP address of the Azure VM running Hyper-V Server

在將運行於 Azure 雲端的遠端 Hyper-V 主機新增至清單之前,應先將運行於實體環境中的 Hyper-V 主機新增至清單。在此範例中,本地的 Hyper-V 主機已經 已加入庫存. 現在,讓我們將部署在 Azure 中的遠端 Hyper-V 主機新增至"清單"中。

開啟 NAKIVO Backup & Replication 在瀏覽器中輸入安裝該產品的電腦之 IP 位址。在此情況下,請使用以下位址: https://192.168.17.63:4443

前往 Configuration > Inventory 然後點擊 Add New. 在開啟的選單中,請選擇 Microsoft Hyper-V host or cluster.

Adding a remote Azure VM running Hyper-V to use Azure nested virtualization for running a Hyper-V replica

應將以下資訊新增至您在 Azure 上執行的 Hyper-V 主機中。

顯示名稱: Azure 中的 Hyper-V

類型: 獨立式 Hyper-V 主機

主機名稱或 IP: 55.105.221.43(請輸入在 Azure 中執行的 Hyper-V 主機的 IP 位址)

使用者名稱: nakivo(請輸入您在 Azure 中部署執行 Windows Server 2016 和 Hyper-V 的虛擬機器時所設定的使用者名稱)

密碼: *************(請輸入您在 Azure Hyper-V 主機上該 Windows 使用者帳戶的密碼)

WS-MAN 埠: 5986(您可以保留預設值)。

Adding a Hyper-V host that is running in Azure to the Inventory

註: 如上所述,必須正確設定防火牆。如果無法將 Hyper-V 主機新增至清單,且您看到類似以下的錯誤訊息: “無法連線至 “55.105221.43C$” 網路共用資料夾。請確認此主機上的網路共用資料夾可存取,” 請前往檢查防火牆設定。

您可以登入您的系統主控台 NAKIVO Backup & Replication 電腦,並對 Azure 中 Hyper-V 主機的外部 IP 位址執行 ping 指令。此外,請務必檢查從 ISP(網際網路服務供應商)取得的路由器外部 IP 位址。如果 NAKIVO Backup & Replication 若已安裝於 Linux 系統上,您可以使用此指令來檢查 WAN IP 位址:

dig +short myip.opendns.com @resolver1.opendns.com

接著,請確認執行此指令後,主控台所顯示的 IP 位址已新增至 Azure 端的防火牆規則中,作為允許的傳入連線 IP 位址。

新增 Hyper-V 主機後,您的"清單"應與下圖截圖中的"清單"相似。

The Hyper-V host is added to the inventory of NAKIVO Backup & Replication

Transporter 現已安裝在 Azure 中運行的遠端 Hyper-V 主機上。這表示您可以為在主要站點(資料中心)上運行的主要(本地)Hyper-V 主機上的來源虛擬機器,建立一個 Hyper-V 複本,該虛擬機器的名稱稱為 辦公室 1 在此範例中。在下方的螢幕截圖中,您可以看到位於本機 Hyper-V 主機上的來源虛擬機器清單(192.168.17.63 (在此情況下)。同樣地,您可以檢查兩個為網路測試而建立、並位於 Azure 中 Hyper-V 主機上的嵌套虛擬機器。該 WinServer2016blog 本篇部落格文章的下一節將介紹虛擬機器(VM)的複製。

Checking VMs running on the Hyper-V host (Hyper-V Nested Virtualization)

建立 Hyper-V 虛擬機器的複本

前往 首頁 在 的網頁介面中 NAKIVO Backup & Replication. 點擊 Create 並選擇 Microsoft Hyper-V replication job.

Creating a new Hyper-V replication job in NAKIVO Backup & Replication

"Microsoft Hyper-V 新增複寫工作精靈"已開啟。

1. Source. 選取您要複製的虛擬機器。在此範例中, WinServer2016blog 這是將被複製到 Azure 的虛擬機器名稱。您可以在 Azure 中的 Hyper-V 主機上看到兩台為測試而建立的嵌套虛擬機器。

點擊 下一個 在每個步驟中繼續。

Selecting a source Hyper-V virtual machine that must be replicated to Azure

2. Destination. 選擇 Azure 中的 Hyper-V 作為目標容器。 C:NakivoReplicas 用作 Azure 中 Hyper-V 主機上的目標目錄,用以儲存虛擬機器複本。如果您已新增額外的虛擬磁碟來儲存虛擬機器,則建議選擇該磁碟上的目錄(例如,磁碟 E:NakivoReplicas).

點擊虛擬機器名稱以展開進階設定,並選取虛擬機器的虛擬網路介面將連接到的網路。在此範例中,VM-replica 將連接至 InternalSwitchNAT 虛擬網路(該虛擬網路是在 Azure 中部署 Hyper-V 主機後手動建立的)。

Configuring destination options for a new Hyper-V VM replication job

3. Networks. 您可以在此步驟中設定網路對應。

網路對應旨在定義虛擬機器複本的虛擬網路介面卡在完成複製工作後,應連接到哪個虛擬網路(虛擬交換器)。此特點可讓您無需在目標 Hyper-V 主機上手動為虛擬機器複本設定網路設定。

在本範例中,來源 Hyper-V 虛擬機器已連接到 博通 NetXtreme 網路。此虛擬機器的 VM 複本必須連接到 InternalSwitchNAT 網路(即上文在 PowerShell 中建立的)。

Configuring a network mapping rule (Hyper-V Nested Virtualization)

4. Re-IP. 完成"網路對應"設定後,虛擬機器複本將連線至所需的虛擬網路。現在該為該虛擬機器複本定義適用於所選網路的有效 IP 位址了。"重新指派 IP"特點可讓您建立適用於多台虛擬機器的規則,並設定哪些來源 IP 位址必須變更為哪些目標 IP 位址。

讓我們點擊 Create new rule 並建立一個新的 Re-IP 規則。

在此範例中,該 source settings 分別是:

IP 位址: 192.168.117.*(此處的星號代表 1 至 254 之間的任何數值)

子網遮罩: 255.255.255.0

Target settings 分別是:

IP 位址: 192.168.217.*

子網遮罩: 255.255.255.0

預設閘道: 192.168.217.1

主要 DNS 伺服器: 8.8.8.8

次要 DNS 伺服器: 192.168.217.1

因此,來源虛擬機 192.168.117.7 的 IP 位址將變更為 192.168.217.7。

請勿忘記選取要套用此規則的虛擬機(點擊 Select VMs).

Creating a new Re-IP rule for the Hyper-V replication job

5. Schedule. 設定排程選項

Configuring scheduling options for the Hyper-V replication job in NAKIVO Backup & Replication

6. Retention. 請根據您的需求設定保留設定。

Configuring retention settings in NAKIVO Backup & Replication

7. Options. 選擇所需的虛擬機器選項。以下將說明最重要的選項。

工作名稱: Hyper-V 複製至 Azure

App感知模式. 啟用後,請點擊"設定",並設定您的使用者名稱和密碼。

變更追蹤: 若您的來源主機執行的是 Windows Server 2016 或更新版本,請使用 Hyper-V RCT. 若 Windows Server 2012 R2 或更早版本正在執行 Hyper-V,請使用 專有方法.

其餘設定可維持預設值。

Configuring options for the Hyper-V replication job

點擊 Finish & Run 儲存 Hyper-V 複製工作設定並執行該工作。

請等待虛擬機器複製至 Azure 中的 Hyper-V 主機。完成此工作所需的時間取決於您的網際網路頻寬以及虛擬磁碟的大小。

註: 若您看到錯誤訊息 [無法啟動 “WinServer2016blog” 的虛擬機器。在工作 “Hyper-V 複製至 Azure” 中,此虛擬機器的所有可能來源與目標傳輸器之間均未建立連線。], 請檢查您的網路設定。點擊 Learn More 查看詳細資訊。

Check your firewall settings to create a Hyper-V replica in Azure

請檢查本地端和 Azure 端的防火牆設定。請檢查 進階共用設定 在來源 Hyper-V 主機的網路屬性中。重新整理清單,並在該的相關分頁中查看傳輸器 設定 第 頁 NAKIVO Backup & Replication 網頁介面。

確認所有設定均已正確完成後,請再次嘗試啟動將 Hyper-V 複製工作傳輸至 Azure 的任務。此時,Hyper-V 複製工作應能正常執行。

The Hyper-V replication job to Azure is running

當複製工作完成後,您將看到虛擬機器複本(WinServer2016blog-副本) 位於 Azure 中的 Hyper-V 主機上。此 Hyper-V 複本是 Azure 中的嵌套虛擬機器。

虛擬機器(VM)故障移轉至 Azure

現在,當您擁有一個虛擬機器複本時,您已準備好透過以下方式進行虛擬機器故障移轉: NAKIVO Backup & Replication.

關於 首頁, 點擊 Recover 然後在彈出的選單中,選擇"VM 複本故障移轉"。

VM replica failover to the nested VM of the Hyper-V format residing in Azure

全新的 Microsoft Hyper-V 故障移轉工作範例精靈 已開啟。

1. Source. 選取將用於故障轉移的虛擬機器複本。在此情況下, WinServer2016blog-副本 是 Azure 中該嵌套虛擬機器副本的名稱。

Selecting a nested VM replica of the Hyper-V format that will be used to fail over

2. Networks. 您可以開啟"網路對應"功能,以避免必須手動將虛擬機器副本重新連線至所需的 Hyper-V 虛擬網路,如複製工作所示。

Configuring network mapping when configuring failover to the nested VM replica of the Hyper-V format residing in Azure

3. Re-IP. 您可以啟用"Re-IP"功能,以避免在故障移轉後必須手動重新設定虛擬機器複本的 IP 位址。請按一下 Select VMs 並選擇您要套用"重新指派 IP"規則的虛擬機器副本。

Configuring Re-IP settings to fail over to the nested VM of the Hyper-V format running in Azure

4. Options. 輸入工作名稱(例如, Hyper-V 故障移轉至 Azure).

選擇 關閉來源虛擬機器 以避免衝突,並確保所有變更都會在虛擬機器複本中進行,而非在原始虛擬機器中進行。

Configuring failover job options

點擊 Finish & Run 儲存並執行故障移轉工作。

請稍候片刻,直到 Hyper-V 故障移轉工作完成為止。

當工作完成後,您將可以看到虛擬機器複本正在執行,而來源虛擬機器則已關機。

Hyper-V VM failover to Azure is started

您可以透過 RDP 連線至執行 Hyper-V 的 Azure 虛擬機器,並確認嵌套虛擬機器複本已啟動。所有變更現已寫入該嵌套虛擬機器複本。

A nested VM replica is running on a virtual Hyper-V server in Azure

當主站點的基礎架構恢復後,您可以執行虛擬機器故障恢復操作,並將工作負載轉回主站點(Office 1 (在此情況下)從用作遠端還原站點的 Azure 取得。執行虛擬機器故障恢復後,虛擬機器複本中的變更將傳輸至原始虛擬機器。此操作稱為故障恢復。

虛擬機器故障恢復

若要執行故障恢復,請在 NAKIVO Backup & Replication 網頁介面,請前往 Recover > VM replica failback.

VM replica failback

故障恢復工作精靈 將會開放。

1. Source. 選取用於虛擬機器故障移轉的虛擬機器複本(WinServer2016blog-副本 (在我們的範例中)。建議您在啟動故障恢復工作之前,先關閉虛擬機器複本。

Selecting the nested Hyper-V replica as a source VM for the VM failback job in NAKIVO Backup & Replication

2. Destination. 選擇 Original Location 在下拉式選單中。您可以選取 新位置 如有需要。

Selecting the original location as the destination for a new Hyper-V failback job in NAKIVO Backup & Replication

3. Networks. 請根據先前設定故障移轉工作時所用的規則,建立其逆向網路對應規則(順序與之前相反)。在此情況下,來源網路為 InternalSwitchNAT 而目標網路是 博通 NetXtreme.

Configuring network mapping for the Hyper-V failback job (Hyper-V Nested Virtualization)

4. Re-IP. 請以逆序變更 IP 位址。以下為本範例中"Re-IP"規則的設定。

Source Settings

IP 位址: 192.168.217.*

子網遮罩: 255.255.255.0

Target Settings

IP 位址: 192.168.117.*

子網遮罩: 255.255.255.0

預設閘道: 192.168.117.1

主要 DNS 伺服器: 192.168.117.1

次要 DNS 伺服器: 8.8.8.8

點擊 Select VMs 然後選擇您的虛擬機器副本(WinServer2016blog-副本 (在此情況下)。

Configuring the Re-IP rule for a new Hyper-V VM failback job in NAKIVO Backup & Replication

5. Options. 設定故障恢復工作選項,例如虛擬機器名稱、事前及事後動作。

輸入工作名稱:從 Azure 進行 Hyper-V 故障恢復。

勾選核取方塊:關閉複本虛擬機器的電源。

Setting up options for Hyper-V VM failback job

點擊 Finish and Run 儲存設定並執行故障恢復工作。請等待變更與來源虛擬機器同步完成。之後,您即可繼續在主站點上使用您的虛擬機器。

註: 您在主站點上的防火牆(稱為 Office 1 (在此篇部落格文章中)必須正確設定,才能讓 之間的元件進行網路互動與資料傳輸 NAKIVO Backup & Replication. 否則,您可能會收到類似以下的錯誤訊息:

“winServer2016blog-replica” 虛擬機的複製失敗。在複製 “WinServer2016blog-replica” 虛擬機的一個或多個虛擬磁碟時發生錯誤.

在這種情況下,請檢查您主要站點上的路由器及 Hyper-V 伺服器的防火牆設定。您可能需要建立一些類似於您在 Azure 中所建立的防火牆規則。

這篇部落格文章中說明了一個簡單的網路配置範例,用以展示其運作原理。您也可以選擇配置站對站 VPN 連線作為替代方案,這將在網路連線方面為您提供更大的靈活性與進階選項。

結論

在遠端站點部署虛擬機器複本,是災難還原計畫中建議採用的方案。若您無法自行建置專用的災難還原遠端站點,可將公有雲服務用作災難還原站點。Microsoft Azure 採用 Hyper-V 引擎來執行虛擬機器,是將虛擬機器部署於雲端環境的理想解決方案。 然而,Azure 虛擬機器與 Hyper-V 虛擬機器的格式存在多項差異,導致您無法將 Hyper-V 虛擬機器直接複製到 Azure。Hyper-V 嵌套虛擬化是一項實用的特點,可讓您在虛擬機器內部執行另一台虛擬機器,而此功能性可用於將 Hyper-V 虛擬機器複製到 Azure。

這篇部落格文章已介紹了如何在 Azure 中利用 Hyper-V 嵌套虛擬化,以及 複製 將您的 Hyper-V 虛擬機器遷移至 Microsoft Azure 雲,以防範災難。 NAKIVO Backup & Replication 可以將 Hyper-V 虛擬機器複製到雲端中作為 Azure 虛擬機器運行的 Hyper-V 主機上,並在災難還原情境的框架下執行虛擬機器的故障移轉與故障恢復。

現在您應該已經了解如何設定 Azure 環境、Hyper-V 環境、防火牆,以及 NAKIVO Backup & Replication 讓災難還原流程既快速又簡單。

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

立即申請免費試用,全面探索本解決方案的所有資料保護特點。15 天免費試用,特點與容量完全不受限制,無需提供信用卡資訊。

People also read