Innovating@Sun コミュニティ ご購入について (0120-33-9096) マイ・アカウント 日本 [Change] 日本語

Feed Feed RSS 1.0 Feed RSS 2.0 Feed ATOM 1.0
東京大学 オープンソースOS公開講座 ~OpenSolarisのインストールから活用まで~
  前号へ     次号へ  

セッションは、午前のSolarisに関する4コマのセミナーと、午後の、セミナー参加者が持ちよったPCに最新版のSolaris 10 1/06を入れる"インストール・フェスタ"の2部構成で開催された。

会場となった東京大学 情報基盤センターは文京区の閑静な住宅街に中にあり、1階には世界でもっとも使われたパンチカードリーダーが展示してあるなど、ここに日本有数の計算機が置いてあったとは思えない所である。

まず、午前のセッションに先立ち、情報基盤センター・情報メディア教育研究部門教授の山口和紀先生の挨拶があった。山口先生はSolarisのコンテナを使って計算機環境を提供することを考えており、実際にSolarisに触れてみようということで今回、このような講座を開設するはこびとなったとのことである。


UNIXに全くふれたこともない初心者も参加しているということで、UNIXの特徴や、UNIXの歴史から初まった。

1979年から始まったUNIXの歴史のトピックスの中で、サンに関連する話題として、1983年のSun OSのリリース前にSun 1に関するコードが入っていたということや、1988年のサンとAT&Tによる、Sun OSとSystem V R3を統一したOSに関しては、XENIXというMicrosoft版のUNIXが絡んでいたため、OpenSolarisのソースコードにも(C)Microsoftという文字列が書かれている、といった"裏話"も登場した。

初期のUNIXには、GUIがついていなかったのに対して、Sun OSには、Sun Windows、Sun View、OpenWindowsといったGUIが付いていたこと、最近のUNIXには、GUIとしてX Windowがついているとのことである。

Solarisという名前で最初にリリースした2.0では最初からマルチスレッドやマルチプロセッサをサポートしていが、20CPUくらいまで使えるようにしていたために、パフォーマンスが悪くてとても遅かったが、ハードウェアでサポート可能なCPUの数が増えていくにしたがって信頼性を上げていったようだ。

この他、

  • SPARC以外にもx86やPowerPCといったハードウェアもサポートしていた。
  • Itaniumについても開発していたが出荷前に中止してしまった。
  • 遅いと文句を言われながらもユーザから叩かれてまともになっていった。
  • バグも最初のうちは簡単に直せるが、そのうちものすごい壁ができて、簡単には直せなくなり結局何幾度と無く書き直した。

などと言った、サンのOS開発側の立場ならではの興味深い苦労話やエピソードを聞くことができた。

サンでは、互換性を重視してバージョンアップを行っているので、APIを無くす場合には、実際には3世代から4世代まで先延して、どうしても無くせないAPIなら別のAPIを作ってそちらを使うようにするなどしている。最新のSolaris 10でも、Solaris 2.0はもちろん、もっと古いSolaris 1.0のアプリケーションでも動かせるということで他のOSの互換性に悩んでいる人にとっては朗報だろう。

SolarisやUNIXは成熟したと言われていても実際Solarisでは、今の時代に合うように様々な改良や機能追加がなされているということで、この後に解説するZoneやDTraceの他にも、

  • 信頼性、対障害性を上げるためのFMA/SMA
  • TCP/IPの性能向上のためのFireEngine
  • Trusted Solarisで使われていたLeast Privilegesによるセキュリティの向上
  • x64(AMDのCPUなど64bit x86拡張)のサポート
  • ZFSという新しいファイルシステム

といったSolaris 10から入ってきた新機能についての紹介があった。最後のZFSについては、次にリリースされるSolaris 10 6/06から入ってくる機能である。サンのソフトウエア開発担当部門の大曽根明は、「ZFSによって、Solarisが使っていた既存のufsというファイルシステムの制限を一気に解消することが可能になります。」と力説した。

最後にSolarisのリリース・スケジュールについて紹介された。サンでは、最低限2世代は常に出荷しており、過去3世代についてはサポート対象、新規開発版の1世代という合計6世代分はサポートしており、すなわち、1つのOSが出荷されてからサポートが終了になるまで6年以上の長い期間に渡っている、との事であった。

OpenSolarisとLinuxやBSDといった他のオープンソースのOSとの明確な違いは、Solarisを含めOpenSolarisではバイナリの互換性を確保しているのに対して、オープンソースのOSでは、最悪コンパイルし直せば良いという割切りのもと、ソースコードの互換性のみ確保している点にあるとのことであった。

しかし、現実にはオープンソース版のOSでも再コンパイルが大変なので過去のバイナリを直接使うとか、商用アプリケーションに至ってはソースでの配布というわけにはいかないので、バイナリの互換性が重視されている。

