HAproxy
HAproxy提供高可用性,负载均衡,以及TCP和HTTP代理,支持虚拟主机。
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备份