SE関のノーツ/ドミノ徒然草: 第30回 R5が目指したもの -信頼、拡張、管理に優れたシステム-

ノーツ/ドミノR5が目指したものをどうとらえるか、またどのように評価すればいいのか、そんなことを考えるシリーズの第三回目。今回はサーバーシステムとして期待の高かった、信頼性、拡張性、管理性の改善という設計目標を考えてみましょう。-

Lotus クライアント テクニカル プロフェッショナルズ, ソフトウェア事業, 日本アイ・ビー・エム株式会社

Lotus クライアント テクニカル プロフェッショナルズ, ソフトウェア事業, 日本アイ・ビー・エム株式会社



2008年 1月 15日

PCサーバーのシステムとしてスタートしたノーツですが、その設計の想定をはるかに超えてノーツそしてドミノサーバーは使われてきました。世界中で2000万人を超えるユーザー数はそれを物語っていると言えるでしょう。当然急激なユーザー数の増加は、サーバーへの過負荷や激しいシステムの使い方を強いて信頼性に大きく影響を与えたり、拡張性への要望が高まったり、そして管理のしやすさを問う声もあったわけです。R5でそれらを改善することを設計目標としたのは、まさに差し迫っていた課題に対する挑戦でもあったわけです。

ではドミノが信頼性を向上させたとはどういう意味でしょう。狭い意味ではともかくサーバーが落ちないで稼動すれば信頼性が高いと言えるでしょう。しかし現実に落ちないサーバーなど世の中に存在しませんから、実際には落ちても落ちないように見せるという機能があります。R4.5から搭載されているクラスタリングの機能です。この機能によりノーツクライアントからは一台のサーバーが落ちても、別のサーバーとクラスタリングしておけばユーザーはサービスを受けつづけることができます。R5ではこのクラスタリングという考え方をブラウザでドミノサーバーを使うときにも使えるようにしました。それがICMという機能です。これでドミノで稼動しているアプリケーションはノーツとブラウザの区別なく停止時間を最小化して運用することができるようになるでしょう。

serverまた信頼性という意味ではサーバーの安定稼動という他に、データが壊れないということも含まれるでしょう。R4.x時代ではサーバーが何らかの原因で落ちた場合に、稀ではありますがその時に更新されていた文書が破壊されてしまうことがありました。これに伴い、サーバーが落ちて再起動した後はデータベースのデータが壊れていないか一通り調べるFIXUPというタスクがかなりの時間、稼動してユーザーの利用を妨げるというのもよく知られた話でした。R5ではこの文書の破壊をなくすとともに、サーバー再起動後のFIXUPの必要性をなくする仕組みとして、トランザクションロギングという機能が搭載されました。

拡張性という観点ではどうでしょう。一台の高速なサーバーでサポートできるユーザー数が増えたのもその一つでしょう。特にWebでの高速化はかなり力が入っているようです。また物理的なサーバーで稼動できる論理的なドミノサーバー、つまりパーティションサーバーの機能もその数に制限がなくなりました。またこれらの拡張性を支えるために、データベースの構造そのものをIBMのRDBの設計者たちがかなり入って高速化のための再設計をしたという話は有名な話です。これらから全体のパフォーマンスだけでなく一つのデータベースに負荷が集中した場合などに対しても改善が加えられているようです。世の中でのネットワークの急激な低価格化に伴い、この拡張性によって巨大なドミノサーバーによる集中サーバーシステムなども構築できるようになるかもしれません。

3つのうちの最後の管理性という観点ではどうでしょう。これに関しては前の二つの観点に比べてより分かりやすく、主に管理クライアントという形で実現されています。多数のサーバー、データベース、ユーザーというノーツ/ドミノシステムが扱う対象に対して、この特別なクライアントから、複数の対象に対してもいっせいに管理機能を実現できるようになりました。例えば複数のデータベースに対して一度にACLを変更したり、全文索引を作成したりと実に効率的な運用操作ができます。また監視系の機能も豊富で、特に目を引くのは複数サーバーを一斉に、しかもタスクや統計情報も含めてリアルタイム的に監視できることでしょうか。これで沢山のサーバーを一括して中央から管理するというのも現実的になってきたと言えるでしょう。

