ヘッダーをスキップ
Oracle Databaseプラットフォーム共通日本語README
11g リリース2(11.2)
B56292-13
  目次
目次

前
 
次
 

Oracle Cluster File System README

原典情報: $ORACLE_HOME\cfs\ReadMe.txt


目次

Oracle Cluster File Systemのコンポーネント

インストール

OCFSのアンインストール

OCFSの概念と使用方法


Oracle 11g OCFSリリース・ノートfor 32-bit Windows

これらのリリース・ノートは、Oracle 11g OCFSリリースfor 32-bit Windowsに付随しています。

Oracle Cluster File Systemのコンポーネント

この製品のこのパッケージでは、次のファイルが更新され、ocfsディレクトリにあるパッチに格納されています。

カーネル・モード

Ocfs.sys.2k
Windows 2000/2003用のOCFSファイル・システム・ドライバ。

ユーザー・モード

OcfsChangeCommIf.exe
OCFSで使用する通信インタフェースを変更するためのユーティリティ。

OcfsChangeMountPoint.exe
クラスタ全体でOCFSボリュームに対して使用するドライブ文字を変更するためのユーティリティ。

OcfsFindVol.exe
クラスタ全体で一貫性のあるドライブ文字を提供するためのWindowsサービス。 OCFSへのOracleホームのインストール時に、通信インタフェースを検出して、ノード固有のファイルを作成します。

ocfsformat.exe
OCFSボリュームを作成するためのユーティリティ。

OcfsOui.bat
Oracleホームのインストール中にOcfsFindVol.exeによってコールされるbatファイル。

OcfsInstall.exe
OCFSドライバを任意のノードにインストールするためのユーティリティ。

OcfsUtil.exe
ノード固有のファイルの作成、ClusterNameの変更、ボリュームのメンバーシップの出力、ボリュームのディスマウント、ボリュームのオンライン/オフラインなどを実行するユーティリティ。

スタンドアロン・インストール

この項は、次の各項で構成されています。

OcfsInstall.exeの使用

このツールを使用して、Windows 2000の任意のクラスタ・ノードにOCFSを設定できます。 ClusterSetupとは異なり、このツールは各ノードで実行する必要があります。 このツールでは、他のOracle Clusterwareやデータベース・ソフトウェアを設定せずにOCFSのみを設定できます。 また、プライマリ・パーティションまたは論理ドライブを使用して、OCFSをOCFSボリュームとして設定できます。 この方法で設定した場合、OCFSのインストールをより柔軟に実行できますが、その反面、手動による手順が増え、Oracle ClusterwareおよびWindows 2000の操作に関する知識が必要になります。

OcfsInstall.exeを使用してインストールする手順は、次のとおりです。

  1. このパッケージ内のバイナリをローカル・ディレクトリに抽出します。

  2. Disk Administratorを使用してプライマリ・パーティションまたは論理ドライブを作成し、共有ディスク上でドライブ文字(o:など)を割り当てます。 このパーティションがすべてのノードで表示可能であることを確認してください。 また、パーティションはNTFSまたはFATを使用してフォーマットしないでください。

  3. 次のコマンドを実行します。

    OcfsFormat /l o: /c 4 /f
    

    任意の1つのノード上で実行します。

作成するOCFSボリュームの数に応じて、手順1〜2を繰り返します。 ORACLE_HOME用、データファイル用およびアーカイブ・ログ用には、別々のボリュームを使用することをお薦めします。 つまり、ORACLE_HOME用およびデータファイル用にOCFSを使用する場合は、2つのボリュームを作成します。 さらに、アーカイブ・ログ用にもOCFSを使用する場合は、3つのボリュームを使用します。 ORACLE_HOMEボリュームのサイズは、最低5GBが必要です。 ただし、このボリュームで生成されるトレース・ファイルなどのファイルを格納できるように、これよりも大きいサイズにすることをお薦めします。 データファイル・ボリュームおよびアーカイブ・ログ・ボリュームのサイズは、データベースのサイズによって決まります。

  1. 各ノードで次の操作を実行します。
    ディレクトリ%systemroot%\system32\osd11g\cfsを作成します。
    OCFSパッケージ内のすべてのファイルを%systemroot%\system32\osd11g\cfs\にコピーします。

  2. コマンド・ウィンドウから次のコマンドを実行します。
    cd %systemroot%\system32\osd11g\cfs\
    OcfsInstall.exe /y
    これにより、OCFSドライバがインストールされて起動します。 この操作はクラスタの各ノードで実行する必要があります。

  3. コマンド・ウィンドウから次のコマンドを実行します。
    cd %systemroot%\system32\osd11g\cfs\

