HAproxy

HAproxy提供高可用性,负载均衡,以及TCPHTTP代理,支持虚拟主机。

Tar zxf haproxy-1.4.11.tar.gz

Cd haproxy-1.4.11

Make TARGET=linux26

Make install PREFIX=/usr/local/haproxy

Cd /usr/local/haproxy

拷贝配置文件

cp /root/haproxy-1.4.11/examples/haproxy.cfg /usr/local/haproxy/

vim /usr/local/haproxy.cfg

chroot注释,以及上面五行的注释

./sbin/haproxy –f /usr/local/haproxy/haproxy.cfg

在配置文件添加stats uri /haproxy-stats

可访问 http://192.168.0.15:10001/haproxy-stats访问HA配置信息页面

DRBD

DRBD是一种块设备,可以被用于高可用(HA)之中.它类似于一个网络RAID-1功能.当你将数据写入本地 文件系统时,数据还将会被发送到网络中另一台主机上.以相同的形式记录在一个文件系统中. 本地(主节点)与远程主机(备节点)的数据可以保证实时同步.当本地系统出现故障时,远程主机上还会 保留有一份相同的数据,可以继续使用.
在高可用(HA)中使用DRBD功能,可以代替使用一个共享盘阵.因为数据同时存在于本地主机和远程主机上,切换时,远程主机只要使用它上面的那份备份数据,就可以继续进行服务了.

从官方网站下载源码包: www.drbd.org 我们在Turbolinux10.5上使用drbd-8.0.4.分别在两台主机上安装DRBD:

 

安装

tar jxf drbd-8.0.4.tar.gz

cd drbd-8.0.4

make

make install

修改主机名

Hostname g105-1

Hostname g105-2

编辑/etc/hosts文件添加两块网卡地址

DRBD使用的硬盘分区

你需要为本地主机和远程主机,指定一个DRBD使用的硬盘分区.这两个分区的大小必须相同.
我们指定两台主机的/dev/hdb1分区作为DRBD的使用的分区.这两个分区大小都为300MB.

先不对两块硬盘格式化

drbd.conf配置文件

# 是否参加DRBD使用者统计.默认是yes

global { usage-count yes; }

# 设置主备节点同步时的网络速率最大值,单位是字节.

common { syncer { rate 100M; } }

# 一个DRBD设备(:/dev/drbdX),叫做一个"资源".里面包含一个DRBD设备的主备节点的

# resource r0 {

# 使用协议C.表示收到远程主机的写入确认后,则认为写入完成.

protocol C;

net {

# 设置主备机之间通信使用的信息算法.

cram-hmac-alg sha1; shared-secret "FooFunFactory"; }

# 每个主机的说明以"on"开头,后面是主机名.在后面的{}中为这个主机的配置.

on g105-1 {

device /dev/drbd1;

disk /dev/hdb1;

# 设置DRBD的监听端口,用于与另一台主机通信

address 10.0.1.2:7898;

meta-disk internal;

}

on g105-2 {

device /dev/drbd1;

disk /dev/hdb1;

address 10.0.2.2:7898;

meta-disk internal;

}

}

 

在启动DRBD之前,你需要分别在两台主机的hdb1分区上,创建供DRBD记录信息的数据块.分别在两台主机上执行:

[root@g105-1 /]# drbdadm create-md r0

[root@g105-2 /]# drbdadm create-md r0

Modprobe drbd

主服务器

[root@g105-1 /]# /etc/init.d/drbd start 现在可以查看DRBD的状态,然后在g105-1主机上执行:

[root@g105-1 /]# cat /proc/drbd

[root@g105-1 /]# drbdsetup /dev/drbd1 primary –o

格式化磁盘

Mkfs –t ext3 –c /dev/drbd1

Mkdir /drbd

Mount /dev/drbd1 /drbd

从服务器

先查看是否拷贝完毕cat /proc/drbd

/etc/init.d/drbd stop

Mkdir /drbd

Mount /dev/sdb1 /drbd

下次拷贝时先卸载磁盘

Umount /dev/sdb1

再重启服务

/etc/init.d/drbd restart

继续拷贝

 

将主机降级为”备机”.

Umount /dev/drdb1

[root@g105-1 /]# drbdadm secondary r0现在,两台主机都是”备机”.
在备机g105-2,将它升级为”主机”.

[root@g105-2 /]# drbdadm primary r0

 

可以把主Mysql服务器作DRBD备份