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 ...
随机推荐
- 深度学习领域的Papers
https://github.com/songrotek/Deep-Learning-Papers-Reading-Roadmap 深度学习论文阅读路线图 Deep Learning Papers R ...
- 在IIS7上部署aspx网站
在IIS7上部署aspx网站 2016-12-06 1 示例代码 WebForm.aspx内容: <html> <head> <script language=" ...
- jetty debug 启动 jettyconfig配置文件
jetty 代码启动 debug很简单 run----->>>debug as 代码启动配置文件 start 方法 @Test public void serverStrart( ...
- django ORM入门
简单总结一下迟老师今天下午上课时讲的ORM操作 目录: 一.首先配置django连接mysql数据库 二.在自己 ...
- refiling失败报错Invalid function: org-preserve-local-variables
refiling失败报错Invalid function: org-preserve-local-variables,原因: elc,不太清楚 解决办法: 删除org??目录下的elc文件 https ...
- SQL 分页 SQL SERVER 2008
public IList<UserInfo> GetPageList(int pageSize, int pageIndex, out int totalItemCount) { var ...
- python 下载虾米音乐
#!/usr/bin/env python2 # coding:utf-8 import urllib import re import sys import urllib2 # xml => ...
- C#学习笔记(13)——传统方法读取XML
说明(2017-7-12 16:32:47): 1. LINQ的方法虽然很简单,但是有点不好理解,sql的写法总感觉很诡异,而且LINQ的本质也是用的传统方法,所以还是采用老办法吧! 2. 注释里的代 ...
- 集成 IBM Business Process Manager V8 与企业内容管理系统
连接:http://www.ibm.com/developerworks/cn/bpm/bpmjournal/1212_ramos/1212_ramos.html 集成 IBM Business Pr ...
- Android 异步任务——AsyncTask (附使用AsyncTask下载图片Demo)
我们编程的时候经常需要处理同步任务和异步任务,在Android里面存在一个特性,就是UI线程是不安全的线程.所谓UI线程不安全也就是我们的主线程(进程启动的第一个线程)不能在线程外操作主线程的资源.因 ...