Azure 上的數位影像模型

Azure Blob 儲存體
Azure 金鑰保存庫
Azure 虛擬機器

警告

本文參考 CentOS,亦即接近生命週期結束 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引

此範例案例針對任何想要在 Azure 基礎結構即服務 (IaaS) 上執行映像式模型化的組織,提供架構和設計指引。 此案例是針對使用高效能記憶體在 Azure 虛擬機器 (VM) 上執行攝影測量軟體而設計,可加速處理時間。 環境可以視需要相應增加和減少,並支持數 TB 的記憶體,而不會犧牲效能。

架構

此圖顯示在 Azure IaaS 上執行映像式模型化的架構。

下載此架構的 Visio 檔案

工作流程

  1. 用戶會將一些影像提交到 PhotoScan。
  2. PhotoScan 排程器會在做為前端節點的 Windows VM 上執行,並引導使用者影像的處理。
  3. PhotoScan 會搜尋相片上的通用點,並使用在具有圖形處理單位 (GPU) 的 VM 上執行的 PhotoScan 處理節點來建構幾何 (mesh)。
  4. Avere vFXT for Azure 根據網路文件系統第 3 版 (NFSv3) 提供高效能記憶體解決方案,並包含至少四部 VM。
  5. PhotoScan 會轉譯模型。

元件

  • Agisoft PhotoScan:PhotoScan 排程器會在 Windows 2016 伺服器 VM 上執行,而處理節點會搭配執行 CentOS Linux 7.5 的 GPU 使用五部 VM。
  • Avere vFXT for Azure 是一種檔案快取解決方案,其使用物件記憶體和傳統網路連接記憶體 (NAS) 將大型數據集的儲存優化。 其中包含:
    • Avere 控制器。 此 VM 會執行腳本來安裝 Avere vFXT 叢集,並執行 Ubuntu 18.04 LTS。 VM 稍後可用來新增或移除叢集節點,以及終結叢集。
    • vFXT 叢集。 至少使用三個 VM,每個 Avere vFXT 節點都使用一個 VM,以 Avere OS 5.0.2.1 為基礎。 這些 VM 會形成連結至 Azure Blob 記憶體的 vFXT 叢集。
  • Microsoft Active Directory 域控制器 允許主機存取網域資源並提供 DNS 名稱解析。 Avere vFXT 會新增一些 A 記錄,例如,vFXT 叢集中的每個 A 記錄都會指向每個 Avere vFXT 節點的 IP 位址。 在此設定中,所有 VM 都會使用迴圈配置資源模式來存取 vFXT 匯出。
  • 其他 VM 則做為系統管理員用來存取排程器和處理節點的跳躍方塊。 Windows Jumpbox 是必要條件,可讓系統管理員透過遠端桌面通訊協定存取前端節點。 第二個 Jumpbox 是選擇性的,並執行 Linux 以管理背景工作節點。
  • 網路安全組 會限制對公用IP位址 (PIP) 的存取,並允許埠 3389 和 22 存取連結至 Jumpbox 子網的 VM。
  • 虛擬網路對等互連 會將 PhotoScan 虛擬網路連線到 Avere 虛擬網路。
  • Azure Blob 記憶體 會使用 Avere vFXT 作為核心檔案管理工具,以儲存正在處理的認可數據。 Avere vFXT 會識別儲存在 Azure Blob 中的使用中數據,並將它分層到用於在 PhotoScan 作業執行時在其計算節點中快取的固態硬碟(SSD)。 如果進行變更,數據會以異步方式認可回核心檔案管理工具。
  • Azure 金鑰保存庫 可用來儲存系統管理員密碼和 PhotoScan 啟用碼。

替代項目

  • 若要利用 Azure 服務來管理 HPC 叢集,請使用 Azure CycleCloud 或 Azure Batch 之類的工具,而不是透過範本或腳本管理資源。
  • 將 BeeGFS 平行虛擬文件系統部署為 Azure 上的後端記憶體,而不是 Avere vFXT。 使用 BeeGFS 範本在 Azure 上部署此端對端解決方案。
  • 部署您選擇的記憶體解決方案,例如 GlusterFS、Lustre 或 Windows 儲存空間直接存取。 若要這樣做,請編輯 PhotoScan 範本 以使用您想要的儲存解決方案。
  • 使用 Windows 作業系統而非 Linux 部署背景工作角色節點,這是預設選項。 當您使用 Windows 節點時,部署範本不會執行記憶體整合選項。 您必須手動整合環境與現有的儲存解決方案,或自定義 PhotoScan 範本以提供這類自動化,如存放庫中所述

案例詳細資料

此範例描述使用 Agisoft PhotoScan photogrammetry 軟體,由 Avere vFXT 記憶體所支援。 PhotoScan 因其在地理資訊系統(GIS)應用程式、文化遺產檔、遊戲開發和視覺效果製作方面的受歡迎程度而選擇。 它適用於近距離攝影測量和空中攝影測量。

