使用Windows Server “8 (2012)” Server Core建構優化的私有雲

3 8月

Jeffrey Snover, Windows Server

我想說Windows Server “8 (2012)”是一次革命性的發佈。我們不再將Windows Server 8 (2012) 當成是一台單獨的伺服器上作業系統,而是將它看成能夠適合單獨的伺服器或是由很多伺服器所組成雲端環境的一個作業系統。我們一直很關心顧客的投資和營運成本 (Capex/Opex), 但是當我們考慮到客戶需要部署數萬台(或者數十萬台)的伺服器時,一切都變得不同了。對於這些客戶來說效率、營運靈活度、自動化功能…等,“最好能具備的功能”就變得非常重要。大家都知道這些,但是當微軟自行營運自己的雲端服務時,其相關的推廣經驗使我們更加深刻的體會到這些問題點。這就像是在打拳擊時當你雙手舉高是由於你的教練告訴你這麼做,和由於你被對手痛擊到臉部時是截然不同的。只有經驗能推動真正且持續的改變。

我們為雲端運算所做出的一切對於每位使用者都將受益,包括那些只有單獨伺服器的客戶。以自動化管理為基礎,我們開發出各式很棒的工具。即使您選擇不使用我們所提供的自動化功能,您仍然可以從各種工具當中獲益。當然,所有客戶們都會享受到軟體和系統更新所帶來的好處。

Server Core是我們雲端作業系統工作的核心。我們從Windows Server 2008 開始就專注於Server Core的發展,但是當時它還不是一個非常引人注意的功能。但是現在我們認為Windows Server “8 (2012)”已經跨越了這條臨界線,我們推薦它作為首選的組態設定。我們告訴獨立軟體發展供應商的合作夥伴:你們需要支援Server Core並且遷移到一個遠端圖形化使用者介面的模式上。我們仍然會繼續提供“擁有圖形化使用者介面的伺服器”作為一個相容性的選項。同時對於那些希望受益於Server Core,但是需要更多時間完成遷移的管理員和應用程式,我們增加了“最精簡伺服器介面”作為一個安裝選項。本部落格文章將闡述我們在Server Core工作背後的一些技術背景和細節。

David Cross, Director (GM-Level) of Program Management – Windows Server,本部落格文章的作者。

–Cheers! Jeffrey

使用Windows Server “8 (2012)” Server Core 建構優化的私有雲

私有雲是以最小的投資和營運成本來達成 可擴充、動態的 為多元化感知應用服務提供了保障。當部署在一個運作於優化後的伺服器作業系統的平台上時,私有雲才能發揮它全部的潛能。一個為雲端環境而優化的伺服器作業系統應提供以下功能特色:

  • 多元並且可擴充的遠端系統管理
  • 持續自動化及腳本支援
  • 靈活的設定和配置
  • 低成本的儲存和高可用性
  • 高效率和電源管理
  • 最少的軟體更新和最少的被攻擊區域
  • 開放的web和應用開發模型
  • 優化的體積和儲存空間佔用

這些就是我們在Windows Server “8 (2012)” 中所致力提升的功能,這也就是為什麼Windows Server “8 (2012)”是最好的為雲端優化作業系統的眾多原因當中的幾項關鍵。在計畫這次發佈的過程中,我們花費了超過1,000萬美元和整整一年的時間來和社群以及雲端解決方案開發者溝通。透過這些對話以及討論,我們聽到了明確的訊息及需求: 部署靈活性和優化對於您的企業來說非常重要。現在讓我們談一談我們做了什麼以回應這個意見反應。

正如我們在 前一篇部落格文章 中所強調和分享的那樣,我們推薦用Server Core來組態及部署Windows Server “8 (2012)”。採用 Server Core安裝方式將會有效減少Windows伺服器對於磁碟空間和記憶體的需求,使管理人員能夠增加他們部署 VM 虛擬主機的密度,並且最大程度增加部署架構的可擴充性。我們不僅節省了相當大的儲存空間,同時還使伺服器被攻擊區域的面積縮小,進而提高整體安全性和可靠性。另外除了減少Windows伺服器的整體佔用空間之外,也同時限制了某台伺服器上需要安裝安全性更新的元件數量。最少數量的系統安全性更新減少之後,伺服器重新啟動的頻率也減少因此也提升了伺服器的連續可用性。

現在就來看一看我們在Windows Server “8 (2012)” beta版中有哪些進步。從下列表格中您可以看到我們如何致力於私有雲中提供部署應用和服務所需的能力、可管理性、靈活性。

功能

Windows Server 2008

Windows Server 2008 R2

Windows Server “8 (2012)”

角色和產品支援

9 種角色

10 種角色

13種角色 (支援 SQL Server 2012)

可管理性

僅命令列工具

PowerShell + 230個 cmdlet