コマンドOcfsFindVol /i:c:\winnt\system32\osd11g\cfs\ocfsfindvol.exeを実行して、OracleClusterVolumeServiceサービスを作成します(%systemroot%が異なる場合はc:\winntを置き換えてください)。 この操作はクラスタの各ノードで実行する必要があります。

コマンドの発行

net start OracleClusterVolumeService
OracleClusterVolumeServiceサービスを起動します。 この操作はクラスタの各ノードで実行する必要があります。

  1. これで、すべてのノードからOCFSボリュームにアクセスできるようになります。
    別のボリュームをフォーマットするには、ocfsformatを使用して、別のパーティションを作成してフォーマットします。

OCFSのアンインストール

OCFSドライバおよびOCFSソフトウェア・ユーティリティを削除するには、次の手順を実行する必要があります。

注意: ここで説明する手順は、単一のOCFSボリュームを削除する手順ではありません。 任意のOCFSボリュームを削除する場合は、このREADMEの「OCFSの概念と使用方法」にある「OCFSボリュームのディスマウント」を参照してください。 OCFSボリュームを削除するには、OcfsUtilを使用します。

OracleClusterVolumeServiceの停止および削除

コマンド・プロンプトから次のコマンドを実行します。

net stop OracleClusterVolumeService
cd %systemroot%\system32\osd11g\cfs
ocfsFindVol /r

OcfsFindVol /rコマンドにより、Service Control Managerおよびレジストリから OracleClusterVolumeServiceが削除されます。
OCFSユーティリティ・バイナリを削除するには、次のコマンドを実行します。

cd %systemroot%\system32\osd11g\cfs
del *.*

OCFSドライバの削除

  1. コマンド・プロンプトから次のコマンドを実行します。

    cd %systemRoot%\system32\osd11g\cfs
    OcfsInstall.exe /r
    

    このコマンドにより、OCFSドライバ・サービスおよび%systemRoot%\system32\driversディレクトリ内のocfs.sysファイルが削除され、再起動を要求されます。 ocfs.sysはファイル・システム・ドライバで、動的にアンロードされないため停止できません。このため、再起動が必要になります。

  2. ノードを再起動します。

OCFSの概念と使用方法

OCFSは、Oracleバイナリやデータベース・ファイルを格納するのに使用するクラスタ・ファイル・システムです。 データベース・ファイル用とバイナリ用に別々のボリュームを使用することをお薦めします。 次の使用方法は、OCFSでプライマリ・パーティションと拡張パーティションの両方を使用できるユーザーが陥りやすい失敗を回避するためのガイドラインです。 ただし、clustersetupなどの一部のツールはプライマリ・パーティションを処理できないため、このようなツールを使用してOCFSボリュームをプライマリ・パーティションに作成することはできません。 プライマリ・パーティションをOCFSボリュームとして使用するには、OcfsFormatツールを使用する必要があります。 各ディスクに1つのパーティションを作成し、パーティションのサイズは1GB以上にすることをお薦めします。

OCFSボリュームのマウント

UNIXおよびその派生オペレーティング・システムとは異なり、Windowsではファイル・システムがあるすべてのボリュームの自動マウントが実行されます。 ファイル・システムがない特定のパーティションをファイル・システム管理下にマウントするには、そのファイル・システムで提供されているツールを使用して、パーティションをフォーマットする必要があります。 OcfsFormat.exeは、パーティションをOCFSファイル・システム管理下にマウントするためにパーティションをフォーマットするツールです。 OcfsFormatの使用方法は次のとおりです。
使用方法: OcfsFormat /l <linkName> /c <ClusterSize in KB> /v <Volume Label> /f
    /l リンク名。リンク名はこのファイル・システムのマウント・ポイントで、NT 4.0のみドライブ文字が使用されます。
    /c クラスタのサイズ(KB単位)。
    /v ボリューム・ラベル。
    /f フォーマットをボリュームに強制的に適用します。

OCFSボリュームを設定するには、パーティションを作成し、ディスク管理GUIを使用してドライブ文字を割り当てる必要があります。 その後に、OcfsFormatを使用してパーティションをフォーマットできます。 OcfsFormatツールの実行が完了すると、パーティションはOCFSボリュームになり使用可能となります。 このツールは任意のノードで実行する必要があり、実行後にボリュームはクラスタ全体で使用可能になります。 OcfsFormatによって、HKEY_LOCAL_MACHINE\Software\Oracle\Osd9i\Cm\ClusterNameに格納されたクラスタ名の値が検出され、このクラスタ名で作成された各ボリュームにスタンプが付けられます。 ファイル・システム・ドライバでは、この名前を使用して、このノードにボリュームをマウントする必要があるかどうかを識別します。

