Monday, February 27, 2006

請給Solaris一點掌聲吧(上)

筆者就明言吧!本文的撰寫動機就是來「抱屈」!理由是根據筆者的觀察,2005年最該受到重視的作業系統當是Solaris,而不是Windows、Linux、Mac OS,更不該是還在提案發想階段的Google OS,但很不幸的,今年大眾與媒體的焦點卻都在此,包括Windows Vista的先期性報導、Windows XP for x64的必然性報導、Mac OS X for Intel的推估性報導、例行的Linux關注性報導、甚至是Google可能推出自有瀏覽器、自有作業系統的傳聞性報導,或者是Windows問世20週年的紀念性報導,這些多只是期盼、未定案,或是象徵大於意義的事件,真正更具體、實際的新發展卻視而不見,或一語帶過、輕鬆帶過。

會有此種現象其實也不至於太意外,絕大多數人都只關注PC(Mac也屬於一種PC)及Internet,重視前端不重視後端,在意互動介面的酷炫花俏而輕忽實質表現的堅穩良善,所以對Solaris的冷漠自是可想,畢竟Solaris很長一段時間都只用在商務伺服器與技術工程性的工作站,不過筆者在此必須說,這樣的態勢與態度該是有些轉變的時候,特別是2005年整年的表現確實令人激賞,到底有哪些新特點值得關注?且讓筆者逐一解說。

Solaris四大結構性新演變

暫且忽略細部的軟體功能的強化、修正,光就更大的發展面相看,Solaris就有四個重大變化值得一看:Solaris for x64、Trusted Solaris、Solaris Express OpenSolaris。

‧Solaris for x64

首先是2005年1月31日正式登場的Solaris 10,與之前的Solaris 9相比,新版對x86硬體系統的支援已提升至x64的層次,不再只有IA-32層次,Windows也同樣在2005年才正式支援x64。過去雖早有Solaris for x86(自1992年起),但由於目標只在於降低大眾接觸、體驗Solaris所需的硬體門檻、花費門檻(SPARC電腦普遍比x86電腦貴),所以對x86的硬體支援性並非很注重,但自Solaris 9開始Sun已大力強化對x86硬體的支援性,雖然仍落後於Windows及Linux,但必然多過Mac OS X。

‧Trusted Solaris

過去特別為強化資訊安全防護性而另行獨立發展的Trusted Solaris(有SPARC-32/64版與IA-32版),在CCC(Common Criteria Certified)資安防護層級認證中可達EAL4+的高安全性,即是商業認證機構中的最高層級,EAL5以上需要國家級的實驗機構才能驗證(由高至低為EAL7~EAL1)。

然而從10版開始,特有的Trusted Solaris也正式與原有的Solaris合併,不再各自並行、獨立發展,日後有更高資安防護需求的用戶,只要額外加裝Trusted Solaris Extension的延伸程式即可,合併後其實有80%~85%的核心程式為共用,為提升防護層級而加搭的部分僅佔整體的20%~15%。

‧Solaris Express

Solaris未來不再以每隔二、三年才有重大新版的方式來發佈,版本數不會再增加(將維持在Solaris 10),並且改採定時更新、補強的方式來持續強化提升,往後此一定期性更新稱為Solaris Express。如此像是個永續性的軟體強化服務,符合「軟體即服務」的先進概念及趨勢。雖然Sun很早即有軟體定期更新的類似想法(2003年推行JES、JDS時),但此想法正式運用在Solaris上卻是從2005年底開始。

‧OpenSolaris

2005年6月開始有開放原碼版(之前已有部分釋出)的Solaris,即OpenSolaris,過去多年來Solaris早就對Sun密切往來的技術合作夥伴提供原碼,如今則是全面擁向網路大眾,甚至功能進度上會領先正式商用版的Solaris,即是有任何前瞻、先進功能會先加入到OpenSolaris上試行試煉,且有搶先體驗、嘗鮮的意味,待調修到堅穩成熟後才納入Solaris中,未來商業版的Solaris與開放版的OpenSolaris都將持續並進。

值得注意的是,Sun早在2004年底就宣佈:Solaris 10在4顆CPU內可免費使用,相對的一套Windows Server 2003標準版少說也要三、四萬新台幣,還不含5人以上的用戶端存取連線授權。即便是Red Hat Enterprise Linux(RHEL) ES也要799美元(名目上是一年的支援維護費),且與Windows一樣都不開放原始程式碼,Red Hat已明示:要開放原碼請找Fodera。(註)

上述四點是Solaris在發展主軸上的重大變化,接著我們要瞭解更多具體特點,筆者認為可以從三方面來談:


  • 作為UNIX伺服器OS的強化。

  • 作為UNIX桌上型OS的強化(桌上型泛指工作站、個人電腦,甚至包含筆記型電腦,三者的分界日益模糊)。

  • 作為開放原碼OS的強化。



