5 割り振り

SMC のプライマリ機能は、割り振り中にオペレーティングシステムのテープドライブの選択に影響を及ぼすことです。これにより、利用可能なデバイスが StorageTek TapePlex および仮想環境で確実に選択されます。さらに、SMC は、特定のボリューム位置、スクラッチロードバランシング、およびユーザーポリシーに基づいて、利用可能なデバイスの優先リストを作成します。

通常、SMC による割り振りは、ジョブの JCL から作成された元のリストにデバイスを追加できません。利用できないデバイスを除外し、残りの利用可能なデバイスに優先順位を付けることができるだけです。

SMC は、一連の条件 (「除外レベル」と呼ぶ) を最初のデバイスセットに適用し、その条件を満たさないドライブを除外することによって、各テープ割り振りで利用可能なドライブのリストを確定します。この処理をドライブ除外と呼びます。

SMC が特定の除外条件を適用しようとした結果、残りすべての適格ドライブが除外された場合は、メッセージ SMC0045 と SMC0046 が表示され、特定の除外条件を適用できなかったことが示されます。ただし、除外処理は続行され、可能な場合、次の条件が適用されます。

SMC による割り振りは、利用可能なリストにあるいずれかのドライブへのマウントが失敗しそうなときは、割り振り時のジョブを意図的に失敗させる場合があります。たとえば、メディア形式が STK1R のボリュームは物理的に 9490 ドライブにマウントできず、ラベルなしのテープを仮想テープにすることはできません。

さらに、望まないスクラッチメディアを使用したり、特定のボリュームを別の ACS に移すことを要求したりするよりは、割り振り時のジョブを失敗させたいという顧客もいます。SMC ALLOCDEF (または ALLOCJOB) MINLVL パラメータを使用すると、割り振り時のジョブを失敗させたり、逆に、割り振り時のジョブを失敗させる SMC のデフォルトの動作をオーバーライドしたりできます。

  • MINLVL=0 と設定すると、SMC が割り振り時のジョブを失敗させることはありません。

  • デフォルトの MINLVL, 2, は、互換性のないメディアまたは仮想ラベルタイプに対してのみ、割り振り時のジョブを失敗させることを示します。

顧客は、必要に応じて MINLVL を高い値に設定する可能性があります。特定のボリュームやスクラッチボリュームでの SMC の除外レベルについては、ドライブ除外を参照してください。

すべての除外条件が適用されると、残りのドライブは、ポリシー、ボリューム位置またはスクラッチカウント、および最終マウント時間に基づいて、適正度の順に並べ替えられます。この処理をドライブ優先度と呼びます。また、この処理中、SMC は MSP 制御ブロックにフラグを立てて、マウントが遅延されるべきではないことがポリシーによって指定されている場合を除き、マウントが OPEN になるまで遅延されるべきであることを示します。

注記:

割り振り要求に対して適格なドライブが選択されていると、SMC による割り振りはドライブのステータス (オフライン、ビジーなど) を考慮しません。SMC によって選択されたドライブがすべて利用できない場合、ジョブは割り振り回復に進みます。

ドライブ除外

ドライブ除外処理は、次の手順で行われます。

  1. SMC は、各ジョブステップ (または動的割り振り) のテープ DD ごとに最初の適格デバイスリストを調べ、SMC POLicy コマンド、TAPEREQ 制御文、ユーザー出口などの各種ソースからポリシー情報を収集します。

  2. SMC は、ポリシー情報を使用して、各テープ割り振りのための「所有している TapePlex」を選択します。POLICY で TapePlex 名が指定されているか、または 1 つの TapePlex によって制御されるデバイスを含むエソテリックが指定されている場合は、その TapePlex が割り振りのための所有者として選択されます。

    複数の TapePlex がアプリケーションの所有者としての資格を持っている場合は、正常なステータスを返す最初の TapePlex が所有者として選択されます。特定のボリューム要求の場合、正常な応答は、そのボリュームがライブラリ内に存在するか、または仮想ボリュームとして定義されていることを示します。スクラッチ要求の場合、正常な応答は、要求されたメディアやスクラッチサブプールに使用可能なスクラッチボリュームがその TapePlex に存在することを示します。

  3. SMC は、1 つまたは複数の TapePlex と通信し、利用可能なスクラッチボリュームに加えて特定のボリュームの特性と位置に関する情報を収集することによって、「ボリューム検索」を実行します。SMC が TapePlex からこの情報を取得できない場合は、ALLOCDef FAILnoinfo パラメータを使用して、ジョブを割り振り時に失敗させることを許可するか、利用可能なポリシーのみに基づいて続行させることを許可するかが制御されます。

  4. SMC は、順序が示されたレベルのセットを使用して、ボリューム検索で取得した情報とポリシーを適用します。1 番目 (番号が最小) のレベルが最初に適用され、重要度がもっとも低いレベルはあとで適用されます。たとえば、レベル 2 はより重要とみなされ、レベル 3 の前に適用されます。

