# Compaq OpenVMS
システム管理者マニュアル

前へ | 次へ | 目次 | 索引

# 27.9 ディスクのディスマウント

ディスクをディスマウントするには，ディスク上のトランザクション・ログをすべて閉じておく必要があります。

ここでは，トランザクション・ログを持っているディスクのディスマウント方法を説明します。

作業方法

1. LMCP の SHOW LOG コマンドを使用して，ディスマウントしたいディスク上に置かれているトランザクション・ログを探す。

       $ RUN SYS$SYSTEM:LMCP
       LMCP> SHOW LOG

2. ノードをまったくシャットダウンしないで， DECdtm サービスを使用しているすべてのソフトウェアを終了する。
   ソフトウェアを終了できなければ，ステップ 3 で 1 つまたは複数のノードを再ブートする必要がある。

3. ディスク上の各トランザクション・ログに対して次のステップを実行する。

   1. トランザクション・ログが置かれているノードにログインする。

   2. トランザクション・ログの名前を変更する。

          RENAME ディレクトリ指定 SYSTEM$ ノード .LM$JOURNAL
           ディレクトリ指定 SYSTEM$ ノード .LM$TEMP

      ディレクトリ指定 | トランザクション・ログを格納するディレクトリの完全指定。
      ノード | トランザクション・ログを格納するノードの名前。

   3. DECdtm サービスを使用しているすべてのソフトウェアをステップ 2 で終了したか。

      終了済み | 次のようにトランザクション・ログを閉じる。
      手順 | 作業
      --- | ---
      1) | LMCP の CLOSE LOG コマンドを使用してトランザクション・ログを閉じる。
          $ RUN SYS$SYSTEM:LMCP

          LMCP> CLOSE LOG
      CLOSE LOG コマンドはトランザクション・ログを閉じてから DECdtm TP_SERVER プロセスを終了する。 DECdtm サービスを使用しているソフトウェアが 1 つでもあればコマンドは失敗する。
      2) | CLOSE LOG コマンドの実行に成功したか。
      成功 | TP_SERVER プロセスを再起動する。
          $ @SYS$STARTUP:DECDTM$STARTUP.COM
      失敗 | 30 秒間待ってから手順 3c を繰り返す。
      未終了 | ノードを再ブートしてトランザクション・ログを閉じる。再ブートされたらノードにログインする。

4. ディスクをディスマウントする。ディスクのディスマウントに関しては， 第 9.9 節 を参照。

5. ディスクを再度マウントしたいときは，次のステップを実行する。

   1. ディスクをマウントする。ディスクのマウントに関しては， 第 9.5 節 を参照。
      クラスタの場合は，クラスタ全体でディスクをマウントする。

   2. ディスク上の各トランザクション・ログの名前を変更する。

          RENAME ディレクトリ指定 SYSTEM$ ノード .LM$TEMP
          ディレクトリ指定 SYSTEM$ ノード .LM$JOURNAL

      ディレクトリ指定 | トランザクション・ログを格納するディレクトリの完全指定。
      ノード | トランザクション・ログを格納するノードの名前。

   3. DECdtm サービスを使用するソフトウェアを終了した場合は，そのソフトウェアを再起動する。

例

次の例は，ディスク DISK$LOG3 のディスマウントの方法を説明しています。

ディスク上にあるトランザクション・ログを探す。

    $ RUN SYS$SYSTEM:LMCP
    LMCP> SHOW LOG
       .
       .
       .
    Directory of DISK$LOG3:[LOGFILES]

    SYSTEM$BLUE.LM$JOURNAL;1

DISK$LOG3 上に存在するトランザクション・ログは，ノード BLUE のトランザクション・ログだけである。

DECdtm サービスを使用するすべてのソフトウェアを終了する。

ノード BLUE にログインする。次にトランザクション・ログの名前を変更する。

    $ RENAME DISK$LOG3:[LOGFILES]SYSTEM$BLUE.LM$JOURNAL -
    _$ DISK$LOG3:[LOGFILES]SYSTEM$BLUE.LM$TEMP

トランザクション・ログを閉じる。

    $ RUN SYS$SYSTEM:LMCP
    LMCP> CLOSE LOG
    Transaction log closed, TP_SERVER process stopped
    LMCP> EXIT

TP_SERVER プロセスを再起動する。

    $ @SYS$STARTUP:DECDTM$STARTUP.COM

