AlmaLinux 8.x 基礎設定 (3) - 安裝 Hyper-V 整合服務



前言

最近又要開始玩 AlmaLinux 所以基礎設定系列文章就出現了。本文實作中,採用 Windows Server 2022 Hyper-V 虛擬化平台,建立 VM 虛擬主機並安裝最新版本 AlmaLinux 8.5 的最小化安裝版本 (Minimal Install),開始玩吧。 💪



LIS (Linux Integration Services)

每一種虛擬化平台,都需要幫其上運作的 VM 虛擬主機安裝適當的驅動程式,以便 VM 虛擬主機能與虛擬化平台進行最緊密的結合,例如,虛擬裝置最佳化……等。舉例來說 VMware vSphere 虛擬化平台,需要幫 VM 虛擬主機安裝 VMware Tools,而 Citrix XenServer 虛擬化平台便需要幫 VM 虛擬主機安裝 Xen Tools

Microsoft Hyper-V 虛擬化平台中,則是需要幫其上運作的 VM 虛擬主機安裝「整合服務(Integration Services),當整合服務順利運作後,VM 虛擬主機內的作業系統便會安裝最佳化的驅動程式,例如,IDE、SCSI、網路、視訊、滑鼠……等裝置,與 Hyper-V 虛擬化平台整合的部份,則有 作業系統關閉(Shutdown)、時間同步化(Time Synchronization)、資料交換(Key/Value Exchange)、活動訊號(Heartbeat)、線上備份(Volume Shadow copy Service,VSS)…等機制,以期 VM 虛擬主機跟 Microsoft Hyper-V 虛擬化平台不管是在效能運作上,或者是驅動程式最佳化方面都能進行完美的結合。

值得注意的是,倘若是採用舊有的 CentOS 7 或更舊的版本,可以透過下載最後一版的 Linux Integration Services v4.3.5 for Hyper-V and Azure 來安裝和更新 LIS 整合服務。至於 AlmaLinux 8 (RHEL 8) 之後,除了在 Linux 核心中內建 Hyper-V 核心模組之外,其餘透過套件安裝的方式即可。




Hyper-V 核心模組

預設情況下,VM 虛擬主機中的 LIS - Guest services 項目並不會勾選,請將 VM 虛擬主機關機後勾選該項目再繼續設定。


事實上,從舊版的 CentOS 5 / RHEL 5 版本開始,便開始在 Linux 核心中逐漸支援 Hyper-V 虛擬化平台。在目前 AlmaLinux 8 / RHEL 8 版本中,預設 Linux 核心中已經內建 Hyper-V 核心模組 (hv_vmbus / hv_netvsc / hv_storvsc),負責主要裝置和儲存及網路功能。

因此,透過「sudo lsinitrd | grep hv」指令,先確認 AlmaLinux 的 Initial Ramdisk (initrd) 中,是否已經包含 Hyper-V 核心模組,可以看到在本文實作環境中,Initial Ramdisk 內已經包含 hv_vmbus.ko、hv_netsvc.ko、hv_storvsc.ko


原則上,AlmaLinux 8 核心中已經包含 Hyper-V 核心模組。倘若,發生 Linux 核心並沒有包含 Hyper-V 模組時,必須要重建 Initial Ramdisk Image 才行,相關資訊請參考下列資源:


安裝 LIS 整合服務

雖然,AlmaLinux 核心中已經內建 Hyper-V 核心模組。但是,與 Hyper-V 虛擬化平台整合的 KVP (Key Value Pair)、VSS、FCOPY……等未安裝和啟動,並未達成驅動程式最佳化的狀態。

現在,已經可以直接透過 dnf 機制安裝「hyperv-daemons」套件達成。首先,請執行「dnf search hyperv」指令,確認搜尋到相關套用。


接著,執行「sudo dnf -y install hyperv-daemons」指令,即可將支援 KVP (Key Value Pair)、VSS、FCOPY 等機制的套件進行安裝。


重新啟動主機後,便能使用「systemctl list-units --type service | grep Hyper-V」指令,查詢到系統服務中已經執行並且開機自動啟動相關服務,當然你也可以查看每一個服務的運作狀態。



此外,在 Hyper-V Manager 管理介面中,原本尚未安裝前在 Network 頁籤,是看不到 VM 虛擬主機 IP 位址資訊的,重新啟動後便能順利在 IP Addresses 欄位看到 AlmaLinux 主機的 IP 位址,證明 VM 虛擬主機的整合服務與 Hyper-V 虛擬化平台已經完全溝通無誤了。 😎






AlmaLinux 8 基礎設定

下列便是 AlmaLinux 8.x 攻略的基礎設定系列文章:
  • AlmaLinux 8.x 基礎設定 - 簡介
  • AlmaLinux 8.x 基礎設定 (1) - 安裝 AlmaLinux 8
  • AlmaLinux 8.x 基礎設定 (2) - NetworkManager 組態設定網路功能
  • (本文) AlmaLinux 8.x 基礎設定 (3) - 安裝 Hyper-V 整合服務
  • AlmaLinux 8.x 基礎設定 (4) - Cockpit 圖形化介面管理工具
  • AlmaLinux 8.x 基礎設定 () - 組態設定 VIM 及 Bash Shell 操作環境
  • AlmaLinux 8.x 基礎設定 () - 設定 sudo 管理員帳號管理機制
  • AlmaLinux 8.x 基礎設定 () - 禁止 Root 帳號本機及 SSH 遠端登入
  • AlmaLinux 8.x 基礎設定 () - SELinux 安全性增強機制
  • AlmaLinux 8.x 基礎設定 () - DNF 套件管理工具
  • AlmaLinux 8.x 基礎設定 () - 擴充 DNF 套件數量
  • AlmaLinux 8.x 基礎設定 () - 簡述 Systemd 啟動模式等級
  • AlmaLinux 8.x 基礎設定 () - 調整 Firewalld 防火牆規則
  • AlmaLinux 8.x 基礎設定 () - 定期寄送 CentOS 主機系統資訊 Log
  • AlmaLinux 8.x 基礎設定 () - 關閉不必要的系統服務
  • AlmaLinux 8.x 基礎設定 () - 採用 I/O Scheduler Noop 加速 Disk I/O
  • AlmaLinux 8.x 基礎設定 () - 完成 CentOS Base VM 的製作
  • AlmaLinux 8.x 基礎設定 () - 範本 CentOS 重新產生 Product_UUID