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備份