ディスクをディスマウントする。

    $ DISMOUNT/CLUSTER DISK$LOG3:

ディスクを再度マウントしたいときは，クラスタ全体でマウントする。

     MOUNT/CLUSTER/SYSTEM DUA3: LOG3

BLUE のトランザクション・ログの名前を変更する。

    $ RENAME DISK$LOG3:[LOGFILES]SYSTEM$BLUE.LM$TEMP -
    _$ DISK$LOG3:[LOGFILES]SYSTEM$BLUE.LM$JOURNAL

DECdtm サービスを使用するソフトウェアを再起動する。

# 27.10 ノードの追加

OpenVMS Cluster に追加したすべてのノードで，新しいトランザクション・ログを作成する必要があります。この節では，新規ノードでのトランザクション・ログの作成方法について説明します。

作業方法

この作業を実行するには，あらかじめ新規ノードをクラスタ内で構成しておく必要があります。クラスタ内での新規ノードの構成方法については，『Compaq OpenVMS Cluster システム』を参照してください。

1. 第 27.2 節 のガイドラインを使用して，新規ノードのトランザクション・ログのサイズと格納場所を決定する。ディスクにはログを格納するのに十分な連続領域が存在する必要がある。

2. トランザクション・ログを作成するディスクが，クラスタ全体でマウントされていることを確認する。

3. 新規トランザクション・ログを作成するディレクトリを決定する。必要であれば，トランザクション・ログ専用のディレクトリを作成することもできる。

4. SYS$JOURNAL に新しいノードのトランザクション・ログを格納するディレクトリが定義されていることを確認する。定義されていない場合は，SYSMAN を使用して SYS$JOURNAL をクラスタ全体で再定義する。

       DO DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL ディレクトリ指定 [,...]

   ディレクトリ指定 は，トランザクション・ログを格納するディレクトリの完全指定である。トランザクション・ログを含むすべてのディレクトリ (新規ノードのトランザクション・ログを作成するディレクトリも含める) を指定する。ディレクトリの指定順序は自由である。

5. ステップ 4 で SYS$JOURNAL を再定義した場合は，
   SYS$MANAGER:SYLOGICALS.COM コマンド・プロシージャを変更して SYS$JOURNAL 定義を更新する。
   ノード固有の SYLOGICALS.COM を作成した場合は，すべての
   SYLOGICALS.COM を変更する。

6. LMCP の CREATE LOG コマンドを使用してトランザクション・ログを作成する。

       CREATE LOG [/SIZE= サイズ ] ディレクトリ指定 SYSTEM$ ノード .LM$JOURNAL

   サイズ | トランザクション・ログのサイズを示すブロック数。省略時の設定では4000 ブロック。
   ディレクトリ指定 | トランザクション・ログを作成するディレクトリの完全指定。
   ノード | 新しいノードの名前。

例

この例は，SCSNODE 名が WHITE である新規ノードで，トランザクション・ログを作成する方法を説明したものです。

この例では，クラスタ・メンバおよびそのトランザクション・ログの格納場所は次のとおりです。

ノード | ログを格納するディレクトリ
--- | ---
BLUE | DISK$LOG3:[LOGFILES]
RED | DISK$LOG2:[LOGFILES]

どちらのノードもノード固有の SYLOGICALS.COM は持っていません。

WHITE のトランザクション・ログのサイズと格納場所を決定します。

ノード | ログのサイズ (ブロック数) | ディスク
--- | --- | ---
WHITE | 5000 | DUA4

DUA4 をクラスタ全体でマウントします。

     MOUNT/CLUSTER/SYSTEM DUA4: LOG4

トランザクション・ログ用のディレクトリを作成します。

    $ CREATE/DIRECTORY DISK$LOG4:[LOGFILES]

SYS$JOURNAL を再定義します。

    $ RUN SYS$SYSTEM:SYSMAN
    SYSMAN> SET ENVIRONMENT/CLUSTER
    SYSMAN> DO DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL -
    _SYSMAN> DISK$LOG2:[LOGFILES], DISK$LOG3[LOGFILES], DISK$LOG4:[LOGFILES]
    SYSMAN> EXIT

