タイトルおよびコピーライト情報 |
まえがき |
対象読者 |
新しい機能と変更された機能 |
本書の構成 |
関連資料 |
本書の表記法 |
Part 1 -- TruCluster Server 上でのアプリケーションの実行 |
1 | クラスタ・アプリケーション |
1.1 | アプリケーションのタイプ |
1.1.1 | シングル・インスタンス・アプリケーション |
1.1.2 | マルチ・インスタンス・アプリケーション |
1.1.3 | 分散型アプリケーション |
2 | シングル・インスタンス・アプリケーションの高可用性実現のための CAA の使用 |
2.1 | いつ CAA を使用するか |
2.2 | リソース・プロファイル |
2.2.1 | リソース・プロファイルの作成 |
2.2.2 | アプリケーション・リソース・プロファイル |
2.2.2.1 | 必須リソース |
2.2.2.2 | アプリケーション・リソース配置ポリシ |
2.2.2.3 | 配置決定の際のオプション・リソース |
2.2.3 | ネットワーク・リソース・プロファイル |
2.2.4 | テープ・リソース・プロファイル |
2.2.5 | メディア・チェンジャ・リソース・プロファイル |
2.2.6 | プロファイルの検証 |
2.3 | 処理スクリプトの作成 |
2.3.1 | アプリケーション・リソースの処理スクリプトを作成する際のガイドライン |
2.3.2 | 処理スクリプトの例 |
2.3.3 | 環境変数のアクセス |
2.3.4 | 処理スクリプトの出力先 |
2.4 | ユーザ定義属性の作成 |
2.5 | リソースの登録 |
2.6 | アプリケーション・リソースの起動 |
2.7 | アプリケーション・リソースの再配置 |
2.8 | アプリケーション・リソースの分散 |
2.9 | アプリケーション・リソースの停止 |
2.10 | アプリケーション・リソースの登録抹消 |
2.11 | CAA の状態情報の表示 |
2.12 | グラフィカル・ユーザ・インタフェース |
2.12.1 | SysMan Menu による CAA の管理 |
2.12.2 | SysMan Station による CAA の管理と監視 |
2.13 | CAA のチュートリアル |
2.13.1 | 前提条件 |
2.13.2 | 準備作業 |
2.13.3 | dtcalc の処理スクリプトの例 |
2.13.4 | ステップ 1: アプリケーション・リソース・プロファイルの作成 |
2.13.5 | ステップ 2: アプリケーション・リソース・プロファイルの検証 |
2.13.6 | ステップ 3: アプリケーションの登録 |
2.13.7 | ステップ 4: アプリケーションの起動 |
2.13.8 | ステップ 5: アプリケーションの再配置 |
2.13.9 | ステップ 6: アプリケーションの停止 |
2.13.10 | ステップ 7: アプリケーションの登録抹消 |
2.14 | CAA で管理するアプリケーションの例 |
2.14.1 | OpenLDAP ディレクトリ・サーバ |
2.14.2 | CAA を使ってシングル・インスタンスの高可用性 Apache HTTP サーバを作成する |
2.14.3 | CAA を使ってシングル・インスタンスの Oracle8i サーバを作成する |
2.14.4 | CAA を使ってシングル・インスタンスの Informix サーバを作成する |
3 | マルチ・インスタンス・アプリケーションでのクラスタ別名の使用 |
3.1 | いつクラスタ別名を使うか |
3.2 | 省略時のクラスタ別名を使用してマルチ・インスタンス Apache HTTP サーバにアクセスする |
Part 2 -- TruCluster Server へのアプリケーションの移行 |
4 | アプリケーション移行の一般的な問題 |
4.1 | クラスタ単位のファイルとメンバ固有のファイル |
4.1.1 | 単一ファイル方式の使用 |
4.1.2 | 複数ファイル方式の使用 |
4.1.3 | CDSL の使用 |
4.2 | デバイスの命名規則 |
4.3 | プロセス間通信 |
4.4 | 共用データへの同期アクセス |
4.5 | メンバ固有のリソース |
4.6 | 拡張 PID |
4.7 | 削除された DLM パラメータ |
4.8 | ライセンス |
4.8.1 | TruCluster Server のクラスタ単位でのライセンスはサポートされない |
4.8.2 | レイヤード・プロダクトのライセンスとネットワーク・アダプタのフェイルオーバ |
4.9 | ブロッキング・レイヤード・プロダクト |
5 | ASE アプリケーションの TruCluster Server への移行 |
5.1 | ASE と CAA の違い |
5.1.1 | ディスク・サービス |
5.1.2 | NFS サービス |
5.1.3 | ユーザ定義サービス |
5.1.4 | DRD サービス |
5.1.5 | テープ・サービス |
5.2 | ASE サービスから TruCluster Server への移行の準備 |
5.2.1 | TruCluster Available Server および Production Server のバージョン 1.5 以降での ASE データベースの内容の保存 |
5.2.2 | TruCluster Available Server および Production Server のバージョン 1.4 以前での ASE データベースの内容の保存 |
5.3 | ASE スクリプトの検討項目 |
5.3.1 | ASE コマンドの CAA コマンドへの置き換え |
5.3.2 | 起動スクリプトと停止スクリプトの結合 |
5.3.3 | スクリプトの出力のリダイレクト |
5.3.4 | nfs_ifconfig スクリプトの置き換え |
5.3.5 | 適切なエラー処理 |
5.3.6 | ストレージ管理情報の削除 |
5.3.7 | デバイス名の変換 |
5.3.8 | ASE 変数の置き換えまたは削除 |
5.3.9 | 終了コード |
5.3.10 | イベントのポスト |
5.4 | ネットワークの検討項目 |
5.4.1 | 別名の使用 |
5.4.1.1 | クラスタ別名 |
5.4.1.2 | インタフェース別名 |
5.4.2 | ネットワーク・サービス |
5.5 | ファイル・システムのパーティショニング |
6 | 分散型アプリケーションの TruCluster Server への移行 |
6.1 | 分散型アプリケーションの TruCluster Server への移行の準備 |
6.2 | TruCluster Server 上での Oracle Parallel Server の実行 |
6.3 | Oracle Parallel Server の TruCluster Server への移行 |
Part 3 -- クラスタ対応のアプリケーションの作成 |
7 | プログラミングの検討項目 |
7.1 | RPC プログラムに必要な変更 |
7.2 | 移植性のあるアプリケーション: スタンドアロンとクラスタ |
7.3 | CLSM のサポート |
7.4 | 診断ユーティリティのサポート |
7.5 | CDFS ファイル・システムの制約 |
7.6 | /cluster/admin/run ディレクトリから呼び出されるスクリプト |
7.7 | ローリング・アップグレード中のクラスタ・メンバの状態のテスト |
7.8 | クラスタにおけるファイル・アクセスの障害許容度 |
8 | クラスタ別名アプリケーション・プログラミング・インタフェース |
8.1 | クラスタ別名ポートの用語 |
8.2 | クラスタ別名関数 |
8.3 | クラスタ・ポート空間 |
8.4 | 予約ポートへのバインド (512 〜 1024) |
8.5 | setsockopt() のオプション |
8.6 | ポート属性: /etc/clua_services,clua_registerservice(),および setsockopt() |
8.7 | UDP アプリケーションとソース・アドレス |
9 | 分散ロック・マネージャ |
9.1 | DLM の概要 |
9.2 | リソース |
9.2.1 | リソースの細分性 |
9.2.2 | ネームスペース |
9.2.3 | リソースの識別 |
9.3 | ロックの使用 |
9.3.1 | ロック・モード |
9.3.2 | ロックのレベルと共存性 |
9.3.3 | ロック管理のキュー |
9.3.4 | ロック変換 |
9.3.5 | デッドロックの検出 |
9.4 | ロックのキューからの削除 |
9.5 | 変換要求の取り消し |
9.6 | 高度なロック技術 |
9.6.1 | ロック要求の非同期完了 |
9.6.2 | 同期完了の通知 |
9.6.3 | ブロック通知 |
9.6.4 | ロック変換 |
9.6.4.1 | ロック変換のキューイング |
9.6.4.2 | 変換待ちキューへの強制的配置 |
9.6.5 | 親ロック |
9.6.6 | ロック値ブロック |
9.7 | DLM 関数を使ったローカル・バッファ・キャッシング |
9.7.1 | ロック値ブロックを使う方法 |
9.7.2 | ブロック通知を使う方法 |
9.7.2.1 | バッファへの書き込みの延期 |
9.7.2.2 | バッファのキャッシング |
9.7.3 | バッファのキャッシング方式の選択 |
9.8 | 分散ロック・マネージャの関数のコーディング例 |
10 | Memory Channel API ライブラリ |
10.1 | Memory Channel マルチレール・モデル |
10.1.1 | シングルレール・スタイル |
10.1.2 | フェイルオーバ・ペア・スタイル |
10.1.3 | Memory Channel のマルチレール・モデルの構成 |
10.2 | Memory Channel API ライブラリの初期化 |
10.3 | ユーザ・プログラムでの Memory Channel API ライブラリの初期化 |
10.4 | Memory Channel 構成のチューニング |
10.4.1 | Memory Channel のアドレス空間を拡張する |
10.4.2 | 固定メモリを増やす |
10.5 | トラブルシューティング |
10.5.1 | IMC_NOTINIT リターン・コード |
10.5.2 | Memory Channel API ライブラリの初期化の失敗 |
10.5.3 | Memory Channel の致命的なエラー |
10.5.3.1 | レールの初期化の失敗 |
10.5.4 | IMC_MCFULL リターン・コード |
10.5.5 | IMC_RXFULL リターン・コード |
10.5.6 | IMC_WIRED_LIMIT リターン・コード |
10.5.7 | IMC_MAPENTRIES リターン・コード |
10.5.8 | IMC_NOMEM リターン・コード |
10.5.9 | IMC_NORESOURCES リターン・コード |
10.6 | Memory Channel のアドレス空間へのアクセス |
10.6.1 | Memory Channel のアドレス空間へのアタッチ |
10.6.1.1 | ブロードキャスト・アタッチ |
10.6.1.2 | ポイント・ツー・ポイント・アタッチ |
10.6.1.3 | ループバック・アタッチ |
10.6.2 | 初期状態の一貫性 |
10.6.3 | Memory Channel 領域の読み取りと書き込み |
10.6.4 | アドレス空間の例 |
10.6.5 | 遅延と一貫性 |
10.6.6 | エラー管理 |
10.7 | クラスタ単位のロック |
10.8 | クラスタ・シグナル |
10.9 | クラスタ情報 |
10.9.1 | Memory Channel API の関数を使って Memory Channel API クラスタ情報にアクセスする方法 |
10.9.2 | コマンド行から Memory Channel の状態情報にアクセスする方法 |
10.10 | 共用メモリ・モデルとメッセージ渡しモデルの比較 |
10.11 | よくある質問 (FAQ) |
10.11.1 | IMC_NOMAPPER リターン・コード |
10.11.2 | 効率的なデータ・コピー |
10.11.3 | Memory Channel の帯域幅の可用性 |
10.11.4 | Memory Channel API クラスタ構成の変更 |
10.11.5 | バス・エラー・メッセージ |
例 |
9-1 | ロック,ロック値ブロック,およびロック変換 |
10-1 | Memory Channel のアドレス空間の領域へのアクセス |
10-2 | System V IPC および Memory Channel のコードの比較 |
10-3 | imc_rderrcnt_mr 関数を使ったエラー検出 |
10-4 | imc_ckerrcnt_mr 関数を使ったエラー検出 |
10-5 | Memory Channel の領域のロック |
10-6 | Memory Channel API クラスタ情報を要求し,Memory Channel API クラスタ・イベントを待つ方法 |
図 |
1-1 | シングル・インスタンス・アプリケーションへのアクセス |
1-2 | CAA を使用したアプリケーションのフェイルオーバ |
1-3 | マルチ・インスタンス・アプリケーションへのアクセス |
3-1 | マルチ・インスタンス・アプリケーションへのクラスタ別名を介したアクセス |
9-1 | データベースのモデル |
9-2 | 3 つのロック・キュー |
9-3 | 変換デッドロック |
9-4 | 複数リソース・デッドロック |
10-1 | シングルレール Memory Channel の構成 |
10-2 | フェイルオーバ・ペア Memory Channel の構成 |
10-3 | ブロードキャスト・アドレス空間のマッピング |
10-4 | ポイント・ツー・ポイント・アドレス空間のマッピング |
10-5 | ループバック・アドレス空間のマッピング |
表 |
1-1 | TruCluster Server アプリケーションのタイプ |
1-2 | シングル・インスタンス・アプリケーションのアーキテクチャの違い |
1-3 | マルチ・インスタンス・アプリケーションのアーキテクチャの違い |
2-1 | アプリケーション・プロファイルの属性 |
2-2 | ネットワーク・プロファイルの属性 |
2-3 | テープ・プロファイルの属性 |
2-4 | メディア・チェンジャの属性 |
4-1 | アプリケーション移行での検討項目 |
5-1 | ASE サービスとそれに対応する TruCluster Server の機能 |
7-1 | CDFS ライブラリ関数 |
8-1 | クラスタ別名ライブラリ関数 |
8-2 | クラスタ別名ポート属性間の関係 |
9-1 | 分散ロック・マネージャの関数 |
9-2 | ロック・モード |
9-3 | ロック・モードの共存性 |
9-4 | dlm_unlock 関数の呼び出しでの DLM_DEQALL フラグの使用 |
9-5 | DLM_QUECVT フラグを指定した場合に許される変換 |
9-6 | ロック変換によるロック値ブロックへの影響 |
索引 |