PowerShell + 多達 2,430 個cmdlet 支援對伺服器進行管理作業

靈活性

擇一安裝模式: 以Server Core 模式或完整模式進行安裝

擇一安裝模式: 以Server Core 模式或完整模式進行安裝

可以透過增加、刪除角色在圖形化使用者介面的伺服器、最精簡伺服器介面以及Server Core之間切換;並且具備 On Daemon 安裝功能的能力

讓我們來深入看看在這個發佈版本中所採用的辦法,首先,請容我簡短的介紹一下Server Core的演進歷史,以使讓那些不瞭解這種部署模式的人能獲得一些技術背景資訊。多年以來,大多數Windows作業系統是以單一元件Windows Foundation 的形式提供給使用者。Windows Foundation包含Windows Explorer (舊稱為 Windows 檔案總管,從 Windows 8 開始改稱為 文件資源管理器)、.NET Framework、Desktop Shell、驅動程式、多媒體支援、Internet Explorer…等。可選擇的功能和伺服器角色是獨立的元件,他們可以被安裝於Windows Foundation之上。

在Windows Server 2008中,我們引入了Server Core 安裝模式。其目標就是允許身為使用者的您可以僅僅安裝及應用所需要的Windows元件即可。Server Core是一個單獨的安裝選項,可選擇的功能和伺服器角色是獨立的元件可以安裝於Server Core之上。這種安裝模式能最大化您的伺服器可用資源,同時提升這台伺服器的安全性和可維護性。由於減少了軟體更新的需求,因此 Server Core將能有效減少系統重新啟動的頻率。但是這種減少僅限於數量有限的伺服器角色和作業類型。在 Windows Server 2008 中,我們獲得的使用者意見反應顯示Server Core的應用由於以下原因受到限制:

1. 客戶們需要的角色和產品(特別是SQL Server)並沒有出現在Server Core安裝選項當中。在一共17種伺服器角色當中,只有9種角色可以運作於Server Core內。

2. 缺乏PowerShell和伺服器管理員使得Server Core難於管理。

3. 沒有辦法在Server Core和完整安裝模式伺服器之間進行切換。如果您安裝了Server Core並且希望它變成完整安裝模式伺服器,那麼您需要重新安裝作業系統。

clip_image001

圖1. Windows Server 2008 架構元件

新一代的Server Core

雖然第一代 Server Core的發佈並沒有獲得廣泛的使用,但是對於那些已經使用它的使用者來說仍然是一個極大的成功。在Windows Server 2008 R2中,我們擴充了 Server Core 對於幾種新的伺服器角色的支援,並且增加了.NET Framework和 PowerShell 管理功能至其中。這使得可以使用Server Core的使用者變得更多,並且使它們對於那些正在使用它的客戶來說變得更加方便。然而 Server Core 仍然是一個獨立的Windows安裝選項: 一旦安裝了它,您就無法切換到完整安裝模式。針對客戶的意見反應,以及他們期望將Server Core應用於私有雲部署的熱切渴望,我們在Windows Server “8 (2012)”中加大了對Server Core 功能的投資,以進一步提高部署的靈活性並且使Server Core支援更多的伺服器角色:

  • Active Directory憑證服務
  • Active Directory網域服務
  • Active Directory輕量型目錄服務(AD LDS)
  • Active Directory授權管理伺服器
  • DHCP伺服器
  • DNS 伺服器
  • Hyper-V
  • 檔案共用服務(包括 檔案伺服器資源管理員)
  • 列印和文件服務
  • 遠端桌面服務角色
    • 遠端桌面連接代理
    • 遠程桌面授權
    • 遠端桌面虛擬主機
  • 路由和遠端存取伺服器
  • 串流媒體服務(可單獨下載)
  • Web伺服器(包括 ASP.NET 子集)
  • Windows Server更新伺服器

不僅如此,很多伺服器應用程式例如SQL Server 2012 也將在Windows Server “8 (2012)”中支援安裝於 Server Core。

從架構的角度來看,我們將Server Core簡化成一個所有Windows伺服器版本的最小共用基礎,並且將Windows Foundation重新建構成許多可以獨立安裝、卸載的元件。舉例來說,現在你可以僅僅執行一條指令,便能將一台運作於 Server Core 模式的伺服器轉換成一台具備完整Windows桌面圖形化的使用者介面伺服器。不光是如此,要做相反的轉換同樣簡單。以上的操作介面轉換僅僅需要幾分鐘時間即可完成,並且最多要求重新啟動系統一次。

clip_image002

圖2. Windows Server “8 (2012)”構成元件

如果您安裝了 Windows Server “8 (2012)” Beta版,你可以親自嘗試這些新功能。例如您要將安裝圖形化使用者介面的Windows Server “8 (2012)” 伺服器轉換為Server Core 操作介面的話,請開啟PowerShell並且執行下列指令:

Uninstall-WindowsFeature Server-Gui-Mgmt-Infra -Restart

同時要求重新安裝圖形化使用者介面元件,請執行如下指令:

Install-WindowsFeature Server-Gui-Shell -Restart

Windows Server “8 (2012)” 的目標之一就是將Server Core的維護動作盡可能精簡,進而達到“剛好夠用的程度”來安裝Windows 以達到使用者對於伺服器所期望的功能。關於我們如何做到這一點,請接著閱讀以下的 On Daemon 安裝功能並降低磁碟空間

最精簡伺服器介面

過去的二個版本,服務提供者和IT專業人員對於作業系統的管理與設定有著共同的需求。事實上,很多管理人員喜歡Server Code部署模式的靈活性和效能。然而有些管理人員既想要獲得圖形化工具的靈活性,又想要避免因為圖形介面和桌面所帶來的資源耗用。

Windows Server中最大的元件(從儲存需求方面來說)是由圖形化使用者介面(GUI)所組合而成。從軟體更新的歷史資料來看,GUI元件通常會比非GUI元件安全性更新動作更加頻繁。Windows的GUI元件當中,二個最大的元件是Windows Explorer和Internet Explorer,但是它們在Windows  Server當中卻很少被使用到。因此,我們將Windows Explorer和Internet Explorer移到另一個選擇安裝當中。您也可以透過伺服器管理員介面、PowerShell或命令提示字元來啟用或停用它們。

在Windows Server “8 (2012)”當中,我們引入了一個新的安裝模式體驗稱為 最精簡伺服器介面。它可以使用大多數本地端 GUI管理任務,而且不需要安裝完整的GUI Shell或Internet Explorer。最精簡伺服器介面包含的二進位檔案提供了相當好的本地端管理能力。若要組態Windows Server “8 (2012)”主機的最精簡伺服器介面,請確認您已經 啟用Graphical Management Tools and Infrastructure 項目,並且 停用Desktop Experience and Server Graphical Shell 項目。

clip_image003

圖3. 最精簡伺服器介面功能選擇