SYS$MANAGER:SYLOGICALS コマンド・プロシージャを編集して， SYS$JOURNAL 定義を更新します。次にトランザクション・ログを作成します。

    $ RUN SYS$SYSTEM:LMCP
    LMCP> CREATE LOG/SIZE=5000 DISK$LOG4:[LOGFILES]SYSTEM$WHITE.LM$JOURNAL
    LMCP> EXIT

# 27.11 ノードの削除

この節では， DECdtm サービスを使用している場合にノードを削除する方法について説明します。

作業方法

スタンドアロン・マシンを使用している場合は，ステップ 1 〜 8 までだけを実行します。

重要 以下の手順で示すステップのすべてを実行してください。途中のステップを省略すると，データが壊れることがあります。

1. 削除したいノードにログインする。

2. DECdtm サービスを使用しているすべてのソフトウェアを終了する。

3. LMCP の DUMP/ACTIVE コマンドを使用して，ノードのトランザクション・ログに実行中のトランザクションが含まれているかどうかを確認する。

       DUMP/ACTIVE SYSTEM$ ノード .LM$JOURNAL

   ノードは削除したいノードの名前である。
   このコマンドはすべての実行中のトランザクションの詳細を表示する。最後の行には実行中のトランザクションの総数が表示される。

4. トランザクション・ログに実行中のトランザクションが含まれている場合は，以下のステップを実行する。

   1. DECdtm サービスを使用しているすべてのソフトウェアで復旧プロシージャを実行する。

   2. LMCP の DUMP/ACTIVE コマンドを使用して，ノードのトランザクション・ログに実行中のトランザクションがまだ含まれているかどうかを確認する。

   3. トランザクション・ログに実行中のトランザクションがまだ含まれている場合は，弊社のサポート担当者に連絡する。

5. SYS$JOURNAL を再定義し，削除したいノードのトランザクション・ログを格納しているディレクトリを削除する。ただし，ディレクトリに他のトランザクション・ログが含まれている場合を除く。

       DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL
       ディレクトリ指定 [,...]

   ここで，ディレクトリ指定 は 1 つまたは複数のトランザクション・ログを含むディレクトリの完全指定。削除したいノードのトランザクション・ログを含むディレクトリだけでなく，トランザクション・ログを格納するすべてのディレクトリを指定する。ディレクトリの指定順序は自由である。
   クラスタの場合は，SYSMAN を使用して SYS$JOURNAL をクラスタ全体で再定義する。

6. ステップ 5 で SYS$JOURNAL を再定義した場合は，コマンド・プロシージャ SYS$MANAGER:SYLOGICALS.COM の SYS$JOURNAL の定義を更新する。
   独自の SYLOGICALS.COM を使用しているノードがある場合は，そのようなノードのすべてでコマンド・プロシージャを更新する。

7. トランザクション・ログを保管する。

8. ノードをシャットダウンする。

9. DECdtm サービスを使用するソフトウェアを再起動する。

10. クラスタを再構成してノードを削除する。
    クラスタの再構成に関しては，『Compaq OpenVMS Cluster システム』を参照。

例

この例は，ノード BLUE の削除方法を示しています。クラスタ・メンバおよびトランザクション・ログの格納場所を次のように想定しています。

ノード | ログを格納するディレクトリ
--- | ---
BLUE | DISK$LOG3:[LOGFILES]
RED | DISK$LOG2:[LOGFILES]
WHITE | DISK$LOG4:[LOGFILES]

どのノードもノード固有の SYLOGICALS.COM コマンド・プロシージャは持っていません。

ノード BLUE にログインします。

DECdtm サービスを使用しているすべてのソフトウェアを終了します。 BLUE のトランザクション・ログに実行中のトランザクションが含まれているかどうかを確認します。

    $ RUN SYS$SYSTEM:LMCP
    LMCP> DUMP/ACTIVE SYSTEM$BLUE.LM$JOURNAL
    Dump of log file DISK$LOG3:[LOGFILES]SYSTEM$BLUE.LM$JOURNAL
       .
       .
       .
    Total of 0 transactions active, 0 prepared and 0 committed.
    LMCP> EXIT

SYS$JOURNAL を再定義します。

    $ RUN SYS$SYSTEM:SYSMAN
    SYSMAN> SET ENVIRONMENT/CLUSTER
    SYSMAN> DO DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL -
    _SYSMAN> DISK$LOG2:[LOGFILES], DISK$LOG4:[LOGFILES]
    SYSMAN> EXIT

