OpenVMS
システム管理ユーティリティ・リファレンス・マニュアル


前へ 次へ 目次 索引



   SYSMAN> SET ENV/NODE=X 
 
   SYSMAN> CLASS ADD class1 /USERNAME=(user1) /CPULIMIT=(0-2=100%,3-23=30%) 
   
   SYSMAN> SET ENV/NODE=Y 
 
   SYSMAN> CLASS ADD class1 /USERNAME=(user1) /CPULIMIT=(0-2=40%,3-23=20%) 


ノード X と Y の両方に共通なデータベースでは,2 番目のコマンドは同一のクラスに異なるパラメータを指定しているため,エラーになります。ノード X と Y に別々のデータベースがある場合には,2 番目のコマンドは動作します。

  • 例 2
    システムは,プロセスを 1 つの一意なクラスに割り当てることができる必要もあります。別個のノードでこれらのクラスを定義するかぎり,複数のクラスで同一のユーザ (または他の識別情報) を指定できます。次の例を参照してください。


       SYSMAN> SET ENV/NODE=X 
     
       SYSMAN> CLASS ADD class1 /USERNAME=(user1) /CPULIMIT=(0-2=100%,3-23=30%) 
       
       SYSMAN> SET ENV/NODE=Y 
     
       SYSMAN> CLASS ADD class2 /USERNAME=(user1) /CPULIMIT=(0-2=40%,3-23=20%) 
    


    この例では,ノード X と Y の両方で共通な 1 つのデータベースで動作します。これは,2 つのセットのパラメータも異なるクラス名を持つためです。システムは,user1 が実行中のノードを確認することで user1 用のクラスを決定できます。

  • 例 3
    次の例は,共通データベースに対しても,独立したデータベースに対しても正しくありません。その理由は,class1 と class2 が両方とも NODE X に対して定義されているので,user1 が class1 のメンバなのか, class2 のメンバなのかをシステムが判断できないためです。


       SYSMAN> SET ENV/NODE=X 
     
       SYSMAN> CLASS ADD class1 /USERNAME=(user1) /CPULIMIT=(0-2=100%,3-23=30%) 
       
       SYSMAN> CLASS ADD class2 /USERNAME=(user1) /CPULIMIT=(0-2=40%,3-23=20%) 
    

  • 例 4
    これまでの例で示したように,ノードを明示的に指定することの他に,クラスをクラスタ全体に適用することも指定できます。次の例を参照してください。


       SYSMAN> SET ENV /CLUSTER 
     
       SYSMAN> CLASS ADD class1 /USERNAME=(user1) /CPULIMIT=(0-2=100%,3-23=30%) 
    


    この例では,class1 はクラスタ内のすべてのノードに対して定義されているばかりでなく,後でクラスタに追加する可能性のあるノードが同一のデータベースを使用するかぎり,後でクラスタに追加するノードに対しても定義できます。
    環境を CLUSTER に設定したクラスを定義する場合, SYSMAN> CLASS SHOW/FULL コマンドは,データベースがすべてのクラスタ・ノードに対して共通ではない場合でも, "Nodes: All Cluster Members" の通知のあるクラスを一覧に表示します。混乱を防ぐため,共通のデータベースを使用してください。

    論理名 VMS$CLASS_SCHEDULE の定義

    システム・ディスクが異なるクラスタで共通のクラス・スケジューラ・データベースを持とうとしている場合,または,システム・ディスクが共通のクラスタにある各ノードに独立したデータベースを持とうとしている場合,各ノードでシステム論理名 VMS$CLASS_SCHEDULE を定義して,そのノードで使用するデータベースの場所をポイントします。たとえば,SYSTARTUP_VMS.COM に次のコマンドを含めます。


    $ DEFINE/SYSTEM VMS$CLASS_SCHEDULE disk:[directory]VMS$CLASS_SCHEDULE.DATA 
    

    内容 :

    disk:[directory] は,データベース・ファイルを置くディスクとディレクトリを示しています。

    クラス・スケジューラ・データベースとプロセスの生成

    パーマネント・クラス・スケジューラを使用することで,プロセスは,適切であれば,プロセスの生成時にスケジューリング・クラスに配置されます。新しいプロセスが生成されると,システムは,そのプロセスがスケジューリング・クラスに属しているかどうかを判断します。その判断は,SYSUAF ファイル内のデータをもとにしています。 Loginout イメージはプロセスに関する情報を SYSUAF ファイルからすでに取得しているので, Loginout は,プロセスがスケジューリング・クラスに属していると判断した場合に,そのプロセスをクラスにスケジュールします。

    プロセス生成時に考慮する必要があるプロセスとして,サブプロセスと独立プロセスの 2 つのタイプのプロセスがあります。

    プロセスはプロセス生成時にスケジューリング・クラスに参加できますが,実行中に SET PROCESS/SCHEDULING_CLASS コマンドを使うと,スケジューリング・クラスを変更できます。

    プロセスがクラスにスケジューリングされたかどうかの判断

    次に示すいずれかの方法を使うと,プロセスがクラスにスケジューリングされたかどうかを判断できます。

  • CLASS_SCHEDULE DELETE

    DELETE サブコマンドはスケジューリング・クラスをクラス・スケジューラ・データベース・ファイルから削除します。

    形式

    CLASS_SCHEDULE DELETE クラス名


    パラメータ

    クラス名

    スケジューリング・クラスの名前を指定します。 DELETE コマンドには必ずクラス名を指定します。この名前の最大長は 16 文字です。

    修飾子

    なし。

    CLASS_SCHEDULE MODIFY

    MODIFY サブコマンドは,スケジューリング・クラスの属性を変更します。

    形式

    CLASS_SCHEDULE MODIFY クラス名


    パラメータ

    クラス名

    スケジューリング・クラスの名前を指定します。 MODIFY コマンドには必ずクラス名を指定します。この名前の最大長は 16 文字です。

    修飾子

    /ACCOUNT

    このスケジューリング・クラスに参加するユーザを指定します。これは,ユーザの SYSUAF レコードの一部になります。

    この修飾子の構文は次のとおりです。


       [/ACCOUNT = (名前1, 名前2,...名前"n")] 
    

    /CPULIMIT

    指定された曜日と時間にこのスケジューリング・クラスが取得できる CPU 時間の最大量を定義します。クラスを追加するときには必ずこの修飾子を指定します。

    この修飾子の構文は次のとおりです。


       /CPULIMIT = ([primary], [h1-h2=time%],[h1=time%], 
                   [,...],[secondary],[h1-h2=time%],[h1=time%],[,...]) 
    

    h1-h2=time% 構文によって時間の範囲を指定し,その次に,この時間のセットに関連付ける CPU 時間の最大量 (パーセンテージで表記) を指定します。 PRIMARY キーワードに続く最初の時間のセットには主曜日での時間を指定し, SECONDARY キーワードに続く時間のセットには副曜日での時間を指定します。指定した時間はそれ自体も含まれます。ある時間にクラス・スケジュールを行うと,アクセスはその時間の最後まで拡張されます。

    /PRIMEDAYS

    主曜日と副曜日を定義できます。

    この修飾子の構文は次のとおりです。


        [/PRIMEDAYS = ([no]曜日[,...])] 
    

    主曜日は,MON,TUE,WED,THU,FRI,SAT,SUN と指定します。副曜日は,NOMON,NOTUE,NOWED,NOTHU,NOFRI,NOSAT,NOSUN と指定します。

    省略時の設定は,MON から FRI までと,NOSAT および NOSUN です。リストにない曜日は省略時の設定になります。 DCL コマンドの SET DAY を使うと,主曜日と副曜日のクラス定義を変更できます。

    /UIC

    このスケジューリング・クラスに参加するユーザを指定します。これは,ユーザの SYSUAF レコードの一部になります。

    この修飾子の構文は次のとおりです。


       [/UIC = (uic1,uic2,...uic"n")] 
    

    /USERNAME

    このスケジューリング・クラスに参加するユーザを指定します。これは,ユーザの SYSUAF レコードの一部になります。

    この修飾子の構文は次のとおりです。


       [/USERNAME = (名前1, 名前2,...名前"n")] 
    

    /WINDFALL

    スケジューリング・クラス内のすべてのプロセスがウィンドフォールの資格があると指定します。

    この修飾子の構文は次のとおりです。


       [/WINDFALL]) 
    

    ウィンドフォールを許可することで,スケジューリング・クラス内のプロセスは「ウィンドフォール」を受け取ることができます。「ウィンドフォール」とは,クラスに分配された CPU 時間がほとんど無くて,CPU がアイドル状態であるときの,CPU 時間の短いパーセンテージです。これは,プロセスに分配された時間よりも多くの時間をプロセスに提供することになるとしても, CPU がアイドル状態のままよりはこれらのプロセスを実行させる方がよいと選択したことにもなります。

    省略時の設定では,ウィンドフォールは禁止になっています。


    説明

    時間の制限を削除するには,特定の時間範囲に関連付けられている時間パーセンテージにゼロ (0) を指定します。

    名前または UIC の値を削除するには,名前または UIC の前にマイナス記号を指定する必要があります。

    CLASS_SCHEDULE RESUME

    RESUME サブコマンドは SUSPEND コマンドを補完するものです。このコマンドを使って,現在中断されているスケジューリング・クラスを再開します。

    形式

    CLASS_SCHEDULE RESUME クラス名


    パラメータ

    クラス名

    スケジューリング・クラスの名前を指定します。 RESUME コマンドには必ずクラス名を指定します。この名前の最大長は 16 文字です。

    修飾子

    なし。

    CLASS_SCHEDULE SHOW

    SHOW サブコマンドはスケジューリング・クラスの属性を表示します。

    形式

    CLASS_SCHEDULE SHOW [クラス名] [/修飾子]


    パラメータ

    クラス名

    スケジューリング・クラスの名前を指定します。 SHOW コマンドには必ずクラス名または,/ALL 修飾子を指定します。クラス名の最大長は 16 文字です。

    修飾子

    /ALL

    すべてのスケジューリング・クラスを表示します。クラス名が何も指定されない場合,この修飾子を指定する必要があります。

    /FULL

    このスケジューリング・クラスに関するすべての情報を表示します。

    説明

    省略時の設定では,SHOW サブコマンドによって限定されたデータが表示されます。省略時の表示は次のとおりです。

    CLASS_SCHEDULE SUSPEND

    SUSPEND サブコマンドは指定したスケジューリング・クラスを中断します。

    形式

    CLASS_SCHEDULE SUSPEND クラス名


    パラメータ

    クラス名

    スケジューリング・クラスの名前を指定します。 SUSPEND コマンドには必ずクラス名を指定します。この名前の最大長は 16 文字です。

    修飾子

    なし。

    説明

    スケジューリング・クラスを中断すると,スケジューリング・クラスに属しているすべてのプロセスはそのままクラスに属しますが, CPU 時間は無制限に与えられます。

    CONFIGURATION SET CLUSTER_AUTHORIZATION

    ローカル・エリア・クラスタのセキュリティ・データを変更します。

    SYSPRV 特権が必要です。


    形式

    CONFIGURATION SET CLUSTER_AUTHORIZATION


    パラメータ

    なし

    修飾子

    /GROUP_NUMBER=[n]

    SYS$SYSTEM:CLUSTER_AUTHORIZE.DAT に記録されているクラスタ・グループ番号を指定します。グループ番号は, 1 つのイーサネットに存在する各ローカル・エリア・クラスタを一意で識別します。1 〜 4095 または 61440 〜 65535 の範囲の番号を指定します。

    /PASSWORD=パスワード

    クラスタ・アクセスに使用するパスワードを指定します。パスワードは,31 文字以内の英数字,ドル記号,アンダスコアです。パスワードは,同じイーサネット上のクラスタのグループ番号が万一同じであった場合に,グループ番号の次の確認基準となります。また,グループ番号が外部に洩れた場合でも,パスワードによってクラスタへの侵入を防止できます。

    説明

    CONFIGURATION SET CLUSTER_AUTHORIZATION コマンドは, SYS$SYSTEM:CLUSTER_AUTHORIZE.DAT に記録されているローカル・エリア・クラスタのグループ番号とパスワードを変更します。複数のシステム・ディスクを使用している場合,SET ENVIRONMENT/CLUSTER でクラスタとして環境が定義されていれば,すべての CLUSTER_AUTHORIZE.DAT が自動的に更新されます。 CLUSTER_AUTHORIZE.DAT の詳細については,『OpenVMS Cluster システム』を参照してください。

    重要

    グループ番号やパスワードを変更した場合,クラスタ全体を再ブートする必要があります。

    CLUSTER_AUTHORIZE.DATファイルはCLUSTER_CONFIG.COMの実行で初期化され,SYSMANで管理されます。通常の状況では,CLUSTER_AUTHORIZE.DATファイルのレコードを会話で変更する必要はありません。 CONFIGURATION SET CLUSTER_AUTHORIZATIONコマンドを使用すれば,クラスタのメンバに矛盾が発生しないように保護できます。



    SYSMAN> SET ENVIRONMENT/CLUSTER/NODE=NODE21
    SYSMAN> SET PROFILE /PRIVILEGE=SYSPRV
    SYSMAN> CONFIGURATION SET CLUSTER_AUTHORIZATION/PASSWORD=GILLIAN
    %SYSMAN-I-CAFOLDGROUP, existing group will not be changed
    %SYSMAN-I-GRPNOCHG, Group number not changed
    SYSMAN-I-CAFREBOOT, cluster authorization file updated.
    The entire cluster should be rebooted.
     
    

    この例では,クラスタのパスワードを変更しています。環境がクラスタとして定義されているので, CONFIGURATION SET CLUSTER_AUTHORIZATION コマンドを実行する前に SYSPRV 特権を設定しています。

    CONFIGURATION SET TIME

    現在のシステム時間を変更します。

    OPER,LOG_IO,SYSPRV 特権が必要です。 OpenVMS Cluster環境では,SYSLCK 特権も必要です。


    形式

    CONFIGURATION SET TIME [時間]


    パラメータ

    なし。

    修飾子

    なし。

    説明

    CONFIGURATION SET TIME コマンドは,システム時間を再設定します。次の形式で時間値を指定します。


    [dd-mmm-yyyy[:]] [hh:mm:ss.cc] 
    

    デルタ時間を入力することもできます。時間形式の詳細については,『OpenVMS ユーザーズ・マニュアル』を参照してください。

    個々のノードで構成される環境では,指定の値が各ノードの時間として設定されます。時間を指定しない場合,各ノードのタイム・オブ・イヤー・クロックに基づいて時間が設定されます。

    OpenVMS Cluster環境では,指定の値が各ノードの時間として設定されます。時間を指定しない場合,タイム・オブ・イヤー・クロックが使用されます。ローカル・クラスタでは,SYSMAN を実行しているノードのクロックから読み込んだ値を,OpenVMS Cluster内のすべてのノードに設定します。遠隔OpenVMS Clusterでは,ターゲット・ノードのクロックから読み込んだ値をクラスタ内のすべてのノードに設定します。タイム・オブ・イヤー・クロックがオプションであるプロセッサもあります。詳細については,プロセッサのマニュアルを参照してください。

    SYSMAN では,OpenVMS Cluster環境内のすべてのプロセッサに同じ時間を設定するよう,特殊な処理を行います。通信と処理に遅延が生じるため,クロックを正確に同期させることは不可能ですが,誤差は通常,数百分の 1 秒未満です。指定した時間の 1/2 秒以内の時間を設定できなかった場合,応答が迅速でなかったノードを示す警告メッセージが出力されます。

    プロセッサ・クロックごとにわずかな誤差があるので,ノード間で時間がずれがちです。以下は,クラスタ環境でシステム時間の同期をとるプロシージャです。


    $  SYNCH_CLOCKS: 
    $  RUN SYS$SYSTEM:SYSMAN 
           SET ENVIRONMENT/CLUSTER 
           CONFIGURATION SET TIME 
           EXIT 
    $  WAIT 6:00:00 
    $  GOTO SYNCH_CLOCKS 
    

    ローカル・ノードのタイム・オブ・イヤー・クロックの時間をすべてのクラスタ・ノードの時間に設定し,6 時間後に時間を再設定します。



    SYSMAN> SET ENVIRONMENT/NODE=(NODE21,NODE22,NODE23)
    SYSMAN> SET PROFILE /PRIVILEGE=LOG_IO
    SYSMAN> CONFIGURATION SET TIME 12:38:00
    

    NODE21,NODE22,NODE23 のシステム時間を変更しています。


    前へ 次へ 目次 索引