«

DFSMSの保証スペース

By 神居 - Posted: 2010/08/17 Last updated: 2010/08/17 - Leave a Comment
印刷用ページの表示 印刷用ページの表示

数千シリンダーを超えるような大きなデータセットを作成する場合、複数のボリュームに分散して割り当てることができます。マルチボリューム・データセットなどと呼ばれ、古くから利用されてきました。

データセットを最大3つのボリュームに分散して作成します。最初に割り振られるスペースはボリュームDATA01に3000シリンダーです。DATA01に3000シリンダーを満たす空きスペースがなければ、最初の割り振りに失敗します。最初の割り振りに成功した後、3000シリンダーを使い切ると、OSは同じボリュームに1000シリンダー分の2次量で追加の割り振りを試みます。ボリュームに空きがなければDATA02、そこも空きがなければDATA03と順に最大3ボリュームにまたがってスペースが割り振られていきます。

これが基本的なデータセット・スペースの拡張メカニズムですが、使う側から見ると問題がないわけではありません。確実にスペースが割り振られるのは最初の3000シリンダーだけです。たとえ2次量を指定して、複数のボリュームにまたがってもかまわないことを指定していても、2次スペース量の拡張時に指定されたボリュームに空きがなければ追加の割り振りはできません。その結果スペース不足でジョブはABENDしてしまいます。

このような問題を回避するためDFSMSには保証スペース(Guaranteed Space)という機能があります。SMSのストレージクラスにGuaranteed Space=Yesの属性を与えれば、指定されたすべてのボリュームに1次量を割り振ります。

データセットは指定されたすべてのボリューム(DATA01,DATA02,DATA03)に1次量である3000シリンダーが割り振られ、最初に作成した時点で3000シリンダー×3ボリュームで9000シリンダーのスペース量が確保されます。2次量が指定されていれば最初のボリュームの1次スペースが一杯になると同じボリューム内で可能なだけの2次スペース量拡張が行われ、それをすべて使い切ってから、2番目のボリュームのすでに割り振り済みの1次スペースが使われます。絶対に必要としたいスペース量を事前に割り振ることができるため、運用中にスペース不足でジョブがABENDすることを防げます。保証スペースは、指定した1次量を複数のボリュームに分散するのではありません(例えば1000cylを250cylずつ4ボリュームに割り振る)、また指定した1次量が最初のボリュームでまかないきれず不足分を次のボリュームに割り当てるものでもありません(例えば1000cylのうち、最初のボリュームに800cyl、2番目のボリュームに200cylを割り振る)。VOLパラメーターで指定されたすべてのボリュームにSPACEパラメーターで指定された1次量を割り振ります。したがってその仕組みを考慮して1次量を指定します。例えば全部で5000シリンダーが必要で、5つのボリュームが使えるなら1次量は1000cylとします。指定されたボリュームのうち、1つでも1次量を満たす空きスペースがなければデータセットは作成されません。



なおラージ・データセットを作成し、かつそのスペース割り振りを保証するには、保証スペース機能の他にも3390-9型以上の大容量ボリュームに単一エクステントのデータセットとして作成する方法もあります。一般のデータセットでは1つのボリュームに割り当てることができるエクステント(ボリューム内でデータセットに割り当てられる連続した領域)は最大65535トラックに制限されますが、拡張形式の順次データセットやVSAMデータセットはこれを超える容量のデータセット・エクステントを割り当てることができます。拡張形式のPSデータセットなら、30000シリンダーという巨大なデータセットでも単一エクステントで割り振ることができます。


保証スペースやラージ・エクステントに関する詳細はマニュアル「z/OS DFSMS データ・セットの使用法」に解説されています。

Posted in アドミニストレーター編 • • Top Of Page