最精簡伺服器介面 實際上是一個GUI 伺服器的安裝模式,但是其中並不包括Internet Explorer、Windows Shell元件 (例如 桌面、Windows Explorer、Metro風格的應用程式支援及桌面體驗。 MMC和新的伺服器管理員也有被包含在 最精簡伺服器介面 當中。您可以利用它來管理本地端和遠端Windows伺服器,以及作為Windows伺服器管理工具。因為 最精簡伺服器介面 安裝模式並未包括Windows Explorer或伺服器圖形介面,因此並非所有的GUI 管理功能都能使用。簡單來說就是必須透過圖形介面擴充功能的控制台小程式將無法使用。包括如下項目:

• 程式和功能
• 網路共用中心
• 設備和印表機中心(裝置管理員是可以使用的)
• 桌面顯示設定(但是可以透過名為 SetRes 的工具來改變顯示器解析度)
• 防火牆控制台(但是進階防火牆 MMC 管理單元是可用的)
• Windows更新
• 字型
• 儲存空間

您可以使用遠端伺服器管理工具(RSAT)的可選擇功能,大多數MMC嵌入式管理單元也可以安裝並且不依賴於它們所相對應的角色。在某些情況下 MMC 嵌入式管理單元的某些功能可能會受到限制。例如 Help 説明可能無法使用,或是管理單元的詳細資訊面板受到限制,因為沒有安裝 Internet Explorer 來顯示 HTML 頁面。

最精簡伺服器介面,雖然不像包含完整圖形介面伺服器安裝模式那樣佔用資源,但是與 Server Core相比之下仍然多佔用大約4 GB的磁碟空間。因此,我們希望能確保最精簡伺服器介面在不需要時可以被刪除。Graphical Management Tools and Infrastructure功能元件可以被卸載,以使伺服器轉換為Server Core。除此之外,使用遠端伺服器管理工具(RSAT),以及伺服器的MMC 嵌入式管理單元可以很容易的安裝到Windows 8 用戶端版本上,以進行遠端系統管理Windows伺服器。還有我們內建了多達 2,430 個 Powershell Cmdlet 用來進行本地端和遠端的系統管理之用。

On Daemon 安裝功能並降低磁碟空間

在預設情況下,可以將所有Windows元件的檔案儲存在一個目錄下,稱為side-by-side 元件儲存或WinSxS。這個目錄結構是經過精心設計的可以提供許多好處。例如安裝媒體從來都不需要打開或關閉任何Windows功能。此外,Windows更新可以以任何順序進行調整,若管理人員有需要也可以完全跳過任何更新。您若想要啟用此功能,需要將每一個Windows可安裝元件存放在WinSxS資料夾中,因此便產生對磁碟空間的需求。但是隨著越來越多的 VM 虛擬主機的運作,對於相對昂貴的高效能磁碟、SAN和SSD的儲存空間爭奪,我們看到管理人員期待能減少Windows Server 8 (2012) 磁碟空間佔用的需求。同時我們也希望保持高標準的安全性更新和部署作業上的靈活性,因為管理人員已經習慣此運作模式。

在Windows Server “8 (2012)”中我們為管理人員增加一個功能,就是您可以從安裝程序中完全移除不需要的角色和功能。在Windows以前的版本當中,一個功能不是被「啟用」就是被「停用」。在Windows Server “8 (2012)”當中,新增一個狀態稱之為「已停用且移除相關承載 (disabled with payload removed)」。Powershell Cmdlet中的Uninstall-WindowsFeature指令中 “-Remove” 參數會將某個功能轉換為此狀態並且從WinSxS資料夾中移除檔案。例如 您可以使用下列 PowerShell 指令,從磁碟中完全移除Windows Explorer、Internet Explorer和其他相關元件(以及所有與它們相關聯的檔案)。

Uninstall-WindowsFeature Server-Gui-Shell -Remove

當一個功能被停用並且被移除相關檔案時,相關檔案在事實上已經從side-by-side儲存中刪除,並且完全從磁碟中被移除。因此如果不為 Install-WindowsFeature cmdlet 指令的“-source”參數指定安裝來源的話,就無法重新安裝被刪除的功能。預設情況下,如果網際網路連線可用(如果需要的話,這種行為可以被停用),Windows 會從Windows Update下載缺少的元件。如果沒有網際網路連線,也可以透過載入DVD中 Windows映象檔(install.wim)來獲得安裝來源。當然您也可以透過 GPO 群組原則指定預設安裝來源清單。

Features On Demand功能已經在Windows Server “8 (2012)” Beta 版本中可用。例如 .NET Framework 3.5版本並未包含在您下載的映象檔當中。未安裝 .Net Framework 3.5使ISO 映像檔大小約減少了 300 MB 左右。類似的情況 “含有GUI的伺服器元件”例如 GUI管理工具和一些伺服器角色,也已經從預設的Server Core安裝套件包中移除。

關於 On Demand 安裝功能和如何使用Windows Power Shell為 Server Core安裝,並且轉換成 GUI圖形介面的伺服器安裝模式,請閱讀TechNet上的文章Windows Server Installation Options

減少重新啟動及安全性更新

正如我們在 前一篇部落格文章 中所分享的那樣,我們已經實作出許多機制以儘量減少安裝安全性更新而導致系統重新啟動的狀況。相對來說,Windows Update也經過重新設計使未安裝的角色及功能不需安裝安全性更新。根據歷史統計資料來看,透過停用那些經常需要安裝安全性更新而又不常被使用的選項功能,將如同大多數伺服器 GUI 元件一樣使用Server Core 之後,將有可能減少40 ~ 60%的安全性更新數量。

image

上列圖表中顯示一台Windows Server Core自從產品發佈以來,進行部署之後有多少個月沒有重新啟動過。適用的安全性更新是由Windows Update提供並且建議的安全性更新。提供這些安全性更新僅僅是因為受安全性更新影響的檔案安裝在系統上。必要安全性更新是適用安全性更新的子集,由安全公告(如MS08-052)標注並解釋對於某些特定的情況中哪些適用安全性更新事實上是需要被安裝的。

例如 就MS08-052而言,一個GDI+ 的安全性更新將修復該漏洞。那個漏洞可能會導致惡意的遠端程式碼得以執行。然而,這個漏洞只在某些情況下可被利用,也就是當某些程式(並非Windows Server 本身)被安裝後。如果管理人員判定修補程式實際上無法被用上,就可以安全的退出這個特定的安全性更新,進而節省重新啟動的頻率。僅僅安裝必要的安全性更新即可,因此系統重新啟動的頻率可以進一步被降低。

選擇只安裝關鍵性更新是有可能將重新啟動頻率更進一步減少。從Windows Server 2008 (2012) RTM以來,有見過Server Core曾經 26個月沒有重新啟動過,也就是說與大約每2個月重新啟動一次的 GUI伺服器相比之下減少了67% 重新啟動的機會。

總結

我們所開發的Windows Server“8 (2012)” ,將為資料中心和雲端環境提供最大的靈活性和資源優化。 此外 Server Core的部署模式提供了更多的正常運作時間,減少了維護時間並且優化磁碟空間和系統運作時記憶體的使用需求,同時更提供了比以往任何時候更快、更高效率的部署作業。 為下一代的解決方案和應用提供最佳的解決方案,我們鼓勵 IT 專業人員和客戶們在資料中心或私有雲環境中部署使用Server Core和 最精簡伺服器介面

留下评论