administratorこの他にもたくさんの信頼性、拡張性、管理性を高める機能がR5には集合的に搭載されています。確かにこれで以前のR4.xのころに比べてはるかにこれらを改善したサーバーシステムの構築と運用ができるようになるでしょう。ではともかくR5を入れればそれは実現できるのでしょうか。もちろん他のシステム同様にそう単純なものではなさそうです。

まずはシステムの設計面ではどうでしょう。クラスタリングとかトランザクションロギングの機能などは明日からという訳にはいかないでしょう。クラスタリングでは物理的にもう一台サーバーが必要なのはいうまでもありません。クラスタリングに余分に必要な負荷を検討した上でのキャパシティ計画はやりなおす必要があるでしょう。トランザクションロギングは一見簡単なように見えますが、ユーザーが文書を更新したりする入出力は、一旦トランザクションログというファイルに書かれて、さらにまた本当のデータベースのファイルに書かれるという、以前に比べて大雑把に倍の書きこみが発生することになります。つまり入出力が全体の性能を落とさないようにそれぞれのファイルのハードディスク上での配置を設計する必要があります。まだまだ他の機能でも設計面での検討が必要でしょう。

このようにR5ドミノサーバーでは、信頼性、拡張性、管理性の恩恵を受けるには、それらの機能のどれを使うかによってシステムなどの設計面での十分な検討が必要となってくるでしょう。今までエンドユーザー主導でサーバーなどを展開してきたユーザーには、キャパシティ計画やディスクでのファイルの配置などは、どうも技術的すぎて違和感があるかもしれません。ただより安定し、かつ大規模なシステムの構築にはやはり避けては通れないもののようです。また思い起こせばホストコンピュータなどの世界でも、システムの設計時には必ず行っていたのがこれらの設計だったのです。

さらにシステムの運用管理面も影響を受けそうです。管理性が飛躍的に高まりそうなR5の管理クライアントですが、複数のデータベースのACLや全文索引などをいとも簡単にいじれてしまう機能などは、管理者の権限があるユーザーのケアレスミスで、場合によっては誤った操作からデータなどへの事故を引き起こしたり、思わぬ安易な操作からサーバーへの負荷を一時的に極端に増加させてサーバーの著しいスローダウンを引き起こしたりする可能性まであります。つまり管理の容易さは同時に管理者のより専門的な知識を要求するものでもあります。ましてエンドユーザーにサーバーの管理を委託していたところでは、これらの事故などを防ぐ意味で管理権限の見なおしが必要になるでしょう。

このようにR5の運用管理面での恩恵は、管理者にいっそうの力を与えることとなり、その意味できっちりとした運用管理体制の見なおしが必要となるでしょう。中央の管理者への権限集中、運用管理ルールや責任範囲の明確化などを考えていきたいところです。とかく分散サーバー環境などではユーザー部門をまきこんだ運用体制をとりがちですが、ホストコンピュータなど過去のシステムにも通じるような運用管理者の専門化などが頭にうかぶところです。

信頼性、拡張性、管理性という3つの言葉はまさにコンピュータシステムがホスト全盛時代に追い求めていたものでした。ノーツ/ドミノがR5でこれらを積極的に設計目標として掲げてきたということは、同時にシステムの設計や運用管理に関しても、温故知新という言葉に学ぶべきところがあるような気がしています。

参考文献

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Lotus
ArticleID=339118
ArticleTitle=SE関のノーツ/ドミノ徒然草: 第30回 R5が目指したもの -信頼、拡張、管理に優れたシステム-
publish-date=01152008