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


前へ 次へ 目次 索引



第 27 章
DECdtm サービスの管理

本章では,DECdtm サービスを利用するソフトウェア(たとえば ACMS,Oracle Rdb, RMS Journaling など) を実行するときに必要な作業を説明します。

注意

OpenVMS Alpha システムでは, DECdtm サービスがマルチスレッド環境で使用されると,予測できない結果が生じる場合があります。DECdtm が実行する処理の多くでは,呼び出しプロセスのコンテクストを使用するため,初期スレッド以外のカーネルスレッド内の DECdtm サービスを呼び出さないでください。

本章の内容

本章では次の作業について説明します。

作業 参照箇所
トランザクション・ログの計画 第 27.2 節
DECnet-Plus ネットワークの計画 第 27.3 節
トランザクション・ログの作成 第 27.4 節
トランザクション性能の監視 第 27.5 節
トランザクション・ログのサイズが十分かどうかのチェック 第 27.6 節
トランザクション・ログのサイズの変更 第 27.7 節
トランザクション・ログの移動 第 27.8 節
ディスクのディスマウント 第 27.9 節
ノードの追加 第 27.10 節
ノードの削除 第 27.11 節
DECdtm サービスの停止 第 27.12 節
DECdtm サービスの開始 第 27.13 節
XA Gateway の使用 (Alpha のみ) 第 27.14 節

図 27-1 は,DECdtm サービスの管理のためのフローチャートです。このチャートから実際に必要な作業と,その作業の順序を知ることができます。

さらに,次の項目について説明します。

項目 参照箇所
トランザクション・ログについて 第 27.1 節
トランザクション・グループについて 第 27.3.2.2 項

図 27-1 DECdtm サービスの管理


27.1 トランザクション・ログについて

トランザクション・ログとは,あるノード上で行われた DECdtm トランザクションに関する情報を格納するファイルのことです。ファイルのタイプは .LM$JOURNAL です。

任意のノードで DECdtm トランザクションを実行する場合は,そのノードに対してトランザクション・ログを作成しておく必要があります。 OpenVMS Cluster では,クラスタ内の各ノードでトランザクション・ログを作成します。ログ・マネージャ制御プログラム (LMCP) ユーティリティを使用して,トランザクション・ログの作成と管理を行います。

DECdtm サービスでは,トランザクション・ログの格納場所は論理名 SYS$JOURNAL によって判断されます。トランザクション・ログを含むディレクトリを指すように,SYS$JOURNAL に定義する必要があります。

27.2 トランザクション・ログの計画

トランザクション・ログのサイズと格納場所は,トランザクションの性能に影響を及ぼします。トランザクション・ログを作成する前に,そのサイズと格納場所を決定してください。

トランザクション・ログのサイズと格納場所は,作成した後でも変更することができます。しかし,この段階でログの格納場所とサイズについて十分に検討しておくと,後になって変更する負担が少なくてすみます。

この節では次の作業について説明します。

作業 参照箇所
トランザクション・ログのサイズの決定 第 27.2.1 項
トランザクション・ログの格納場所の決定 第 27.2.2 項

27.2.1 トランザクション・ログのサイズの決定

トランザクション・ログを作成する場合は,そのサイズをブロック単位で指定することができます。省略時のサイズは 4,000 ブロックです。この値に設定すれば,ほとんどのシステムで十分な性能を得ることができます。

トランザクションの平均発生数が予想できる場合,トランザクション・ログのサイズは以下の計算式で求めることができます。

サイズ = 40 * 平均発生数

サイズ トランザクション・ログのサイズを示すブロック数
平均発生率 1 秒あたりに実行されるトランザクション数の平均

トランザクションの平均発生数が分からない場合には,省略時の値の 4,000 ブロックを採用します。

27.2.2 トランザクション・ログの格納場所の決定

できれば,以下の属性を持つディスクに置いてください。

高速 ソリッド・ステート・ディスクのような高性能ディスクで,負荷の低いもの。
高可用性 データに複数のアクセス・パスを設定することによって高い可用性を実現することができる。

OpenVMS Cluster では,クラスタ内の別のノードからもアクセスできるディスクを使用する。1 つのノードがダウンした場合にも,別のノードで実行されているトランザクションはブロックされない。

高信頼性 データの複数のコピーを作成しておけば,高い信頼性を実現することができる。

シャドウ・ディスクは非シャドウ・ディスクよりも信頼性が高いが,トランザクション・ログがほぼ書き込み専用である分低速になる。

