このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。

機械翻訳について

17.6 Keepalivedを使用した単純な仮想IPアドレス・フェイルオーバーの構成

一般的なKeepalived高可用性構成は、1つのプライマリ・サーバーと1つ以上のバックアップ・サーバーで構成されます。 VRRPインスタンスとして定義された1つ以上の仮想IPアドレスが、ネットワーク・クライアントにサービスを提供できるように、プライマリ・サーバー・ネットワーク・インタフェースに割り当てられます。 バックアップ・サーバーは、プライマリ・サーバーが定期的に送信するマルチキャストVRRP通知パケットを待機します。 デフォルトの通知間隔は1秒です。 バックアップ・ノードが3つの連続したVRRP通知を受信できない場合、優先順位がもっとも高いバックアップ・サーバーがプライマリ・サーバーとして引き継がれ、仮想IPアドレスが独自のネットワーク・インタフェースに割り当てられます。 複数のバックアップ・サーバーの優先度が同じ場合、IPアドレス値が最も高いバックアップ・サーバーがプライマリ・サーバーになります。

次の例では、Keepalivedを使用して2つのサーバー上に単純なフェイルオーバー構成を実装します。 1つのサーバーがプライマリ・サーバーとして機能し、もう1つのサーバーがバックアップとして機能します。 プライマリ・サーバーの優先度がバックアップ・サーバーより高くなっています。

「図17.2」は、仮想IPアドレス10.0.0.100がプライマリ・サーバー(10.0.0.71)に最初に割り当てられる方法を示します。 プライマリ・サーバーで障害が発生すると、バックアップ・サーバー(10.0.0.72)が新しいプライマリ・サーバーになり、仮想IPアドレス10.0.0.100が割り当てられます。

図17.2 仮想IPアドレス・フェイルオーバーのためのKeepalived構成の例

この図は、10.0.0.100がプライマリ・サーバー(10.0.0.71)に最初に割り当てられた仮想IPアドレスを示しています。 プライマリ・サーバーで障害が発生すると、バックアップ・サーバー(10.0.0.72)が新しいプライマリ・サーバーになり、仮想IPアドレス10.0.0.100が割り当てられます。


/etc/keepalived/keepalived.confでは、プライマリ(マスター)サーバー上で次の構成を使用できます:

global_defs {
   notification_email {
     root@mydomain.com
   }
   notification_email_from svr1@mydomain.com
   smtp_server localhost
   smtp_connect_timeout 30
}

vrrp_instance VRRP1 {
    state MASTER
#   Specify the network interface to which the virtual address is assigned
    interface eth0
#   The virtual router ID must be unique to each VRRP instance that you define
    virtual_router_id 41
#   Set the value of priority higher on the master server than on a backup server
    priority 200
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1066
    }
    virtual_ipaddress {
        10.0.0.100/24
    }
}

バックアップ・サーバーの構成は、notification_email_fromstatepriority、およびinterface(システム・ハードウェア構成が異なる場合)の値を除き同じです:

global_defs {
   notification_email {
     root@mydomain.com
   }
   notification_email_from svr2@mydomain.com
   smtp_server localhost
   smtp_connect_timeout 30
}

vrrp_instance VRRP1 {
    state BACKUP
#   Specify the network interface to which the virtual address is assigned
    interface eth0
    virtual_router_id 41
#   Set the value of priority lower on the backup server than on the master server
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1066
    }
    virtual_ipaddress {
        10.0.0.100/24
    }
}

プライマリ・サーバー(svr1)で障害が発生すると、keepalivedは、バックアップ・サーバー(svr2)上のeth0インタフェースに仮想IPアドレス10.0.0.100/24を割り当て、これがプライマリ・サーバーになります。

サーバーがプライマリ・サーバーとして動作しているかどうかを確認するには、ipコマンドを使用して仮想アドレスがアクティブかどうかを確認できます:

# ip addr list eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:cb:a6:8d brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.72/24 brd 10.0.0.255 scope global eth0
    inet 10.0.0.100/24 scope global eth0
    inet6 fe80::a00:27ff:fecb:a68d/64 scope link 
       valid_lft forever preferred_lft forever

次のように、状態間の遷移を示す/var/log/messages内のKeepalivedメッセージを検索することもできます:

...51:55 ... VRRP_Instance(VRRP1) Entering BACKUP STATE
...
...53:08 ... VRRP_Instance(VRRP1) Transition to MASTER STATE
...53:09 ... VRRP_Instance(VRRP1) Entering MASTER STATE
...53:09 ... VRRP_Instance(VRRP1) setting protocol VIPs.
...53:09 ... VRRP_Instance(VRRP1) Sending gratuitous ARPs on eth0 for 10.0.0.100
ノート

プライマリ・サーバーとしてアクティブにできるサーバーは常に1つのみです。 複数のサーバーがプライマリとして構成されている場合、サーバー間のVRRP通信に問題がある可能性があります。 各サーバーでインタフェースごとにネットワーク設定を確認し、ファイアウォールでマルチキャストIPアドレス224.0.0.18の受信VRRPパケットと送信VRRPパケットが両方とも許可されることを確認してください。

Keepalivedをインストールおよび構成する方法の詳細は、17.5項「Keepalivedのインストールと構成」を参照してください。