Linux-HA实战(2)— TFS Nameserver HA之虚拟IP
对TFS的Nameserver做机器级别的HA通过虚拟IP机制就可以了,只需要一个Heartbeat就可以搞定,下面简单说下步骤。
操作系统:CentOS 6.4 x86_64
Heartbeat:
[root@jdzhan1 ha.d]# rpm -q heartbeat
heartbeat-3.0.-.el6.x86_64
Step0: 安装Heartbeat yum安装和源码安装都可以,参看上一篇博客。
Step1:Heartbeat配置虚拟IP
1.修改Heartbeat的ha.cf
主要配置:
# 不采用2.x style的CRM,即Pacemaker
crm off
2.主备节点都如下修改haresources
# vi /etc/ha.d/haresources
注意:主备节点的haresources要完全一样。
3.启动Heartbeat
# service heartbeat start
没问题的话这时候192.168.129.100就能ping通了,虚拟IP已经设置好了,输入ifconfig查看下:

Step2:设置ns.conf和ds.conf
Nameserver的配置文件主要修改:
#listen port 端口
port =
#work directoy tfs的安装路径
work_dir=/home/tfs
#device name 绑定的网卡一般是ifconfig显示的第一个
dev_name= eth0
#ip addr(vip) 虚拟IP
ip_addr = 192.168.129.100
[nameserver]
# 主备nameserver的IP
ip_addr_list = 192.168.129.129|192.168.129.130
group_mask = 255.255.255.255
Dataserver的配置文件主要修改:
[nameserver]
#ip addr(vip) 虚拟IP
ip_addr = 192.168.129.100
# 主备nameserver的IP
ip_addr_list = 192.168.129.129|192.168.129.130
group_mask = 255.255.255.255
Step3:启动tfs
# ./scripts/tfs start_ns
# ./scripts/tfs start_ds -
Step4:测试
关闭一台Nameserver所在的机器。通过查看日志可以发现Heartbeat已经发现另一个节点挂掉了。
# tail –f /var/log/messages

ifconfig下,虚拟IP已经切换过来了:

这时一个Nameserver节点宕机,整个集群仍然可用。
按照上面的配置只能实现节点级别的HA,当虚拟IP所在节点上的Nameserver进程直接挂掉了,并不能实现故障转移,另外当宕掉的机器重启后也不能重启Nameserver进程。
需要实现资源级别的HA,则需要用到CRM(Cluster Resource Manager),最有名的就是Pacemaker。
基于Pacemaker做资源级别的Nameserver HA配置起来比较复杂,主要是对Pacemaker的cib.xml配置和对OCF资源脚本要有所了解。可以看我下一篇博客。
Linux-HA实战(2)— TFS Nameserver HA之虚拟IP的更多相关文章
- Linux-HA实战(3)— 基于Pacemaker搭建TFS Nameserver HA
上篇文章简单介绍了下基于Heartbeat的虚拟IP配置,个人觉得简单易用已经能够应付大部分场景了.但是既然花时间研究HA,如果仅限于一个虚拟IP飘来飘去未免有点糊弄任务了,因此这篇文章打算介绍下基于 ...
- linux下如何设置vip(虚拟ip)
在做HA的时候需要为服务器设计虚拟IP,也就是一个主机对应多个IP地址?刚听起来好神奇,原来这样也是可能的看了下面的这个链接 自己配了一下http://hi.baidu.com/pbottle/ite ...
- linux -- 基于zookeeper搭建yarn的HA高可用集群
linux -- 基于zookeeper搭建yarn的HA高可用集群 实现方式:配置yarn-site.xml配置文件 <configuration> <property> & ...
- Linux -- 之HDFS实现自动切换HA(全新HDFS)
Linux -- 之HDFS实现自动切换HA(全新HDFS) JDK规划 1.7及以上 https://blog.csdn.net/meiLin_Ya/article/details/8065094 ...
- 使用Cloudera Manager搭建zookeeper集群及HDFS HA实战篇
使用Cloudera Manager搭建zookeeper集群及HDFS HA实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用Cloudera Manager搭建zo ...
- Linux.NET实战手记—自己动手改泥鳅(上)
各位读者大家好,不知各位读者有否阅读在下的前一个系列<Linux.NET 学习手记>,在前一个系列中,我们从Linux中Mono的编译安装开始,到Jexus服务器的介绍,以及如何在Linu ...
- Linux系统实战项目——sudo日志审计
Linux系统实战项目——sudo日志审计 由于企业内部权限管理启用了sudo权限管理,但是还是有一定的风险因素,毕竟运维.开发等各个人员技术水平.操作习惯都不相同,也会因一时失误造成误操作,从而 ...
- 理解 OpenStack 高可用(HA) (6): MySQL HA
本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...
- LR添加Windows和Linux压力机实战
添加Windows和Linux压力机实战 既然Controller是LoadRunner的“心脏”,那么压力产生也必然是它发起的,通过压力机来对被测系统产生压力.一般压力机分为Windows和Linu ...
随机推荐
- .NET MVC5+ Dapper+扩展+微软Unity依赖注入实例
1.dapper和dapper扩展需要在线安装或者引用DLL即可 使用nuget为项目增加Unity相关的包 2.model类 public class UserInfo { public int I ...
- Burpsuite如何抓取使用了SSL或TLS传输的 IOS App流量
之前一篇文章介绍了Burpsuite如何抓取使用了SSL或TLS传输的Android App流量,那么IOS中APP如何抓取HTTPS流量呢, 套路基本上与android相同,唯一不同的是将证书导入i ...
- [Windows Azure] Adding Sign-On to Your Web Application Using Windows Azure AD
Adding Sign-On to Your Web Application Using Windows Azure AD 14 out of 19 rated this helpful - Rate ...
- C++11 类型推导auto
在C++11之前,auto关键字用来指定存储期.在新标准中,它的功能变为类型推断.auto现在成了一个类型的占位符,通知编译器去根据初始化代码推断所声明变量的真实类型.使用auto会拖慢c++效率吗? ...
- Mac OS X 下安装使用 Docker
它依赖于 LXC(Linux Container),能从网络上获得配置好的 Linux 镜像,非常容易在隔离的系统中运行自己的应用.也因为它的底层核心是个 LXC,所以在 Mac OS X 下需要在 ...
- linux如何查看一个进程的堆栈
转自:http://blog.csdn.net/nanjingligong/article/details/8624739 方法一:pstack pidNAME pstack - prin ...
- 【电子基础】IIC总线工作原理
IIC总线工作原理 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化. 起始和终止信号 :SCL线为 ...
- C#数组 添加元素
例1: string[] a = new string[] { "1", "2", "3" }; 给a追加一个 "4" ...
- Oracle 大小写转换函数
Oracle 大小写转换函数 转大写UPPER 转小写LOWER 测试: select UPPER('Test') as u from dual; select LOWER('Test') as l ...
- 确保安全的HTTPS(对HTTP加密的几种技术,前端面试常问)第一篇
HTTP固然足够好,但是在安全方面有着很大隐患: 1.与服务器进行通信使用的是明文,内容可能会被窃听(HTTP协议本身并不具备加密功能,所以无法对请求和响应的内容进行加密) 2.使用HTTP协议的服务 ...