Fork me on GitHub

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.4-2.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 = 8100
#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 1-2

 

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资源脚本要有所了解。可以看我下一篇博客

 

 

 

 

 

 

 

posted @   zhanjindong  阅读(2160)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2013-03-21 yield return的理解
TOP
点击右上角即可分享
微信分享提示