サンの製品については、オープンソースよりも"オープン・スタンダード"を重視し、バイナリの互換性を最優先して作らており、それがオープンソースのOSに比べて、Solarisのアドバンテージとのことであった。実際、古いアプリケーションを何の疑いもなく動かせるようにするためにオブジェクトサイズが他のOSに比べて数倍大きいのはなぜだ?と批判されていた時代もあったが、pvs(1)やld(1)の-Mオプションを知ると互換性を確保するために苦労していることが伺われる。

OpenSolarisは1年ほど前の2005年6月14日に公開され、最初はNevadaというSolarisの次期バージョンからOSとNetworkの部分について、SPARCとx86の両方に対応したソースコードが提供された。一部サンが権利を所有していないために、オープンソースにできない部分についはバイナリのみの公開になり、日本語フォントなど再配布不可のものは含まれていないとのことであった。

このため、OpenSolarisで日本語を使えるようにするには、Solaris Express Community Release版を入手して、そこに、OpenSolarisを入れる(bfuする)と良いそうである。

Solarisには現行製品版のSolaris 10の他に、次期バージョンのNevadaをベースにしたものが3種類ある。

  • Solaris Express:1ヶ月に1回の割合でリリースされ、有償のサポートが受けられるため商用での利用が可能なもの
  • Solaris Express Community Release:2週間に1回リリースされサポートがないもの
  • OpenSolaris:ソースコードで配布されているもの

これらのSolarisを利用者は用途に応じて使い分けることができる。

Solaris 10は無料で使えるが、オープンソースではないのでソースは提供されない。ただし、製品ということもあってパッチが提供されたり、OpenSolarisの成果についてはサンの社内からバックポートされ、update 1やupdate 2といった形で提供される。一方、Solaris Expressなどはパッチが提供されないので、Live Updateを用いて新しいバージョンにする必要がある。

OpenSolarisベースのディストリビューションとして4つほど紹介があり、これらはLiveCDとして提供されているため入手してすぐに使える。ただし一般的にLiveCDによる起動は遅いという欠点があるが、この欠点を克服する手段の一つとしてUSBメモリにgrubを入れて、このUSBメモリから起動するという方法がある。反面、一部のハードでは、USBメモリから起動するためには、2度BIOSメニューを操作する必要があるので、BIOSメニューを出すまでの時間の方が遅く感じる場合も有りえる。

OpenSolaris(Nevada)で提供される大きなトピックとしては、BrandZというのがあり、これはSolaris Zoneの一種でLinux(Red Hat Enterprise Server 3)互換環境を提供するもので、以前はJanusと呼ばれていたものである。BrandZはLinuxのシステムコールをSolarisのシステムコールにマッピングするものなので、実際のLinuxアプリケーションを動作させるためには、Red Hat Enterprise Server 3または、Cent OSなどの、RHES互換OSをZoneにインストールする必要があるとのことであった。

OpenSolaris以外にも、Open Language Toolsという、翻訳メモリ機能を備えた翻訳エディタやSun Glossというサンの社内で使われている翻訳用語集(ログインIDが必須)、OpenGrokというOpenSolaris公開直前にWeb上でソースコードを眺めるためにサン社内で作成したツールなどの紹介があった。

その他、OpenSolaris関連では1年間で、100個の修正がサン社外から寄せられ、OpenSolarisの中に取り込まれたことや、日本発のコミュニティとプロジェクトの紹介などもあった。

  日本語グループ

Solarisコンテナは、仮想化を実現するSolaris Zoneとシステムリソースの利用率を高めるSolarisリソースマネージャで構成されているとのことで、まずは、仮想化が必要になってきた背景から解説があった。一つのハードで一つのアプリケーションのみを動かすことにより、他のアプリケーションからの影響を受けないようにするのが理想であるが、ピーク性能を考慮すると稼働率の低いハードがアプリケーションの数だけ必要となり管理コストなどが増大してしまう。

そこで、一つのハードでもあたかも複数のハードであるかのように振る舞うことが可能な仮想化が求められた。この仮想化の実現方法として、サンのハイエンドサーバ等にみられるハードウェアによるパーティショニング、VMwareやXenなどのソフトウェアによる仮想マシン、Solaris ZoneのようなOSの仮想化という3種類の紹介があった。

Solaris Zoneでは単一のglobal zoneと複数のnon-global zoneの2種類があり、non-global zoneはLeast Privilegeの機能をうまく使って提供しているとの事。以前non-global zoneの設定によってはglobal zoneが影響を受けた経験のある筆者には、この説明でnon-global zoneがglobal zoneに影響を与えることが可能なのかが納得できた。

