keepalvied虚拟ip安装设置
keepalvied 虚拟ip
第一步:主服务器上设置虚拟ip (也可以不设置虚拟ip,keepalived启动的时候会自动设置)
ifconfig ens33:1 192.168.136.131 netmask 255.255.255.0 给ens33网卡添加虚拟ip
ip addr del 192.168.136.131/24 dev ens33 删除ens33的虚拟ip
ip addr 查看ip情况
keepalvied 的日志存放在 /var/log/messages 可以tail -f /var/log/messages 查看日志,发现keepalived的问题
第二步,两台服务器分别安装keepalived
shell> cd /usr/local/src
shell> wget http://www.keepalived.org/software/keepalived-1.2.24.tar.gz
shell> tar -zxvf keepalived-1.2.24.tar.gz
shell> cd keepalived-1.2.24
shell> ./configure --prefix=/usr/local/keepalived
shell> make && make install
配置在/etc/keepalived下面建立keepalived.conf配置文件
/etc/keepalived/keepalived.conf
/etc/rc.d/init.d/keepalived
/etc/sysconfig/keepalived
将配置文件拷贝到系统对应的目录下
shell> mkdir /etc/keepalived
shell> cp /usr/local/keepalived/etc/keepalived.conf /etc/keepalived/keepalived.conf
shell> cp /usr/local/keepalived/sbin/keepalived /etc/rc.d/init.d/keepalived
shell> cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/keepalived
service keepalived -D 启动keepalived
keepalived正常运行后,会启动3个进程,其中一个是父进程,负责监控其子进程。一个是vrrp子进程,另外一个是checkers子进程
第三步两台服务器分配配置keepalived.conf
第一台主服务器配置文件
! Configuration File for keepalived global_defs {
router_id LVS_DEVEL #标识,双主相同
} vrrp_instance VI_1 {
state BACKUP #注意,主从两端都配置成了backup,因为使用了nopreempt,即非抢占模式
interface ens33
virtual_router_id 51 #分组,主备相同
priority 100 #优先级,这个高一点则先把它作为master
advert_int 1
nopreempt #不主动抢占资源,设置非抢占模式
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.136.141 #虚拟ip
}
} virtual_server 192.168.136.141 3306 {
delay_loop 2
lb_algo wrr #带有权重的轮询
lb_kind DR
persistence_timeout 60 #同一IP的连接60秒内被分配到同一台真实服务器
protocol TCP real_server 192.168.136.128 3306 { #真实服务器ip
weight 3 #权重为3
notify_down /home/keepalived_shutdown.sh #当mysq服down时,执行此脚本,杀死keepalived实现切换, 自杀脚本.
TCP_CHECK {
connect_timeout 11
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}
从服务器配置文件
! Configuration File for keepalived global_defs {
router_id LVS_DEVEL
} vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 90 #优先级,这个低一点
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.136.141 #虚拟IP (VIP)
}
} virtual_server 192.168.136.141 3306 { #真实ip
delay_loop 2 #每2秒检查一次real_server存活
lb_algo wrr
lb_kind DR
persistence_timeout 60
protocol TCP real_server 192.168.136.129 3306 {
weight 1
notify_down /home/keepalived_shutdown.sh
TCP_CHECK {
connect_timeout 11 #连接超时时间
nb_get_retry 3 #重连次数
delay_before_retry 3 #重连间隔时间
connect_port 3306 #健康检查端口,配置自己mysql服务端口
}
}
}
有一点要注意的是,主从两端的state,都配置成了backup,因为使用了nopreempt,即非抢占模式。
举个例子,当主端先启动mysql实例和keepalived后,如果此时从端也启动了mysql实例和keepalived,那么vip不会跳到从端上去,即使它的优先级为100,要大于主端的90
而如果不设置nopreempt,那么这个时候,又分2种情况:
1.state相同,即都是master或都是backup
优先级高的,会占有vip,和角色无关
2.state不同,即master->backup或backup->master
优先级高的,会占有vip,和角色无关
前提不同,结果都是一样的,即优先级是主导,谁的优先级高,vip就漂到谁那里
可以看到A和B配置的共同点,就是virtual_ipaddress都是,这样当我们使用mysql的时候,就连接到这个虚拟ip上,由它进行转发到实体机。priority值高的先被访问,作为Master。这样实体机mysql的down机重启和转换主从角色则由keepalived来完成,对应用层透明,让应用无法感知。两台机器要通局域网,虚拟IP会被设置在他们共有的局域网内,不通的话两台机器各设置各的虚拟IP
杀死keepalived的脚本
vim /data/keepalived_shutdown.sh
#!/bin/bash
#kill掉keepalived进程,以防止脑裂问题。
pkill keepalived
keepalvied虚拟ip安装设置的更多相关文章
- Linux-HA实战(2)— TFS Nameserver HA之虚拟IP
对TFS的Nameserver做机器级别的HA通过虚拟IP机制就可以了,只需要一个Heartbeat就可以搞定,下面简单说下步骤. 操作系统:CentOS 6.4 x86_64 Heartbeat: ...
- 如何在windows Server 2008虚拟机上安装SQLServer2008数据库
一.环境准备 1.cn_windows_server_2008_r2_standard_enterprise_datacenter_web_x64_dvd_x15-50360.iso 2.NDP452 ...
- 【转】使用keepalived设置虚拟IP示例
准备 准备两台机器,IP地址信息如下: host1: 192.168.56.103 host2: 192.168.56.104 为了测试需要,分别在两台机器上安装apache并启动httpd服务,使下 ...
- 使用 keepalived 设置虚拟 IP 环境(转载)
使用 keepalived 设置虚拟 IP 环境 原文地址:https://blog.csdn.net/kongxx/article/details/73173762 使用 keepalived 设置 ...
- linux下如何设置vip(虚拟ip)
在做HA的时候需要为服务器设计虚拟IP,也就是一个主机对应多个IP地址?刚听起来好神奇,原来这样也是可能的看了下面的这个链接 自己配了一下http://hi.baidu.com/pbottle/ite ...
- XAMPP安装与多虚拟目录地址设置
前端开发集成环境-XAMPP 在前端开发中,经常需要进行请求的调试等都需要一个服务器环境,这时类似wamp.XAMPP就是我们最后的选择,集成apache.php.mysql等一应俱全,不需要去单独配 ...
- IMM设置静态ip,安装系统
IMM设置静态ip,安装系统 设置ip: System Setting->Integrated Management Module->Network configuration 修改后选择 ...
- Lr IP欺骗设置
IP欺骗设置IP工具:IP Wizard 开启IP欺骗时会关闭DHCP(也就是关闭IP自动获取 更改为手动设置IP) 注:添加IP欺骗,和释放IP,都要重启机器后才会生效,IP Wizard要管理员身 ...
- VM虚拟主机怎么设置网络
VMware是很受欢迎的虚拟机,在我们平时的工作中需要经常用到,此文简单总结了平时使用的三种网络配置方式,具体的原理没有去深究.我估计咱也研究不懂! 虚拟主机安装很简单,网上教程有很多,但是有很多新手 ...
随机推荐
- requests ssl 报错
使用requests下载日志出现HTTPSConnectionPool(host='***', port=443): Max retries exceeded with url: ******(Cau ...
- 企业级Nginx服务基础到架构优化详解
1.隐藏nginx header版本号 2.更改源码隐藏软件名称 3.更改nginx默认用户及用户组 4.配置nginx worker进程个数 5.根据CPU核数进行nginx进程优化 6.nginx ...
- [码海拾贝 之Perl]在字符串数组中查找特定的字符串是否存在
前言 检索一个字符串是否存在于一个数组中, 最主要的想法应该就是对数组进行循环, 逐个推断数组的每一个元素值和给定的值是否相等. (在Java语言还能够把数组转成 List , 在 list 中直接有 ...
- JavaScript的slice()
JavaScript slice() 方法 JavaScript Array 对象 定义和用法 slice() 方法可从已有的数组中返回选定的元素. 语法 arrayObject.slice(star ...
- 【转】Lua 操作系统库
转老帖子备份 转自:http://www.cnblogs.com/whiteyun/archive/2009/08/10/1542913.html os.clock () 功能:返回一个程序使用C ...
- ES 31 - 从0开始搭建Elasticsearch生产集群
目录 1 配置环境 1.1 服务器IP映射 1.2 配置各节点的ssh免密通信 1.3 安装JDK并配置环境变量 2 部署单节点服务 3 部署集群服务 4 启动集群中的所有节点 4.2 启动各个节点中 ...
- mysql解压版安装和卸载
问题1:发生系统错误 5. 解决:使用管理员身份安装即可 问题2:发生系统错误 2. 解决:cd C:\Program Files\MySQL\MySQL Server 5.6\bin 进入mysql ...
- 探究css中各种情况下的元素的垂直和水平居中的问题(面试题)
今天各种纠结,真的是不想写东西(ps 我比较懒)但是老是有人问这个问题,于是我就本着分享精神还是整理一下,好了废话不多说 开始上代码 问题:外边是一个容器,容器中还有一个容器,那么请问怎么让里边的容器 ...
- github入门基础之上传本地文件以及安装github客户端
github 不会使用,参照了其他大神的博客看的,很不错,就按步骤来,大家可以看看 http://www.cnblogs.com/wangzhongqiu/p/6243840.html
- -[ASIDataCompressor compressBytes:length:error:shouldFinish:] in ASIDataCompressor.o
本文转载至 http://blog.csdn.net/m372897500/article/details/38293973 -[ASIDataCompressor compressBytes:len ...