編者按:數十年前,微軟(Microsoft)公司絕對是互聯網計算機領域的一頭猛獸,不管是開創性的MS-DOS操作系統,還是經典的Windows系統,一經推出迅速占領商用臺式計算機市場。早在Novell(諾威爾軟件公司)還摸不著頭腦時,Windows已經開始默默吸收OS/2系統的基因,搖身一變成為Windows NT系統以及NT服務器系統。縱使Novell強勢占據早期PC(個人電腦)網絡市場,到20世紀90年代末,Novell已經大不如從前了。
微軟近日宣布,新一代的面向服務器的 WindowsServer 2016 操作系統將在10月中旬前后正式上市。ArsTechnica撰文指出,就像怪獸哥斯拉(Godzilla)不斷重生、進化和變異一樣,Windows Sever服務器操作系統也在不斷的吸收并融合其競爭者的優質基因,并不斷以其超高性價比——80%功能配以20%收費——摧毀競爭對手的市場。然而,這頭怪獸是否能夠再次顛覆整個行業,且看下文中十分詳細的分析。
2016年,微軟重啟三年前中斷的Server 2012 R2服務器系統的進化和變異,終于發布了最新的Windows Server 2016服務器操作系統。Server 2016的發布力圖提升微軟服務器平臺的市場地位,從一個本地部署服務器日益成長為一個當前商業云計算不可或缺的虛擬化、基于云操作的公司。
此次,Windows Server 2016發布包括四個版本——Essentials,Hyper-V Server,Standard和 Datacenter,三個部署計劃——Desktop experience,Core和Nano,以及前所未有豐富的可選功能。
都說眾口難調,而Server 2016這次卻想為用戶做到面面俱到:不僅是重量級的虛擬化管理程序,更是輕量云應用容器!不僅是高性能存儲平臺,更是加固的安全平臺!
然而,就像電影里民眾對于哥斯拉怪獸的誤解一樣,Windows Server 2016也不太可能獲得普遍接受。不管怎么說,相對于Linux已經提供多年的虛擬化容器服務和VMW已經提供的虛擬存儲區域網絡,Server 2016發布的確實有點晚。
然而,Server 2016的每個功能都相當堅挺,并且相對于前兩者都更易于使用,尤其是對于PowerShell有經驗的用戶。受益于微軟曾在自己Azure云服務上應用Server服務器的經驗,目前Server 2016 足以挑戰甚至超過其虛擬化技術競爭對手。
技術預覽版功能評測
Server 2016是基于前兩代服務器系統Sever 2012和Sever 2012 R2進化而來的。除了一些類似Windows 10桌面的變化以外,Sever 2016的圖形用戶界面(GUI)相對于前兩代沒有多大變化。
Server 2016的Sever Manager(服務器管理程序)與前兩代Server 2012 R2和Server 2012基本相同。
評測人員基于Server 2016Technical Preview 5(技術預覽版本)對Server2016的一些重大變化以及主要功能進行了評測。
評測者進行了兩套評測方案:一套評測是在Azure上運行虛擬實驗室并由Microsoft設置,以熟悉Server 2016的關鍵功能。第二套評測是在個人實驗室服務器,并為虛構的怪獸島公司(Monster Island Incorporated)設置了本地部署網絡,以更好的總體評估Server 2016平臺以及其兼容性。
物盡其用
想要充分利用Server 2016的功能,需要服務器配置兼容X64指令集架構的Intel或AMD處理器,并且需要對應的支持二級地址轉換(Second Level Address Translation)虛擬化的EPT(Intel處理器)或者Nested Paging Tables(AMD處理器)。鑒于可以在512MB RAM上運行Server 2016精簡GUI的最小形式,至少需要2GB啟動Desktop Experience安裝。另外,至少需要32GB的SATA或者SCSI控制器硬盤空間來啟動物理服務器,至少一個PCI Express千兆級以太網適配器(Ethernet adapter)。
據稱,沒有虛擬化的舊系統也能充分運行Server2016。
為了驗證這一點,測評Server 2016主要都是在Monster Island公司的“傳奇機器”——Dell PowerEdge 2950上運行的(這款機器與林頓地下室電子郵件服務器的相同款)。但是對于那些想要玩cale Up的(即過增加服務器的數量來擴大規模),Windows Server 2016絕對比它的前輩們要簡便得多。
Server 2016 Essentials版本
Server 2016的各個版本無論是在本地部署還是遠程服務都隨時準備對微軟云端開放。首先是以小業務為主的Server Essential服務器操作系統,主要用于少于25個用戶的網絡并且最多連接50個設備。
Server Essentials控制面板是一個高度簡化的管理工具,過去四年沒有太大變化。
Server Essentials Experience提供多種連接Azure的方式。
自Server 2012發布時引入的Server Essentials Experience幾乎沒怎么變化,包括一個遠程桌面協議(Remote Desktop Protocol)方便管理員登錄控制面板和多種微軟云服務的快速集成向導。
AzureActive Directory 服務:本地活動目錄(Active Directory)域名的單點登錄擴展,用于集成“軟件即服務”(software-as-a-service)產品;
Office365協作服務;
Intune移動設備管理;
Azure虛擬網絡:通過虛擬專用通道向本地網絡添加Azure云服務實例;
Azure恢復備份和災難恢復服務。
就像早期發布的Server 2012一樣,Server 2016有連接本地部署Exchange 服務器的集成向導,還有遠程訪問和VPN功能。為了保證服務器穩定性,建議在Hyper-V中運行Server Essentials,在安裝時不要選擇 “Essentials Experience”作為物理服務器。如果要在Server Essentials服務上虛擬運行任何其他任務或者設置故障轉移群集(failover clustering),還需要一個Hyper-V管理程序服務器。
Server 2016的其他版本目前都可以直接運行Essentials experience ,而不必降級Active Directory授權許可。這意味著基本上能將Server Essentials擴展到滿足需求并且同時能夠保證同樣的即插即用(plug-and-play)集成Azure云端服務以及同樣的基于RDP的遠程管理工具,這一切并不要求全面遠程管理工具或者System Center2016許可文件。
然而,Server 2016平臺的大多數功能并沒有色調優美、用戶友好的“向導”。想要真正見識Server 2016的強大功能,你需要放棄舒適的控制面板,深挖Windows Server基礎架構的命令行工具PowerShell、組策略設置(group policy settings)和其他底層服務,這尤其適用于Windows Server家族的最新成員Nano Server。
Windows Nano Server
Nano Server是Windows Server精簡后最新的進化版本,用于容器化云部署并且不干涉本地部署(hands-offon-premises)服務。本質上,Nano Server并不是一個獨立的產品,完全可以當成一個部署選項。Nano Server類似于Server 2012引入的ServerCore服務器配置,只不過移除了大部分圖形用戶界面(UI),只留下一個控制臺窗口。Nano Server參考Sever Core的經驗,舍棄了一切服務器實例不必要的東西,變得更加輕便。其中舍棄的包括32位應用程序的支持、.MSI安裝程序格式的支持以及所有的UI,只留下一個基本的文本菜單配置控制臺。
Nano Server登錄界面。
Nano Server 恢復控制臺(Recovery Console)十分簡潔,功能就是故障出現時重新連接服務器。
Nano Server 恢復控制臺網絡配置。
通過滾動設置或者全局重設防火墻。
在Powershell 中運行Nano Server。
Nano Serve“瘦身”有兩大好處:其一,使其可攻擊界面比正常服務器減小了數倍;其二,對于特定的服務和應用,減少占用意味著可以采取最低限度的部署,利用相對較小的虛擬化或者物理空間——為實際存儲和計算應用節省磁盤和內存空間。并且,由于Nano Server映像完全是由PowerShell命令行創建的,十分易于自動創建和部署新的服務器。
然而,極簡UI也帶來了一些不便。Nano Server的控制臺窗口只能用來修復網絡和設置防火墻,其他任何操作都需要通過PowerShell或者安裝軟件包和執行XML共享文件指令,所以不要忘記安裝文件服務模塊。
該過程大都可以通過腳本和System Center 2016或者其他工具實現自動化,然而不要期待Nano Sever會有什么友好的“向導”手把手教你怎么做。并且,如果你計劃將Nano Serve載入vSphere或者其他虛擬化技術,這就需要更多的虛擬機和虛擬磁盤轉換的訓練,因為腳本只能產生.VHD和.VHDX虛擬磁盤輸出。評測者稱其試圖將Nano Server磁盤映像轉換為一個vSphere實例的過程并不順利。
Server 2016安全升級
Nano Server增強的安全性只是Server 2016安全性增強的一個開端,還有很多新的方法保護用戶免遭攻擊者竊取證書獲得廣泛訪問服務器基礎架構的權利——現實世界中常常發生這種攻擊。還有一些新的功能稱為Guarded Hosts和Shielded Virtual Machines,阻止擁有服務器訪問權的用戶訪問其上運行的虛擬機。
今年早些時候,微軟發布了一項功能稱為“JustEnough Administration”(JEA),作為Windows Management Framework 5.0的一部分。JEA使用更加精細的訪問控制授予個人權限來運行特定的管理任務。JEA通過PowerShell配置文件授予特定任務權限,而不是必須要授予使用者在Active Directory中更廣泛的管理權。
例如,這能允許DevOps團隊的成員通過特定的Power Shell命令集 "cmdlets"來診斷服務器實例的問題,而不需要授予其服務器完全管理權限。這樣,可以大大減少完全管理權限賬戶的數量,減少許可證書被竊取和惡意利用的概率。
除此之外,JEA還意味著Server 2012 R2 中引入的“Just in Time Admin”功能,該功能允許通過特定任務的工作流程授予用戶基于時間的管理權限。Server 2016也采用了最初由Windows 10 Enterprise 部署的Credential Guard技術。該技術是一項基于虛擬化的安全功能,利用Hyper-V分割其他操作系統的證書管理來幫助保護證書免受竊取。
Server 2016在物理和虛擬機上都得到了強化。Device Guard利用Hyper-V層作為操作系統(OS)和硬件的緩沖層,通過Windows組策略編輯器配置的組策略可以添加內核級別(kernel-level)和用戶級別(user-level)軟件的代碼完整性檢查。管理程序層增強了這種檢查,只允許信任代碼在系統上執行,正確的引導加載程序。Device Guard的代碼完整性策略也能設置為允許通常被“阻塞”的應用程序以“審核模式”(audit mode)運行,并創建一個記錄其詳細活動的事件日志。
HostGuard服務是主機上運行Hyper-V虛擬機的一個服務器角色,提供另一級的保護。本質上,Host Guard就是基于軟件的可信任平臺模組(Trusted PlatformModule,TPM),用于“屏蔽”虛擬機。一旦在受保護的主機上創建“屏蔽”虛擬機賬戶,其位元鎖加密(Bitlocker-encrypted)虛擬磁盤不能被任何具有本服務器訪問權限的用戶加載或讀取。
設置Device Guard代碼完整性策略限制可加載代碼類型——內核級和用戶級。
利用虛擬機管理程序和處理器虛擬接口設置“虛擬化安全性”(Virtualization-Based Security),監控代碼執行和故障問題。
試圖安裝“屏蔽”虛擬機磁盤——失敗。
當然,只有虛擬機(VMs)會要求這類安全強化,因為虛擬機運行在通用操作系統上,并且已經可以用“虛擬存儲網絡”(virtual SAN)功能加密運行在vSphere上的VMs虛擬磁盤。但是,這些功能至少給Server 2016和Hyper-V帶來了虛擬機軟件(VM Ware)的某種安全校驗。
擴展Hyper-V
只要涉及到字符“v”,指的就是有關微軟Windows Server虛擬化技術大大小小的變化——包括傳統的虛擬機以及Server2016新引入的應用程序容器。虛擬化現已成為數據存儲領域的一個趨勢焦點,稱為“超級集成系統存儲”(hyperconverged storage),這種趨勢很可能使得某些存儲區域網絡供應商的銷售人員大大受挫。
Hyper-V最大的賣點在于:相較于VMWare平臺,Hyper-V在小型虛擬機部署中的易用性。然而,這種優勢在過去幾年逐漸降低,因為vSphere能為小型虛擬機部署提供更好更便捷的管理工具。vSphere 6的網絡管理,再加上最新的VMWare遠程控制臺,幾乎與Hyper-V管理器在易用性上旗鼓相當。
VMware同樣使用vSphere / ESXi精簡型——并且不需要Windows Server許可證——來應對Hyper-V。自Server 2012以后,Hyper-V就有可用的免費版本,并且Nano Server部署計劃中Hyper-V具有超精簡配置。所以,無論運行Windows Server文件服務還是計算服務,Windows Server許可證問題似乎都變得無足輕重了。
當Server 2008最早發布Hyper-V平臺時,VMware可以說是“江湖霸主”(其實現在也是,至少根據微軟以外的許可證部署來看),而笨重的Hyper-V是微軟平臺引入虛擬化的第一桿。然而,今日的Hyper-V已經在多個方面追趕上VMware的vSphere,甚至在某些方面超越vSphere。
Windows Server2016 Hyper-V vs. VMware vSphere 6
Hyper-V的一個新功能稱為“直接存儲空間”(Storage Spaces Direct),是一種利用直連式存儲(direct-attached storage)創建虛擬化存儲高可用集群的方法。該功能直指vSphere的虛擬存儲網絡(virtual SAN)功能,更使得Hyper-V在功能上與vShpere相當。這里,直連式指的是將驅動器(SSDs或者磁盤)物理性連接至虛擬機的主機物理服務器。Storage SpacesDirect可以以“擴展文件服務器”(scale-out fileserver)配置運行,指的是通過SMB文件共享將計算虛擬機集群連接至群集存儲服務器。
或者,Storage SpacesDirect可以以“超級集成模式”(hyperconverged mode)運行,指的是虛擬機應用直接運行在提供存儲的服務機上,并且所有的“存儲網絡”由軟件完成,該過程利用了微軟基于原始存儲空間創建的模型。
看起來就像創建一個存儲集群。
按步驟單擊,選擇服務器來創建擴展文件服務器。
如果使用全固態硬盤SSDs,不需要使用Storage Spaces Direct的緩沖功能;但是如果是磁盤和SSD的混合硬盤,可以利用高速緩沖介質響應集群。
利用Storage Spaces Direct從磁盤中創建擴展文件服務器。
對于傳統數據存儲中心,這些功能可能沒什么大不了。但是,對于具有許多通用服務器硬件的云端系統用戶來說,這些功能就是“天降利器”。相對于之前必須將所有的設備連接至昂貴的存儲硬件,現在云端系統用戶可以根據需要卸載很多通用系統的本地磁盤,并在云端提供硬件。例如,數據庫超級集成、其他輸入-輸出密集型應用以及其他應用的SMB簡單集群。所有慣常的RAID冗余問題都能通過多軟件集群系統得以解決。
其實,這是VMware早已實現的功能。然而,Windows Server 2016這項功能的向導驅動簡易性、單一軟件許可以及利用現有Windows系統管理員技能等,相比之下更具吸引力。這使得將一些高可用性要求的應用載入服務器云環境更容易、更低價。
微軟一直聲稱十分樂意接受Linux,至少是作為Azure和Hyper-V的客戶操作系統。
Hyper-V 2016給Linux VMs帶來了一些增強功能,包括支持安全啟動保護,本質上是保護虛擬機免遭引導裝載惡意軟件如隱蔽軟件的感染。而vSphere 6 / ESXi支持Linux客戶操作系統“統一可擴展固件接口”(UEFI)啟動,目前還不支持安全啟動。
另外一個功能是支持嵌套虛擬化,可以在虛擬機自身Hyper-V實例中創建虛擬機,稱為盜夢空間風格”( Inception-style)。目前,這種嵌套只能在支持VT-X的Intel處理器服務器硬件上實現。配置AMD-V處理器的服務器目前還不支持Hyper-V,但是暫時可以在v-Sphere 6中嵌套Hyper-V。并且,Hyper-V管理器應用目前尚不支持啟用嵌套虛擬化——每個虛擬機只能通過PowerShell啟動:Set-VMProcessor -VMName-ExposeVirtualizationExtensions $true
其中,最大的好處是云部署。現在,用戶可以部署Hyper-V作為私人數據中心或者Azure或者其他Windows Server云中的虛擬實例。微軟不斷提升的軟件定義網絡和屏蔽虛擬機功能,使得多用戶云運營商能夠向防火墻保護的客戶提供虛擬Hyper-V主機。該過程給予客戶一些信心,沒有人能夠從云端窺探他們的服務器。
Hyper-V的虛擬機管理也有一定的提升,現已支持虛擬機上熱插拔內存,在VM活動狀態下添加內存分配。并且,現已支持在不卸載虛擬機的狀態下重調虛擬硬盤文件(.vhdx)大小。此外,也加入了主機資源保護,用戶可以在虛擬機上設置最大活動級別來防止失控VM拖累整個服務器。
相比于2012 R2局限于每個虛擬機1TB內存,Hyper-V 2016每個虛擬機支持多達12TB內存。前者支持每個虛擬機64個虛擬處理器,后者擴大了三倍之多,支持240個。總之,目前在一個虛擬機上就可能運行大多數服務器應用。另外,舊版Hyper-V支持硬盤傳遞和專用網絡接口來增強性能,Hyper-V 2016允許管理員直接為虛擬機分配物理PCI Express設備。這使得Hyper-V能夠實現快速訪問——連接RAMSSDs、GPUs和USB-3控制器。
上述所有構成了Hyper-V在某些領域的一些微小優勢,很可能是短期優勢。
容器
Server 2016的里一個技術是利用容器實現應用程序虛擬化。容器允許你的應用從底層的操作系統中隔離,從而改善應用程序的部署和可用性。當然,容器這個概念并不新鮮,Solaris 的“zones”、FreeBSD的“jails”,以及Linux Containers(LXC)都已經流行數年。但是直到“DevOps”開發實踐、連續應用交付和連續應用部署概念等的廣泛接受,容器技術才開始被廣泛采用。
微軟向具有任何Windows Server2016許可證的Docker容器部署工具提供商業支持。Server2016的Docker集成支持兩類容器——一類是簡單實際的應用程序容器,運行在“沙盒”( sandbox)但是共享主機服務器的內核;另一類是基于Nano server配置的Hyper-V小型虛擬機容器,盡管Nano server不算真正的容器,因為它使用其自身的內核實例,但是 Nanoserver在應用部署方面具有容器功能。
并且,Nano server能夠有效阻止容器化應用在自身復制和集群過程中產生整個服務器內核差錯。
需要很多PowerShell命令才能實現以上所有功能。一旦安裝Docker引擎,用戶就能夠在自己應用程序和預封裝應用程序上創建容器映像。這意味著用戶可以在容器中的服務器上運行信息服務器IIS,同時不把其他服務器底層文件系統暴露給IIS或者任何IIS漏洞攻擊。
然而,評測者稱其測試技術預覽版本時,Windows Server容器崩潰了。真正效果如何,還需等待測評者更新。
鷸蚌相爭,漁翁得利
根據現有經驗,對于已經使用Windows Server平臺的企業,Server 2016升級不可避免。不說別的,單就Hyper-V和Server 2016增添的安全功能足以趨勢企業盡快升級。并且,Server 2016的觸角已經伸向更廣泛的領域,尤其是虛擬化空間,不管是對于私人云端還是多用戶云端,Hyper-V都極具吸引力。
一些新的功能,如容器,可能需要更多具有PowerShell專業技能的用戶開發和成熟化,以方便普通用戶使用。
然而,Server 2016最大的好處是其再次將先前昂貴的附加服務集成至操作系統中。隨著Windows Server日漸壯大和優異,行業其它服務商不得不更新換代。
Windows Server 能否顛覆整個行業?
恐怕很難,然而如果其它基礎軟件供應商小瞧微軟的強勢進軍,必將自食其果。反之,如果這些競爭者愿意在易用性和成本上與微軟一較高下,這正合我們廣大用戶之意。