|
||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||
| OpenSolarisの特徴的な機能 | ||||||||||
|
それではOpenSolarisの代表的な機能をいくつか紹介しましょう。 |
||||||||||
| Solaris ZFSが実現した理想のファイルシステム | ||||||||||
|
Solaris ZFSはファイルシステムとして、下記の特長を基本に制作されています。
表1:Solaris ZFSのコンセプト これらは今までの様々なファイルシステムの持っていた欠点を巧みに、かつ新しい発想の設計により克服し、これからの時代に即したファイルシステムとして作られたものです。
表2:Solaris ZFSの特徴 ![]() 図2:ZFSの書き込み時複写(Copy-On-Write)処理の流れ |
||||||||||
| カーネルの動作を効率よく管理するSolarisゾーン | ||||||||||
|
現在ではコンピュータやOSを仮想化する技術は多くありますが、その中でもが「Solarisゾーン」には仮想化を実現する上でほとんどパフォーマンス上の負担をかけない技術が盛り込まれています。 Solarisゾーンのカーネルは仮想化されるOS間で共有されるという方法で実現し、性能や利便性に優れています。そのため異なるOSや別バージョンのOSを同時にゾーンを使って動かすことはできません(Linuxをエミューレートするものは別途あります)。 しかしデータセンターなどで複数のアプリケーションを実稼働させる場合、異なるリリースやOSを同時に実行することはまれです。管理の都合やセキュリティの面から別のマシンで運用している場合が多く、これらはすべて同じOSを用いるでしょう。 これらを効率よく管理するのがSolarisゾーンで、資源管理と組み合わせて運用していくのが「Solarisコンテナ」です。ゾーン1つ1つはほとんどの面において独立した1つのSolaris OSが稼働する環境です。(独自のIPアドレスや、単独でリブートなどが可能)。CPU2個分までに設定しておいて、負荷が高くなったら4CPUに変更するなど、ゾーン単位で機器リソースを動的に管理することが可能になっています。 ![]() 図3:Solarisゾーンの概要 |
||||||||||
| DTraceでアプリケーションの動きを解析する | ||||||||||
|
これまでSolarisをはじめとするUNIX系のOSでは、その動きを把握するのは(相対的に)簡単であるといわれていましたが、飛躍的に大きくなっているOSやアプリケーションともなると、その動きを細かくとらえることは難しいものになっています。 Solarisにおいてもカーネルの動きやアプリケーションの動きを補足するといった様々な試みが行われてきました。しかし、どれも現在必要とされる柔軟性や性能、あるいは対象の複雑さに追随することが十分にはできなかったのです。 OpenSolarisに用意されている「DTrace」は、実行中のカーネルのコードを書き換え、必要な解析用のコードを組み入れる、解析用のコードを任意のプログラムで走らせることで、システムおよびアプリケーションの動きを動的に解析するツールです。 このようなトレースを行うツールは実行中のシステムに対して行われるため、問題を引き起こすようなものであってはなりません。そのためにコードの書き換えはSolarisのコードを解析したりパターン化しているような、いわゆるその動きが明確になっているものだけを対象としています(関数やシステムコールの出入り口など)。また任意の解析用のコードはインタプリタを使うことで危険な動作をさせないようにしています。 DTraceは、Perlのようなスクリプト言語(D言語)のインタプリタがカーネル内に組み込まれていると思えばよいかもしれません(Dコードインタプリタ)。たとえば何十万行の複雑なアプリケーションのパフォーマンス上の問題点をわずか30分で検出し、その1時間後にはこれまでの2倍の速度で稼動した例もあります。これはカーネルとアプリケーションの動きが詳細にわかるだけではなく、統計的にその動きを簡単に解析できるためです。 DTraceは決してそれ自身簡単に使えるものでありませんが、しかし習得してしまうと、きわめて強力なツールとなるといえます(ツールキットの作成などのプロジェクトもあります)。 |
||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||
|
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||