特定の除外の適用によってすべてのドライブが除外されると、SMC はその条件を無視し、次の除外レベルを続行します。

次の点に注意してください。

  • SMC ポリシーの指定については、第4章 ポリシーを参照してください。

  • ユーザー出口の詳細については、『ELS Legacy Interfaces Reference』を参照してください。

ドライブ除外 - 特定ボリューム

特定ボリュームの割り振りでは、次の表の条件に基づき、最小除外レベルから最大除外レベルの順にドライブが除外されます。レベル番号が小さいほど、除外条件は重要とみなされます。

各除外レベルの関連キーワードは、メッセージ SMC0043 および SMC0046 内の除外条件で指定されています。

表5-1 ドライブ除外レベル (特定要求)

レベル
特定ボリューム条件
キーワード

MultipleTapePlexPre-Req 1

要求された TapePlex 内にないドライブを除外

第 1 ソース: POLicy TAPEPlex パラメータ

第 2 ソース: 特定ボリュームのユーザー出口 (08/13) の TAPEPLEX

なし

MultipleTapePlexPre-Req 2

エソテリックが 1 つの TAPEPLEX にのみデバイスを含むときの ESOTERIC に基づき、ドライブを除外。

第 1 ソース: POLicy または TAPEREQ ESOTeric パラメータ

第 2 ソース: 特定ボリュームのユーザー出口 (08/13) の ESOTERIC

なし

MultipleTapePlexPre-Req 3

失敗したボリューム検索に基づき、ドライブを除外。

ボリューム検索が成功した最初の TapePlex 内のドライブのみが適格とみなされます。

ボリューム検索が成功した TapePlex がない場合は、最初の定義済み TapePlex が使用されます。

なし

1

ラベルなし (NL) 特定ボリューム要求の場合、すべての仮想ドライブを除外。すべての MODEL=IGNORE ドライブを除外。ボリュームメディアとの互換性がないドライブを除外。

第 1 ソース: 外部ボリュームラベル

第 2 ソース: VOLATTR MEDIA パラメータ

ボリュームメディアは、ボリュームラベルまたは HSC VOLATTR 文の MEDIA パラメータから取得できます。

VIRTUALLABEL

MEDRECTECH

2

仮想ボリュームにかぎり、アクセス不可の VTSS 内の仮想ドライブまたはマイグレーションされた仮想ボリュームがリコールできない VTSS 内の仮想ドライブを除外。これは、デフォルトの最小レベルです。

AVAILVTSS

3

必要な記録方式に基づき、ドライブを除外。

ソース: VOLATTR RECTECH パラメータまたはボリューム記録密度 (9840A/B および 9840C)。

VOLATTRRECTECH

4

ユーザー位置ポリシーに基づき、ドライブを除外。

第 1 ソース: POLicy または TAPEREQ ESOTERIC パラメータ。

第 2 ソース: 特定ボリュームのユーザー出口 (08/13) またはアフィニティー分離出口 (10/12) の戻りコード。

USERPOLICY

5

SMC ALLOCDEF EXTVOLESOT エソテリックに基づき、ドライブを除外。

EXTVOLESOT

6