たとえば、パーティションにドライブ文字としてo:が割り当てられた場合は、次のように指定します。
OcfsFormat /l o: /c 4
これにより、o:はOCFSボリュームを示します。

割当てサイズ

OcfsFormatでは、割当てサイズまたはクラスタ・サイズのパラメータを指定します。 このパラメータを使用して、OCFSボリュームの割当ての単位が判別されます。 このバージョンからは、ツールがボリュームの大きさに基づいて割当てサイズを自動的に決定します。

OCFSボリュームのディスマウント

OCFS 9204バージョンから、クラスタ全体でOCFSボリュームをディスマウントするには、OcfsUtilユーティリティ(サポートされている場合)を使用します。 ディスマウントのコマンドを使用すると、OCFSボリュームは破棄され(元に戻せません)、使用可能なパーティションに再度戻ります。 ディスマウントのコマンドを使用する場合は、ディスマウントするOCFSボリュームを現在使用しているすべてのアプリケーションを停止してください。 任意のノードから、次のコマンドを発行します。
OcfsUtil /c DismountVol / m o:

o:はディスマウントするOCFSボリュームです。

使用方法:
OcfsUtil /c DismountVol /m <VolumeMountPoint>
これにより、マウント・ポイント<VolumeMountPoint>(o:など)を持つボリュームを現在使用しているすべてのノードで、現在のボリュームがディスマウントされます。
コマンドが完了すると、ボリュームはクラスタ内のすべてのノードで使用不可になります。 そのボリューム上のデータはすべて破棄されます。 その結果、Ocfsformatを使用して、同じパーティションから新しいボリュームを作成できるようになります。

OCFSボリュームのオンラインとオフライン

前述したように、DismountVolコマンドを使用すると、OCFSボリューム上のデータは破棄されます。 データを保持したまま、ボリュームにアクセスできないようにする場合は、オフライン・コマンドを使用します。 オフラインには、クラスタ全体のオフライン(すべてのノードから対象のOCFSボリュームにアクセスできなくなる)、または1つのノードのみのオフライン(コマンドが実行されるノードからのみ、対象のOCFSボリュームにアクセスできなくなる)があります。

ボリュームをオンラインまたはオフラインにするコマンドは、OcfsUtilで使用します。

OcfsUtil /c OfflineVol  /m <VolumeMountPoint> </o>

マウント・ポイント(o:など)を持つボリュームを現在 使用しているすべてのノードで、現在のボリュームがオフラインになります。 /oオプションを使用すると、このノードのみがオフラインになります。

OcfsUtil /c OnlineVol  /m <VolumeMountPoint> </o>

マウント・ポイント(o:など)を持つボリュームを現在 使用しているすべてのノードで、現在のボリュームがオンラインになります。 /oオプションを使用すると、このノードのみがオンラインになります。

クラスタ内のすべてのノードで特定のOCFSボリュームをオフラインにするには、そのボリュームがマウントされている1つのノードから次のコマンドを発行します。

OcfsUtil /c OfflineVol /m o:

o:はボリュームがマウントされているドライブ文字です。

前述のコマンドを使用してクラスタ内でオフラインにされたOCFSボリュームをオンラインにするには、次のコマンドを発行します。

OcfsUtil /c OnlineVol  /m o:

o:はボリュームがマウントされたドライブ文字です。

注意: オンラインが発行される前は、o:にファイルまたはディレクトリは表示されません。 オフラインにされたボリュームのドライブ文字が存在しない場合は、ディスク管理を使用してドライブ文字を割り当てる必要があります。

OCFSボリュームのフラッシュ

OCFSでは、データとメタデータの両方がキャッシュされます。 アプリケーションでOCFSボリューム(複数可)をバックアップする場合は、データがディスク上に存在することを確認する必要があります。 クラスタ全体ですべてのキャッシュ済メタデータをフラッシュするには、次のコマンドを使用します。
OcfsUtil /c FlushVol /m o:
o:はボリュームがマウントされているドライブ文字です。

このコマンドにより、マウント・ポイントo:を持つボリュームのすべてのキャッシュ済メタデータが、そのボリュームがマウントされているすべてのノードからディスクへ書き込まれます。

OCFSボリュームのマウント・ポイントの変更

OracleClusterVolumeServiceは、OCFSボリュームで使用するドライブ文字をクラスタ全体で一貫性があるように設定する、ユーザー・モードのWindowsサービスです。 たとえば、OcfsFormat /l o: /c 4を使用してパーティションをフォーマットすると、使用されたドライブ文字はOCFSボリューム・メタデータの一部として格納されます。 OracleClusterVolumeServiceはクラスタ内でOCFSを使用するすべてのノードで実行され、新しいボリュームが特定のノードにマウントされるたびにトリガーされて、クラスタ全体で一貫性のある適切なマウント・ポイント(o:など)をそのボリュームに割り当てます。 OCFSボリュームのマウント・ポイントを変更する必要がある場合は、次のコマンドを使用してタスクを実行します。

