很多工程師都知道,如果你選擇在 Hyper-V 中運行 Linux guest VM,要獲得最好的使用體驗,必需針對你所使用的 Linux 發行版和使用場景選擇 Linux Integration Services(LIS,Linux 集成服務)。要想在 Hyper-V 中獲得「最佳」Linux 使用體驗會比較微妙,下面我們將詳細進行介紹,以幫助大家根據自身情況作出最正確的選擇。

開始我們先請大家注意的是:微軟通過兩個獨立的通道向用戶交付 LIS。這兩個交付通道彼此獨立,所以你必需先確定哪個將會通道最適合你。
首先各大 Linux 發行廠商,例如 Red Hat、SUSE、Oracle、Canonical 和 Debian 社區等是 Linux Integration Services(LIS)最為直接的交付方式。微軟和 Linux 社區開發人員會將大的 LIS 更新提交到 Linux 內核郵件列表,並從 Linux 社區收集代碼審查和反饋意見。當反饋過程完成后,更改便會被納入上游由 Linus Torvalds 和 Linux 社區「維護者」負責的 Linux 內核。當驗收合格后,Linux 發行廠商會將 Linux 內核移植到自己的發行版本當中,並由該發行商將 LIS 作為其產品的一部分進行構建和測試。測試完成后,微軟將得到產品的早期版本並將自己的測試結果返回給發行商。目前 Red Hat、SUSE、Canonical 和 Oracle 等公司都與微軟保持着這樣的合作流程,所涉及的產品包括 RHEL、CentOS、SLES、Oracle Linux 和 Ubuntu。當然,Debian 社區也與微軟保持同樣的合作。
這條 LIS 發行通道被微軟稱為「內置」,即你從 Linux 發行商那里獲取到產品時就已經內置了 LIS。例如,當你從 CentOS 7.0 升級到 7.1 后就會獲得 CentOS 7.1更新的 LIS。需要注意的是,微軟並沒對內置式 LIS 指定版本號,用戶什么時候能獲得 LIS 更新完全取決於發行廠商何時從上游拉取並更新 Linux 內核。此種「內置」方式唯一不足之處就是用戶可能無法及時獲取到最新 LIS 更新及新特性,但 Linux 廠商與微軟之間的聯合測試能夠保盡可能證 Linux 系統在 Hyper-V 環境下的使用穩定。對內置 LIS 的技術支持完全取決於最終用戶與 Linux 發行商之間的支持協議和條款,微軟的直接客戶可以按 Hyper-V 的支持協議條款獲取到微軟官方的技術支持。在以上兩種情況下,LIS 代碼級 Bug 會由微軟與 Linux 發行商配合搞定,並通過 Linux 發行商的更新代碼或補丁方式進行修復。
Linux Integration Services 另一條交付通道便是微軟為最終用戶直接提供的 LIS 安裝包,該種方式想必很多微軟方向的工程師都不陌生,此種方式適用於 RHEL、CentOS 等采用 Red Hat 內核和兼容 Oracle Linux 的發行版。隨着 Azure 的不斷更新以及對 Windows Server 2016 新版 Hyper-V 的支持,獨立 LIS 也保持了一定的更新頻度和速度。獨立 LIS 安裝包的出現讓用戶可以及時更新,不必等待 Linux 廠商的官方更新便可獲得 LIS 功能與性能提升。微軟獨立安裝包目前最新為 LIS 4.1 和 LIS 4.0 版本,大家可以自行下載安裝。
需要重點注意的是,使用獨立 LIS 版本必需要有特定版本的 Linux 內核與之匹配。例如在使用 LIS 獨立包的情況下,系統由 CentOS 7.0 更新到 7.1 后 LIS 包並不會更新,需要單獨對 LIS 進行升級。如果你只更新 Linux 內核或大版本而不升級 LIS,可能造成 Linux 內核中的二進度不匹配,嚴重可能導致系統無法啟動。微軟會按 Hyper-V 支持條款對使用獨立 LIS 包的 Linux 用戶提供官方技術支持,如果你使用老版本,微軟會在技術支持時要求升級到最新 LIS 版本觀察問題是否存在。由於 LIS 主要是運行於 Linux 內核級的驅動,所以微軟只提供版本更新,不太可能提供修復補丁。
下面就 Hyper-V Linux VM 該如何選擇 Linux Integration Services 列出一個表格,僅供大家參考:

免費提供最新Linux技術教程書籍,為開源技術愛好者努力做得更多更好:https://www.linuxprobe.com/