ボリューム位置 (ライブラリ内またはライブラリ外) に基づき、ドライブを除外。

LOCTYPE

7

(ボリュームがライブラリ内にある場合は) ボリュームの ACS 位置に基づきドライブを除外、仮想ボリュームの場合は常駐 VTSS を除外。

ACSORVTSS

8

要求された記録方式に基づき、ドライブを除外。

第 1 ソース: POLicy または TAPEREQ RECTECH パラメータ。

POLRECTECH


次の例は、SMC が特定ボリュームの割り振りに影響を及ぼすためにどのように除外レベルを適用するかを示したものです。

JCL:

//DDNAME DD DSN=ABC.DEF,DISP=OLD

ポリシーの指定:

POLICY NAME(POL1) VOLTYPE(SPECIFIC) ESOTERIC(A19840B,A19840A)
RECTECH(STK1RB)

TAPEREQ DSN(ABC.*) POLICY(POL1)

ボリューム検索による情報:

  • 特定ボリューム VOL123

  • SMC によるボリューム検索では、VOL123 が TapePlex HSCLIB ACS 0 にメディアタイプ STK1R の単一の密度を持つことが示されます。

割り振り除外処理:

  1. 除外レベル 1 に始まり、9840 以外のすべてのデバイス (ボリュームメディアとの互換性なし) が除外されます。

  2. レベル 2 は影響を与えません。

  3. ボリュームを単一の密度ドライブに限定する HSC VOLATTR がないため、レベル 3 のデバイスはどれも除外されません。

  4. エソテリック A19840B または A19840A にないドライブはすべて除外されます。

  5. ボリュームが TapePlex にあるため、レベル 5 のデバイスはどれも除外されません。

  6. ライブラリ外のドライブが残っている場合は、すべて除外されます。

  7. SMC は ACS 0 にないドライブをすべて除外しようとします。しかし、この時点で残っているデバイスには ACS1 (エソテリック A19840B および A19840A に基づく) の 9840 ドライブしかないため、この除外後に EDL にドライブは残りません。

    その後、SMC は、レベル 7 の除外の前に、ACSORVTSS を矛盾する条件として指定するメッセージ SMC0045/SMC0046 を発行するときに、EDL に「バックアップ」を行います。

    除外レベル 4 に基づき、エソテリック A19840B および A19840A のドライブのみが適格とみなされます。

  8. レベル 8 は影響を与えません。

割り振り優先処理:

ドライブ優先度中、エソテリック A19840B のドライブに高い優先値が割り当てられ、A19840A のドライブに低い優先値が割り当てられます。

ドライブ除外 - スクラッチボリューム

スクラッチボリュームの割り振りでは、表5-2 の条件に基づき、最小除外レベルから最大除外レベルの順にドライブが除外されます。レベル番号が小さいほど、除外条件は重要とみなされます。

各除外レベルの関連キーワードは、メッセージ SMC0043 および SMC0046 内の除外条件で指定されています。

表5-2 ドライブ除外レベル (スクラッチ要求)

レベル
特定ボリューム条件
キーワード

MultipleTapePlexPre-Req 1

要求された TapePlex 内にないドライブを除外

第 1 ソース: POLicy

第 2 ソース: ユーザー出口 (02/04) からの TAPEPLEX 名

なし

MultipleTapePlexPre-Req 2

エソテリックが 1 つの TAPEPLEX にのみデバイスを含むときの ESOTERIC に基づき、ドライブを除外。

第 1 ソース: POLicy または TAPEREQ ESOTeric パラメータ

第 2 ソース: スクラッチボリュームのユーザー出口 (02/04) の ESOTERIC

なし

MultipleTapePlexPre-Req 3

メディアタイプおよびサブプールに基づいた失敗したスクラッチ検索に基づき、ドライブを除外。

スクラッチ検索が成功した最初の TapePlex 内のドライブのみが適格とみなされます。

第 1 ソース: POLicy または TAPEREQ MEDIA および SUBPOOL パラメータ。

第 2 ソース: スクラッチボリュームのユーザー出口 (02/04) のサブプール