速度と可用性または信頼性のいずれかとの間で選択を行う必要があることがあります。たとえば,ノードがワークステーションの場合には,可用性と信頼性のために速度を犠牲にして,ワークステーションに接続されたディスクではなく,それより低速の HSC ベースのシャドウ・ディスク上にノードのトランザクション・ログを置く場合があります。

クラスタ環境では,できるだけトランザクション・ログを複数のディスクに分散させてください。 1 つのディスクに複数のトランザクション・ログが存在すると,トランザクションの性能が低下します。

注意

ディスクにトランザクション・ログを保持するための十分な連続領域があることを確認してください。トランザクション・ログの領域が連続していないと,トランザクション性能は低下します。

27.3 DECnet-Plus ネットワークの計画

この節では,DECnet-Plus ネットワークで DECdtm を使用する際に役立つ,次の情報についてまとめます。

27.3.1 DECnet-Plus ネームスペースの計画

DECdtm では,複数の DECnet-Plus ネームスペースをサポートしません。

つまり,DECdtm サービスを使用するソフトウェアを使用したい場合には,ローカル・ネームスペースと DECdns ネームスペースの両方を使用することはできません。

27.3.2 DCEnet-Plus ネットワークでの SCSNODE 名の計画

SCSNODE は,コンピュータの名前を定義するシステム・パラメータです。 DECnet-Plus ネットワークを使用しているときに,異なる OpenVMS Clusterまたは異なるスタンドアロン・コンピュータにまたがる DECdtm トランザクションを実行したい場合には,SCSNODE 名を選択する際に次の規則に従う必要があります。

27.3.2.1 SCSNODE 名に関する規則

DECnet-Plus ネットワークを使用していて,異なる OpenVMS Cluster または異なるスタンドアロン・コンピュータにまたがる DECdtm トランザクションを実行する場合には,SCSNODE 名が次の規則に従っているかどうかを確認する必要があります。

27.3.2.2 トランザクション・グループについて

トランザクション・グループとは, DECdtm トランザクションに関係するコンピュータのグループであり,その SCSNODE 名は, 第 27.3.2.1 項 で説明する規則に従わなければなりません。

トランザクション・グループは,次のガイドラインに従います。

図 27-2 は,トランザクション・グループの例を示しています。

図 27-2 トランザクション・グループ


この図で,9 台のコンピュータはすべて同じトランザクション・グループに属します。これは次の理由によります。

27.4 トランザクション・ログの作成

任意のノードで DECdtm サービスを利用する場合は,そのノードに対してトランザクション・ログを作成する必要があります。 OpenVMS Cluster 環境では,ノードごとにトランザクション・ログを作成します。

重要

トランザクション・ログの作成後にクラスタからノードを削除すると,データが破壊されることがあります。ノードを安全に削除する方法については, 第 27.11 節 を参照してください。

作業方法

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

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

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

  4. 次のようにトランザクション・ログのディレクトリを SYS$JOURNAL に定義する。


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

    ここで,ディレクトリ指定 は,作成する 1 つ以上のトランザクション・ログを格納するディレクトリの完全ファイル指定である。このとき,トランザクション・ログを格納するすべてのディレクトリを指定する必要がある。指定する順序は自由。
    クラスタ環境では,SYSMAN を使用して SYS$JOURNAL をクラスタ全体で定義する。

  5. コマンド・プロシージャ SYS$MANAGER:SYLOGICALS.COM に, SYS$JOURNAL の定義を追加する。
    独自の SYLOGICALS.COM を使用しているすべてのノードで同じ作業を行う。

  6. LMCP の CREATE LOG コマンドを使用して,ノードごとに 1 つのトランザクション・ログを作成する。


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

    サイズ トランザクション・ログのサイズを示すブロック数。サイズの指定を省略すると,トランザクション・ログのサイズは 4,000 ブロックになる。
    ディレクトリ指定 トランザクション・ログを格納するディレクトリの完全指定。
    ノード ノードの名前。

  7. DECdtm サービスを次のように開始する。

    手順 作業
    a. 論理名 SYS$DECDTM_INHIBIT が定義されているかどうかを調べる。
    $ SHOW LOGICAL SYS$DECDTM_INHIBIT
    
    b. SYS$DECDTM_INHIBIT の定義状態

    定義済み DECdtm サービスは停止される。 第 27.13 節 の指示に従ってDECdtm サービスを開始する。
    未定義 DECdtm サービスが開始される。


