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