| タイトルおよびコピーライト情報 |
| まえがき |
| 対象読者 |
| 新しい機能と変更された機能 |
| 本書の構成 |
| 関連資料 |
| 本書の表記法 |
| 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 | ロック変換によるロック値ブロックへの影響 |
| 索引 |