スクラッチ検索が成功した TapePlex がない場合は、最初の定義済み TapePlex が使用されます。

なし

1

ラベルなし (NL) スクラッチボリューム要求の場合、すべての仮想ドライブを除外。すべての MODEL=IGNORE ドライブを除外。

VIRTUALLABEL

2

仮想ボリュームにかぎり、アクセス不可の VTSS 内の仮想ドライブ、および要求された VTCS 管理クラスをサポートしない VTSS 内のすべてのドライブを除外。

AVAILVTSS

3

要求されたメディアに基づき、ドライブを除外。

第 1 ソース: POLicy または TAPEREQ MEDIA パラメータ。

第 2 ソース: スクラッチボリュームのユーザー出口 (02/04) の仮想メディアの戻りコードまたは仮想エソテリック。

POLMEDIA

4

ユーザー位置ポリシーに基づき、ドライブを除外。

第 1 ソース: POLicy または TAPEREQ ESOTERIC パラメータ。

第 2 ソース: スクラッチボリュームのユーザー出口 (02/04) またはアフィニティー分離出口 (10/12) の戻りコード。

USERPOLICY

5

サブプール内の利用可能なスクラッチボリュームのメディアに基づき、ドライブを除外。

第 1 ソース: POLicy または TAPEREQ SUBPOOL パラメータ。

第 2 ソース: スクラッチボリュームのユーザー出口 (02/04) のサブプール名またはサブプール番号。

第 3 ソース: スクラッチサブプール 0 (デフォルトのサブプール)。指定サブプール内のものなど、実際または仮想のスクラッチテープをすべて含む。

SUBPOOL

6

利用可能なライブラリまたは仮想のスクラッチボリュームの位置に基づき、ライブラリ、ライブラリ外、または仮想のドライブを除外。

LOCTYPE

7

SMC ALLOCDef コマンドの ZEROSCR パラメータに基づき、ドライブを除外。

ZEROSCRATCH

8

要求された記録方式に基づき、ドライブを除外。

第 1 ソース: POLicy または TAPEREQ RECTECH パラメータ

POLRECTECH


例 - 実際のスクラッチボリューム

次の例は、SMC がスクラッチボリュームの割り振りに影響を及ぼすためにどのように除外レベルを適用するかを示したものです。

JCL:

//DDNAME DD DSN=DEF.GHI,DISP=NEW

ポリシーの指定:

POLICY NAME(POL2) VOLTYPE(SCRATCH) SUBPOOL(SP1) MEDIA(ECART) MODEL(9490)

TAPEREQ DSN(DEF.*) POLICY(POL2)

SMC ALLOCDEF ZEROSCR(ON)

スクラッチのユーザー出口の戻り値では、SUBPOOL(SP2) および ESOTERIC(XYZ) が使用されます。

ボリューム検索による情報:

SMC によるボリューム検索では、TapePlex HSCLIB がサブプール SP1 にスクラッチボリュームを持つことが報告されます。

割り振り除外処理:

  1. 除外レベル 1 に始まり、MODEL=IGNORE を指定する SMC UNITATTR コマンドを持つドライブが除外されます。

  2. レベル 2 は影響を与えません。

  3. ECART をサポートしないデバイスはすべて除外されます。

  4. POLicy が指定されているため、ユーザー出口エソテリック XYZ は無視され、レベル 4 は影響を与えません。これを示すために、メッセージ SMC0197 が発行されます。

  5. サブプール SP1 内のスクラッチボリュームと互換性のないドライブはすべて除外されます (TAPEREQ ポリシーはユーザー出口ポリシーをオーバーライドします)。

  6. ライブラリ外のドライブはすべて除外されます。

  7. SP1 のスクラッチボリュームが単一の ACS にのみ存在する場合、ほかの ACS のドライブは除外されます。

  8. 9490 の MODEL を持たない残りのドライブはすべて除外されます。

例 - 仮想のスクラッチボリューム

次の例は、SMC が仮想スクラッチボリュームの割り振りに影響を及ぼすためにどのように除外レベルを適用するかを示したものです。

