免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4214 | 回复: 0
打印 上一主题 下一主题

[FreeBSD] Freebsd ucarp手记录 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-29 10:44 |只看该作者 |倒序浏览
ucarp的作用以我的理解就是,2台或者多台机器。他们每个机器都有独有到ip(可以是内部的),例如192.168.0.2 192.168.0.3 然后他们共享一个另外一个ip例如,221.238.222.***, 这个共享准确的说就是独享,只可能有一台机器占有这个ip,当这个机器挂了的时候,其他机器检测到改机器所绑定的ip221.238.222.***,,已经挂了。于是按照顺序另外的机器通过alias绑定这个ip。
具体实现布奏我照抄的是
http://hi.baidu.com/freebsd/blog ... 406bce36d3cac8.html

ucarp for freebsd2006年12月26日 星期二 16:47                                           UCARP的调试记录

    通常使用VRRP(VirtualRouterRedundancyPro2 tocol虚拟路由器冗余协议)来实现路由器的双机冗余,但是它是有版权的,所以OpenBSD开发了开放协议CARP (CommonAddressRedundancyProtoco 通用地址冗余协议),而UCARP(UserlandCARP)协议则是CARP的Linux版本,"www.ucarp.org"网站提供开放源码同名软件.
    可以在README里看到相关说明:"The software has been successfully tested on Linux 2.4, Linux 2.6, MacOS X,OpenBSD, MirBSD and NetBSD",似乎就是没说FreeBSD.


系统环境:     机器1:  uxixsir1  172.18.22.82   FreeBSD 6.1-RELEASE
              机器2:  unixsir2  172.18.22.83   FreeBSD 6.1-RELEASE
              拟共享的ip为"172.18.22.88"

网卡类型:     lnc0



1:安装ucarp(ports or tar包随便你,目前最新版本为"1.2")

#cd /usr/ports/net/ucarp/
#make install clean

产生的可执行文件为"/usr/local/sbin/ucarp"

2:产生脚本

#cd  /etc/
#vi  vip-up.sh
内容为:

#! /bin/sh
exec 2> /dev/null
/sbin/ifconfig lnc0 alias 172.18.22.88 netmask 255.255.255.0

#vi  vip-down.sh
内容为:

#! /bin/sh
exec 2> /dev/null
/sbin/ifconfig lnc0 -alias 172.18.22.88

#vi ucarp.sh
内容为:

#!/bin/bash
cd /etc
/usr/local/sbin/ucarp -i lnc0 -s 172.18.22.82 -v 10 -p password -a 172.18.22.88 -b 2 -u vip-up.sh -d vip-down.sh -r 5

    在另外一台机器上只需要修改"-s"候的ip地址就可以了.以上共使用了三个脚本,名为: vip-up.sh 、 vip-down.sh、 ucarp.sh,其实名字和参数都是可以随便定义的.

3:具体测试

    在"机器1"和"机器2"上分别启动"ucarp.sh"(可以放到后台去运行,也可以用supervise方式启动运行),可以看到首先启动的是"master"机器,即"172.18.22.88"是绑定到了"机器1"上,"机器2"为"backup"机器.具体测试方法不多说了,说多了没啥意思了
==========================================================
以上是这位朋友的内容

ucarp主要应该是用于例如关键的数据库,或者是lvsadmin的调度机器,或者其他重要的,当他挂掉的时候,必须有机器自动去顶上。

同步的话。mysql可以使用
------------------------------
MYSQL的master/slave数据同步配置

  

我的测试环境.基本上数据是瞬间同步,希望对大家有帮助

redhat 9.0
mysql3.23.57


mysql数据同步备份

A服务器: 192.168.1.2 主服务器master
B服务器: 192.168.1.3 副服务器slave


A服务器设置

#mysql –u root –p
mysql>GRANT FILE ON *.* TO backup@192.168.1.3 IDENTIFIED BY ‘1234’;
mysql>\exit

上面是Master开放一个账号backup密码1234给IP:192.168.1.3有档案处理的权限


mysqladmin –u root –p shutdown

备份Master所有数据库..通常都用tar指令.
#tar –cvf /tmp/mysql.tar /var/lib/mysql
注意:tar的时候,MySQL是要在stop情况下

在A机器上修改/etc/my.cnf
在[mysqld]区段内加入参数
log-bin
server-id=1
sql-bin-update-same
binlog-do-db=vbb

重启A服务器mysql

此时因为有加入log-bin参数,因此开始有index产生了,在/var/lib/mysql目录下有.index档案纪录数据库的异动log.


B服务器设置

设定/etc/my.cnf
在[mysqld]区段加入

master-host=192.168.1.2
master-user=backup
master-password=1234
master-port=3306
server-id=2
master-connect-retry=60 预设重试间隔60秒
replicate-do-db=vbb 告诉slave只做vbb数据库的更新
log-slave-updates

------------------------------------------
以上为google下获得
不要试图在mysql运行的时候使用sync工具去同步两个数据库!
————————————————————————————————
而web的同步。例如10台服务器做集群,那么就可以使用rsync 来同步网页数据。对于图片和默写视屏可以使用nfs来挂载到其余的机器上。
推荐阅读此贴
http://fanqiang.chinaunix.net/a6/b7/20010908/1305001258.html
————————————————————————————————————

总结:1 ucarp carp只是用来作为充当那种屹立不倒的角色,一个倒下去,另外一个顶上来。 它不设计到热冷备份。这些是有其他工具来做的。
2,ucarp carp 和ipvs 并不是互相需要配合的, 可以使用9台机器rsync同步web数据,然后1台机器做ipvsadmin。

-----------------------
打个标记,以后翻翻看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP