RACテクノロジの概要
RACの概要
RACの構成
- ノード:クラスタの各サーバー
- インターコネクト:プライベートネットワーク(外部から切り離される)
- 共有ストレージ
RACの利点
- 高可用性(HA:High Availability)
- 拡張性(Scalability)
- OLTPではスピードアップは難しい
- データウェアハウスやバッチ処理では、スケールアップとスピードアップの両方が可能である。
ワークロード | スケールアップ | スピードアップ |
---|---|---|
OLTP | 可能 | 不可能 |
データウェアハウス | 可能 | 可能 |
バッチ処理 | 可能 | 可能 |
RAC環境のソフトウエア構成
- Oracle Clusterware(CRSホーム)
- 自動ストレージ管理(ASMホーム)
- データベース(RACホーム)
- 管理エージェント(Agentホーム)
Oracle Clusterwareのコンポーネント
CSSD:Cluster synchronization Services Daemon
- ASMのグループサービスの提供
- ノード間の状態の監視
- インターコネクトを使用してノード間の同期。
CRSD:Cluster Ready Services Daemon
- クラスタリソース(インスタンス、リスナー、仮想IP等)の起動、停止、監視を行う。
- クラスタリソースに障害が発生した場合は、クラスタリソースを再起動する。
EVMD:Event Manager Daemon
- クラスタイベントを受信
- 必要に応じてクラスタイベントの転送を行う。
OCRファイル:Oracle Cluster Registry
- クラスタリソースに関する情報を格納しているファイルである。
- CRSDがクラスタリソースを管理する時に使用する。
投票ディスク:Voting Disk
- インターコネクトを使用したノード間通信の状態を格納しているファイルである。
- CSSDがノード間の障害の監視に使用する。
クラスタデータベース
REDOロググループ
- インスタンス毎に最低2グループ必要である。
- 各インスタンスからREDOロググループを識別する情報「スレッド」と呼ぶ。異なるインスタンスは異なるスレッドを持つ。
UNDO表領域
自動UNDO管理を使用する場合、各インスタンスに異なるUNDO表領域を割当てる必要がある。
ストレージ構成
配置方法による分類
- NAS(Network Attached Storage)
- SAN(Storage Area Network) ストレージとノードはファイバチャネルで接続されている。
共有ストレージ技術
- RAWデバイス
- クラスタファイルシステム(CFS)とOracle Cluster File System(OCFS)
- 自動ストレージ管理(ASM)
ストレージ技術と扱えるファイルタイプ
タイプ | データベースファイル | OCRと投票ディスク | アーカイブログとフラッシュリカバリ領域 |
---|---|---|---|
RAW | ○ | ○ | × |
CFS | ○ | ○ | ○ |
ASM | ○ | × | ○ |
リソース管理
グローバルリソース
- グローバルキャッシュサービス(GCS:Global Cache Services)
- キャッシュフュージョン(Cache Fusion)でキャッシュ一貫性を提供するサービス
- グローバルエンキューサービス(GES:Global Enqueue Services)
- キャッシュ一貫性以外の排他制御を提供するサービス
グローバルリソースの実行は下記のRAC固有のバックグランドプロセスで行われる。
プロセス | 概要 |
---|---|
LMON | グローバルエンキューサービスモニター(Global Enqueue Service Monitor)。クラスタにインスタンスの追加/切り離しが行われることを検知し、グローバルリソースの再構成を行う。 |
LMD0 | グローバルエンキューサービスデーモン(Global Enqueue Service Daemon)。デットロック管理やロックモードの変換等のGESリソースの調整を行う。 |
LCK0 | ロックプロセス(Lock Process)。不正ロック(解放すべきロックなど)、使用中のロックリスト等を作成し、GESリソース要求を処理する。 |
LMSn | グローバルキャッシュサービスプロセス(Global Cache Service Process)。インスタンス間でのメッセージの流れを制御し、キャッシュ一貫性のためのデータブロック転送などのGCSリソースの調整を行う。 |
DIAG | 診断プロセス(Diagnosibility Process)。インスタンス内の状況を監視し、インスタンス内のプロセスが異常終了した場合に診断データを保持する。 |
page revision: 20, last edited: 18 Nov 2009 14:07