SYS$MANAGER:SYLOGICALS.COM コマンド・プロシージャを編集してSYS$JOURNAL 定義を更新します。

BLUE のトランザクション・ログを保管し，ノード BLUE をシャットダウンします。

    $ @SYS$SYSTEM:SHUTDOWN.COM
       .
       .
       .
    Should an automatic system reboot be performed [NO]? NO

DECdtm サービスを使用するソフトウェアを再起動します。その後，クラスタを再構成します。

    $ @SYS$STARTUP:CLUSTER_CONFIG.COM
           Cluster Configuration Procedure

                1. ADD a node to a cluster.
                2. REMOVE a node from the cluster.
                3. CHANGE a cluster member's characteristics.
                4. CREATE a duplicate system disk for BLUE.

        Enter choice [1]: 2
       .
       .
       .
     Updating network database...
     The configuration procedure has completed successfully.

# 27.12 DECdtm サービスの停止

省略時の設定では，システムをブートすると DECdtm サービスが自動的に開始され，トランザクション・ログが 1 つ見つかるまで DECdtm プロセスTP_SERVER がチェックします。

DECdtm サービスを利用するソフトウェアを現在使用しないか，使用する予定がない場合は，DECdtm サービスを停止します。これでメモリと CPU 時間を節約することができます。

OpenVMS Cluster 内ではすべてのノードで DECdtm サービスを停止します。

作業方法

1. 各ノードで以下を実行する。

   1. ノードにログインする。

   2. LMCP の CLOSE LOG コマンドを使用して TP_SERVER プロセスを停止する。

          $ RUN SYS$SYSTEM:LMCP
          LMCP> CLOSE LOG

      CLOSE LOG コマンドは，どのソフトウェアも DECdtm サービスを使用していなければ， TP_SERVER プロセスを終了する。
      CLOSE LOG コマンドが実行されなかった場合は作業を中断する。クラスタ・システム内の別のノードで TP_SERVER プロセスの終了を完了している場合は， SYS$STARTUP:DECDTM$STARTUP.COM コマンド・プロシージャを使用してそのプロセスを再起動する。

2. 次の行をSYS$MANAGER:SYLOGICALS.COM コマンド・プロシージャに追加する。

       $ !
       $ DEFINE/SYSTEM/EXECUTIVE_MODE SYS$DECDTM_INHIBIT yes
       $ !

   固有の SYLOGICALS.COM を使用しているノードがある場合は，そのすべてのプロシージャを変更する。
   これにより TP_SERVER プロセスは，システムの次回のブート時から作成されなくなる。

# 27.13 DECdtm サービスの開始

ここで示す作業が必要になるのは，DECdtm サービスをいったん停止した後， DECdtm サービスを利用するソフトウェアを実行するようになった場合だけです。

作業方法

1. 論理名 SYS$DECDTM_INHIBIT の指定を解除する。

       $ DEASSIGN/SYSTEM/EXECUTIVE_MODE SYS$DECDTM_INHIBIT

   OpenVMS Cluster 環境では，SYSMAN を使用してSYS$DECDTM_INHIBIT をクラスタ全体で指定解除する。

2. DECdtm サービス・プロセス TP_SERVER を起動する。

       $ @SYS$STARTUP:DECDTM$STARTUP.COM

   OpenVMS Cluster 環境では， SYSMAN を使用して TP_SERVER プロセスをクラスタ全体で起動する。

3. コマンド・プロシージャ SYS$MANAGER:SYLOGICALS.COM から， SYS$DECDTM_INHIBIT の定義を削除する。これにより，次回のブート時から DECdtm サービスが自動的に起動されるようになる。

例

この例は，DECdtm サービスをクラスタ環境で開始する方法を説明しています。

SYS$DECDTM_INHIBIT の指定を解除してから TP_SERVER プロセスを起動します。

    $ RUN SYS$SYSTEM:SYSMAN
    SYSMAN> SET ENVIRONMENT/CLUSTER
    SYSMAN> DO DEASSIGN/SYSTEM/EXECUTIVE_MODE SYS$DECDTM_INHIBIT
    SYSMAN> DO @SYS$STARTUP.DECDTM$STARTUP.COM
    SYSMAN> EXIT

SYS$MANAGER:SYLOGICALS.COM コマンド・プロシージャを編集してSYS$DECDTM_INHIBIT 定義を削除します。

前へ | 次へ | 目次 | 索引