(請見下頁)

註:其實早在2001年Sun即讓Solaris 8在8顆CPU以下可免費授權使用。

筆者個人認為,2005年初的Solaris 10,其實在許多伺服器層級的新特點設計上,至少在靈感上,是來自IBM數年前所發表的技術,例如IBM於2001年發表5L版的AIX作業系統,可以輕易地將Linux應用程式進行轉移執行,或者是1999年OS/400 V4R4的邏輯性分割(Logical Partitioning,LPAR)功能,或是電子蜥蜴(eLiza)專案中的自我修復機制等,或2004年的Virtualization Engine等。

照如此描述,筆者言下之意是Sun落後IBM數年技術層次嘍?這只說對了一半,一半是Solaris 10未發表前的數年時間確實有此一意味,另一半是如今Solaris 10出現後並不表示只是追平IBM的技術水準,而是要更加超越。

一、UNIX Server OS:作為UNIX伺服器OS角色上的強化

‧DTrace(Solaris Dynamic Tracing)、Predictive Self Healing

第一是Solaris 10有DTrace及Predictive Self Healing,可以追蹤修復、預測防護各種系統運作上的不穩、壞損等問題(類似IBM eLiza專案成果中的自我修復、自我防禦機制),此種運作堅穩性強化的表現不易量化比較。不過Sun多是以Solaris的純軟體方式來實現,Sun的硬體設計並無給予太多奧援,且還能適用於IA-32/x64硬體,相對的IBM有部分是倚賴硬體技術達成,且只在POWER系統上運用。

‧Solaris Containers

Solaris Container(原技術研發代號:Zone)與Sun本有的N1 Grid Containers有密切關連,可說是相同理念、機制的移植,但也類似軟體式系統分割或IBM的LPAR、Virtualization Engine技術,過去Sun一直倚賴硬體式系統分割(Sun稱為Domain技術),層次與細膩度上落後於IBM LPAR及HP vPar。

不過Solaris 10似乎扳回一城,Solaris Container允許在一個作業系統中進行8,192個系統切割,大於IBM於Virtualization Engine在一個CPU上的256個切割(務實運用上的合理上限為10個切割),也超越HP於2005年底所發表的vmPar(在一顆IA-64 CPU上分割10個)。

‧ZFS(Zettabyte File System)

這一點就是IBM、HP無法比擬的,ZFS是128-bit的檔案系統,也稱為Dynamic File System,目標是將UNIX領域使用達20年之久的UFS(UNIX File System)檔案系統進行升級,不過Solaris 10上依然同時支援此兩種檔案系統,以供用戶方便選用。

較能與ZFS在規格技術上比擬的當是SGI的XFS,不過Sun方面認為ZFS也遠勝XFS。因此筆者認為這就更不用談Microsoft現有的FAT32、NTFS,或Windows Vista搖擺是否要在首版就加入的WinFS。

雖然ZFS沒有趕上2005年初的發表,但如今也已先行加入到OpenSolaris中,不久後便可正式納入後續提升的Solaris中,即以Solaris Express方式來追加。

‧Linux Application Environment(Solaris Containers for Linux)

1999年IBM宣佈擁抱Linux,除了成為IBM日後各套作業系統的持續一致統合方向外,主要還是為其自有硬體系統加值,畢竟IBM S/390、AS/400等封閉系統的可用軟體偏少,支援Linux應用程式的執行環境,可以讓Linux應用程式輕易的轉移執行。

Solaris 10也採行與AIX 5L相同的概念,即內建Linux應用程式的執行環境(技術研發代號:Janus),不過似乎又再精進一些,Linux應用程式若想轉移至AIX上執行,依然需要進行重新編譯(Recompile),這對Apache、Sendmail等開放原碼軟體來說並無大礙,但部分情況下還需要對原始程式進行調修才能完成轉移,這就帶來些許的麻煩,此外不開放原始程式碼的商業軟體就必然要原程式開放商願重新編譯才可能轉移。

不過Solaris 10採行相容於LSB(Linux Standard Base)標準及Red Hat Linux(以RHEL3, Update 1為依據,2004年第一季發佈),原有UnitedLinux、Red Hat Linux的應用程式可直接挪至Solaris 10上執行,不需要重新編譯或任何調修。

這項功能目前可說是已完成,但仍需要精益求精,因為現有Solaris 10是以Primary Program Environment來執行Linux應用程式,一旦應用程式不穩或有瑕疵,有可能會對Solaris造成影響或衝擊,且有用戶反應:希望用更安全隔離的方式來執行Linux應用程式,即是在Solaris Container中執行,此方面Sun仍在努力,預計會緊接在ZFS之後完成,新版於2006年初釋出,正式發佈約在2006年中。

0 Comments:

Post a Comment

<< Home