將記憶體擴充至 Azure Stack Hub
本文提供 Azure Stack Hub 記憶體基礎結構資訊,協助您決定如何將 Azure Stack Hub 整合到現有的網路環境中。 在提供擴充數據中心的一般討論之後,本文會呈現兩個不同的案例。 您可以連線到 Windows 檔案記憶體伺服器。 您也可以連線到 Windows iSCSI 伺服器。
將記憶體擴充至 Azure Stack Hub 的概觀
在某些情況下,您的數據位於公用雲端不足。 或許您有需要大量計算的虛擬化資料庫工作負載、對延遲敏感,以及公用雲端的來回時間可能會影響資料庫工作負載的效能。 或許內部部署有數據、保留在文件伺服器、NAS 或 iSCSI 記憶體陣列上,而內部部署工作負載必須存取這些數據,而且必須位於內部部署,以符合法規或合規性目標。 這隻是擁有數據位於內部部署的兩個案例,對許多組織而言仍然很重要。
那麼,為什麼不只將該數據裝載於 Azure Stack Hub 上的記憶體帳戶,或在 Azure Stack Hub 系統上執行的虛擬化檔伺服器內? 同樣地,不同於 Azure,Azure Stack Hub 記憶體是有限的。 除了您擁有的節點數目之外,您可供使用的容量完全取決於您選擇購買的每一節點容量。 由於 Azure Stack Hub 是超交集解決方案,因此,如果您想要擴大記憶體容量以符合使用量需求,您也需要透過新增節點來增加計算使用量。 這可能會造成成本過高,特別是如果需要額外的容量用於冷封存記憶體,可針對 Azure Stack Hub 系統外部的低成本而新增的封存記憶體。
這會帶您前往以下涵蓋的案例。 如何將 Azure Stack Hub 系統、在 Azure Stack Hub 上執行的虛擬化工作負載,簡單且有效率地連線到 Azure Stack Hub 外部的記憶體系統,並透過網路存取。
擴充記憶體的設計
此圖描述一個案例,其中單一虛擬機、執行工作負載、連線到及利用外部(VM,以及 Azure Stack Hub 本身)記憶體,以用於數據讀取/寫入等用途。在本文中,您將著重於簡單的檔案擷取,但您可以針對更複雜的案例展開此範例,例如資料庫檔案的遠端儲存。
在圖表中,您會看到 Azure Stack Hub 系統上的 VM 已部署多個 NIC。 從備援,但也是記憶體最佳做法,在目標和目的地之間必須有多個路徑。 Azure Stack Hub 中的 VM 具有公用和私人 IP,就像在 Azure 中一樣,事情變得更複雜。 如果連線到 VM 所需的外部記憶體,它只能透過公用 IP 執行此動作,因為私人 IP 主要用於 Azure Stack Hub 系統、vNet 和子網內。 除非外部記憶體通過站對站 VPN,才能與 VM 的私人 IP 空間通訊,以進入 vNet 本身。 因此,在此範例中,我們將著重於透過公用IP空間的通訊。 圖表中公用IP空間需要注意的一件事是,有2個不同的公用IP集區子網。 根據預設,Azure Stack Hub 只需要一個集區才能用於公用 IP 位址用途,但對於備援路由而言,需要考慮的專案可能是新增第二個集區。 不過,目前無法從特定集區選取IP位址,因此您最終可能會透過多個虛擬網路卡,從相同集區具有公用IP的VM。
為了進行此討論,我們將假設邊界裝置與外部記憶體之間的路由已處理,且流量可以適當周遊網路。 在此範例中,骨幹是否為 1GbE、10GbE、25 GbE 甚至更快,但當您規劃整合時,請務必考慮這一點,以解決任何存取此外部記憶體的應用程式效能需求。
聯機到 Windows Server iSCSI 目標
在此案例中,我們將部署及設定 Azure Stack Hub 上的 Windows Server 2019 虛擬機,並準備連線到外部 iSCSI 目標,這也會執行 Windows Server 2019。 適當時,我們將啟用 MPIO 等重要功能,以優化 VM 與外部記憶體之間的效能和連線能力。
在 Azure Stack Hub 上部署 Windows Server 2019 VM
從 Azure Stack Hub 系統管理入口網站中,假設此系統已註冊且已連線到市集,請選取 [Marketplace 管理], 然後,假設您還沒有 Windows Server 2019 映射,請選取 [從 Azure 新增],然後搜尋 Windows Server 2019,新增 Windows Server 2019 Datacenter 映射。
下載 Windows Server 2019 映像可能需要一些時間。
在 Azure Stack Hub 環境中擁有 Windows Server 2019 映射之後, 請登入 Azure Stack Hub 使用者入口網站。
登入 Azure Stack Hub 使用者入口網站後,請確定您有供應 專案的訂用帳戶,可讓您佈建 IaaS 資源(計算、記憶體和網路)。
當您有可用的訂用帳戶之後,回到 Azure Stack Hub 使用者入口網站中的儀錶板 ,選取 [建立資源],選取 [計算 ],然後選取 [Windows Server 2019 Datacenter 資源庫] 專案。
在 [ 基本] 刀鋒視窗上,完成資訊,如下所示:
a. 名稱:VM001
b. 用戶名稱:localadmin
c. 密碼和確認密碼:<您選擇的密碼>
d. 訂用帳戶: <您選擇的訂用帳戶,其中包含計算/記憶體/網路資源>。
e. 資源群組:記憶體測試(新建)
f. 選取 [確定]
在 [ 選擇大小] 刀鋒視窗中,選取 Standard_F8s_v2 ,然後選取 [ 選取]。
在 [ 設定 ] 刀鋒視窗中,選取 [虛擬網络 ],然後在 [建立虛擬網络 ] 刀鋒視窗中,將位址空間 調整為 10.10.10.0/23 ,並將 [子網位址範圍] 更新為 10.10.10.0/24 ,然後選取 [ 確定]。
選取 [ 公用IP 位址],然後在 [ 建立公用IP位址 ] 刀鋒視窗中,選取 [ 靜態 ] 單選按鈕。
在 [選取公用輸入埠] 下拉式清單中,選取 [RDP][3389]。
保留其他預設值,然後選取 [ 確定]。
閱讀摘要,等待驗證,然後選取 [ 確定 ] 開始部署。 部署應該會在大約10分鐘內完成。
部署完成後,在 [資源] 下選取虛擬機名稱 VM001 以開啟 [概觀]。
在 [DNS 名稱] 底下,選取 [設定並提供 DNS 名稱標籤 vm001],然後選取 [儲存],然後選取 [VM001]。
在 [概觀] 刀鋒視窗右側,選取 [虛擬網络/子網] 文字底下的 storagetesting-vnet/default 。
在 storagetesting-vnet 刀鋒視窗中,依序選取 [子網 ] 和 [+子網],然後在 [新增子網] 刀鋒視窗中輸入下列資訊,然後選取 [ 確定]:
a. 名稱:subnet2
b. 位址範圍 (CIDR 區塊):10.10.11.0/24
c. 網路安全組:無
d. 路由表:無
儲存之後,請選取 [VM001]。
從 [概觀] 刀鋒視窗的左側,選取 [網络]。
選取 [ 鏈接網络介面 ],然後選取 [ 建立網络介面]。
在 [ 建立網络介面] 刀鋒視窗上,輸入下列資訊。
a. 名稱:vm001nic2
b. 子網:確定子網為 10.10.11.0/24
c. 網路安全組:VM001-nsg
d. 資源群組:storagetesting
成功鏈接之後,請選取 [VM001 ],然後選取 [ 停止 ] 以關閉 VM。
一旦 VM 停止(解除分配),在 [概觀] 刀鋒視窗左側,選取 [網络],選取 [鏈接網络介面],然後選取 [vm001nic2],然後選取 [確定]。 其他 NIC 將會在幾分鐘內新增至 VM。
仍在 [網络] 刀鋒視窗上,選取 [vm001nic2] 索引卷標,然後選取 [網络介面:vm001nic2]。
在 [vm001nic 介面] 刀鋒視窗上,選取 [IP 組態],然後在刀鋒視窗中央選取 [ipconfig1]。
在 [ipconfig1 設定] 刀鋒視窗上,選取 [為公用 IP 位址啟用],然後選取 [設定必要設定]、[新建],然後輸入 vm001nic2pip 以取得名稱,選取 [靜態],然後選取 [確定],然後選取 [儲存]。
成功儲存之後,返回 [VM001 概觀] 刀鋒視窗,然後選取 [ 開始 ] 以啟動您設定的 Windows Server 2019 VM。
啟動之後, 請在 VM001 中建立 RDP 工作階段 。
在 VM 內連線之後,請開啟 CMD (以系統管理員身分),然後輸入 主機名 以擷取 OS 的電腦名稱。 它應該符合 VM001。 請記下此專案以供稍後使用。
在 Azure Stack Hub 上的 Windows Server 2019 VM 上設定第二張網路適配器
根據預設,Azure Stack Hub 會將預設網關指派給連結至虛擬機的第一個(主要)網路介面。 Azure Stack Hub 不會將預設閘道指派給連結至虛擬機器的其他(次要)網路介面。 因此,依預設,您無法與次要網路介面中子網路之外的資源進行通訊。 不過,次要網路介面可與其子網路進行通訊,但不同的作業系統有不同的通訊啟用步驟。
如果您尚未開啟連線,請建立 VM001 的 RDP 連線。
以系統管理員身分開啟 CMD 並執行 路由列印 ,這應該會傳回此 VM 內的兩個介面 (Hyper-V 網路適配器)。
現在執行 ipconfig 以查看指派給次要網路介面的 IP 位址。 在此範例中,會將 10.10.11.4 指派給介面 6。 不會為次要網路介面傳回預設閘道位址。
若要將目的地為次要網路介面子網外位址的所有流量路由傳送至子網的閘道,請從 CMD:執行下列命令。
route add -p 0.0.0.0 MASK 0.0.0.0 <ipaddress> METRIC 5015 IF <interface>
<ipaddress>
是目前子網的 .1 位址,而<interface>
是介面編號。若要確認新增的路由位於路由表中,請輸入 路由列印 命令。
您也可以執行 Ping 命令來驗證輸出通訊:
ping 8.8.8.8 -S 10.10.11.4
旗-S
標可讓您指定來源位址,在此情況下,10.10.11.4 是目前具有預設網關之 NIC 的 IP 位址。關閉 CMD。
設定 Windows Server 2019 iSCSI 目標
基於此案例的目的,您將驗證 Windows Server 2019 iSCSI 目標是在 Azure Stack Hub 環境外部 Hyper-V 上執行的虛擬機設定。 此虛擬機會設定八個虛擬處理器、單一 VHDX 檔案,最重要的是兩個虛擬網路適配器。 在理想的案例中,這些網路適配器會有不同的可路由子網,但在這項驗證中,它們會有相同子網上的網路適配器。
針對 iSCSI 目標伺服器,可能是 Windows Server 2016 或 2019、實體或虛擬、在 Hyper-V、VMware 或您選擇的替代設備上執行,例如專用的實體 iSCSI SAN。 此處的重點在於 Azure Stack Hub 系統的連線和輸出,不過最好在來源和目的地之間有多個路徑,因為它提供額外的備援,並允許使用更進階的功能來提升效能,例如 MPIO。
建議您先使用最新的累積更新和修正更新 Windows Server 2019 iSCSI 目標,視需要重新啟動,然後再繼續進行檔案共享的設定。
更新並重新啟動之後,您現在可以將此伺服器設定為 iSCSI 目標。
開啟 伺服器管理員,然後選取 [管理],然後選取 [新增角色和功能]。
開啟之後,請選取 [下一步],選取 [角色型或功能型安裝],然後繼續進行選取專案,直到您到達 [ 選取伺服器角色 ] 頁面為止。
展開 [檔案和儲存服務],展開 [檔案與 iSCSI 服務],然後勾選 [iSCSI 目標伺服器] 方塊,接受任何快顯提示以新增功能,然後繼續完成。
完成後,請關閉 伺服器管理員。
開啟 檔案總管,流覽至 C:\ 並建立名為 iSCSI 的新資料夾。
重新開啟 伺服器管理員,然後從左側功能表中選取 [檔案和儲存服務]。
選取 [iSCSI ],然後選取 [若要建立 iSCSI 虛擬磁碟,請啟動右窗格上的 [新增 iSCSI 虛擬磁碟精靈] 連結。 選取它。 精靈隨即出現。
在 [選取 iSCSI 虛擬磁碟位置] 頁面上,選取 [輸入自定義路徑] 的單選按鈕,並流覽至您的 C:\iSCSI,然後選取 [下一步]。
為 iSCSI 虛擬磁碟指定 iSCSIdisk1 的名稱,並選擇性地提供描述,然後選取 [下一步]。
將虛擬磁碟的大小設定為10GB,然後選取[固定大小],然後選取[下一步]。
因為這是新的目標,請選取 [新增 iSCSI 目標 ],然後選取 [ 下一步]。
在 [ 指定目標名稱 ] 頁面上,輸入 TARGET1 ,然後選取 [ 下一步]。
在 [ 指定存取伺服器] 頁面上,選取 [ 新增]。 這會開啟一個對話框,以輸入將獲授權連線到iSCSI目標的特定 啟動器 。
在 [新增啟動器標識符] 視窗中,選取 [輸入所選類型的值],然後在 [類型] 底下,確定已選取下拉功能表中的 IQN。 輸入 iqn.1991-05.com.microsoft:<computername,其中 <computername>> 是 VM001 的計算機名稱,然後選取 [下一步]。
在 [ 啟用驗證] 頁面上,將方塊保留空白,然後選取 [ 下一步]。
確認您的選取專案,然後選取 [ 建立],然後關閉。 您應該會看到在 伺服器管理員 中建立的 iSCSI 虛擬磁碟。
設定 Windows Server 2019 iSCSI 啟動器和 MPIO
若要設定 iSCSI 啟動器,請先登入 Azure Stack Hub 系統上的 Azure Stack Hub 使用者入口網站,然後流覽至 VM001 的概觀刀鋒視窗。
建立 VM001 的 RDP 連線。 線上之後,請開啟 伺服器管理員。
選取 [新增角色和功能],並接受預設值,直到您到達 [功能 ] 頁面為止。
在 [ 功能] 頁面上,新增 Multipath I/O ,然後選取 [ 下一步]。
如有需要,請勾選 [自動重新啟動目的地伺服器] 方塊,然後選取 [安裝],然後選取 [關閉]。最可能需要重新啟動,因此完成之後,請重新連線至 VM001。
回到 伺服器管理員,等待 MPIO 安裝完成,選取關閉,然後選取 [工具],然後選取 [MPIO]。
選取 [探索多重路徑] 索引標籤,然後勾選方塊以新增 iSCSI 裝置的支持,然後選取 [新增],然後選取 [是] 重新啟動 VM001。 如果您沒有收到視窗,請選取 [ 確定], 然後手動重新啟動。
重新啟動之後,請建立 與 VM001 的新 RDP 連線。
聯機之後,開啟 伺服器管理員,選取 [工具],然後選取 [iSCSI 啟動器]。
當Microsoft iSCSI 視窗快顯時,選取 [ 是 ] 以允許 iSCSI 服務預設執行。
在 [iSCSI 啟動器屬性] 視窗中,選取 [ 探索 ] 索引標籤。
您現在將新增 2 個目標,因此請先選取 [ 探索入口網站 ] 按鈕。
輸入 iSCSI 目標伺服器的第一個 IP 位址,然後選取 [ 進階]。
在 [ 進階設定] 視窗中,選取下列專案,然後選取 [ 確定]。
a. 本機適配卡:Microsoft iSCSI 啟動器。
b. 啟動器IP:10.10.10.4。
回到 [ 探索目標入口網站] 視窗,選取 [ 確定]。
使用下列命令重複此程式:
a. IP 位址:您的第二個 iSCSI 目標 IP 位址。
b. 本機適配卡:Microsoft iSCSI 啟動器。
c. 啟動器IP:10.10.11.4。
您的目標入口網站看起來應該像這樣,在 [位址] 數據行底下有自己的 iSCSI 目標 IP。
回到 [ 目標] 索引 標籤,從視窗中間選取您的 iSCSI 目標,然後選取 [ 連線]。
在 [ 連線至目標] 視窗中,選取 [ 啟用多重路徑 刻度] 方塊,然後選取 [ 進階]。
輸入下列資訊並選取 [ 確定],然後在 [ 連線到目標] 視窗中,選取 [ 確定]。
a. 本機適配卡:Microsoft iSCSI 啟動器。
b. 啟動器IP:10.10.10.4。
c. 目標入口網站 IP: <您的第一個 iSCSI 目標 IP / 3260>。
針對第二個啟動器/目標組合重複此程式。
a. 本機適配卡:Microsoft iSCSI 啟動器。
b. 啟動器IP:10.10.11.4。
c. 目標入口網站 IP: <您的第二個 iSCSI 目標 IP / 3260>。
選取 [磁碟 區和裝置] 索引 標籤,然後選取 [ 自動設定 - 您應該會看到 MPIO 磁碟區顯示:
回到 [ 目標] 索引 標籤,選取 [裝置 ],您應該會看到 2 個連線到您稍早建立的單一 iSCSI VHD。
選取 [MPIO] 按鈕,以查看負載平衡原則和路徑的詳細資訊。
選取 [ 確定 ] 三次以結束視窗和 iSCSI 啟動器。
開啟 [磁碟管理] (diskmgmt.msc),您應該使用 [ 初始化磁碟 ] 視窗來提示您。
選取 [ 確定 ] 以接受預設值,然後向下捲動至新的磁碟,按下滑鼠右鍵,然後選取 [ 新增簡單磁碟區]
逐步解說精靈,接受預設值。 將磁碟區標籤變更為 iSCSIdisk1 ,然後選取 [ 完成]。
然後應該格式化磁碟驅動器,並顯示驅動器號。
開啟 檔案總管,然後選取 [這部計算機] 以查看連結至 VM001 的新磁碟驅動器。
測試外部記憶體連線能力
若要驗證通訊並執行基本的檔案複製測試,首先,請重新登入 Azure Stack Hub 系統上的 Azure Stack Hub 使用者入口網站,並流覽至 VM001 的概觀刀鋒視窗
選取 [ 連線 ] 以建立 VM001 的 RDP 連線
開啟 [任務管理器 ] 選取 [ 效能] 索引標籤,然後將視窗貼齊 RDP 會話右側。
以系統管理員身分開啟 Windows PowerShell ISE ,並將它貼齊 RDP 會話的左側。 在 ISE 右側,關閉 [命令 ] 窗格,然後選取 [腳本 ] 按鈕,以展開 ISE 視窗頂端的白色腳本窗格。
在此 VM 中,沒有原生 PowerShell 模組可建立 VHD,我們將用來作為大型檔案來測試傳送至 iSCSI 目標的檔案。 在此情況下,我們將執行 DiskPart 來建立 VHD 檔案。 在 ISE 中,執行下列命令:
Start-Process Diskpart
新的 CMD 視窗隨即開啟,然後輸入:
**Create vdisk file="c:\\test.vhd" type=fixed maximum=5120**
- 這需要一些時間才能建立。 建立之後,若要驗證建立,請開啟 檔案總管 並流覽至 C:\ - 您應該會看到新的 test.vhd 存在,大小為 5GB。
關閉 CMD 視窗並返回 ISE,然後在腳本 Window 中輸入下列命令。 將 F:\ 取代為稍早套用的 iSCSI 目標驅動器號。
Copy-Item "C:\\test.vhd" -Destination "F:\\"
選取文本視窗中的行,然後按 F8 執行。
當命令執行時,請觀察兩個網路適配器,並查看在 VM001 中這兩張網路適配器之間進行數據傳輸。 您也應該注意到,每個網路適配器都應該平均共用負載。
此案例的設計目的是要醒目提示在 Azure Stack Hub 上執行的工作負載與外部記憶體陣列之間的連線能力,在此案例中為以 Windows Server 為基礎的 iSCSI 目標。 這不是設計成效能測試,也不是反映您在使用替代 iSCSI 型設備時需要執行的步驟,不過它確實強調了您在 Azure Stack Hub 上部署工作負載時所做的一些核心考慮,並將其聯機到 Azure Stack Hub 環境外部的記憶體系統。