3.7. パケット転送および非ローカルバインディングの有効化
Keepalived サービスが適切にネットワークパケットを実サーバーへ転送するには、各ルーターノードのカーネルで IP 転送が有効になっている必要があります。
root
でログインし、/etc/sysctl.conf
ファイルにある行 net.ipv4.ip_forward = 0
を以下のように変更します。
net.ipv4.ip_forward = 1
システムを再起動すると変更が反映されます。
HAProxy と Keepalived で同時に負荷分散を行うには、ローカルシステムのデバイスに割り当てられていない非ローカル の IP アドレスへバインドする機能が必要になります。この機能により、フェイルオーバーの発生時に稼働しているロードバランサーインスタンスがローカルでない IP アドレスへバインドできるようになります。
この機能を有効にするには、
/etc/sysctl.conf
にある行 net.ipv4.ip_nonlocal_bind
を以下のように変更します。
net.ipv4.ip_nonlocal_bind = 1
システムを再起動すると変更が反映されます。
IP 転送が有効になっているのを確認するには、
root
で以下のコマンドを実行します。
/usr/sbin/sysctl net.ipv4.ip_forward
非ローカルバインディングが有効になっていることを確認するには、
root
で以下のコマンドを実行します。
/usr/sbin/sysctl net.ipv4.ip_nonlocal_bind
上記の両方のコマンドが
1
を返した場合、それぞれの設定が有効になっています。