JCL:

//DDNAME DD DSN=GHI.JKL,DISP=NEW

ポリシーの指定:

POLICY NAME(POL3) VOLTYPE(SCRATCH) ESOTERIC(VTSS1) SUBPOOL(VIRT1) MGMTCLAS(MGMT1)
TAPEREQ DSN(GHI.*) POLICY(POL3)

SMC ALLOCDEF SMS(ON)

MGMT2 は有効なポリシー名ではないため、これは無視され、TAPEREQ POL3 のポリシーが使用されます。

ボリューム検索による情報:

SMC によるボリューム検索により、スクラッチ割り振り対象の適格 VTSS のリストが戻されます。この例で、戻されるリストは、MGMT1 と互換性のある ACS および RTD の記録方式が利用可能なオンライン VTSS に基づいた VTSS2 および VTSS3 です。

割り振り除外処理:

  1. 除外レベル 1 に始まり、MODEL=IGNORE を指定する SMC UNITATTR コマンドを持つドライブが除外されます。

  2. VTSS2 または VTSS3 にない仮想ドライブはすべて除外されます。

  3. POLICY エソテリック VTSS1 には仮想ドライブのみが含まれるため、非仮想ドライブはすべて除外されます。

  4. VTSS1 にないドライブはすべて除外されます。

    VTSS1 は HSC/VTCS によって戻される対象ではないため、レベル 4 の除外は以前の除外に戻され、メッセージ SMC0045/SMC0046 が発行されますが、ほかの処理は続行されます。除外レベル 2 に基づき、VTSS2 および VTSS3 のドライブのみが適格とみなされます。

    この例では、残りの除外レベルは影響を与えません。

アフィニティー分離

MSP 機能の 1 つである明示的なユニットアフィニティーにより、2 つの異なる JCL DD 文または割り振り要求に関連したボリュームを、同じドライブにシリアルマウントできます。GDG グループのすべての世代 (GDG ALL チェーン) に対する要求は、GDGALL アフィニティーとみなされます。

SMC では、これら 2 種類のアフィニティーは区別されません。アフィニティーチェーンの処理が開始されると、ドライブ除外処理により、チェーン内の各割り振りが、最小除外レベルまで (最小レベルを含む) 個別に検証されます。最小除外レベルの処理後に出力される適格デバイスリストで、チェーンの複数メンバーに共通するドライブがないことが判明すると、チェーンは常に分離されます。

例:

//DD1 DD UNIT=CART,DSN=MY.STK1R.DATASET,DISP=OLD
//DD2 DD UNIT=AFF=DD1,DSN=MY.LONGI.DATASET,DISP=OLD

DD1 によって 9840 または T9840B 方式のメディア上のデータセットが指定され、DD2 によって水平方式のメディア上のデータセットが指定されています。特定ボリュームに対するドライブ除外レベル 1 により、必要なボリュームメディアに応じて、各 DD の適格ドライブリストが作成されます。2 つのリストに共通するドライブはありません。その結果、DD1 と DD2 の間のアフィニティーチェーンが分離され、2 つの DD 文は 1 つのドライブ割り振りではなく、2 つの分離割り振り要求を表すようになります。

アフィニティーチェーンのヘッド

SMC のアフィニティーチェーン処理では、スクラッチボリュームのみ、または特定ボリュームのみを有するアフィニティーチェーンのヘッドが、チェーンの先頭 DD 文となります。アフィニティーチェーンにスクラッチボリュームと特定ボリュームの両方が含まれている場合は、最初の特定ボリュームがチェーンのヘッドとして扱われます。

アフィニティー分離へのユーザーポリシーの影響

最小レベルのドライブ除外とアフィニティー分離が完了したあと、残りのアフィニティー分離の決定には、ユーザーポリシーが反映されます。

ALLOCDef または ALLOCJob SEPLvl パラメータを使用すると、この章で説明した除外レベルに基づいてアフィニティーチェーンを分離しないことを指定できます。ユーザー出口 10 および 12 をアフィニティーチェーンを制御するために使用することもできます。詳細については、『ELS レガシーインタフェースリファレンス』を参照してください。

