是時候向微軟學習:Linux 系統一分為二效益最高
過去幾十年,微軟一直針對桌面與伺服器兩類 Workload(家用及作為伺服器用途) 發佈完全獨立的操作系統方案。兩者共享一部分代碼內容,但用戶絕不可能單純通過安裝一部分軟件就能有另一部分軟件的功能,或者直接將 Windows 7 系統轉化為 Windows Server 2008 R2 系統。桌面與伺服器本身就完全不同,整個業界也一直秉承著與微軟相同的管理方式。
當然,這種狀況並未能阻止一部分開發人員抱着嘗試與懷疑的態度,例如常見的將伺服器Workload 交由 Windows XP 系統加以處理,但從宏觀觀角度來看、桌面系統與伺服器系統之間的差異是顯著而且真實存在的。然而在 Linux 範疇中,這種界線則一直非常模糊。
Linux 操作系統「一分為二」
大家可以選擇任何一套 Linux 發行版並在安裝後作為伺服器操作系統,也能夠隨時根據需要安裝並刪除部分軟件再將它轉化為切合實際需要的桌面版本。整體而言,操作系統核心依然不變、而可靠性與性能表現也幾乎沒有分別;當然,前提是大家能夠以正確的方式對系統進行調整。雖然看起來沒有什麼問題,但這兩類 Workload 實在有明顯分別,而且隨著運算能力的不斷提升、兩類 Workload 的具體狀況也在朝著不同方向進一步偏離。
也許是時候將 Linux 拆分為二了
我們看到很多類似於合體般的操作系統費盡心思在充當伺服器系統的同時,又得準備好讓那些用戶當作桌面系統使用。此情況出現得越多,我們就越希望能把這兩類使用方式分隔開。大家可以在自己的手提電腦或者 x86 伺服器上運行同一套 Debian Jessie 系統;然而這樣做是無必要的,集中顧好一方面不是更有意義嗎?
如果大家利用 systemd 將所有 Linux 系統發行版統一起來,那麼它們彼此之間的分別將變得非常細微,僅存的差異可能只有軟件管理以及文件系統等方面。姑且不談以 Linux 取代 Windows 桌面系統是否適合,但如果能讓一部分 Linux 發行版專注於解決桌面類型的應用、再讓另一部分重點專註於伺服器平台,這結果可能會更好。當然,Ubuntu 及其它少數發行版已經開始提供「伺服器」、「桌面系統」兩類版本,或者在安裝時會有更多方案供用戶選擇,但事實上兩者之間的唯一分別就是安裝軟件上有所不同。在目前的大多數發行版當中,兩類方案的核心甚至完全一樣。沒錯,兩者被硬性合而為一。
隨著人氣游戲 Steam 發佈了 Linux 版本,我們開始感受到一部分人更努力地將桌面 Linux 系統獨立出來。至少他們開始嘗試對 Linux 的桌面特性以前所未有的方式進行改變,並且在一定程度上取得成功。
然而他們同時也要求這些以桌面系統為核心的 Workload 擁有更為出色的性能表現、特別在圖像處理方面,他們希望每款獨立應用程式能縮減對磁盤及網絡 I/O 的要求,而這種處理概念與在伺服器上追求高 I/O 與多線程處理效果完全不同。如果想讓 Linux 在桌面範疇有所突破,那麼此類需求必須得到滿足、而且核心也需要與伺服器系統版本劃分出更為明確的界線。
要實現以上提及的全部目標,新系統版本需要在硬件支援、外部設備支援、電源管理以及其它各個桌面系統重點當中有所建樹,而這又會使桌面與伺服器兩類發行版走向更為反方向的發展。此外,我敢打賭,運行在虛擬機環境下的 Linux 伺服器系統數量與充當桌面系統並安裝於 PC 之中的系統數量相比,前者規模可達後者的數十倍至上百倍。在對發行版進行開發與調整時,這也應該被視為一種完全不同的想法。
話又說回來,Linux 真的有能力實行嗎?答案是肯定的。那我們又能否讓每一套 Linux 發行版都擁有開箱即用的能力?可能,非常有可能。目前以 Mint 為代表的、專注於桌面方向的發行版已經出現,而以 Gentoo Debian (特指某一部分 Debian 版本,至少是在 systemd 出現之前)為代表的部分發行版也開始將重點轉移到伺服器方向。雖然它們還沒有完全分隔出伺服器與桌面版本,但至少已經在兩類關鍵性 Workload 類型中作出了自己的選擇。沒錯,我們很難將 RHEL 7 視為一套真正以伺服器為核心的發行版,因為當中仍然有 systemd 以及桌面環境軟件,但至少能夠肯定的是它並不屬於真正的桌面系統。從許多方面來看,RHEL 7 走的仍是一條中間道路。
不過我認為在 Linux 發行版的開發圖像介面當中,我們真的不應該把時間浪費在偏向伺服器的功能之上,也沒必要把多不勝數的外部設備及顯卡驅動程序納入考慮範圍(舉例來說,RHEL 6.3 就提供 57 款 xorg 開源 DirectX 驅動程序…. WTF?!)。
安全問題同樣值得關注。在桌面系統與伺服器系統當中,對於安全問題的考慮方式及權限配置仍存在差別。事實上,不同類型的伺服器之間對於安全的要求也有所分別,具體情況取決於每台伺服器的類型。不過我們幾乎可以肯定地說,對於 Memcached 伺服器而言、針對點擊惡意網站從而實施防護絕對不可能在安全威脅列表中佔據一席位置。
相信大家與我一樣、都已經意識到用戶對於桌面版 Linux 的要求,其中包括引入更多外部硬件支援、改進圖像處理能力、縮短啟動時間以及降低維護與管理的難度等等;如果日後出現一套能媲美 Windows 的 Linux,那麼我們亦沒有理由對 Linux 桌面版存在偏見及抗拒。