連載
» 2009年03月13日 00時00分 公開

Solaris ZFS集中講座(1):Solaris ZFSの基本的な仕組みを知る (3/3)

[野崎宏明,サン・マイクロシステムズ株式会社]
前のページへ 1|2|3       

3. 便利な機能

 ZFSでは、追加ライセンス費用や、専用ハードウェアを用意することなく、スナップショット、ロールバック、クローン、リモートコピーといった機能を使用できます。ZFSの便利な機能については、次回のこの連載で説明予定です。

4. 性能

 エンド・ツー・エンド・チェックサム、書き込み時コピー、RAID-Z/Z2のパリティ計算など、既存ファイルシステムにそのまま実装するだけでは大幅な性能低下となりそうな各機構ですが、ZFSでは既存のファイルシステムと同等の性能が出せるよう設計・実装されています。

 書き込み時コピーでは、書き込みの際に必ずコピーを行うという処理が起こりますが、ここで複数の細かいランダム書き込みを、1つのシーケンシャル書き込みとしてまとめることを実現しています。

 物理ストレージのランダムな箇所に散在しているブロックに対する書き込みが発生しても、まず連続した領域にコピーを行ってそこに書き込みを行うため、シーケンシャルな書き込みとなります。

 RAID-Z/Z2では、ストライプ幅の自動調節が性能向上に大きな役割を果たします。

 ストライプ幅の自動調整では、書き込みが必ず全ストライプに及ぶようになるとともに、本当に必要なサイズ分だけの書き込みが行われるようになります。これにより、RAID 5/6の性能問題として必ず起きる遅いデータ更新処理(read-modify-write)が排除されます。すなわち、本来の書き込み対象ではないデータの読み込み、パリティ計算、書き込みが発生しません。

 これら以外にも、以下のようなさまざまな性能向上のための仕組みが実装されています。詳細は参考資料をご参照ください。

  • パイプライン接続の入出力エンジン  相互依存性と優先順位に基づき入出力をソート
  • インテリジェントな先読みアルゴリズム  アクセスパターン分析に基づいた推測で隣接ブロックを先読み
  • 並行処理  並列ディレクトリ処理、同一ファイルへの並列読み書き
  • 任意の順番で実行可能なトランザクション処理  ディスク動作を最適化
  • 組み込みのデータ圧縮  入出力量を削減し、I/Oバウンド作業負荷の処理速度向上
  • キャッシュ機構・ログ機構  書き込みログを SSDなどの比較的高速なデバイスに置くことも可能

5. 管理性

 拡張性、堅牢性、機能、性能を兼ね備えたZFSですが、管理も非常に容易となるよう設計されています。

 ZFSの管理コマンドは、プールを扱うzpoolコマンドと、ファイルシステムを扱うzfsコマンドの2個だけです。コマンドとほぼ同じだけの作業が可能な、ブラウザベースのGUIもあります。

図5 Web GUI画面(クリックで拡大) 図5 Web GUI画面(クリックで拡大)

 ZFSファイルシステムの作成は非常に簡単です。行う作業は、プールにディスクドライブを登録し、そこからファイルシステムを切り出し、ファイルシステム単位で属性値を設定するだけです。容量予約、容量制限、マウントポイントの変更、NFS共有の設定、圧縮の有効化などが属性値の変更として扱われ、上記のzfsコマンド1つで行うことができます。マウントポイントの作成や設定ファイルの作成は不要で、属性値を変更した瞬間に設定内容が適用されます。

 ファイルシステムはディレクトリのように操作できるので、ユーザーやプロジェクトごとに個別ファイルシステムを作成してきめ細かい管理を実現できます。

 また、ZFSはSPARCと x86/x64の両アーキテクチャでサポートされます。さらに、フォーマットやエンディアンを気にせずに、あるアーキテクチャのマシンで構築したプールを切り離し(エクスポート)、ほかのアーキテクチャのマシンに接続する(インポート)ことが可能です。

 拡張性や堅牢性が多くの管理作業を不要のものにしている点も、管理性に貢献しているといえるでしょう。


 次回は、Solaris ZFS機能編という内容で、ZFSの各機能の紹介とその使用方法を解説します。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。