本文中的概念適用於以基礎結構管理之排程器和背景工作節點為基礎的任何高效能運算 (HPC) 工作負載。 在此工作負載中,已選取 Avere vFXT,以在基準檢驗期間取得其優越的效能。 不過,此案例會將記憶體與處理分離,以便使用其他記憶體解決方案(請參閱 本檔稍後的替代方案 )。

此架構也包含 Active Directory 域控制器,以控制對 Azure 資源的存取,並透過功能變數名稱系統 (DNS) 提供內部名稱解析。 跳躍方塊可讓系統管理員存取執行解決方案的 Windows 和 Linux VM。

潛在的使用案例

相關的使用案例包括:

  • 模型化和測量建築物、工程結構和法醫事故現場。
  • 建立電腦遊戲和電影的視覺效果。
  • 使用數位影像間接產生各種規模的物件測量,如同城市規劃和其他應用程式一樣。

考量

這些考慮會實作 Azure Well-Architected Framework 的支柱,這是一組指導原則,可用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework

此案例專為在 Windows 或 Linux 上部署 HPC 工作負載提供高效能記憶體所設計。 一般而言,HPC 工作負載的記憶體設定應該符合用於內部部署部署的適當最佳做法。

部署考慮取決於所使用的應用程式和服務,但有一些注意事項適用:

  • 建置高效能應用程式時,請使用 Azure 進階儲存體 並優化應用層。 使用 Azure Blob 經常性存取層存取將記憶體優化。
  • 使用符合可用性和效能需求的記憶體 複寫選項 。 在此範例中,Avere vFXT 預設會設定為高可用性,並具有本地備援記憶體 (LRS)。 為了進行負載平衡,此設定中的所有 VM 都會使用迴圈配置資源模式來存取 vFXT 導出。
  • 如果 Windows 用戶端和 Linux 用戶端將取用後端記憶體,請使用 Samba 伺服器來支援 Windows 節點。 以 BeeGFS 為基礎的此範例案例版本會使用 Samba 來支援在 Windows 上執行的 HPC 工作負載 (PhotoScan) 排程器節點。 負載平衡器會部署為像 DNS 迴圈配置資源智慧取代一樣。
  • 使用最適合您 WindowsLinux 工作負載的 VM 類型執行 HPC 應用程式。
  • 若要隔離 HPC 工作負載與記憶體資源,請在自己的虛擬網路中部署每個工作負載,然後使用虛擬網路 對等互連 來連線兩者。 對等互連會在不同虛擬網路中的資源之間建立低延遲、高頻寬連線,並僅透過私人IP位址透過 Microsoft 骨幹基礎結構路由傳送流量。

安全性

安全性可提供針對蓄意攻擊和濫用寶貴數據和系統的保證。 如需詳細資訊,請參閱 安全性要素概觀。

此範例著重於為 HPC 工作負載部署高效能記憶體解決方案,而不是安全性解決方案。 請務必讓安全性小組參與任何變更。

為了增加安全性,此範例基礎結構可讓所有 Windows VM 加入網域,並使用 Active Directory 進行集中驗證。 它也為所有 VM 提供自定義 DNS 服務。 為了協助保護環境,此範本依賴 網路安全組。 網路安全組提供基本流量篩選和安全性規則。

請考慮下列選項,以進一步改善此案例的安全性:

  • 使用網路虛擬設備,例如 Fortinet、Checkpoint 和 Juniper。
  • 將 Azure 角色型存取控制 (Azure RBAC) 套用至資源群組。
  • 如果透過因特網存取跳躍方塊,請啟用 VM JIT 存取。
  • 使用 Azure 金鑰保存庫 來儲存系統管理員帳戶所使用的密碼。

成本最佳化

成本優化是考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化要素概觀。

執行此案例的成本可能會因多種因素而有所不同。 VM 的數目和大小、需要多少記憶體,以及完成作業的時間量會決定您的成本。

Azure 定價計算機中的下列範例成本配置檔是以 Avere vFXT 和 PhotoScan 的典型設定為基礎:

  • 1 A1_v2 Ubuntu VM 來執行 Avere 控制器。
  • 3 D16s_v3 Avere OS VM,每個構成 vFXT 叢集的 Avere vFXT 節點各一個。
  • 5 NC24_v2 Linux VM,以提供 PhotoScan 處理節點所需的 GPU。
  • 1 D8s_v3 PhotoScan 排程器節點的 CentOS VM。
  • 1 DS2_v2 CentOS 用來作為系統管理員 Jumpbox。
  • 2 DS2_v2 Active Directory 域控制器的 VM。
  • 進階版 受控磁碟。
  • 具有 LRS 和經常性層存取的一般用途 v2 (GPv2) Blob 記憶體(只有 GPv2 記憶體帳戶會公開存取層屬性)。
  • 支援 10 TB 資料傳輸的虛擬網路。

下一步

下列資源將提供此案例中所用元件的詳細資訊,以及 Azure 上批次運算的替代方法。