この例では,OpenVMS Cluster 内のノード (SCSNODE 名が BLUE および RED) にトランザクション・ログを作成する方法を示します。どちらのノードも,ノード固有のSYLOGICALS.COM を使用していないものとします。

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

ノード ログのサイズ (ブロック数) ディスク
BLUE 5000 DUA1
RED 4000 DUA2

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


$ MOUNT/CLUSTER/SYSTEM DUA1: LOG1
$ MOUNT/CLUSTER/SYSTEM DUA2: LOG2

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


$ CREATE/DIRECTORY DISK$LOG1:[LOGFILES]
$ CREATE/DIRECTORY DISK$LOG2:[LOGFILES]

SYS$JOURNAL を定義します。


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

コマンド・プロシージャSYS$MANAGER:SYLOGICALS.COM に以下の行を追加します。


$ ! 
$ DEFINE/SYSTEM/EXECUTIVE_MODE SYS$JOURNAL DISK$LOG1:[LOGFILES], - 
DISK$LOG2:[LOGFILES] 
$ ! 

トランザクション・ログを作成します。


$ RUN SYS$SYSTEM:LMCP
LMCP> CREATE LOG/SIZE=5000 DISK$LOG1:[LOGFILES]SYSTEM$BLUE.LM$JOURNAL
LMCP> CREATE LOG DISK$LOG2:[LOGFILES]SYSTEM$RED.LM$JOURNAL
LMCP> EXIT

DECdtm サービスが開始されたことを確認します。


$ SHOW LOGICAL SYS$DECDTM_INHIBIT
%SHOW-S-NOTRAN, no translation for logical name SYS$DECDTM_INHIBIT

SYS$DECDTM_INHIBIT が定義されていないため,DECdtm サービスが使用できます。

27.5 トランザクション性能の監視

負荷の増加など,システム構成を変更することでトランザクション性能に影響がでることがあります。毎月一度はノード上でトランザクションを監視し,トランザクション性能が低下していないことを確認してください。 OpenVMS Cluster 環境では,クラスタ内のすべてのノードでトランザクション性能を監視してください。

作業方法

  1. MONITOR ユーティリティの MONITOR TRANSACTIONS コマンドを使用してトランザクションを監視する。


    MONITOR TRANSACTION/SUMMARY[= ファイル指定 ] 
    /ENDING= 終了時刻 /NODE= ノード名 [,...] 
    

    ファイル指定 要約ファイルのファイル指定。トランザクションの情報は要約され,ここで指定したファイルに記録される。ファイル指定を省略すると,トランザクション情報は省略時のディレクトリの MONITOR.SUM に記録される。
    終了時刻 監視セッションを終了する時刻。
    ノード名 ノードの名前。 OpenVMS Clusterでは,クラスタ内のすべてのノードをリストする。


    最適な情報を得るためには,トランザクションの監視を 24 時間連続して行うこと。
    MONITOR TRANSACTION コマンドをコマンド・プロシージャに追加すれば,トランザクションの監視をバッチ・モードで行うことができる。
    MONITOR TRANSACTION コマンドについての詳細は,『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照。

  2. 要約ファイルを調査する。
    要約ファイルには,いくつかの異なるデータ項目の値が含まれている。各ノードについて,以下の項目に注目する。


    以上の値をメモしておく。

  3. 今回の監視セッションの結果を前回のセッションの結果と比較する。
    作業負荷が変化していなければ,トランザクションの発生数と実行時間はほとんど同じはずである。次のような場合は性能が低下していると考えられる。


    いくつかの監視セッションを通じて各値がどのように変化したかを調べる。 1 つの監視セッションから次の監視セッションの間に見られる変化は,システム上の作業負荷の変化が原因であることが考えられる。
    任意のノードでトランザクション性能が低下したと考えられる場合は,そのトランザクション・ログのサイズが十分かどうかチェックする ( 第 27.6 節 を参照)。
    トランザクション・ログのサイズが十分であるにもかかわらず,トランザクション性能が低下している場合は,システムのチューニングを検討する。システムのチューニングについての詳細は,『Guide to OpenVMS Performance Management』を参照。


この例では BLUE と RED の 2 つのノードを持つ OpenVMS Cluster のトランザクション性能を監視しています。

ノード BLUE と RED のトランザクションは 24 時間連続して監視します。


$ MONITOR TRANSACTION/SUMMARY=DISK$LOG1:[LOGFILES]TRANSACTIONS.SUM -
_$ /ENDING="+1-"/NODE=(BLUE,RED)

要約ファイルを調べます。


前へ 次へ 目次 索引