简介
Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。
三.测试一下keepalived是否已经安装好
(图1)
用ip测试访问时候,会显示两个ip,一个本服务ip,另一个是虚拟ip
2.副服务器
(图2)
3.进入你的mysql根目录下,我的是 /var/www/html,建一个index.php(默认访问文件,两台服务器都执行),并设置不同内容
4.访问你定义的虚拟ip地址192.168.1.223,这时候会显示你主机index.php所显示内容
5.关闭主服务器的keepalived,即演示当主服务器down掉时,keepalived是否会起到监听作用,立刻切换到副服务器
6.访问副机ip ,ip addr ,这时候显示图1内容,即显示本机ip,又显示虚拟ip, 说明keepalived已起到作用,现已切换到副服务器.
7..再次访问你定义的虚拟ip地址192.168.1.223,这时候会显示你副机index.php所显示内容
这样,你的keepalived就已经安装成功了,为自己庆祝一下吧
(若副服务器显示不成功,一般是配置问题,或者主服务器keepalived进程没杀死的原因,大家再研究一下吧)
配置
主服务器ip:192.168.1.148
副服务器ip:192.168.1.127
虚拟ip:192.168.200.25
一.下载keepalved安装包,安装
你可以从官网下选择自己下载的版本点击打开链接,嫌麻烦的话可以直接执行以下命令:
cd /home
mkdir keep #为了不让安装的文件太乱,我在home目录下建了一个文件夹
cd keep
wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz
tar -zxvf keepalived-1.2.2.tar.gz
cd keepalived-1.2.2
./configure --prefix=/home/keep/keepalived-1.2.2 #进入配置文件进行配置,/home/keep是你文件路径
make && make install
补充: 在大家进行./configure 有的机器会报错,这里为大家提供一个简单的解决方案。
1.遇到keepalived执行./configure --prefix=/usr/local/keepalived时报错:configure: error: Popt libraries is required
解决方法:
yum install popt-devel #安装好popt的开发包。
重新./configure 即可。
二.安装到系统,默认的启动脚本里写的是系统路径,所以需要拷贝一些文件到系统目录下
$ cp /home/keep/keepalived-1.2.2/etc/rc.d/init.d/keepalived /etc/init.d/
$ cp /home/keep/keepalived-1.2.2/sbin/keepalived /usr/sbin/
$ cp /home/keep/keepalived-1.2.2/etc/sysconfig/keepalived /etc/sysconfig/
$ mkdir -p /etc/keepalived/
$ cp /home/keep/keepalived-1.2.2/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
三.测试一下keepalived是否已经安装好
cd /etc/init.d/ #进入目录
sh keepalived start #启动
sh keepalived stop #停止
sh keepalived restart #重启
(
以上步骤在主服务器和副服务器上都要进行操作)
四.修改服务器配置文件
1.修改主服务器
vim /etc/keepalived/keepalived.conf #进入配置文件
vrrp_instance VI_1 {
state MASTER #主服务器默认为master
interface eno16777736 #绑定虚拟IP的网络接口
virtual_router_id 51 #设置验证信息,和slave一样
priority 100 #主机高于slave
advert_int 1 #检测服务器状态间隔时间
authentication {
auth_type PASS
auth_pass 1111 #设置密码最好复杂点,以免冲突
}
virtual_ipaddress {
192.168.1.223 #虚拟IP地址,可以为多个
}
}
sh keepalived restart #重启
2.修改副服务器
vim /etc/keepalived/keepalived.conf #进入配置文件
vrrp_instance VI_1 {
state SLAVE #副服务器为slave
interface eno16777736 #绑定虚拟IP的网络接口
virtual_router_id 51 #设置验证信息,和master一样
priority 80 #副机低于master
advert_int 1 #检测服务器状态间隔时间
authentication {
auth_type PASS
auth_pass 1111 #设置密码最好复杂点,以免冲突
}
virtual_ipaddress {
192.168.1.223 #虚拟IP地址,可以为多个
}
}
sh keepalived restart #重启
五.测试 1.主机
ip addr #测试主机上的keepalived是否已绑定虚拟ip
如果成功,则显示如下情况:
(图1)
用ip测试访问时候,会显示两个ip,一个本服务ip,另一个是虚拟ip
2.副服务器
ip addr #测试副机上状态是否成功,当主机存在时,副机则不显示虚拟ip
如果成功,则显示如下情况:
(图2)
3.进入你的mysql根目录下,我的是 /var/www/html,建一个index.php(默认访问文件,两台服务器都执行),并设置不同内容
4.访问你定义的虚拟ip地址192.168.1.223,这时候会显示你主机index.php所显示内容
5.关闭主服务器的keepalived,即演示当主服务器down掉时,keepalived是否会起到监听作用,立刻切换到副服务器
ps aux|grep keepalived #查看keepalived进程
killall keepalived #关闭所有进程
ps aux|grep keepalived #再看一下是否已关闭
这时候用 ip addr 访问,就显示图2内容,只显示本机ip;
6.访问副机ip ,ip addr ,这时候显示图1内容,即显示本机ip,又显示虚拟ip, 说明keepalived已起到作用,现已切换到副服务器.
7..再次访问你定义的虚拟ip地址192.168.1.223,这时候会显示你副机index.php所显示内容
这样,你的keepalived就已经安装成功了,为自己庆祝一下吧


(若副服务器显示不成功,一般是配置问题,或者主服务器keepalived进程没杀死的原因,大家再研究一下吧)