ドライブ優先度

次の条件に基づいて、SMC ドライブの優先度が割り当てられます。

  • 特定ボリュームの場合、ボリュームにもっとも近い LSM 内のドライブが優先されます。特定のボリュームから離れて配置されているパススルー数が同じドライブには、同じ優先度値が設定されます。

  • スクラッチボリュームの場合、ポリシーによって要求されたメディアと記録方式に一致するスクラッチボリューム数がもっとも多い LSM 内のドライブが優先されます。

  • POLicy ESOTeric リストで、エソテリックリストで指定された順序に従ってドライブを優先するよう指定できます。

  • POLicy PREFer パラメータは、各デバイスの優先値を決定する際の、LSM 位置 (特定ボリュームの位置)、エソテリックリスト (スクラッチボリュームと特定ボリューム両方のエソテリック)、およびスクラッチカウント (スクラッチボリュームのカウント) の相対的な優先度を示します。

注記:

その他の優先度の要因については、『ELS レガシーインタフェースリファレンス』を参照してください。

割り振り対象のドライブ最終リストが選択され、LSM およびドライブタイプの優先度を考慮に入れたあと、「使用された最新の」アルゴリズムに基づいて、適格デバイスの優先順位が選択されます。

割り振られたドライブの過度の使用を回避するため、各ドライブの「最新マウント時」をもとに、ローテーション方式によってドライブの優先値が割り当てられます。最終ドライブリストにある各ドライブに対して、この値が検証されます。最新のマウントが実行されたドライブと、リスト内でその直後のドライブが、現在の割り振りに対して最優先されます。

注記:

このアルゴリズムは仮想ドライブには適用されません。

マウント遅延

デフォルトでは、すべての自動テープマウントは遅延されます。SMC ALLOCDef コマンドの DEFER パラメータで、このデフォルトをオーバーライドするように設定できます。最適な性能の実現には、デフォルトの DEFER(ON) の使用をお勧めします。SMC ALLOCDef コマンドの詳細については、『ELS コマンド、制御文、およびユーティリティーリファレンス』を参照してください。

注記:

仮想マウントは常に遅延されます。

SMC による割り振りの例外

次のタイプのカートリッジテープ割り振りには、SMC の影響がありません。

  • 要求割り振り (特定ドライブの要求)

    注記:

    要求割り振りのための DEFER 処理は、SMC によって実行されます。
  • ALLOCJob コマンドの BYPASS パラメータにより、明示的に除外されている割り振り。SMC ALLOCDef コマンドの詳細については、『ELS コマンド、制御文、およびユーティリティーリファレンス』を参照してください。

  • 適格デバイスリストに含まれているデバイスが「不明」なデバイス (仮想でもライブラリでもなく、SMC UNITAttr コマンドによって定義されてもいない) のみの場合の割り振り。

SMC による割り振り処理 - JES オペレーティングシステムのフック

SMC は、JES システム上のすべての I/O デバイス割り振りを検証し、割り振り要求を処理する必要があるかどうかを決定します。

SMC は、MSP サブシステムインタフェース (SSI) IEFJFRQ Subsystem Function Request (サブシステム機能要求) 出口を用いて、テープ割り振りイベント中の制御を行います。SMC は、SSI24 (共通割り振り) サブシステム機能に対し、JES 環境での制御を行います。

SSI24 共通割り振り

SSI24 共通割り振り処理中、SMC は次の処理を実行し、最適な適格デバイスの組み合わせを試みます。

  • ドライブ除外

  • ユニットのアフィニティー分離

  • DEFER 処理 (CA1RTS が ON に設定されている場合)

  • ドライブ除外の結果に基づき、EDL を更新 (MIACOMPAT が ON に設定されている場合)

ドライブ除外処理の結果は、MIACOMPAT または CA1RTS が ON に設定されていないかぎり、テープ割り振り時まで、MSP 制御ブロックに反映されません。

ユニットのアフィニティー分離結果を用いて、SIOT 内の MSP VOLUNIT エントリが更新されます。