[1]基本的な概念と原則をkeepalivedの
ダブルメインkeepalivedの
keepalivedのフェールオーバーを使用して、(フェールオーバークラスタを形成するウィンドウと機能的に類似する類似MSSQLミラーリング)
[1.1] keepalivedのプロフィール
(1.1.1)の原点
keepalivedのソフトウェアは、最初に管理し、LVSクラスタシステム、バックグラウンドの各サービスノードの状態を監視し、高可用性VRRP機能を実現するために添加することができるように設計されLVS負荷分散ソフトウェアのために設計されています。(VRRP:仮想ルータ冗長プロトコルの完全な名前、仮想ルータ冗長プロトコル)
したがってkeepalivedのLVSソフトウェアを管理することに加えて、だけでなく、追加のサービスとして機能することができる高可用性(例えばnginxの/ Haproxy / MySQLの)ソフトウェアソリューション。
(1.1.2)と達成するために作ります
keepalivedのソフトウェアは、VRRPプロトコルを介して高可用性機能を実現することです。
VRRPは、仮想経路redundancyProtocol(仮想ルータ名誉契約)の頭字語であり、目的は、VRRPは、単一障害点をルーティング静的に見える解決することであり、個々のノードがダウンしたときことを確実にするために、ネットワーク全体缶中断なく動作可能です。
(1.1.3)の一般的な動作シナリオ
Webサーバは、バックアップサーバー(バックアップ)としてkeepalivedの、マスタサーバとして1(マスター)、1を実行している少なくとも二つのPCを持っていますが、仮想IP、keepalivedのサービスポリシーの仕事のパフォーマンスを外に、メインのマスターノードはしていきます生きてスタンバイノードを伝えるためにスタンバイ・ノード(マルチキャスト、マルチキャストアドレス221.0.0.18)ハートビートメッセージを送りました。
プライマリノードがマスターに障害が発生したとき、あなたはハートビート・メッセージを送信することはできません、スタンバイノードは、したがって、それはメインのマスターノードのIPリソースとサービスを引き継ぐために、プログラムを引き継ぐために自分自身を呼び出して、自己のマスターノードのハートビートの到着を監視し続けることはありません。
ときにマスターノード復旧マスター、準備されたバックアップノードがプライマリノードが自身を失敗したときに引き継ぐために、IPリソースとサービスをリリースし、その元のスタンバイの役割に復元されます。(プリエンプティブモード)(非プリエンプティブモードで提供されてもよい、主保持特に1.1.7を参照して、元の所有者のためのリソースを解放することなく、許可され)
だから、keepalivedのは、1手にLVS構成管理機能を持っていますが、またLVSノードのヘルスチェックのために以下の機能があり、一方のシステムの高可用性ネットワークサービス機能を実現することができ、かつkeepalivedのレイヤ3ネットワークで作業することができ、 4&7、すなわちネットワーク層(IP層)、次いで、元の場所へ輸送層(TCP層)、及びアプリケーション層は、直接、多くの場面でソフトウェアソリューションをLVS。
三つの重要な機能(1.1.4)keepalivedのサービス
(1)経営LVS負荷分散ソフトウェア
(2)は、ヘルスチェックLVSクラスタノードを達成します
(3)高可用性(フェイルオーバー)ネットワークサービスのシステムとして、
ワークス(1.1.5)keepalivedのサービス
VRRPを介してサービス間のkeepalivedの通信は、VRRPは、したがって、主優先順位がすべての作業を取得することで、選挙システムを介してマスタとスレーブ(ビットフェールオーバークラスタにおける仲裁の投票等)、機器上主優先順位を決定することです資源やメインハング時間は、スタンバイノードがマスターノードのリソースを引き継ぎ、その後、マスターノードの外部サービスに置き換えられます待ち状態、バックアップノード。
keepalivedのサービスとの間の、唯一のプライマリサーバとして常にVRRPブロードキャストパケットを送信します、生きていることを伝えるために用意し、この時点で(、バックアップVRRPブロードキャストパケット情報を受けないこと)プライマリが利用できない場合、メインをつかむために準備ができていない、それは意志関連サービスは、リソースを引き継ぐために開始し、ビジネスの継続性を確保するため、以下、1秒未満最速を引き継ぎます。
(1.1.6)は、3つのコアモジュールをkeepalivedの
彼らは、コア/チェック/ VRRPです
コア:コアは、維持し、グローバルコンフィギュレーションファイルがロードされ、解析され、開始を担当する主なプロセスをkeepalivedの。
チェック:一般的な検査方法の多様含む健康診断を担当。
VRRP:VRRPを実装するために使用される;(VRRP:仮想ルータ冗長プロトコルの完全な名前、仮想ルータ冗長プロトコル)
(1.1.7)VRRPとは何ですか?
VRRP、仮想ルータ冗長プロトコル、仮想ルーティング冗長プロトコルの完全な名前。
VRRPは障害問題の単一のポイントをルーティング、静的に解決することで表示され、VRRPの選挙は、VRRPルータの一つにルーティングタスクへのメカニズムによるものです。
選択を達成するためにkeepalivedのマルチキャスト(デフォルト)、ユニキャスト(カスタム)は、スタンバイ動作モードがプリエンプティブ非プリエンプティブに分かれてkeepalivedの。
「1」プリエンプティブモード
プライマリサーバが正常に動作している場合は、仮想IPは、プライマリおよびバックアップサービスになります機器よりも低い優先順位の主なサービス、機器が自動的にサービスを提供する機器、そして、サービスの主な提供を仮想IPをつかむだろうと、利用できません。
つまり、プリエンプションかかわらず、スタンバイモード、ちょうど優先事項です。
状態keepalived.confがマスターまたはバックアップを構成しどんなに、ちょうど優先度の高い優先順位、優先度の高いとその優先順位は、回復後に、VIPリソースが自動的に再び勝つ者を確認します。
「2」ノンプリエンプティブモード
このようにパラメータnopreempt制御(一般advert_intがその行の下に配置されました)。優先順位は、優先順位に関係なく、限り、マスターマシンに障害が発生したとして、VIPリソースは、バックアップに切り替えられます。
そして、時にマスターマシンのバック、またVIPリソースグラブバックはなります。バックアップ機の故障がない限り、自動的にVIPを切り替えることができますし、他のリソースがメインのライブラリになります。
nopreemptこのパラメータは、ユーザー状態のバックアップは、そのバックアップに設定されているマスタ状態とバックアップを設定するには時間がかかる場合があることができ、これはkeepalivedのノンプリエンプティブモードを実現します!
その
a)の場合は状態ステータスは、マスタ、バックアップの1、プラスこのパラメータは同じ効果であるnopreemptなしです。
プリエンプティブモードに属しVIPリソースをつかむ者を決定するために優先順位優先度に応じていること!
b)の状態ステータスがバックアップに設定されている場合、nopreemptパラメータなしの場合。
また、プリエンプティブモードに属しVIPリソースをつかむ者を決定するための優先順位優先順位に基づいて!
nopreemptパラメータの設定は、あまりにも長い間、優先順位の優先順位を考慮しない場合c)の状態ステータスは、バックアップに設定されている場合。
ノンプリエンプティブモード!つまり、唯一のVIPは現在マシンは、別のマシンがVIPを引き継ぐことができない存在します。優先課題に関係なく。
[1.2] keepalivedのは、MySQL上の任意の効果がありますか?
MySQLのデュアルマスター複製、すなわち互いにマスタースレーブ(マスターのみ書き込み動作を提供する)ホットバックアップデータベースサーバを実現することができます。
しかし、マスターのダウンタイムの後、高可用性MySQLデータベースプログラムを達成するために、仮想IP、デュアルメイン外部統一されたインタフェースと自動チェックフェイルオーバー機構を介して、使用keepalivedのを動的に切り替える達成することはできません。
"1" スキーマ1:スタンバイ・クラスタ・アーキテクチャ(ダブル主HA +はkeepalivedの)
プログラム:マスタースレーブ+ keepalivedのから自動的にmysqlのダブルマスターまたはマスタースイッチ
サーバー:2 PC
長所:シンプルな構造、資源の保存
短所:直線的ではない、手動でマスタスレーブアーキテクチャの障害から回復するための主な必要性