Hyper-V最值得注意的改進之一是對Linux虛擬機的支持。之前Hyper-V能夠運行Linux虛擬機,但Windows虛擬機最受寵愛。因此,Linux虛擬機無法利用Hyper-V針對Windows虛擬機提供的眾多特性。幸運的是,情況已經(jīng)發(fā)生變化,Hyper-V現(xiàn)在能夠為Linux提供更多的支持。
Hyper-V管理員幾乎能夠在Hyper-V中運行當前所有的Linux發(fā)行版。然而,微軟仍舊列出了所支持的Linux發(fā)行版及版本,包括:
紅帽Linux企業(yè)版 / CentOS 5.x, 6.x, 7.x
Debian 7.x 及更高版本
Oracle Linux 6.4-6.8, 7.0-7.2
Oracle Linux RHCK 6.4 – 6.8, 7.0 – 7.2
SUSE SLES 11 SP2, 11 SP3, 11 SP4, 12, 12 SP1
Open SUSE 12.3
Ubuntu 12.4, 14.04, 16.04, 16.10
Free BSD 8.4, 9.1 – 9.3, 10 – 10.3 11
了解盡管官方支持在Hyper-V上使用這些構建,但仍舊存在一些限制是很重要的。例如,紅帽Linux企業(yè)版 / CentOS 7.0不支持將主機上的文件拷貝到客戶機。
針對所有受支持的構建,微軟列出了Hyper-V支持的特性以及不支持的特性。大多數(shù)新版構建幾乎支持Hyper-V的所有特性,但某些較低版本的構建存在一些缺陷。
Hyper-V更具吸引力盡管微軟提供的所支持的Linux版列表非常有幫助,但你可能會對Hyper-V如何更好地支持Linux感到好奇。在Windows Server 2016 Hyper-V中,微軟已經(jīng)增加了對Linux安全引導的支持。正如之前提到的那樣,在Hyper-V中運行Linux虛擬機仍舊存在特定的版本限制。安全引導支持Ubuntu 14.04及后續(xù)版本,SUSE Linux 服務器企業(yè)版12及后續(xù)版本,紅帽Linux企業(yè)版7.0及后續(xù)版本以及CentOS 7.0及后續(xù)版本。同樣有必要指出,Linux安全引導功能僅支持第二代虛擬機,而且需要配置管理使用微軟統(tǒng)一可擴展固件接口認證中心。微軟做的令Hyper-V對Linux管理員更具吸引力的另一件事是能夠動態(tài)添加、刪除虛擬機中的虛擬網(wǎng)卡、內存。該功能在Windows Server 2016中引入,支持Linux及Windows虛擬機。Hyper-V管理員能夠在第一代、第二代虛擬機運行時修改內存分配。類似地,管理員能夠增加或刪除正在運行的虛擬機的虛擬網(wǎng)卡。然而,該特性僅支持第二代虛擬機。
仍有改進空間盡管微軟已經(jīng)做了一些努力使Windows Server 2012 R2下的Hyper-V能夠更友好地支持Linux虛擬機,但仍有兩個新引入的特性僅支持Windows虛擬機,并不支持Linux虛擬機。
第一個特性是生產檢查點。Hyper-V支持使用檢查點—有時被稱為快照—該特性在Windows Server 2008中引入。檢查點允許管理員將虛擬機近乎實時地恢復到前一個狀態(tài),并不需要恢復備份。不用說,檢查點是一個非常流行的Hyper-V特性。直到最近,檢查點還不支持在生產環(huán)境中應用。
只有一個條件:應用檢查點可能會對正在虛擬機上運行的應用造成嚴重破壞。尤其是對數(shù)據(jù)庫應用或者多層應用來說更是如此。
Hyper-V 2016是支持生產檢查點的第一個版本。微軟已經(jīng)更新了檢查點機制,這樣就能夠使用卷鏡像拷貝服務在創(chuàng)建檢查點以前將虛擬機及其應用置于一致狀態(tài)。這樣就可以安全地使用檢查點了。
從Linux角度看,問題在于卷鏡像拷貝服務是在Windows平臺下提供的技術。因此,Hyper-V創(chuàng)建了針對Linux虛擬機的文件系統(tǒng)一致性檢查點,但這些檢查點無法保證應用的一致性。
Hyper-V 2016的另一個還無法應用到Linux虛擬機的新特性是保持集成服務最新。微軟通過Windows更新程序更新集成服務。然而,Linux虛擬機使用的是Linux集成服務,這與Windows虛擬機所使用的集成服務有所不同。
據(jù)微軟所說,Linux內核包括了針對Hyper-V的Linux集成服務,但無法保證這些服務是最新的。因此,微軟提供了最新版本的Linux集成服務可供下載,但這些更新無法通過Windows更新程序交付。
微軟已經(jīng)做了很多工作使Hyper-V對Linux更友好。微軟在Windows Server 2012 R2中做了大量的工作改善Hyper-V對Linux虛擬機的支持,從Windows Server 2016開始,針對Linux虛擬機提供了更多的支持。