@(最後にするまで)
インストール前の準備
基本システム:CentOSの7
yum -y install gcc gcc-c++ autoconf automake make
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
1.ダウンロードkeepalivedの
この方法の一つ:
yum -y install keepalived
方法二:
バイナリソースパッケージをダウンロードします。http://www.keepalived.org/download.html
#下载安装文件
cd /usr/local
wget http://www.keepalived.org/software/keepalived-2.0.18.tar.gz
#解压文件
tar -zxvf keepalived-2.0.18.tar.gz
#编译
cd keepalived-2.0.18/
#--prefix 指定安装地址
#/usr/local/keepalived/ 安装的目录,不要和自己安装文件一个目录,不然报错
./configure --prefix=/usr/local/keepalived/
#编译并安装
make && make install
2. [設定
ファイルをコピーします。
[root@localhost ~]# cp /usr/local/keepalived-2.0.18/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 /usr/local/keepalived-2.0.18/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@localhost ~]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
エディタ:
vi /etc/keepalived/keepalived.conf
/etc/keepalived/keepalived.confは、以下の
global_defs {
notification_email {
#[email protected] # 指定keepalived在发生切换时需要发送email到的对象,一行一个
#[email protected]
}
notification_email_from [email protected] # 指定发件人
smtp_server [email protected] # smtp 服务器地址
smtp_connect_timeout 30 # smtp 服务器连接超时时间
router_id LVS_1 # 必填,标识本节点的字符串,通常为hostname,但不一定非得是hostname,故障发生时,邮件通知会用到
}
vrrp_script chk_tomcat { #详细看下面
script "/etc/keepalived/tomcat_check.sh" #检测服务shell
interval 2 #每个多长时间探测一次
weight -20 #每个多长时间探测一次
}
_instance VI_1 { # 实例名称
state MASTER # 必填,可以是MASTER或BACKUP,不过当其他节点keepalived启动时会将priority比较大的节点选举为MASTER
interface ens33 # 必填, 节点固有IP(非VIP)的网卡,用来发VRRP包做心跳检测
mcast_src_ip 192.168.2.89 #本机的ip,需要修改
virtual_router_id 101 # 必填,虚拟路由ID,取值在0-255之间,用来区分多个instance的VRRP组播,同一网段内ID不能重复;主备必须为一样;
priority 100 # 必填,用来选举master的,要成为master那么这个选项的值最好高于其他机器50个点,该项取值范围是1-255(在此范围之外会被识别成默认值100)
advert_int 1 # 必填,检查间隔默认为1秒,即1秒进行一次master选举(可以认为是健康查检时间间隔)
authentication { # 必填,认证区域,认证类型有PASS和HA(IPSEC),推荐使用PASS(密码只识别前8位)
auth_type PASS # 默认是PASS认证
auth_pass 1111 # PASS认证密码
}
virtual_ipaddress {
192.168.2.90 # 必填,虚拟VIP地址,允许多个
}
track_script { # 检测shell
chk_tomcat
}
}
スクリプトのvrrp_scriptは戻り値が0のときに検出が成功し、他の値としてあるテストの失敗を、
- 重みが正の場合、検出が成功したスクリプトがある場合、この量は、優先度に追加される障害が検出されることなく、;
A.主な障害:メイン優先<優先+重量が切り替えられます。
B.主な成功:メインの優先順位+重量>マスターから優先+重量はまだメインであります - 重量が負の場合、スクリプトは重量がこの優先順位の成功に影響を与えることはありません検出し、検出に失敗した場合に、優先順位- ABS(重量)
A.主に失敗しました:メインの優先順位- ABS(重量)<マスターから優先順位からのスイッチ
の主な成功:メインの優先順位を>主な優先順位から静止メインです
検出シェル:/etc/keepalived/tomcat_check.shは、異なる値の検出結果に応じて出口1リターン1を実行するための失敗を終了0 0を返すの成功の実装をTomcatサービスを返すことができ、vrrp_script戻り値はkeepalivedの現在優先度の処理を行うために組み合わせることができます
サービス3.電源を入れ
セットkeepalivedのサービスブート
# chkconfig keepalived on
# 启动keepalived 服务
# service keepalived start
ビューkeepalivedのプロセス、次の三つのプロセスが成功したスタートの登場です
[root@localhost ~]# ps -ef | grep keep
root 7925 1 0 11:27 ? 00:00:00 /usr/local/keepalived/sbin/keepalived -D
root 7926 1 0 11:27 ? 00:00:00 /usr/local/keepalived/sbin/keepalived -D
root 7927 7926 0 11:27 ? 00:00:00 /usr/local/keepalived/sbin/keepalived -D
root 7956 7888 0 12:02 pts/1 00:00:00 grep --color=auto keep
4.ログファイルの出力を指定します。
変更の/ etc /のsysconfig
vim /etc/sysconfig
#指定位置修改为如下内容
KEEPALIVED_OPTIONS="-D -d -S 0"
ある/etc/rsyslog.conf変更
vim /etc/rsyslog.conf
#在最后一行添加如下内容
local0.* /var/log/keepalived.log
再起動してサービス・テスト
service rsyslog restart
service rsyslog restart
#如下命令有日志内容输出即为成功
tailf /var/log/keepalived.log
#centos 基本可以成功,但是 debain 可能失败,失败上面 2 个文件可以改为如下内容,再重启服务测试
KEEPALIVED_OPTIONS="-D -d -S 1"
local1.* /var/log/keepalived.log
参考ます。https://blog.csdn.net/weixin_33845881/article/details/86016142
間違った場所には、事前のおかげで、何を識別してください場合