CentOS 7でのKeepalivedのインストールと実行
概要
Keepalivedはサービスの高可用性(HA)を実現するために存在し、その役割はWebサーバの状態を検出することであり、メインサーバdown機や故障が発生した場合、KeepalivedはメインサーバのIPを他の正常なサーバに切り替えて、サービスの安定を達成する.今ではLVS、Nginx、Redisなど、多くのソフトウェアが彼と組み合わせて使用されています.
げんり
KeepalivedはVRRP(Virtual Router Redundancy Protocol,仮想ルーティング冗長プロトコル)プロトコルを実装したもので、このプロトコルはルータの高可用性を実現したプロトコルと考えられ、同じ機能を提供する複数のルータを1つのルータグループに構成し、この中には1つのMASTERと複数のBACKUPがあり、MASTERの上には対外的にサービスを提供するVIPがあり、MASTERはマルチキャストを配信し、BACKUPがVRRPパッケージを受け取れない場合はMASTERdown機と考え、VRRP優先度に基づいてBACKUPをMASTERとして選択する必要があり、ルータの正常な使用を保証します.
ダウンロードとインストール(CentOS 7 x 86-64-1611とKeepalived 1.3.4を使用)
Keepalived公式サイト(http://www.keepalived.org)ソフトウェアパッケージをダウンロードし、サーバにアップロードします.
または、コマンドでダウンロードして解凍します.
依存プラグインのインストール:
コンパイルインストール:
構成:(詳細は後述するが、ここではデフォルト構成)
開始:
まず、CentOS 7環境にいくつかのファイルをコピーします.
起動サービスの実行:
Keepalivedはサービスの高可用性(HA)を実現するために存在し、その役割はWebサーバの状態を検出することであり、メインサーバdown機や故障が発生した場合、KeepalivedはメインサーバのIPを他の正常なサーバに切り替えて、サービスの安定を達成する.今ではLVS、Nginx、Redisなど、多くのソフトウェアが彼と組み合わせて使用されています.
げんり
KeepalivedはVRRP(Virtual Router Redundancy Protocol,仮想ルーティング冗長プロトコル)プロトコルを実装したもので、このプロトコルはルータの高可用性を実現したプロトコルと考えられ、同じ機能を提供する複数のルータを1つのルータグループに構成し、この中には1つのMASTERと複数のBACKUPがあり、MASTERの上には対外的にサービスを提供するVIPがあり、MASTERはマルチキャストを配信し、BACKUPがVRRPパッケージを受け取れない場合はMASTERdown機と考え、VRRP優先度に基づいてBACKUPをMASTERとして選択する必要があり、ルータの正常な使用を保証します.
ダウンロードとインストール(CentOS 7 x 86-64-1611とKeepalived 1.3.4を使用)
Keepalived公式サイト(http://www.keepalived.org)ソフトウェアパッケージをダウンロードし、サーバにアップロードします.
または、コマンドでダウンロードして解凍します.
[root@localhost ~]# wget http://124.205.69.132/files/90630000053A2BB4/www.keepalived.org/software/keepalived-1.3.4.tar.gz
[root@localhost ~]# tar zxvf keepalived-1.3.4.tar.gz
依存プラグインのインストール:
[root@localhost ~]# yum install -y gcc openssl-devel popt-devel
コンパイルインストール:
[root@localhost ~]# cd keepalived-1.3.4
[root@localhost keepalived-1.3.4]# ./configure --prefix=/usr/local/keepalived
[root@localhost keepalived-1.3.4]# make && make install
構成:(詳細は後述するが、ここではデフォルト構成)
開始:
まず、CentOS 7環境にいくつかのファイルをコピーします.
[root@localhost ~]# cp keepalived-1.3.4/keepalived/etc/init.d/keepalived /etc/init.d/
[root@localhost ~]# mkdir /etc/keepalived
[root@localhost ~]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
[root@localhost ~]# cp keepalived-1.3.4/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@localhost ~]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
起動サービスの実行:
-
[root@localhost ~]# service keepalived start
-
Starting keepalived (via systemctl): [ ]
, :
-
[root@localhost ~]# ps -aux |grep keepalived
-
root 16370 0.0 0.0 112664 936 pts/0 S+ 21:50 0:00 grep --color=auto keepalived
? :
-
[root@localhost ~]# journalctl -xe
-
6 13 21:49:09 localhost.localdomain Keepalived[16356]: Unable to resolve default script username 'keepalived_script' - ignoring
-
6 13 21:49:09 localhost.localdomain Keepalived[16356]: Opening file '/etc/keepalived/keepalived.conf'.
-
6 13 21:49:09 localhost.localdomain systemd[1]: PID file /var/run/keepalived.pid not readable (yet?) after start.
-
6 13 21:49:09 localhost.localdomain Keepalived[16357]: Starting Healthcheck child process, pid=16358
-
6 13 21:49:09 localhost.localdomain Keepalived[16357]: Starting VRRP child process, pid=16359
-
6 13 21:49:09 localhost.localdomain systemd[1]: Started LVS and VRRP High Availability Monitor.
-
-- Subject: Unit keepalived.service has finished start-up
-
-- Defined-By: systemd
-
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-
--
-
-- Unit keepalived.service has finished starting up.
-
--
-
-- The start-up result is done.
-
6 13 21:49:09 localhost.localdomain polkitd[593]: Unregistered Authentication Agent for unix-process:16350:328706 (system bus name :1.44, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale zh_CN.UTF-8) (disconnected from bus)
-
6 13 21:49:09 localhost.localdomain Keepalived_healthcheckers[16358]: Initializing ipvs
-
6 13 21:49:09 localhost.localdomain Keepalived_vrrp[16359]: Netlink reflector reports IP 192.168.0.11 added
-
6 13 21:49:09 localhost.localdomain Keepalived_vrrp[16359]: Netlink reflector reports IP fe80::20c:29ff:fee3:8c45 added
-
6 13 21:49:09 localhost.localdomain Keepalived_vrrp[16359]: Registering Kernel netlink reflector
-
6 13 21:49:09 localhost.localdomain Keepalived_vrrp[16359]: Registering Kernel netlink command channel
-
6 13 21:49:09 localhost.localdomain Keepalived_vrrp[16359]: Registering gratuitous ARP shared channel
-
6 13 21:49:09 localhost.localdomain Keepalived_vrrp[16359]: Opening file '/etc/keepalived/keepalived.conf'.
-
6 13 21:49:09 localhost.localdomain Keepalived_vrrp[16359]: Cant find interface eth0 for vrrp_instance VI_1 !!!
-
6 13 21:49:09 localhost.localdomain Keepalived_vrrp[16359]: Default interface eth0 does not exist and no interface specified. Skipping static address 192.168.200.16.
-
6 13 21:49:09 localhost.localdomain Keepalived_vrrp[16359]: Default interface eth0 does not exist and no interface specified. Skipping static address 192.168.200.17.
-
6 13 21:49:09 localhost.localdomain Keepalived_vrrp[16359]: Default interface eth0 does not exist and no interface specified. Skipping static address 192.168.200.18.
-
6 13 21:49:09 localhost.localdomain Keepalived_vrrp[16359]: (VI_1): No VIP specified; at least one is required
-
6 13 21:49:09 localhost.localdomain kernel: IPVS: Registered protocols (TCP, UDP, SCTP, AH, ESP)
-
6 13 21:49:09 localhost.localdomain kernel: IPVS: Connection hash table configured (size=4096, memory=64Kbytes)
-
6 13 21:49:09 localhost.localdomain kernel: IPVS: Creating netns size=2040 id=0
-
6 13 21:49:09 localhost.localdomain kernel: IPVS: ipvs loaded.
-
6 13 21:49:09 localhost.localdomain Keepalived_healthcheckers[16358]: Netlink reflector reports IP 192.168.0.11 added
-
6 13 21:49:09 localhost.localdomain Keepalived_healthcheckers[16358]: Netlink reflector reports IP fe80::20c:29ff:fee3:8c45 added
-
6 13 21:49:09 localhost.localdomain Keepalived_healthcheckers[16358]: Registering Kernel netlink reflector
-
6 13 21:49:09 localhost.localdomain Keepalived_healthcheckers[16358]: Registering Kernel netlink command channel
-
6 13 21:49:09 localhost.localdomain Keepalived_healthcheckers[16358]: Opening file '/etc/keepalived/keepalived.conf'.
-
6 13 21:49:09 localhost.localdomain kernel: IPVS: [rr] scheduler registered.
-
6 13 21:49:09 localhost.localdomain Keepalived_healthcheckers[16358]: Using LinkWatch kernel netlink reflector...
-
6 13 21:49:09 localhost.localdomain Keepalived_healthcheckers[16358]: Activating healthchecker for service [192.168.201.100]:443
-
6 13 21:49:09 localhost.localdomain Keepalived_healthcheckers[16358]: Activating healthchecker for service [192.168.200.2]:1358
-
6 13 21:49:09 localhost.localdomain Keepalived_healthcheckers[16358]: Activating healthchecker for service [192.168.200.3]:1358
-
6 13 21:49:09 localhost.localdomain Keepalived_healthcheckers[16358]: Activating healthchecker for service [192.168.200.4]:1358
-
6 13 21:49:09 localhost.localdomain Keepalived_healthcheckers[16358]: Activating healthchecker for service [192.168.200.5]:1358
-
6 13 21:49:10 localhost.localdomain kernel: IPVS: __ip_vs_del_service: enter
-
6 13 21:49:10 localhost.localdomain kernel: IPVS: __ip_vs_del_service: enter
-
6 13 21:49:10 localhost.localdomain kernel: IPVS: __ip_vs_del_service: enter
-
6 13 21:49:10 localhost.localdomain Keepalived_vrrp[16359]: Stopped
-
6 13 21:49:10 localhost.localdomain Keepalived[16357]: Keepalived_vrrp exited with permanent error CONFIG. Terminating
-
6 13 21:49:10 localhost.localdomain Keepalived[16357]: Stopping
-
6 13 21:49:10 localhost.localdomain Keepalived_healthcheckers[16358]: Removing service [192.168.201.100]:443 from VS [192.168.200.100]:443
-
6 13 21:49:10 localhost.localdomain Keepalived_healthcheckers[16358]: Removing service [192.168.200.4]:1358 from VS [10.10.10.3]:1358
-
6 13 21:49:10 localhost.localdomain Keepalived_healthcheckers[16358]: Removing service [192.168.200.5]:1358 from VS [10.10.10.3]:1358
-
6 13 21:49:10 localhost.localdomain Keepalived_healthcheckers[16358]: Stopped
-
6 13 21:49:15 localhost.localdomain Keepalived[16357]: Stopped Keepalived v1.3.4 (02/18,2017)
, , , 。
:
[root@localhost ~]# chkconfig keepalived on