OcfsChangeMountPoint /m <VolumeMountPoint> /n <new VolumeMountPoint>
OcfsChangeMountPointにより、クラスタ内のすべてのノードで、OCFSボリュームに関連付けられたマウント・ポイントが変更されます。
<VolumeMountPoint>はボリュームの現在のマウント・ポイント(o:など)です。
<new VolumeMountPoint>はOCFSボリュームの新しいボリューム・マウント・ポイント(w:など)です。
したがって、現在はo:としてアクセス可能な既存のOCFSボリュームのマウント・ポイントをw:に変更するには、次のコマンドを発行します。
OcfsChangeMountPoint /m o: /n w:

OCFSボリュームのデフォルト通信インタフェースの変更

OCFSでは、クラスタ内の別のノードからのデータおよびメタデータへのアクセスをシリアライズするために、ノード間で通信を行う必要があります。 これを行うために、OCFSではUDPおよびディスク・ベースのロックの両方を使用します。
OracleClusterVolumeServiceでは、ノードへの通信に使用できるインタフェースを検出し、OCFSレジストリの次のキーに移入します。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Ocfs\Parameters\Comm(n)
nは0〜2の数字です。
したがって、3つのネットワーク・カードが検出された場合は、次の3つのキーを検出できます。
HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\Ocfs\Parameters\Comm0
HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\Ocfs\Parameters\Comm1
HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\Ocfs\Parameters\Comm2
また、HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\Ocfs\Parameters\NumIpcの値は3になります。

OCFSでは、いずれかのネットワークを通信用の優先インターコネクト、つまりプライマリ・インターコネクトとして使用できます。 プライマリ・インターコネクトが失敗した場合は、他のインターコネクト(ある場合)を使用して通信が行われます。さらに、すべてのネットワーク・インタフェースが停止した場合は、ディスク・ベースのロックを使用してOCFSボリュームへのアクセスが調整されます。
通信用のプライマリ・ネットワーク・インタフェースを表示または変更するには、次のコマンドを使用します。

OcfsChangeCommIf /p /c

/p OCFSで構成されている現在の通信インタフェースを出力します。 /c プライマリ通信インタフェースを変更します。

アーカイブ

アーカイブ用に使用するOCFSボリュームは、データファイル用とは別のボリュームにすることをお薦めします。
新しいOCFSボリュームを作成するには、OcfsFormatを使用します。
ClusterName
ClusterNameは、次の場所にあるレジストリに格納される値です。
HKEY_LOCAL_MACHINE\Software\Oracle\Osd9i\Cm\ClusterName

この値に有効な文字列を設定すると、OcfsFormatでその文字列が取得され、このClusterNameを使用して作成される各ボリュームにスタンプが付けられます。

したがって、あるClusterNameを使用して作成されたボリュームには、レジストリ内にある別のClusterNameを持つノードからはアクセスできません。

ClusterNameは、同じハードウェア記憶域ネットワーク内で仮想共有記憶域を分離できるように設計されています。

障害時リカバリ・ノードでのOCFSの設定

障害時リカバリ・ノードから製品ノード上のボリューム設定を参照できるようにするには、CMレジストリにあるClusterNameキーが製品ノードと同じである必要があります。

この値は次の場所に格納されています。
HKEY_LOCAL_MACHINE\Software\Oracle\Osd9i\Cm\ClusterName

注意: この値のみが必要な場合は、CMを実行する必要はありません。

また、すべてのノードからボリュームにアクセスできるようにするには、OcfsUtilを使用してボリュームのClusterNameを変更します。

OcfsUtil /c ChangeClusterName /m <driveLetter> /n ""

これで、すべてのノードからボリュームにアクセスできるようになります。

すべてのノードでOCFSドライバを実行した場合、クラスタ全体のディスマウント、クラスタ全体のオンライン/オフライン、およびノードごとのオンライン/オフラインの機能があります。

次に実行する手順は次のとおりです(ここでは、o:をバックアップするボリュームとします)。

  1. バックアップを作成します。

  2. 新規のOcfsUtilを使用して、このノードのみ(3番目のノード)からボリュームをオフラインにします。

    OcfsUtil /c OfflineVol /m o: /o

  3. ボリュームを再同期化します。

  4. 新規のOcfsUtilを使用して、このノードのみ(3番目のノード)からボリュームをオンラインにします。

    OcfsUtil /c OnlineVol /m o: /o

注意: このリビジョンのドライバで現在サポートされているノードの最大数は32です。
Oracle 11g OCFSリリース・ノートfor 32-bit Windows