將 Lsv3、Lasv3 和 Lsv2 系列 Linux VM 的效能最佳化

警告

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

適用於: ✔️ Linux VM ✔️ 統一擴展集

Lsv3、Lasv3 和 Lsv2 系列 Azure 虛擬機器 (Azure VM) 支援各種工作負載,其在各種應用程式和產業的本機儲存體上需要高 I/O 和輸送量。 L 系列適用於巨量資料、SQL、NoSQL 資料庫、資料倉儲和大型交易資料庫,包括 Cassandra、MongoDB、Cloudera 和 Redis。

由於與 Linux 中的合作夥伴合作,Azure Marketplace 會提供數個組建。 這些組建已針對 Lsv3、Lasv3 和 Lsv2 系列的效能加以最佳化。 可用的組建包括下列和更新版本:

  • Ubuntu 16.04
  • RHEL 8.0 和複製版,包括 CentOS、Rocky Linux 和 Alma Linux
  • Debian 9
  • SUSE Linux 15
  • Oracle Linux 8.0

本文提供秘訣和建議,以確保您的工作負載和應用程式能夠達到最高的效能,並將其設計到 VM 中。

AMD EPYC™ 晶片組架構

Lasv3 和 Lsv2 系列 VM 會使用以 Zen 微架構為基礎的 AMD EPYC™ 伺服器處理器。 AMD 針對 EPYC™ 開發了 Infinity Fabric (IF),做為其 NUMA 模型的可擴充互連,可用於內部、套件內部和多套件通訊。 相較於 Intel 現代化單晶片處理器所使用的 QPI (快速路徑互連) 和 UPI (Ultra 路徑互連),AMD 的多 NUMA 小晶片架構可能會帶來效能優勢和挑戰。 記憶體頻寬和延遲條件約束的實際影響可能會根據執行的工作負載類型而有所不同。

將效能最大化的訣竅

  • 如果您要上傳工作負載的自訂 Linux GuestOS,則預設會關閉加速網路功能。 如果您想要啟用加速網路,請在建立 VM 時啟用,以獲得最佳效能。
  • 若要獲得最大效能,請針對每個裝置執行具有深佇列深度的多個作業。
  • 避免在使用中的工作負載期間,混用 NVMe 管理命令 (例如 NVMe SMART 資訊查詢等) 與 NVMe I/O 命令。 Lsv3、Lasv3 和 Lsv2 NVMe 裝置是由 Hyper-V NVMe Direct 技術支援,每當有任何 NVMe 的管理命令暫止時,就會切換為「慢速模式」。 如果發生這種情況,Lsv3、Lasv3 和 Lsv2 使用者可能會在 NVMe I/O 效能中看到顯著的效能下降。
  • Lsv2 使用者不建議仰賴從 VM 內部回報的裝置 NUMA 資訊 (全部為 0),來決定其應用程式的 NUMA 親和性。 建議的提升效能方式是盡可能將工作負載分散到多個 CPU。
  • Lsv3、Lasv3 和 Lsv2 VM NVMe 裝置的每個 I/O 佇列配對支援的佇列深度上限為 1024。 為避免觸發佇列填滿條件 (這可能降低效能),建議 Lsv3、Lasv3 和 Lsv2 使用者將 (綜合) 基準工作負載限制為佇列深度 1024 或更低。
  • 當每個原始 NVMe 裝置直接完成 I/O,而不使用分割、檔案系統、RAID 設定等時,即可取得最佳效能。開始測試工作階段之前,請確定設定在每部 NVMe 裝置上執行 blkdiscard,處於已知的全新/清除狀態。 若要在效能評定期間取得最一致的效能,建議您在測試之前先將 NVMe 裝置前置條件,方法是發出隨機寫入到 SNIA 固態儲存體企業效能測試規格中所定義的所有裝置 LBA 兩倍。

利用本機 NVMe 儲存體

在所有 Lsv3、Lasv3 和 Lsv2 VM 的 1.92 TB NVMe 磁碟上,本機儲存體為暫時狀態。 在 VM 成功完成標準重新開機期間,會保存本機 NVMe 磁碟上的資料。 如果重新部署、解除配置或刪除 VM,資料不會保存在 NVMe 上。 如果另一個問題造成 VM 或其執行的硬體變成狀況不良,則資料不會保留。 發生這種情況時,會安全清除舊主機上的所有資料。

在某些情況下,VM 必須移至不同的主機電腦,例如在計劃性維護作業期間。 計劃性維護作業和一些硬體故障可透過 Scheduled Events 進行預期。 使用 Scheduled Events 可隨時掌握任何預計維護作業和復原作業的最新狀態。

如果計劃性維護事件需要在空白本機磁碟的新主機上重新建立 VM,即須重新同步資料 (同樣的,舊主機上所有的資料都需要安全清除)。 這案例是因為 Lsv3、Lasv3 和 Lsv2 系列 VM 目前不支援在本機 NVMe 磁碟上進行即時移轉。

有兩種模式可進行計劃性維護。

標準 VM 客戶控制的維護

  • 在 30 天的時間範圍內,VM 會移至更新的主機。
  • Lsv3、Lasv3 和 Lsv2 本機儲存體資料可能會遺失,因此建議您在進行事件之前備份資料。

自動維護

  • 當客戶未執行客戶控制的維護,或發生緊急程序 (例如安全性零時差事件) 時即會發生。
  • 其目的是要保留客戶資料,但 VM 凍結或重新啟動的風險很小。
  • Lsv3、Lasv3 和 Lsv2 本機儲存體資料可能會遺失,因此建議您在進行事件之前備份資料。

針對任何即將推出的服務事件,請使用受控制的維護程序來選取您最方便進行更新的時間。 在事件之前,您可以備份進階儲存體中的資料。 維護事件完成之後,您可以將資料傳回至重新整理的 Lsv3、Lasv3 和 Lsv2 VM 本機 NVMe 儲存體。

在本機 NVMe 磁碟上維護資料的案例包括:

  • VM 正在執行且狀況良好。
  • VM 會就地重新開機 (由您或 Azure)。
  • VM 已暫停 (未解除配置即停止)。
  • 多數計劃性維護服務作業。

安全地清除資料以保護客戶的案例包括:

  • VM 已重新部署、停止 (解除配置) 或刪除 (由您)。
  • VM 會變得狀況不良,而且由於硬體問題而必須對另一個節點進行服務修復。
  • 需要將 VM 重新配置給另一部主機以進行服務的少數計劃性維護作業。

常見問題集

以下是此系列的常見問題。

如何開始部署 L 系列 VM?

就像任何其他 VM 一樣,請使用入口網站Azure CLIPowerShell 來建立 VM。

單一 NVMe 磁碟失敗是否會導致主機上的所有 VM 失敗?

如果在硬體節點上偵測到磁碟失敗,則硬體會處於失敗狀態。 發生這種問題時,節點上所有的 VM 都會自動解除配置,並移至狀況良好的節點。 對於 Lsv3、Lasv3 和 Lsv2 系列 VM,此問題表示客戶在失敗節點上的資料也會安全地清除。 客戶必須在新節點上重新建立資料。

我需要變更 blk_mq 設定嗎?

RHEL/CentOS 7.x 會自動針對 NVMe 裝置使用 blk-mq。 不需要任何組態變更或設定。

下一步

請參閱針對 Azure 上所有的儲存體效能進行最佳化的 VM 規格