前言
最近又要開始玩 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 虛擬化平台不管是在效能運作上,或者是驅動程式最佳化方面都能進行完美的結合。
在 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 上支援的 CentOS 和 Red Hat Enterprise Linux 虛擬機器 | Microsoft Docs
- As a customer how does Red Hat support me when I use third party components? - Red Hat Customer Portal
- 在 Hyper-v 上執行 Linux 的最佳作法 | Microsoft Docs
- GitHub - EtienneBarbier/Hyper-V-RHEL-8-VM: Guide and scripts for RedHat Enterprise Linux 8 VM on Hyper-V with Enhanced Session Mode
Hyper-V 核心模組
預設情況下,VM 虛擬主機中的 LIS - Guest services項目並不會勾選,請將 VM 虛擬主機關機後勾選該項目再繼續設定。
因此,透過「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 才行,相關資訊請參考下列資源:
- How to rebuild the initial ramdisk image in Red Hat Enterprise Linux - Red Hat Customer Portal
- 建立及上傳 Red Hat Enterprise Linux VHD 以在 Azure 中使用 - Azure Virtual Machines | Microsoft Docs
- Installing Hyper-V device drivers | Red Hat Customer Portal
- RHEL V8 Guest on MS Hyper V 2019 Slow performance - Red Hat Customer Portal
安裝 LIS 整合服務
雖然,AlmaLinux 核心中已經內建 Hyper-V 核心模組。但是,與 Hyper-V 虛擬化平台整合的 KVP (Key Value Pair)、VSS、FCOPY……等未安裝和啟動,並未達成驅動程式最佳化的狀態。
現在,已經可以直接透過 dnf 機制安裝「hyperv-daemons」套件達成。首先,請執行「dnf search hyperv」指令,確認搜尋到相關套用。
重新啟動主機後,便能使用「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 基礎設定 () - 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