Solarisリソースマネージャーは、Solaris 9から提供された動的なリソース管理をZoneにまで広げ、CPUリソース配分では、FSSというシェア数に応じてリソースを提供する機能が追加された。

最後に、BlandというSolaris Zone上でSolaris以外のOSで動作するアプリケーションの実行環境を構築するためのフレームワークの紹介があり、現在様々なタイプのBrandが開発されていて、Linuxアプリケーションの実行環境としてはLXゾーンがあるとのことで、質疑応答ではこのLinuxとSolarisを混在させて稼働させることに対する関心の高さが目立った。

実際に4CPUのSun Fire V480を持ち込んで、Solaris Zone、Solarisリソースマネージャーのデモンストレーションがあった。


OSに要求されている事項や、OSとアプリケーション間のレイヤー構造についての話題の後、DTraceができる以前の様々なレイヤーにおけるデバッグ手法とそれに関連する問題点についての解説があり、DTraceを使用することで、どんな点が良くなるのかや、また既存のデバッグ手法では難しかった複数のレイヤーが複雑にからみあった環境でもDTraceを使うと簡単にカーネルやデバイスドライバといったレイヤーからアプリケーションまでのデバッグが行える事について説明があった。

その後は、実際にデモンストレーションを交えながら、DTraceの特徴やDTraceだけでシステム内にある4万以上もの計測点からの計測及び計測結果の統計的な集計まで可能であることが示された。DTraceを使うことで、システム障害対応時の「仮設→計測→データ収集→分析→仮設」という障害追跡のサイクルで、計測については可能とのことであった。

ブライアン・キャンドリという人の、実稼働システムでのDTraceの"伝説のデモ"が凄いらしいとのことなので、一度機会があったら見てみたい。

立食パーティのあと、午後のセッションでは、Solaris 10 6/06が正式リリースされる前であったということもあって、「Solaris 10 1/06 インストール虎の巻」を参照しながらのインストール・フェスタが行われた。

いくつかの注意事項の説明のあと、15名ほどの参加者が各自持ち寄ったPCにSolaris 10 1/06をインストールした。大学でのインストール・フェスタということで、DELLの1Uサーバを持ち込んでSolaris 10のインストールに挑戦していた人もいた。

Solaris 10標準ではサポートされていないネットワークIFを搭載しているPCではPXEブートでSolarisを起動できても、その後はネットワークが見えないためインストールが継続できなかった。そこで、急拠DVD-ROMやCD-ROMに切り替えてインストールを行い、Solarisが起動したあとで、ベンダーやサードパーティのサイトからSolaris 10用のドライバをダウンロードしてSolaris 10でネットワークが使えるようにするなどの対応を行った。

ACPIからみでうまくSolarisが起動できない場合でも「インストール虎の巻」には対処方法が書かれているのもあり、多くの参加者が無事Solaris 10 1/06をインストールできた。大抵の人はWindowsとのデュアルブートを選択していたが、Windowsを消して、Solarisのみをインストールするという強者もいた。

しかし、残念ながら時間切れで、完了まで至らなかった方も何人かいたようだ。
主な理由は、開催前に事前に案内してあった、Windowsのデフラグを予め行っていない、あるいは、マシンのメモリ容量による、パフォーマンス不足によるものと思われる。
(※後日談として、参加したある高校の先生の話だが、『私のノートPCでは、メモリ不足で最後までインストールできませんでした。悔しかったので、家に帰ってから、メモリを増設して無事インストール成功しました。』、と担当営業に報告があったそうだ。)

熱気に包まれる、Solarisインストールフェスタ

インストール・フェスタと並行して、サンのディベロッパー・プログラム担当者より、サンの開発者支援プログラムであるSun Developer Connectionの案内とNetBeansJava Studio CreatorJava Studio EnterpriseSun Studioといった、サンから提供されているフリーで使える開発ツールの紹介があった。最後は、サンとリクルート社の主催による、Web2.0に対応するマッシュアップ・コンテンツを製作するコンテスト、Sun x RECRUIT Mash up Awardへの参加の呼びかけで、講座が締めくくられた。(※このコンテストは7月31日が締切りである。)

Sun Developer Connectionを紹介する、増月 孝信(サン)
Sun Developer Connection
を紹介する、サン 増月 孝信
Sun Developer Connectionを紹介する、増月 孝信(サン)
サン 藤井 彰人による、
開発ツールに関する講義の様子

※著者のタイトル、所属等は、執筆当時のものであり、現在と異なる場合があります。
また、日本サン・ユーザ・グループは2007年6月をもって休会しております。

  前号へ     次号へ  
ご意見・ご感想をお聞かせください
この記事は参考になりましたか?
     

コメントがございましたらご記入ください


ページ先頭へ

Sun Fun Times