この章では,ASE (Available Server Environment) アプリケーションを TruCluster Server バージョン 5.1B に移行する方法を説明します。
シングル・インスタンス・アプリケーションの可用性とフェイルオーバ機構を維持するために,TruCluster Server では,CAA (Cluster Application Availability) サブシステムを提供します。TruCluster Server では,以前の TruCluster ソフトウェア製品でアプリケーションの高可用性機能を実現するために提供されていた ASE (Available Server Environment) ではなく,CAA を使用します。ただし,ASE の場合と違って,TruCluster Server のクラスタではストレージ・リソースを明示的に管理したり,高可用性アプリケーションに代わってファイル・システムをマウントしたりしてはなりません。クラスタ・ファイル・システム (CFS) とデバイス要求ディスパッチャで,ファイルとディスク・ストレージがクラスタ単位で利用できるようにします。
ASE の各種サービスを TruCluster Server に移行する前に,CAA について理解しておく必要があります。CAA の使用方法の詳細は,第 2 章を参照してください。
この章では,次の項目について説明します。
ASE と CAA の違い (5.1 節)
ASE サービスから TruCluster Server への移行の準備 (5.2 節)
ASE スクリプトの見直し (5.3 節)
IP 別名の使用とネットワーク・サービス (5.4 節)
ファイル・システムのパーティショニング (5.5 節)
CAA には,リソースの監視機能とアプリケーションの再起動機能があります。CAA では,TruCluster Available Server Software および TruCluster Production Server Software 製品のユーザ定義サービスと同じ種類のアプリケーション可用性が得られます。表 5-1
に,ASE サービスとそれに対応する TruCluster Server 製品の機能を対比して示します。
表 5-1: ASE サービスとそれに対応する TruCluster Server の機能
ASE サービス | ASE の説明 | TruCluster Server の対応する機能 |
ディスク・サービス (5.1.1 項) | 1 つ以上の高可用性ファイル・システム,AdvFS (Advanced File System) ファイルセット,または LSM (Logical Storage Manager) ボリューム。ディスク・ベースのアプリケーションも含まれる。 | クラスタ・ファイル・システム (CFS),デバイス要求ディスパッチャ,および CAA。 |
ネットワーク・ファイル・システム (NFS) サービス (5.1.2 項) | 1 つ以上の高可用性ファイル・システム,AdvFS ファイルセット,またはエクスポートされた LSM ボリューム。高可用性アプリケーションも含まれる。 | CFS と省略時のクラスタ別名により,エクスポートされたファイル・システムに対し自動的に提供される。 サービス定義は必要ない。 |
ユーザ定義サービス (5.1.3 項) | 処理スクリプトを使ってフェイルオーバさせるアプリケーション。 | CAA |
DRD (Distributed Raw Disk) サービス (5.1.4 項) | raw 物理ディスクへのクラスタ単位のアクセスによって,ディスク・ベースのユーザ・レベル・アプリケーションをクラスタ内で動作させる機能。 | デバイス要求ディスパッチャによって自動的に提供される。 サービス定義は必要ない。 |
テープ・サービス (5.1.5 項) | NetWorker サーバや他のサーバのフェイルオーバを構成するのに,1 つ以上のテープ装置のセットに依存する。 | CFS,デバイス要求ディスパッチャ,および CAA |
以降の各項では,これらの ASE サービスについて説明し,これらを TruCluster Server 環境でどのように扱うかを示します。
5.1.1 ディスク・サービス
ASE
ASE ディスク・サービスには,1 つ以上の高可用性ファイル・システム,AdvFS (Advanced File System) ファイルセット,または LSM (Logical Storage Manager) ボリュームが含まれます。ディスク・サービスにディスク・ベースのアプリケーションを含めて,ASE 内で管理することもできます。
TruCluster Server
TruCluster Server には,明示的なディスク・サービスはありません。クラスタ・ファイル・システム (CFS) を使用すると,すべてのファイル・ストレージをすべてのクラスタ・メンバから利用できます。また,デバイス要求ディスパッチャにより,ディスク・ストレージがクラスタ単位で利用できるようになります。ファイル・システムとディスクがクラスタ全体で利用可能になるので,処理スクリプトの中で明示的にそれらをマウントしたりフェイルオーバさせる必要はありません。CFS の使用方法についての詳細は,『クラスタ管理ガイド』および
cfsmgr
(8) を参照してください。
CAA を使用して,ディスク・サービスの再配置ポリシと依存関係を定義します。CAA に慣れていない場合は,第 2 章を参照してください。
ディスク・サービスでは,クライアントからのアクセスのために,クラスタ別名と IP 別名のいずれかを使用するように定義することができます。
5.1.2 NFS サービス
ASE
ASE のネットワーク・ファイル・システム (NFS) サービスには,1 つ以上の高可用性ファイル・システム,AdvFS ファイルセット,またはデータの高可用性を実現するためにメンバ・システムがクライアントにエクスポートした LSM ボリュームが含まれます。また,NFS サーバには高可用性アプリケーションを含めることもできます。
TruCluster Server
TruCluster Server には明示的な NFS サービスはありません。NFS サーバとして構成すると,TruCluster Server のクラスタは,エクスポートしたファイル・システムに対して高可用性アクセスを提供します。CFS では,すべてのファイル・ストレージはすべてのクラスタ・メンバから利用できます。ファイル・システムを,処理スクリプトの中でマウントする必要はありません。スタンドアロン・サーバで定義するのと同様に,サービスされる NFS ファイル・システムを
/etc/exports
ファイル内に定義します。
リモート・クライアントでは,クラスタからエクスポートされた NFS
ファイル・システムを,省略時のクラスタ別名または代替クラスタ別名を使ってマウントすることができます。
exports.aliases
(4)5.1.3 ユーザ定義サービス
ASE
ASE のユーザ定義サービスは,処理スクリプトを使ってフェイルオーバさせたいアプリケーションだけからなります。ユーザ定義サービス内のアプリケーションでは,ディスクを使うことができません。
TruCluster Server
ASE では,高可用性インターネット・ログイン・サービスは,ifconfig
を発行するユーザ定義の起動スクリプトと停止スクリプトを設定することにより実現していました。TruCluster Server では,ログイン・サービスを作成する必要はありません。クライアントは,省略時のクラスタ別名を使ってクラスタにログインすることができます。CFS により,ディスク・アクセスがすべてのクラスタ・メンバで利用できるようになります。
CAA を使用して,ユーザ定義サービスのフェイルオーバ・ポリシ,再配置ポリシおよび依存関係を定義します。CAA に慣れていない場合は,第 2 章を参照してください。
5.1.4 DRD サービス
ASE
ASE の DRD (Distributed Raw Disk) サービスは,raw 物理ディスクへのクラスタ単位のアクセスを提供します。ディスク・ベースのユーザ・レベル・アプリケーションは,依存している物理ストレージがクラスタ内のどこにあるかに関係なく,クラスタ内で動作することができます。DRD サービスを使用すると,データベースやトランザクション処理 (TP) 監視システムなどのアプリケーションが,複数のクラスタ・メンバからストレージ媒体に並列にアクセスできるようになります。DRD サービスを作成する際には,このサービスをクラスタ単位で利用できるようにする物理媒体を指定する必要があります。
TruCluster Server
TruCluster Server には明示的な DRD サービスはありません。デバイス要求ディスパッチャ・サブシステムを使用すると,すべてのディスク・ストレージとテープ・ストレージは,物理ストレージがどこにあってもすべてのクラスタ・メンバから利用できます。アプリケーションを別のメンバにフェイルオーバさせるときに,ディスクを明示的にフェイルオーバさせる必要はありません。
Tru64 UNIX バージョン 5.0 より前では,TruCluster Production Server 環境に,DRD 用のネームスペースが別に用意されていました。DRD サービスが追加されるたびに,asemgr
ユーティリティが DRD スペシャル・ファイル名を以下の形式で順に割り当てていました。
/dev/rdrd/drd1 /dev/rdrd/drd2 /dev/rdrd/drd3
.
.
.
TruCluster Server クラスタでは,Tru64 UNIX バージョン 5.0 以降のスタンドアロン・システムで行うのと同じ方法で,TruCluster Server 構成の raw ディスク・デバイスのパーティションにアクセスします。つまり,/dev/rdisk
ディレクトリ内の次の例のようなデバイス・スペシャル・ファイル名を使ってアクセスします。
/dev/rdisk/dsk2c
ASE のテープ・サービスは,1 つ以上のテープ装置のセットに依存します。これには,メディア・チェンジャ装置やファイル・システムも含まれます。テープ・サービスを使用すると,Legato NetWorker サーバや他のクライアント/サーバ・ベースのアプリケーションのサーバを,フェイルオーバするように構成することができます。テープ装置,メディア・チェンジャおよびファイル・システムは,1 つのユニットとしてフェイルオーバされます。
TruCluster Server
TruCluster Server には明示的なテープ・サービスはありません。CFS によって,すべてのファイル・ストレージがすべてのクラスタ・メンバから利用できるようになります。デバイス要求ディスパッチャは,ディスク・ストレージとテープ・ストレージをクラスタ単位で利用できるようにします。ファイル・システム,ディスク,およびテープがクラスタ全体で利用可能になるので,処理スクリプト内で明示的にそれらをマウントしたりフェイルオーバさせる必要はありません。
CAA を使用して,テープ・リソースのフェイルオーバ・ポリシ,再配置ポリシおよび依存関係を定義します。CAA に慣れていない場合は,第 2 章を参照してください。
テープ装置やメディア・チェンジャにアクセスするアプリケーションは,クライアントからアクセスできるように,クラスタ別名または IP 別名を使用するように定義することができます。
5.2 ASE サービスから TruCluster Server への移行の準備
TruCluster Server バージョン 5.1B には,ASE (Available Server Environment) から新しいクラスタへストレージを移動するために使用できる次のスクリプトが用意されています。
clu_migrate_check
clu_migrate_save
clu_migrate_configure
スクリプトおよび関連するユーティリティ・プログラムは,「Tru64 UNIX Associated Products Volume 2 CD-ROM」の TruCluster Server バージョン 5.1B ディレクトリにある
TCRMIGRATE540
サブセットから入手できます。スクリプトおよびインストレーション手順についての説明は『クラスタ・インストレーション・ガイド』を参照してください。
一般に,そして可能な場合には,『クラスタ・インストレーション・ガイド』で説明されている手順およびスクリプトを使用することを推奨します。ただし,ストレージ・トポロジ,システム構成,またはサイトのポリシにより使用できない場合は,手作業で ASE ストレージ情報を収集して構成することができます。古いスタイル (rz*
) のデバイス名を新しいスタイル (dsk*
) デバイス名にマッピングするのはユーザの責任です。デバイスおよびストレージ情報を手作業で収集し,新しい Tru64 UNIX システム上でストレージを構成する方法については,『クラスタ・インストレーション・ガイド』を参照してください。
ストレージ情報を手作業で収集し,新しい Tru64 UNIX システム上でストレージを構成することを決めた場合には,ASE クラスタをシャットダウンする前に,var/ase/config/asecdb
データベースとそのテキスト・コピーの両方を保存しておきます。ASE データベースの内容を利用できるようにしておくことで,TruCluster Server でのアプリケーションの設定が簡単になります。
ASE データベースの内容がどのように保存されるかは,TruCluster Available Server と TruCluster Production Server のバージョンによって異なります。以降の各項では,バージョン 1.5 以降のシステムおよびバージョン 1.4 以前のシステムで,ASE データベースの内容を保存する方法を説明します。
5.2.1 TruCluster Available Server および Production Server のバージョン 1.5 以降での ASE データベースの内容の保存
/var/ase/config/asecdb
データベースおよびそのテキスト・コピーの両方を保存するには,次のコマンドを実行します。
# cp /var/ase/config/asecdb asecdb.copy # asemgr -d -C > asecdb.txt
サンプルの ASE データベースで保存される次の情報は,CAA プロファイルを作成する際に役に立ちます。
!! ASE service configuration for netscape @startService netscape Service name: netscape Service type: DISK Relocate on boot of favored member: no Placement policy: balanced
.
.
.
サンプルの ASE データベースで保存される次の情報は,TruCluster Server 上でアプリケーションをインストールして構成する際に役に立ちます。
IP address: 16.141.8.239 Device: cludemo#netscape cludemo#netscape mount point: /clumig/Netscape cludemo#netscape filesystem type: advfs cludemo#netscape mount options: rw cludemo#netscape mount point group owner: staff Device: cludemo#cludemo cludemo#cludemo mount point: /clumig/cludemo cludemo#cludemo filesystem type: advfs cludemo#cludemo mount options: rw cludemo#cludemo mount point group owner: staff AdvFS domain: cludemo cludemo volumes: /dev/rz12c
.
.
.
5.2.2 TruCluster Available Server および Production Server のバージョン 1.4 以前での ASE データベースの内容の保存
TruCluster Available Server または Production Server バージョン 1.4 以前のシステムでは,すべての ASE サービスの情報を保存するのに
asemgr
コマンドを使用することはできません。asemgr
コマンドでは,ASE スクリプトの情報は取得できません。すべての情報を保存したい場合は,asemgr
ユーティリティを使用する必要があります。
スクリプトのデータを保存するには,次の手順を実行します。
asemgr
ユーティリティを起動します。
[ASE Main] メニューで,[Managing ASE Services] を選択します。
[Managing ASE Services] メニューで,[Service Configuration] を選択します。
[Service Configuration] メニューで,[Modify a Service] を選択します。
このメニューからサービスを選択します。
[General] サービス情報を選択します。
[User-defined Service Modification] メニューから [User-defined] の処理スクリプトを選択します。
このメニューから [Start] アクションを選択します。スクリプトの引数とスクリプトのタイムアウトの値を記録します。
このメニューから起動処理スクリプトの [Edit] を選択します。
内部スクリプトを,削除されないストレージ上のファイルに書き込みます。
必要に応じて,上記の手順をすべての,停止,追加,削除スクリプトについても実行します。ユーザ定義サービスでは,チェック・スクリプトも保存します。
ASE データベースの内容とその他の ASE サービス情報 (配置ポリシ,サービス名など) を保存するには,次のコマンドを実行します。
# asemgr -dv > ase.services.txt # asemgr -dv {ServiceName}
サービス名
ServiceName
には,asemgr -dv
で出力されたものを使います。各サービスについて,asemgr -dv {ServiceName}
を実行します。
注意
バージョン 1.5 より前の TruCluster Available Server Software または TruCluster Production Server Software については,Tru64 UNIX バージョン 5.1B および TruCluster Server バージョン 5.1B のフル・インストレーションを実行する必要があります。
ASE スクリプトを慎重に見直してください。TruCluster Server 上でスクリプトを正しく動作させるためには,次のことについて検討する必要があります。
ASE コマンドを CAA (Cluster Application Availability) コマンドに置き換える (5.3.1 項)。
起動スクリプトと停止スクリプトを結合する (5.3.2 項)。
スクリプトの出力をリダイレクトする (5.3.3 項)。
nfs_config
を
ifconfig
に置き換えるか,クラスタ別名を作成する (5.3.4 項)。
エラーを適切に処理する (5.3.5 項)。
処理スクリプトからストレージ管理情報を削除する (5.3.6 項)。
デバイス名を変換する (5.3.7 項)。
ASE 固有の環境変数の参照を削除する (5.3.8 項)。
終了コードについて (5.3.9 項)。
EVM (イベント・マネージャ) を使ってイベントをポストする (5.3.10 項)。
5.3.1 ASE コマンドの CAA コマンドへの置き換え
TruCluster Server バージョン 5.1B では,asemgr
コマンドは,いくつかの CAA コマンドに置き換えられます。次の表に,ASE コマンドと CAA コマンドを対比して示します。
ASE コマンド | CAA コマンド | 説明 |
asemgr -d |
caa_stat |
CAA リソースのクラスタ単位の状態を表示する。 |
asemgr -m |
caa_relocate |
あるクラスタ・メンバから別のメンバにアプリケーション・リソースを再配置する。 |
asemgr -s |
caa_start |
アプリケーション・リソースを起動する。 |
asemgr -x |
caa_stop |
アプリケーション・リソースを停止する。 |
caa_profile |
CAA リソース・プロファイルを作成,検証,削除,更新する。 | |
caa_register |
CAA にリソースを登録する。 | |
caa_unregister |
CAA へのリソースの登録を抹消する。 | |
caa_balance |
リソースの状態に基づいてアプリケーションを最適に再配置する。 | |
caa_report |
アプリケーション・リソースの可用性に関する統計をレポートする。 |
caa_profile
,caa_register
,caa_unregister
,caa_balance
,および
caa_report
の各コマンドは,TruCluster Server 製品のみで提供されている機能です。これらの CAA コマンドの使用方法は,第 2 章を参照してください。
5.3.2 起動スクリプトと停止スクリプトの結合
CAA では,アプリケーションの起動と停止に別々のスクリプトを呼び出しません。アプリケーションの起動と停止に別々のスクリプトを使っている場合は,1 つに結合してください。使用例については,/var/cluster/caa/template/template.scr
を参照してください。
5.3.3 スクリプトの出力のリダイレクト
CAA スクリプトは,実行時に標準出力および標準エラー・ストリームを
/dev/null
にリダイレクトします。これらのストリームをキャプチャしたい場合には,次のいずれかの方法を使用してください。次に説明する方法は,推奨順に記述しています。
EVM (イベント・マネージャ) の使用 (テンプレート・スクリプト
/var/cluster/caa/template/template.scr
で示すとおり)。これは,EVM による出力管理であるため,推奨する方法です。
EVM を使用して出力をリダイレクトする例については,/var/cluster/caa/examples
にある CAA スクリプト例を参照してください。
logger
コマンドを使用して,出力をシステム・ログ・ファイル (syslog
)
へリダイレクト。詳細については,
logger
(1)syslog
に格納されたメッセージはシンプル・テキストで,EVM の高度なフォーマット機能や検索機能を利用することはできません。
出力を
/dev/console
へリダイレクト。この方法では,記録としては何も残らず,メッセージがコンソールに表示されるだけです。
出力をファイルへリダイレクト。この方法の場合は,ログ・ファイルのサイズに注意して,ファイル・スペースを適切に管理してください。
TruCluster Server には,TruCluster ASE のような
nfs_ifconfig
スクリプトは含まれていません。CAA の処理スクリプト内で
nfs_ifconfig
を
ifconfig alias/-alias
文に置き換えるか,クラスタ別名を使用してください。
CAA スクリプトでインタフェース別名を使う方法についての詳細は,5.4.1 項を参照してください。CAA シングル・インスタンス・アプリケーションでクラスタ別名を使う方法については,2.14 節の例を参照してください。
5.3.5 適切なエラー処理
TruCluster Server 内のスクリプトでエラーが適切に処理されることを確認してください。「filesystem busy」というメッセージは,返されなくなりました。したがって,アプリケーションのプロセスの一部が別のメンバ上でアクティブであっても,そのアプリケーションがもう一度起動されることがあります。
アプリケーションが別のノードで起動するのを防ぐには,停止スクリプトですべてのプロセスが停止できることを確認するか,または
fuser
(8)
次の例は,アプリケーションの処理スクリプトに追加された,fuser
ユーティリティを使用するシェル・ルーチンを示しています。このシェル・ルーチンは,アプリケーション・ディレクトリ
/AppDir
,/AppDir2
,および
/AppDir3
のオープンされているすべてのファイルをクローズしようとします。ファイルをクローズできない場合,ルーチンはエラーを指定して戻り,スクリプトはエラーで終了し,ユーザによる介入が必要であることを示すシグナルを送信します。
FUSER="/usr/sbin/fuser" # Command to use for closing ADVFSDIRS="/AppDir /AppDir2 /AppDir3" # Application directories # # Close open files on shared disks # closefiles () { echo "Killing processes" for i in ${ADVFSDIRS} do echo "Killing processes on $i" $FUSER -ck $i $FUSER -uv $1 > /dev/null 2>&1 if [ $? -ne 0 ]; then echo "Retrying to close files on ${i} ..." $FUSER -ck $i $FUSER -uv $1 > /dev/null 2>&1 if [ $? -ne 0 ]; then echo "Failed to close files on ${i} aborting" $FUSER -uv $i return 2 fi fi done echo "Processes on ${ADVFSDIRS} stopped" }
ASE サービスのストレージは次の条件を満たす必要があります。
すべてのクラスタ・メンバで共用されているバス上にある。
asemgr
ユーティリティを使用するサービスの一部として定義されている。
サービス・スクリプトで管理されている。
TruCluster Server のクラスタ・ファイル・システム (CFS) では,すべてのファイル・ストレージを,すべてのクラスタ・メンバが使うことができます (ストレージへのアクセスは,クラスタのアーキテクチャに組み込まれています)。このため,処理スクリプト内で,ファイル・システムのマウントやフェイルオーバを扱う必要はありません。
TruCluster Server では,すべてのストレージ管理情報をスクリプトから削除することができます。たとえば,SAP R/3 のスクリプトでは,スクリプト内でファイル・システムをマウントするように設定されていますが,それらのマウント・ポイントを削除することができます。
5.3.7 デバイス名の変換
4.2 節で説明したとおり,古いスタイルのデバイス名を使用しているスクリプトは,Tru64 UNIX バージョン 5.0 で導入された新しいスタイルのデバイス名を使用するように修正しなければなりません。
アップグレード中,clu_migrate_save
および
clu_migrate_configure
スクリプトは,デバイス名をマッピングし,新しいシステム上でストレージを構成するための情報を収集します。
clu_migrate_save
および
clu_migrate_configure
スクリプトを使用していない場合には,古いスタイル (rz*
) のデバイス名を新しいスタイル (dsk*
) のデバイス名に手動でマッピングする必要があります。クラスタのアップグレード時に手動でストレージを構成する方法については,『クラスタ・インストレーション・ガイド』を参照してください。
バスの番号を振り直すために
ase_fix_config
コマンドを使っていた場合は,アップグレード時にそのコマンドの出力を保存し,物理装置とバス番号の対応を検証する必要があります。
5.3.8 ASE 変数の置き換えまたは削除
ASE スクリプトでは,次の ASE 環境変数が使用されている場合があります。
MEMBER_STATE
ASE では,MEMBER_STATE
変数を停止スクリプト内に置き,そのスクリプトが,動作中のシステムと,ブート中のシステムのどちらで実行されているかを判断していました。MEMBER_STATE
変数の値は,次のどちらかです。
RUNNING
BOOTING
TruCluster Server では,システムの起動時に,処理スクリプトの停止セクションを実行するオプションはありません。参照やログ・ファイルなどをクリーンアップするためには,これらのクリーンアップ処理を処理スクリプトの起動セクションに移動してください。
ASEROUTING
ASEROUTING
変数は存在しません。この変数は,TruCluster Server のクラスタ別名サブシステムの機能に置き換えられました。この変数は,TruCluster Server アプリケーションの処理スクリプトから削除してください。
ASE_PARTIAL_MIRRORING
ASE_PARTIAL_MIRRORING
変数は,TruCluster Server にはありません。この変数は,TruCluster Server アプリケーションの処理スクリプトから削除してください。
すべてのスクリプトの ASE 終了コードでは,成功で 0,失敗で 0 以外を返していました。
CAA スクリプトの各エントリ・ポイントでは,成功で 0,失敗で 0 以外の終了コードを返します (caa_profile
コマンドでスクリプト・テンプレートから生成したスクリプトは,失敗のときに 2 を返します)。CAA スクリプトの
check
セクションでは,終了コードの 0 は,アプリケーションが動作していることを示します。
5.3.10 イベントのポスト
EVM (イベント・マネージャ) では,複数のチャネル (ログ・ファイルなど) に対して単一ポイントのフォーカスを提供します。システムの構成要素は,この単一ポイントを経由してイベントおよび状態情報をレポートします。EVM
は,これらのイベントを単一のイベント・ストリームに結合し,システム管理者がリアル・タイムでモニタしたり,ストレージから検索する過去のイベントとして参照したりするようにします。
evmpost
(1)
注意
/var/cluster/caa/examples
ディレクトリにある CAA のスクリプト例はすべて,EVM を使ってイベントをポストしています。いずれかの例を参照してください。
以降の各項では,ASE サービスを TruCluster Server に移行する時期について,ネットワークの検討項目を示します。
アプリケーションで別名を使う必要がある場合は,インタフェース別名とクラスタ別名のいずれかを使用します。
クラスタ別名の使用は次の場合にもっとも適しています。
TCP (Transport Control Protocol) ベースまたは UDP (User Datagram Protocol) ベースのアプリケーションにおいて,複数のメンバ・システムを 1 つのシステムであるかのようにクライアントに見せる。アプリケーションの複数のインスタンスが,いくつかのクラスタ・メンバでアクティブになっていることがよくある。そのような場合にクラスタ別名を使えば,そのアプリケーションを動作させているそれらのメンバに,簡単で信頼性が高く,しかも透過的な方法で,クライアントを接続することができる。
クラスタ別名の機能を利用して,クライアント・ネットワークの可用性を透過的に処理する。
インタフェース別名の使用は次の場合に適してきます。
サービスをシングル・インスタンスで動作させ,常に 1 つのメンバがすべてのクライアント要求を処理するようにする。
性能条件が厳しい場合。つまり,クライアント要求のサービスを 1 つのメンバに行わせ,余分なルーティング・ホップが発生しないようにしたい場合。
NetRAIN (Redundant Array of Independent Network Adapters) インタフェースを使い,アプリケーションの CAA プロファイルにあるクライアント・ネットワーク・リソースの依存関係を設定することにより,サービスを提供できるそれぞれのクラスタ・メンバ上でクライアント・ネットワークの可用性を実現できる場合。
クラスタ別名を使って,マルチ・インスタンスのネットワーク・サービスへのクライアント・アクセスを提供する必要があります。TruCluster Server のクラスタ別名サブシステムでは,クラスタ単位でクラスタ別名を作成して管理するために,ifconfig
コマンドでインタフェース別名を明示的に確立したり削除したりする必要はありません。マルチ・インスタンス・アプリケーションでクラスタ別名を使用する方法については,第 3 章を参照してください。クラスタ別名の一般的な使用法については,『クラスタ管理ガイド』を参照してください。
クラスタ別名を使うことにより,クライアントのトラフィックを,Oracle8i シングル・サーバのようなシングル・インスタンス・アプリケーションが動作している特定のクラスタ・メンバへ集中させることができます。クラスタ別名の下でサービスを構成し
in_single
クラスタ別名属性を設定すると,その別名に宛てたクライアントからのすべての要求は,別名サブシステムによって,対応するサービスの動作しているクラスタ・メンバへ送られるようになります (そのクラスタ・メンバが利用可能であることが条件です)。ただし,シングル・インスタンス・アプリケーションについては,CAA を使ってアプリケーションのフェイルオーバをより制御しやすくすることと柔軟性を向上させることを検討してください。CAA の使用方法については,第 2 章を参照してください。
TruCluster Server クラスタでは,クラスタでエクスポートされた NFS ファイル・システムにクライアントがアクセスできるように,クラスタで NFS サービスを定義する必要はありませんが,クライアントが ASE 環境で提供される IP アドレスにより NFS サービスを認識していることに対処する必要があります。クラスタでサービスされている NFS ファイル・システムにクライアントがアクセスする場合は,省略時のクラスタ別名か,または/etc/exports.aliases
ファイルにリストされているクラスタ別名を使用しなければなりません。
5.4.1.2 インタフェース別名
シングル・インスタンス・アプリケーションで簡単にクラスタ別名を使うことができない場合は,既存の
nfs_ifconfig
エントリを
ifconfig
(8)ifconfig
の呼び出しを追加して,インタフェース別名を継続して使うことができます。
CAA の処理スクリプトを変更するときには,ifconfig alias
を呼び出して,別名をインタフェースに割り当てます。アプリケーションを起動する前に,次のコマンドを実行するようにしてください。これを行わない場合には,アプリケーションを別名アドレスにバインドすることはできません。
ifconfig interface_id alias alias_address netmask mask
別名のインタフェースへの割り当てを解除するには,すべてのアプリケーションやプロセスを停止した後に,ifconfig -alias
を呼び出します。このようにしなければ,アプリケーションやプロセスは,インタフェース別名で通信できなくなります。
次の例は,スクリプト例の抜粋です。
.
.
.
# Assign an IP alias to a given interface IFCNFG_ALIAS_ADD="/sbin/ifconfig tu0 alias 16.141.8.118 netmask 255.255.255.0" # #Deassign an IP alias to an interface IFCNFG_ALIAS_DEL="/sbin/ifconfig tu0 -alias 16.141.8.118 netmask 255.255.255.0"
.
.
.
TruCluster Available Server Software と TruCluster Production Server Software 製品では,asemgr
ユーティリティで,クライアント・ネットワークを監視するメカニズムが提供されていました。
Tru64 UNIX バージョン 5.0 以降では,クライアント・ネットワークの監視は,ベース・オペレーティング・システムの機能になっています。NetRAIN インタフェースを使うことにより,さまざまなネットワークの接続障害からシステムを保護することができます。この機能を補足する機能として NIFF (Network Interface Failure Finder) があります。NIFF はネットワーク・インタフェースの状態を監視して,ネットワークに障害が発生するとそれを報告します。TruCluster Server クラスタで動作するアプリケーションでは,NetRAIN および NIFF の機能と,Tru64 UNIX の EVM (イベント・マネージャ) を併用して,クライアント・ネットワークの状態が正常かどうかを監視できます。
NetRAIN と NIFF についての詳細は,Tru64 UNIX 『ネットワーク管理ガイド:接続編
』,
niffd
(8)niff
(7)nr
(7)5.5 ファイル・システムのパーティショニング
CFS は,すべてのファイルをすべてのクラスタ・メンバにアクセス可能にします。ファイルがすべてのクラスタ・メンバに接続された装置上に格納されているか,単一メンバ専用の装置上に格納されているかにかかわらず,各クラスタ・メンバはファイルにアクセスできます。ただし,CFS では単一のクラスタ・メンバからだけアクセスできるように AdvFS ファイル・システムをマウントすることができます。これをファイル・システムのパーティショニングといいます。
ASE は,ファイル・システムのパーティショニング機能と同じ機能を提供していました。バージョン 5.1B では,ASE からの移行を容易にするためにファイル・システムのパーティショニングを提供しています。パーティショニングされたファイル・システムのマウント方法および制限事項については,TruCluster Server 『クラスタ管理ガイド』 を参照してください。