DFSMS(Data Facility Storage Management Subsystem:データ機能記憶管理サブシステム)

DFSMSは、z/OS(MVS)のデータ管理を司るOSコンポーネントです。データ管理は、DASDやTAPEなどの記憶デバイス、そこに作成されるデータセット(ファイル)の形式や構造、デバイス上のデータへのアクセスなどに関するさまざまなサービスを提供し、また、関連するリソースを管理、制御します。元々のMVSは、これらのデータ管理機能を、DFP(Data Facility Product)という名前で呼ばれたコンポーネントによって処理していました。

DFPによるデータ管理の時代は、DASDデバイスのスペース管理(ディスクのどこが空いていて、どこに新しいデータセットを割り振るか)や、デバイス上のデータセットへのアクセス方式などのプログラミング・サービスなどは提供されましたが、システムに接続されている記憶デバイスにはどのようなタイプの物がいくつあり、どのデータをどこのボリュームに格納するとか、ディスクのスペースが減ってきたときに、あまり使われていないデータがどれだから、とりあえずバックアップして消すか、などといったことは人間によって行われていました。昔は、全ボリュームのVTOCリストなどを定期的に取得して、ボリュームの使用状況や空き状況をチェックする、などといったことは運用部門のルーチン・ワークでもありました。

DFPにおいては、データそのものの管理ということでは、MVSが管理していたのは、カタログによるデータセットの格納ボリューム名やテープ内の位置、世代データセットの世代番号ぐらいでした。どのボリュームをどの用途に使い、どのデータセットをどこに作る、作ったデータセットの使用状況や有効期限などをチェックする、などといったことは人間がやることが必要でした。データの運用面では、意外にも人手によるマネージメントの介在は大きかったのです。

しかしながら、メインフレームで処理される処理されるデータは、ユーザーの規模やビジネスの拡大に伴い、年を追う毎に増大の一途をたどり、単にディスク容量を増やしたり、アクセスを早くしたりのハードウェアの性能向上だけでは解決できなくなり、運用面や管理面でのコストをいかに抑え、より効率の良いストレージ資源の管理が求められるようになりました。大量のデータに対応するためには、単に数多くのストレージ・デバイスを導入するだけでなく、それらを無駄なく効率的に運用し、しかもコストをできるだけ抑えることが必要になってきたのです。そのためには、従来のような人手によるストレージ管理では、資源管理の面でも運用コストの面でも、対応できなくなってきました。そこで導入されたのが、デバイスやメディアも含めたシステム上のストレージ資源を統合的に管理し、ストレージ運用に関するさまざまな課題などをも自動的に行うしくみであるシステム管理ストレージ(System Managed Storage)の概念です。MVSでは、従来のDFPがDFSMSにエンハンスされて、システム管理ストレージの仕組みをサポートするようになりました。

DFSMSの中心となる必須の機能がDFSMSdfpで、これには従来のMVS/DFPの機能が含まれます。DFSMSdfpに加えて、いくつかのオプション・コンポーネントが追加され、それらを組み合わせることで、より高度なより効率のよいシステム管理ストレージの仕組みを構築して運用することができるようになっています。

  • DFSMSdfp:データ管理、ストレージ管理、デバイス管理、アクセス方式などのサービス
  • DFSMSdss:バックアップとリストアー
  • DFSMShsm:階層ストレージ管理(データセットのアーカイブ、DASDボリュームの自動スペース管理など)
  • DFSMSrmm:リムーバブル・メディアの管理

DFSMSによるストレージ管理では、システム管理者は各種のクラス特性とACSルーチンによって、データセットの割り振り特性、パフォーマンスと可用性の目標、バックアップと保存の要件、などをシステムに定義します。DFSMSはそれらの特性に基づき、システム内のデータセット、ストレージ・ボリュームおよびストレージ・デバイスを管理します。

データセットが用途などによってきちんとネーミングされ、用途や目的に応じたSMSクラスとそれを割り当てる適切なACSルーチンが定義されれば、「どのボリュームをどの用途に使い、どのデータセットをどこに作る、作ったデータセットの使用状況や有効期限などをチェックする」などといったことは、もはや人間がやる必要がなくなります。